public void OnDestroy() { if (uiBlood.isLive) { GameObject.Destroy(this.uiBlood.gameObject); } this.uiBlood = null; }
public UIShowBlood PlaceUIBloodOnMonster(int side) { GameObject ui = Instantiate(this.uiMonsterBloodPrefab); ui.transform.SetParent(this.transform, false); UIShowBlood blood = ui.GetComponent <UIShowBlood>(); blood.Init(side); return(blood); }
private void PlaceMonster(int type, int side, int roadIndex) { if (type < (int)MonsterType.Monster1 || type > (int)MonsterType.Monster3) { return; } if (side != (int)SideType.SideA && side != (int)SideType.SideB) { return; } if (roadIndex < 0 || roadIndex >= this.monsterRoads.Length) { return; } if (type >= this.monsterPrefabs.Length) {//没有对应小怪的资源 return; } //Debug.Log("放置小兵"); GameObject m = Instantiate(this.monsterPrefabs[type]); m.transform.SetParent(this.transform, false); MonsterMove agent = m.AddComponent <MonsterMove>(); Vector3[] roadData = null; if (side == (int)SideType.SideA) { roadData = this._roadDataSet[roadIndex].pathSideA; } else { roadData = this._roadDataSet[roadIndex].pathSideB; } Monster monster = m.AddComponent <Monster>(); monster.Init(type, side, roadData); this._monsters.Add(monster); //创建一个UI血条 UIShowBlood uiBlood = this.UiBloodManager.PlaceUIBloodOnMonster(side); monster.uiBlood = uiBlood; }
private Hero PlaceHeroAt(PlayerMatchInfo matchInfo, int index) { int side = matchInfo.side; UserInfo uinfo = UGame.Instance.getUserInfo(matchInfo.seatid); GameObject heroObject = Instantiate(this.heroCharacters[uinfo .usex]); heroObject.name = uinfo.unick; heroObject.transform.SetParent(this.transform, false); Vector3 centerPos; if (side == 0) { centerPos = this.entryA.transform.position; } else { centerPos = this.entryB.transform.position; } if (index == 0) { centerPos.z -= 3.0f; } else { centerPos.z += 3.0f; } heroObject.transform.position = centerPos; Hero ctrl = heroObject.AddComponent <Hero>(); ctrl.isGhost = (matchInfo.seatid == UGame.Instance.selfSeatid) ? false : true; ctrl.LoginInit(heroObject.transform.position);//逻辑数据初始化 ctrl.seatid = matchInfo.seatid; ctrl.side = side; //创建一个UI血条 UIShowBlood uiBlood = this.UiBloodManager.PlaceUIBloodOnHero(side); ctrl.uiBlood = uiBlood; return(ctrl); }
private void PlaceTowers() { //sideA Tower t; t = this.ATowerObjects[0].AddComponent <MainTower>(); t.Init((int)SideType.SideA, (int)TowerType.Main); this._towers.Add(t);//主塔 t.gameObject.name = "A_main_tower"; //创建一个UI血条 UIShowBlood uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideA); t.uiBlood = uiBlood; t = this.ATowerObjects[1].AddComponent <NormalTower>(); t.Init((int)SideType.SideA, (int)TowerType.Main); this._towers.Add(t);//left t.gameObject.name = "A_left_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideA); t.uiBlood = uiBlood; t = this.ATowerObjects[2].AddComponent <NormalTower>(); t.Init((int)SideType.SideA, (int)TowerType.Main); this._towers.Add(t);//right t.gameObject.name = "A_right_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideA); t.uiBlood = uiBlood; t = this.ATowerObjects[3].AddComponent <NormalTower>(); t.Init((int)SideType.SideA, (int)TowerType.Main); this._towers.Add(t);//front t.gameObject.name = "A_front_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideA); t.uiBlood = uiBlood; //sideB t = this.BTowerObjects[0].AddComponent <MainTower>(); t.Init((int)SideType.SideB, (int)TowerType.Main); this._towers.Add(t);//主塔 t.gameObject.name = "B_main_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideB); t.uiBlood = uiBlood; t = this.BTowerObjects[1].AddComponent <NormalTower>(); t.Init((int)SideType.SideB, (int)TowerType.Main); this._towers.Add(t);//left t.gameObject.name = "B_left_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideB); t.uiBlood = uiBlood; t = this.BTowerObjects[2].AddComponent <NormalTower>(); t.Init((int)SideType.SideB, (int)TowerType.Main); this._towers.Add(t);//right t.gameObject.name = "B_right_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideB); t.uiBlood = uiBlood; t = this.BTowerObjects[3].AddComponent <NormalTower>(); t.Init((int)SideType.SideB, (int)TowerType.Main); this._towers.Add(t);//front t.gameObject.name = "B_front_tower"; //创建一个UI血条 uiBlood = this.UiBloodManager.PlaceUIBloodOnTower((int)SideType.SideB); t.uiBlood = uiBlood; }