//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // \ UPDATE FUNCTION ABOVE / //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void RankAction() { if (rankState == RankState.FollowingGeneral) { if (myGeneral.rankState != RankState.IsGeneral) { rankState = RankState.LookingForGeneral; killMeAfter = 0.5f; } } if (rankState == RankState.LookingForGeneral) { if (ClosestGeneral()) { AssignToGeneral(ClosestGeneral()); } if (killMeAfter <= 0) { Die(this); } else { killMeAfter -= Time.deltaTime; } } if (rankState == RankState.dead && gameObject.activeInHierarchy) { gameObject.SetActive(false); } }
void AssignToGeneral(TroopActor ta) { rankState = RankState.FollowingGeneral; myGeneral = ta; if (moveTarget) { Destroy(moveTarget.gameObject); } moveTarget = ta.AllocateTarget(this); }
void RankAction() { if (rankState == RankState.FollowingGeneral) { if (myGeneral.rankState != RankState.IsGeneral) { rankState = RankState.LookingForGeneral; killMeAfter = 0.5f; } } if (rankState == RankState.LookingForGeneral) { SetAttackType(AttackType.AUTO); TroopActor AssignToMe = RandomGeneral(); if (AssignToMe) { AssignToGeneral(AssignToMe); } else { PromoteToGeneral(this); } if (killMeAfter <= 0) { Die(this); } else { killMeAfter -= Time.deltaTime; } } if (rankState == RankState.dead) { if (moveTarget) { moveTarget.gameObject.SetActive(false); } gameObject.SetActive(false); } else { gameObject.SetActive(true); } if (rankState == RankState.IsGeneral) { if (transform.localScale != originSize * 1.75f) { transform.localScale = originSize * 1.2f; } } }