void MovingToTheResourceDestination(ScoopScript[] SC, Vector3 targetPos, SCOOPENUMCrtStatement PlayerCrtenumStatement , ResourceCollectiveScript rs = null) { Vector3[] Behindpos = ScoopMoverScript.GetUnitGroupDestinationAroundsResources(SC.Length, targetPos); for (int i = 0; i < SC.Length; i++) { if (SC[i].energyType.CrtSpirit > 0) { for (int j = 0; j < Behindpos.Length; j++) { SC[i].MovToResourceFunction(Behindpos[j], PlayerCrtenumStatement, rs); } } } }
//Function : MovToResourceFunction //Method : This is the Function used For Soilder who are going to The Resource Area public void MovToResourceFunction(Vector3 pos, SCOOPENUMCrtStatement scoopEnumType, ResourceCollectiveScript setResourceSource = null) { SettingStatement(scoopEnumType); StopCoroutine(DOTalkingIEmerator()); isMoving = true; aiSoilderCtrlScript = null; anim.SetBool(AnimMovingBooleanString, true); anim.SetBool(AnimFarmingBooleanString, false); anim.SetBool(AnimGatheringBooleanString, false); anim.SetBool(AnimisHammeringBooleanString, false); anim.SetBool(AnimisAxeingBooleanString, false); anim.SetBool(AnimDODanceBoolean, false); anim.SetBool(AnimisTalkingBooleanString, false); anim.SetBool(AnimEQUIPWEAPONBooleanString, false); anim.ResetTrigger(AnimAttackTriggerString); navMeshAgents.isStopped = false; navMeshAgents.stoppingDistance = Random.Range(0.8f, 1.8f); navMeshAgents.SetDestination(pos); FarmingObject.SetActive(false); resourceCollectiveScript = setResourceSource; if (AxeObject != null) { AxeObject.SetActive(false); } HammerObject.SetActive(false); scoopCrtStatementScript.SetIldeSpriteFunction(); }
//Function : SettingStatement //Method : This Function is used For Setting The Function which is Setting The Statement public void SettingStatement(SCOOPENUMCrtStatement toscoop) { scoopEnum = toscoop; if (this.gameObject != null) { if (scoopEnum == SCOOPENUMCrtStatement.IDLE) { isMoving = false; isFarming = false; resourceCollectiveScript = null; navMeshAgents.isStopped = true; anim.SetBool(AnimMovingBooleanString, false); anim.SetBool(AnimFarmingBooleanString, false); anim.SetBool(AnimGatheringBooleanString, false); anim.SetBool(AnimisAxeingBooleanString, false); anim.SetBool(AnimisHammeringBooleanString, false); anim.SetBool(AnimisTalkingBooleanString, false); anim.ResetTrigger(AnimAttackTriggerString); SetTalkingBooleanStatement(false); if (energyType.CrtSpirit <= 0) { anim.SetBool(AnimisTiringBooleanString, true); } else if (energyType.CrtSpirit > 0) { anim.SetBool(AnimisTiringBooleanString, false); } navMeshAgents.ResetPath(); if (FarmingObject != null) { FarmingObject.SetActive(false); } if (AxeObject != null) { AxeObject.SetActive(false); } if (HammerObject != null) { HammerObject.SetActive(false); } if (WeaponObj != null) { WeaponObj.SetActive(false); } isDoingFighting = false; aiSoilderCtrlScript = null; } } }