public IEnumerator AppearanceNormal(GameObject digimon, Action completed) { FarmRoot farmRoot = FarmRoot.Instance; FarmField farmField = farmRoot.Field; int gridIndex = FarmDigimonUtility.GetPassableGridIndex(); if (gridIndex == -1) { digimon.SetActive(false); } else { base.transform.position = farmField.Grid.GetPositionGridCenter(gridIndex, false); base.transform.localScale = Vector3.zero; base.transform.localRotation = Quaternion.identity; Vector3 angles = base.transform.localEulerAngles; angles.y = farmRoot.Camera.transform.localEulerAngles.y + 180f; base.transform.localEulerAngles = angles; float scale = 0.99f; while (1f > scale) { scale += Time.deltaTime; scale = Mathf.Clamp01(scale); float adjScale = scale * 2f; base.transform.localScale = new Vector3(adjScale, adjScale, adjScale); yield return(null); } } if (completed != null) { completed(); } yield break; }
public void CreateActionParam(FarmDigimonAI.ActionID actionID) { switch (actionID) { case FarmDigimonAI.ActionID.MEAT_FARM: this.actionParam.targetGridIndex = this.GetMeatFarmAroundGridIndex(); break; case FarmDigimonAI.ActionID.STROLL: case FarmDigimonAI.ActionID.STROLL_FAST: this.actionParam.targetGridIndex = FarmDigimonUtility.GetPassableGridIndex(); break; case FarmDigimonAI.ActionID.CONSTRUCTION: this.actionParam.targetGridIndex = this.GetConstructionAroundGridIndex(); break; } this.actionParam.actionID = actionID; if (this.actionParam.targetGridIndex != -1) { this.actionParam.pathGridIndexs = this.GetPassGridIndexs(this.actionParam.targetGridIndex); } }