private void ChangeEntityState(Uri entityUri, String entity, String condition) { var obj = JObject.Parse(entity); var entityState = (String)obj["State"]; _stateMachine.SetupStateMachine(_stateMachine.GetStringRepresentation(), entityState); var newState = _stateMachine.ChangeState(condition); SetEntityState(entityUri, entity, newState); }
public void ChangeState(Type type) { foreach (var state in States.Where(state => state.GetType() == type)) { stateMachine.ChangeState(state); return; } Debug.LogWarning("This unit can't perform " + type); Target = null; ChangeState(typeof(IdleState)); }