public void ChangeState(IMissionState state) { if (currentState != null) { currentState.Exit(); previousState = currentState; } currentState = state; currentState.Enter(); }
public void Enter() { result = null; playerMachine = new PlayerMachine(); playerMachine.playerData = new PlayerMachine.Data(); playerMachine.ChangeState(new IPS_Move()); var gui = UnityEngine.Object.FindObjectOfType <GUIControll>(); gui.GUIEnabled.mission.Player.SetActive(true); }
public void ExecuteStateLogic() { var newState = currentState.Execute(); if (newState != null) { currentState.Exit(); newState.Enter(); previousState = currentState; currentState = newState; } }
void ControllRestrictions() { var restriction = playerMachine.playerData.character.ControllEffects(); switch (restriction) { case Restriction.Cannot_all: result = new IMS_NextCharacter(); break; case Restriction.Attack_anyone: //result = przechodzi na kontrole ai break; case Restriction.Attack_ally: //result = przechodzi na kontrole ai break; } if (playerMachine.playerData.character.currentStats.lifeStats.HealthStatus == HealthStatus.Dead) { result = new IMS_NextCharacter(); } }