コード例 #1
0
    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);
                }
            }
        }
    }
コード例 #2
0
    //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();
    }
コード例 #3
0
    //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;
            }
        }
    }