Пример #1
0
    /// <summary>
    /// Fired when an item is "bought"
    /// </summary>
    /// <param name="item">The selected item</param>
    protected void OnButtonPress(BuyMenuItem item)
    {
        if (Building == null)
        {
            return;
        }

        // Make sure team has enough cash.
        if (Game.GetCurrentTeam().Resources >= item.Price)
        {
            // Update team cash.
            Game.GetCurrentTeam().Resources -= item.Price;
            Game.HUD.SetResources(Game.GetCurrentTeam().Resources);

            Transform unitObject = Instantiate(Resources.Load <Transform>("prefabs/tank"), Building.transform.position, Quaternion.identity) as Transform;
            unitObject.parent = GameObject.Find("Units").transform;
            Unit unit = unitObject.GetComponent <Unit>();
            unit.Init();
            unit.SetTeam(Building.Team);
            unit.AcceptMove();
        }

        Game.Selector.UnselectCurrentBuilding();

        Hide();
    }
Пример #2
0
    protected override void OnButtonPress(string item)
    {
        if (Building == null)
        {
            return;
        }

        switch (item)
        {
        case "Tank":
            if (Game.GetCurrentTeam().Resources < prices[0])
            {
                break;
            }
            Game.GetCurrentTeam().Resources -= prices[0];
            Game.HUD.SetResources(Game.GetCurrentTeam().Resources);

            Transform unitObject = Instantiate(Game.Unit_Tank, Building.transform.position, Quaternion.identity) as Transform;
            unitObject.parent = GameObject.Find("Units").transform;
            Unit unit = unitObject.GetComponent <Unit>();
            unit.Init();
            unit.SetTeam(Building.Team);
            unit.AcceptMove();

            break;
        }

        Game.Selector.UnselectCurrentBuilding();

        Hide();
    }
Пример #3
0
    public static void loadGameValues()
    {
        //Debug.Log("HERE");
        game                    = GameObject.Find("Game").GetComponent <Game>();
        game.Day                = amd.currentDay;
        game.CurrentTeam        = amd.currentTeam;
        game.Teams[0].Resources = amd.team1Resources;
        game.Teams[1].Resources = amd.team2Resources;
        //destroy ALL existing units in scene
        foreach (GameObject g in GameObject.FindGameObjectsWithTag("Unit"))
        {
            //Debug.Log("removing " + g);
            g.GetComponent <Unit>().Remove();
        }
        //team 1 units instantiation
        //Debug.Log(amd.unitTypesTeam1.Count);
        for (int i = 0; i < amd.unitTypesTeam1.Count; i++)
        {
            switch (amd.unitTypesTeam1[i])
            {
            case 0:
                //Debug.Log("creating basic unit for team 1");
                t        = Instantiate(game.Unit_Basic, new Vector3(amd.uPX1[i], amd.uPY1[i], amd.uPZ1[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(1);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            case 1:
                //Debug.Log("creating ranged unit for team 1");
                t        = Instantiate(game.Unit_Ranged, new Vector3(amd.uPX1[i], amd.uPY1[i], amd.uPZ1[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(1);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            case 2:
                //Debug.Log("creating harvester unit for team 1");
                t        = Instantiate(game.Unit_HarvesterA, new Vector3(amd.uPX1[i], amd.uPY1[i], amd.uPZ1[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(1);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            case 3:
                //Debug.Log("creating quacker unit for team 1");
                t        = Instantiate(game.Unit_TheQuacker, new Vector3(amd.uPX1[i], amd.uPY1[i], amd.uPZ1[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(1);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            default: break;
            }
        }
        //team 2 unit instantiation
        for (int i = 0; i < amd.unitTypesTeam2.Count; i++)
        {
            switch (amd.unitTypesTeam2[i])
            {
            case 0:
                //Debug.Log("creating basic unit for team 2");
                t        = Instantiate(game.Unit_Basic, new Vector3(amd.uPX2[i], amd.uPY2[i], amd.uPZ2[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(2);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            case 1:
                //Debug.Log("creating ranged unit for team 2");
                t        = Instantiate(game.Unit_Ranged, new Vector3(amd.uPX2[i], amd.uPY2[i], amd.uPZ2[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(2);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            case 2:
                //Debug.Log("creating harvester unit for team 2");
                t        = Instantiate(game.Unit_HarvesterB, new Vector3(amd.uPX2[i], amd.uPY2[i], amd.uPZ2[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(2);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            case 3:
                //Debug.Log("creating quacker unit for team 2");
                t        = Instantiate(game.Unit_TheQuacker, new Vector3(amd.uPX2[i], amd.uPY2[i], amd.uPZ2[i]), Quaternion.identity) as Transform;
                t.parent = GameObject.Find("Units").transform;
                u        = t.GetComponent <Unit>();
                u.Init();
                u.SetTeam(2);
                u.AcceptMove();
                u.UnitColor = amd.unitColorsTeam1[i];
                u.Type      = amd.unitTypesTeam1[i];
                u.HitPoints = amd.unitStrengthsTeam1[i];
                break;

            default: break;
            }
        }
        foreach (GameObject g in GameObject.FindGameObjectsWithTag("Building"))
        {
            for (int i = 0; i < GameObject.FindGameObjectsWithTag("Building").Length; i++)
            {
                for (int n = 0; n < amd.buildTypesTeam1.Count; n++)
                {
                    if (GameObject.FindGameObjectsWithTag("Building")[i].transform.position == new Vector3(amd.bPX1[n], amd.bPY1[n], amd.bPZ1[n]))
                    {
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().Team = 1;
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().GetComponentInChildren <TeamColour>().SetTeam(1);
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().Type      = amd.buildTypesTeam1[n];
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().HitPoints = amd.buildHPTeam1[n];
                    }
                }
            }
            for (int i = 0; i < GameObject.FindGameObjectsWithTag("Building").Length; i++)
            {
                for (int n = 0; n < amd.buildTypesTeam2.Count; n++)
                {
                    if (GameObject.FindGameObjectsWithTag("Building")[i].transform.position == new Vector3(amd.bPX2[n], amd.bPY2[n], amd.bPZ2[n]))
                    {
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().Team = 2;
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().GetComponentInChildren <TeamColour>().SetTeam(2);
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().Type      = amd.buildTypesTeam2[n];
                        GameObject.FindGameObjectsWithTag("Building")[i].GetComponent <Building>().HitPoints = amd.buildHPTeam2[n];
                    }
                }
            }
        }
    }