private IEnumerator delayToAdvancedMoveQueue(EMoveQueueItemStatus aExpectedState,MoveQueueItem aMoveQueue,float aDelay) { yield return new WaitForSeconds(aDelay); aMoveQueue.advanceMoveQueueFromState(aExpectedState); }
public EMoveQueueItemStatus advanceMoveQueueFromState(EMoveQueueItemStatus aState) { if(this.status==aState) { CommentaryManager.REF.passiveEffect = null; CommentaryManager.REF.battleMonster = null; advanceMoveQueue(); } else { // Debug.Log ("advance move queue from state - wanted: "+aState+" - was: "+this.status); } return this.status; }
private EMoveQueueItemStatus advanceMoveQueue() { if(this.status==EMoveQueueItemStatus.Finish) { Debug.Log("Trying to advance finished move queue"); return EMoveQueueItemStatus.Finish; } // Debug.Log("Advancing move queue from: "+this.status); switch(this.status) { case(EMoveQueueItemStatus.Start): this.status = EMoveQueueItemStatus.ChangeToOtherMove;break; case(EMoveQueueItemStatus.ChangeToOtherMove): this.timesToHit--; this.status = EMoveQueueItemStatus.AttackAnimation; break; case(EMoveQueueItemStatus.AttackAnimation): this.status = EMoveQueueItemStatus.HPHits; break; case(EMoveQueueItemStatus.HPHits): this.status = EMoveQueueItemStatus.HPHitsPassiveEffects;break; case(EMoveQueueItemStatus.HPHitsPassiveEffects): this.status = EMoveQueueItemStatus.StatusEffects;break; case(EMoveQueueItemStatus.HPBoosts): this.status = EMoveQueueItemStatus.StatusBoosts;break; case(EMoveQueueItemStatus.StatusEffects): this.status = EMoveQueueItemStatus.HPBoosts; break; case(EMoveQueueItemStatus.MoveBackToPosition): if(this.timesToHit>1) { this.status = EMoveQueueItemStatus.Start; } else this.status = EMoveQueueItemStatus.InflictMyEffects; break; case(EMoveQueueItemStatus.InflictMyEffects): this.status = EMoveQueueItemStatus.EndMoveQueuePassiveEffects;; break; case(EMoveQueueItemStatus.EndMoveQueuePassiveEffects): this.status = EMoveQueueItemStatus.Finish; break; case(EMoveQueueItemStatus.StatusBoosts): this.status = EMoveQueueItemStatus.StatEffectors; break; case(EMoveQueueItemStatus.StatEffectors): this.status = EMoveQueueItemStatus.MoveBackToPosition; break; default:Debug.LogError("Unknown state: "+this.status);break; } // Debug.Log("Move queue is now: "+this.status); if(onMoveQueueItemChange!=null) { onMoveQueueItemChange(); } else { Debug.LogError("Advancing move queue without a listener"); } return this.status; }
public EMoveQueueItemStatus skipToFinish() { // This move couldn't be actioned on further this.status = EMoveQueueItemStatus.Finish; if(onMoveQueueItemChange!=null) { onMoveQueueItemChange(); } else { Debug.LogError("Skipping to finish when no onMoveQueueItemChange was registered"); } return this.status; }