Пример #1
0
    /// <summary>
    /// checks if the bot has enough money and is allowed to spawn ship.
    /// </summary>
    /// <param name="spawner"> the unit number corresponding to the desired ship to spawn</param>
    /// <returns>do you have enough money?</returns>
    public bool checkmoney(int spawner)
    {
        bool       output = false;
        GameObject temp   = unitcontrol.getshipbynumber(actualshiptobuy);

        if (temp)
        {
            int pointstodeploy = temp.GetComponent <_Ship>().PointsToDeploy;
            if (pointstodeploy <= money)
            {
                output = true;
            }
            else
            {
                output = false;
            }
            int maxships     = UnitMovementcommandcontroller.getmaxshipnumbers();
            int currentships = unitcontrol.teammembersout(team).Count;
            if (currentships >= (maxships - 1))
            {
                output = false;
            }
            if ((crosslevelvar.campaign == false || (crosslevelvar.campaign == true && crosslevelvar.campaignlevel.objective != MainMenuCampaignControlScript.eMissionObjective.Survive)) && unitcontrol.checkiffactiondead(team) == true)
            {
                output = false;
            }
            if (output)
            {
                money -= pointstodeploy;
            }
        }
        return(output);
    }
    /// <summary>
    /// Check if you have enough money to spawn the desired ship.
    /// </summary>
    /// <param name="money">money existing in bank</param>
    /// <param name="spawner">ship to spawn cost</param>
    /// <returns></returns>
    public bool checkmoney(int money, int spawner)
    {
        bool output         = false;
        int  pointstodeploy = unitcon.getshipbynumber(spawner).GetComponent <_Ship>().PointsToDeploy;

        if (pointstodeploy <= money)
        {
            output = true;
        }
        else
        {
            output = false;
        }
        int maxships     = UnitMovementcommandcontroller.getmaxshipnumbers();
        int currentships = unitcon.teammembersout(unitcon.team).Count;

        if (currentships >= (maxships - 1))
        {
            output = false;
        }
        if (unitcon.running == false)
        {
            output = false;
        }
        if (output)
        {
            unitcon.takemoney(pointstodeploy);
        }
        if (unitcon.checkiffactiondead(unitcon.team) == true)
        {
            output = false;
        }
        return(output);
    }
Пример #3
0
 /// <summary>
 /// Repeats every second to update the minimap.
 /// </summary>
 void Rep()
 {
     if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex != 0 && UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex != 1)
     {
         if (Blue)
         {
             // give the player an indicator or how many ships each color owns and the player name assosiated with those ships.
             if (Green.gameObject.GetActive() == true)
             {
                 Green.text = getplayername(LobbyScreenController.getteam1(), 0) + "Green: " + unitcontrol.teammembersout(_Ship.eShipColor.Green).Count + " ships";
             }
             if (Blue.gameObject.GetActive() == true)
             {
                 Blue.text = getplayername(LobbyScreenController.getteam1(), 1) + "Blue: " + unitcontrol.teammembersout(_Ship.eShipColor.Blue).Count + " ships";
             }
             if (White.gameObject.GetActive() == true)
             {
                 White.text = getplayername(LobbyScreenController.getteam1(), 2) + "White: " + unitcontrol.teammembersout(_Ship.eShipColor.White).Count + " ships";
             }
             if (Yellow.gameObject.GetActive() == true)
             {
                 Yellow.text = getplayername(LobbyScreenController.getteam2(), 0) + "Yellow: " + unitcontrol.teammembersout(_Ship.eShipColor.Yellow).Count + " ships";
             }
             if (Grey.gameObject.GetActive() == true)
             {
                 Grey.text = getplayername(LobbyScreenController.getteam2(), 1) + "Grey: " + unitcontrol.teammembersout(_Ship.eShipColor.Grey).Count + " ships";
             }
             if (Red.gameObject.GetActive() == true)
             {
                 Red.text = getplayername(LobbyScreenController.getteam2(), 2) + "Red: " + unitcontrol.teammembersout(_Ship.eShipColor.Red).Count + " ships";
             }
         }
         if (unitcontrol == null)
         {
             unitcontrol = GameObject.Find("Controllers").GetComponent <UnitMovementcommandcontroller>();
         }
         // moves unused blips out of view.
         foreach (bliplinecontroller blip in allyblips)
         {
             blip.transform.localPosition = new Vector3(100000, 100000, 100000);
         }
         foreach (bliplinecontroller blip in enemyblips)
         {
             blip.transform.localPosition = new Vector3(100000, 100000, 100000);
         }
         foreach (bliplinecontroller blip in allyblips)
         {
             blip.targetgam = new Vector3(0, 0, 0);
         }
         List <GameObject> temp = unitcontrol.teammembersout(unitcontrol.team);
         if (temp != null && Ships_Left_Text != null)
         {
             Kills_Text.text = " ships : " + temp.Count.ToString() + " out of " + UnitMovementcommandcontroller.getmaxshipnumbers().ToString();
             List <TSTransform> enemies = unitcontrol.targetsout(unitcontrol.team);
             for (int i = 0; i < enemies.Count; i++)
             {
                 if (enemyblips[i] != null && enemyblips[i].gameObject != null && enemies[i] != null && enemies[i].gameObject != null)
                 {
                     enemyblips[i].transform.localPosition = new Vector3(0, enemies[i].transform.localPosition.x * 0.35f, enemies[i].transform.localPosition.z * 0.35f);
                 }
             }
         }
         if (Time_Left_Text && ismission == false)
         {
             Time_Left_Text.text = unitcontrol.gettimeleft();
         }
         else if (AIController && AIController.timepassedactual < 30)
         {
             Time_Left_Text.text = "Time til attack: " + (30 - TSMath.Round(AIController.timepassedactual)).ToString();
         }
         else if (unitcontrol.crosslevelholder.campaign == true && unitcontrol.crosslevelholder.campaignlevel.objective == MainMenuCampaignControlScript.eMissionObjective.Survive)
         {
             Time_Left_Text.text = "Survive for: " + unitcontrol.gettimeleft();
         }
         else if (Time_Left_Text)
         {
             Time_Left_Text.text = unitcontrol.gettimeleft();
         }
         List <TSTransform> allies = unitcontrol.alliesout();
         for (int i = 0; i < allies.Count; i++)
         {
             if (allyblip && allyblips[i].gameObject != null)
             {
                 // asigns blip positions
                 allyblips[i].source = allies[i];
                 allyblips[i].transform.localPosition = new Vector3(0, allies[i].transform.localPosition.x * 0.35f, allies[i].transform.localPosition.z * 0.35f);
                 Vector3 tempa = allies[i].shipscript.fac.localtarget.ToVector() * 0.35f;
                 allyblips[i].targetgam = new Vector3(0, tempa.x, tempa.z);
             }
         }
         if (Objectsholder == null)
         {
             Objectsholder = GameObject.Find("Objects");
         }
         if (Cameratracking == null)
         {
             if (GameObject.Find("Camera (eye)") != null)
             {
                 Cameratracking = GameObject.Find("Camera (eye)");
             }
             else
             {
                 Cameratracking = GameObject.Find("CenterEyeAnchor");
             }
         }
         Vector3 playerloc = Objectsholder.transform.InverseTransformPoint(Cameratracking.transform.position);
         playerblip.transform.localPosition = new Vector3(0, playerloc.x * 0.35f, playerloc.z * 0.35f);
     }
 }