/// <summary> /// Applies the effects of the block to a sprite /// </summary> /// <param name="sprite">Sprite to apply the effects to</param> public override void applyEffects(Sprite sprite) { base.applyEffects(sprite); if (state is ActiveState) { state = new InactiveState(this); } }
void Start() { var inactive = new InactiveState <Feed>(redLight); active = new ActiveState <Feed>(this, redLight); var explode = new ExplodeState <Feed>(explosionParticleSys, this); inactive.AddTransition(Feed.EnemigoEntraEnLOS, active); active.AddTransition(Feed.EnemigoSaleDeLOS, inactive); active.AddTransition(Feed.BOOOOM, explode); stateMachine = new FSM <Feed>(inactive); los = GetComponent <LOS>(); }
public GreenScreenRoomInputStateMachine() { mGreenScreenRoomDefaultMovementState = new GreenScreenRoomDefaultMovementState(); mGreenScreenRoomNoMovementState = new GreenScreenRoomNoMovementState(); mInactiveState = new InactiveState(); mGreenScreenRoomDefaultMovementState.AddTransition(mGreenScreenRoomNoMovementState); mGreenScreenRoomDefaultMovementState.AddTransition(mInactiveState); mGreenScreenRoomNoMovementState.AddTransition(mGreenScreenRoomDefaultMovementState); mGreenScreenRoomNoMovementState.AddTransition(mInactiveState); mInactiveState.AddTransition(mGreenScreenRoomDefaultMovementState); mInactiveState.AddTransition(mGreenScreenRoomNoMovementState); this.EnterInitialState(mInactiveState); }
/// <summary> /// Sets the state to inactive /// </summary> public void Deactivate() { state = new InactiveState(this); }
public override void Enter() { type = State_Type.ATTACKING; next = new InactiveState(owner); }
public override void Enter() { type = State_Type.INACTIVE; next = new InactiveState(owner); }