Example #1
0
 public void OnDestroy()
 {
     if (uiBlood.isLive)
     {
         GameObject.Destroy(this.uiBlood.gameObject);
     }
     this.uiBlood = null;
 }
Example #2
0
    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;
    }