public override void Update(float elapsed) { if (CurrentItemState is EmergingItemState) { float EmergeTime = 0; if (this is CoinEntity) { EmergeTime = Constants.COIN_EMERGE; } else { EmergeTime = Constants.ITEM_EMERGE; } timer += elapsed; if (timer > EmergeTime) { ActiveTransition(); timer = 0; } } CurrentItemState.Update(elapsed); item.Update(elapsed); Sprite.Position = item.Position; base.Update(elapsed); }
public override void ActiveTransition() { if (this.CurrentItemState is EmergingItemState) { Coin(); } else { ChangeItemState(this.ItemSM.Active); CurrentItemState.ActiveTransition(); } }
public virtual void ActiveTransition() { ChangeItemState(this.ItemSM.Active); CurrentItemState.ActiveTransition(); }
public virtual void TurnTransition() { CurrentItemState.TurnTransition(); }
public virtual void EmergingTransition() { ChangeItemState(this.ItemSM.Emerging); CurrentItemState.EmergingTransition(); }