public IEnumerator EndAction() { if (this.isActive) { this.isActive = false; if (this.StateRoutine != null && this.actionEnumerator != null) { base.StopCoroutine(this.actionEnumerator); this.actionEnumerator = null; this.StopSubRoutine(); } this.cancelState = FarmDigimon.CancelState.START; if (this.CancelRoutine != null) { this.CancelRoutine(); } this.actionState = FarmDigimon.ActionState.NONE; base.StopCoroutine(this.mainEnumerator); this.mainEnumerator = null; while (this.cancelState != FarmDigimon.CancelState.END) { yield return(null); } this.cancelEnumerator = null; } yield break; }
private IEnumerator TouchAction() { yield return(base.StartCoroutine(this.EndAction())); this.farmDigimonAI.CreateActionParam(FarmDigimonAI.ActionID.TOUCH_ACTION); this.actionState = FarmDigimon.ActionState.ACT; this.StartAction(); if (this.IsFriendShipUp && DateTime.MinValue != this.memoryNextTime) { if ((this.memoryNextTime - ServerDateTime.Now).TotalSeconds <= 0.0 && this.memoryNextTime != DateTime.MinValue) { int friendshipMaxValue = MonsterFriendshipData.GetFriendshipMaxValue(this.monsterData.monsterMG.growStep); int num = int.Parse(this.monsterData.userMonster.friendship); if (num < friendshipMaxValue) { this.beforeFriendship = this.monsterData.userMonster.friendship; this.UpFriendStatus(); } else { this.PopBalloon(false); } } else { this.PopBalloon(false); } } yield break; }
private IEnumerator Act() { yield return(null); this.actionState = FarmDigimon.ActionState.WAIT; yield break; }
public void DeleteDigimon() { this.isInitialized = false; this.isActive = false; this.userMonsterID = string.Empty; this.actionState = FarmDigimon.ActionState.NONE; this.cancelState = FarmDigimon.CancelState.NONE; FarmRoot.Instance.Input.RemoveTouchEndEvent(new Action <InputControll, bool>(this.OnTouchUp)); if (this.hitcheckEnumerator != null) { base.StopCoroutine(this.hitcheckEnumerator); this.hitcheckEnumerator = null; } if (this.mainEnumerator != null) { base.StopCoroutine(this.mainEnumerator); this.mainEnumerator = null; } if (this.actionEnumerator != null) { base.StopCoroutine(this.actionEnumerator); this.actionEnumerator = null; } this.StopSubRoutine(); this.farmDigimonAI.ClearActionParam(); this.farmDigimonAction.StopAction(); if (null != this.digimon) { UnityEngine.Object.Destroy(this.digimon); this.digimon = null; } }
public IEnumerator Boot() { while (!this.isInitialized) { yield return(null); } this.actionState = FarmDigimon.ActionState.APPEARANCE; this.UpdateOutline(); this.StartAction(); yield break; }
private IEnumerator Thinking() { FarmDigimonAI.ActionID actionID = this.farmDigimonAI.ChooseAction(); while (this.manager.FindAction(actionID)) { yield return(new WaitForSeconds(2f)); actionID = this.farmDigimonAI.ChooseAction(); } this.farmDigimonAI.CreateActionParam(actionID); this.actionState = FarmDigimon.ActionState.ACT; yield break; }
private IEnumerator WaitAppearance() { this.digimon.SetActive(true); this.StartIdleAnimation(); this.actionSubEnumerator = this.farmDigimonAI.Appearance(this.digimon); this.actionSubCoroutine = base.StartCoroutine(this.actionSubEnumerator); yield return(this.actionSubCoroutine); this.actionSubEnumerator = null; this.actionSubCoroutine = null; this.actionState = ((!this.digimon.activeSelf) ? FarmDigimon.ActionState.NONE : FarmDigimon.ActionState.THINKING); yield break; }
private IEnumerator WaitEndAction() { FarmDigimonAI.ActionParam param = this.farmDigimonAI.GetActionParam(); switch (param.actionID) { case FarmDigimonAI.ActionID.MEAT_FARM: case FarmDigimonAI.ActionID.STROLL: case FarmDigimonAI.ActionID.STROLL_FAST: case FarmDigimonAI.ActionID.CONSTRUCTION: if (param.pathGridIndexs != null) { CharacterParams characterParams = this.digimon.GetComponent <CharacterParams>(); characterParams.PlayAnimation(CharacterAnimationType.move, SkillType.Attack, 0, null, null); this.actionSubEnumerator = this.farmDigimonAction.Walk(); yield return(base.StartCoroutine(this.actionSubEnumerator)); this.actionSubEnumerator = null; } break; case FarmDigimonAI.ActionID.TOUCH_ACTION: { CharacterParams characterParams2 = this.digimon.GetComponent <CharacterParams>(); characterParams2.PlayAnimation(CharacterAnimationType.move, SkillType.Attack, 0, null, null); this.actionSubEnumerator = this.farmDigimonAction.TouchAction(); yield return(base.StartCoroutine(this.actionSubEnumerator)); this.actionSubEnumerator = null; break; } default: { CharacterParams component = this.digimon.GetComponent <CharacterParams>(); component.PlayAnimationSmooth(CharacterAnimationType.revival, SkillType.Attack, 0, null, null); break; } } CharacterParams component2 = this.digimon.GetComponent <CharacterParams>(); component2.PlayAnimationSmooth(CharacterAnimationType.revival, SkillType.Attack, 0, null, null); yield return(new WaitForSeconds(5f)); this.farmDigimonAI.ClearActionParam(); this.actionState = FarmDigimon.ActionState.THINKING; yield return(null); yield break; }
private IEnumerator ActionMainRoutine() { if (this.cancelState != FarmDigimon.CancelState.NONE) { while (this.cancelState != FarmDigimon.CancelState.END) { yield return(new WaitForSeconds(1f)); } this.cancelState = FarmDigimon.CancelState.NONE; if (this.actionState == FarmDigimon.ActionState.NONE) { this.actionState = (this.digimon.activeSelf ? FarmDigimon.ActionState.THINKING : FarmDigimon.ActionState.APPEARANCE); } } while (this.StateRoutine != null) { this.actionEnumerator = this.StateRoutine(); yield return(base.StartCoroutine(this.actionEnumerator)); } yield break; }