这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

39 行
975 B

using UnityEngine;
using UOP1.StateMachine;
using UOP1.StateMachine.ScriptableObjects;
[CreateAssetMenu(fileName = "StartedMoving", menuName = "State Machines/Conditions/Started Moving")]
public class IsMovingConditionSO : StateConditionSO
{
[SerializeField] private float _treshold = 0.02f;
protected override Condition CreateCondition() => new IsMovingCondition(_treshold);
}
public class IsMovingCondition : Condition
{
private float _treshold;
private Protagonist _protagonistScript;
public override void Awake(StateMachine stateMachine)
{
_protagonistScript = stateMachine.GetComponent<Protagonist>();
}
public IsMovingCondition(float treshold)
{
_treshold = treshold;
}
protected override bool Statement()
{
Vector3 movementVector = _protagonistScript.movementInput;
movementVector.y = 0f;
return movementVector.sqrMagnitude > _treshold;
}
public override void OnStateExit()
{
_protagonistScript.movementVector = Vector3.zero;
}
}