/// <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(); }
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(); }
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]; } } } } }