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

49 行
936 B

using UnityEngine;
using UOP1.StateMachine;
using UOP1.StateMachine.ScriptableObjects;
public enum ZoneType
{
Alert,
Attack
}
[CreateAssetMenu(fileName = "PlayerIsInZone", menuName = "State Machines/Conditions/Player Is In Zone")]
public class PlayerIsInZoneSO : StateConditionSO
{
public ZoneType zone;
protected override Condition CreateCondition() => new PlayerIsInZone();
}
public class PlayerIsInZone : Condition
{
private Critter _critter;
public override void Awake(StateMachine stateMachine)
{
_critter = stateMachine.GetComponent<Critter>();
}
protected override bool Statement()
{
bool result = false;
if (_critter != null)
{
switch (((PlayerIsInZoneSO)OriginSO).zone)
{
case ZoneType.Alert:
result = _critter.isPlayerInAlertZone;
break;
case ZoneType.Attack:
result = _critter.isPlayerInAttackZone;
break;
default:
break;
}
}
return result;
}
}