Example #1
0
    public void InitAmp(TowerMng _TowerMng, MapMng _MapMng, int x, int y, GameObject _LoadRoot, GameObject _AmpLine, GameObject ObjRoot, Tower tower)
    {
        //Tower target = new Tower();
        //for(int i=0;i<_TowerMng._TowerList.Count;i++)
        //{
        //    if (_TowerMng._TowerList[i]._AmpTarget)
        //    {
        //        target = _TowerMng._TowerList[i];
        //        target._AmpTarget = false;
        //    }
        //}

        if (tower._AmpType_Hero == 1)//Guitar
        {
            GetComponent <Tower>().Init("amp", 5, 1.5f, ObjRoot, 250, 0);
            _AmpType  = 1;
            _MainBody = StageMng.Data._Towers[0];
        }
        else if (tower._AmpType_Hero == 2)//Drum
        {
            GetComponent <Tower>().Init("amp", 5, 1.5f, 0);
            _MainBody = StageMng.Data._Towers[1];
            _AmpType  = 2;
        }
        else if (tower._AmpType_Hero == 3)//Bass
        {
            _AmpType = 3;
            GetComponent <Tower>().Init("amp", 5, 1.5f, ObjRoot, 250, 0);
            _MainBody = StageMng.Data._Towers[2];
        }
        else if (tower._AmpType_Hero == 4)//KeyBoard
        {
            _AmpType = 4;
            GetComponent <Tower>().Init("amp", 5, 1.5f, ObjRoot, 250, 0);
            _MainBody = StageMng.Data._Towers[3];
        }

        _LinkIcon.SetActive(true);
        _LinkIconArray[_AmpType - 1].SetActive(true);
        _TowerMng._TowerList.Add(GetComponent <Tower>());
        _MapMng.RedTileSet(x, y);

        GameObject line = NGUITools.AddChild(_LoadRoot, _AmpLine);

        line.transform.localPosition    = transform.localPosition + new Vector3(-640, -360, 0);
        line.transform.localEulerAngles = new Vector3(0, 0,
                                                      Mathf.Atan2(transform.localPosition.y - tower.transform.localPosition.y,
                                                                  transform.localPosition.x - tower.transform.localPosition.x) * Mathf.Rad2Deg);
        line.GetComponent <UI2DSprite>().width = (int)Vector2.Distance(transform.localPosition, tower.transform.localPosition);



        _ParentSet = true;
        StartCoroutine(Update1());
    }
Example #2
0
    void CreateTower(int number, int x, int y)
    {
        if (number == 4)//AMP
        {
            if (_TowerMng._TowerList.Count >= 1)
            {
                for (int i = 0; i < _TowerMng._TowerList.Count; i++)
                {
                    _TowerMng._TowerList[i]._AmpTarget = false;
                }
                GameObject obj = NGUITools.AddChild(_ObjectRoot, _TowerObjectArray[number]);
                obj.transform.localPosition     = new Vector3(x * _TileSize + _TileSize / 2, y * _TileSize + _TileSize / 2, 0);// + new Vector3(140, 105, 0);
                obj.GetComponent <Tower>()._Amp = true;
                obj.GetComponent <Tower>()._MyAnimation.Init("amp");

                //float range = Vector2.Distance(obj.transform.localPosition, _TowerMng._TowerList[0].transform.localPosition);
                //int tnum = 0;
                //for (int i = 1; i < _TowerMng._TowerList.Count; i++)
                //{
                //    if (range > Vector2.Distance(obj.transform.localPosition, _TowerMng._TowerList[i].transform.localPosition) &&
                //        !_TowerMng._TowerList[i]._Amp)
                //    {
                //        tnum = i;
                //        range = Vector2.Distance(obj.transform.localPosition, _TowerMng._TowerList[i].transform.localPosition);
                //    }
                //}
                _AmpTemp = obj.GetComponent <Tower_Amp>();

                //_AmpTempNumber = tnum;
                _AmpTempX = x;
                _AmpTempY = y;
                _AmpTargetSelectBG.SetActive(true);
                _AmpSelecting = true;
            }
        }
        else
        {
            float[] Rank_DamagePercent = { 75, 85, 100, 115, 125 };

            if (number == 0 && !_SetGuitarTower)
            {
                GameObject obj = NGUITools.AddChild(_ObjectRoot, _TowerObjectArray[number]);
                obj.transform.localPosition = new Vector3(x * _TileSize + _TileSize / 2, y * _TileSize + _TileSize / 2, 0);// + new Vector3(140, 105, 0);
                obj.GetComponent <Tower>().Init("guitar", 1, 1.3f, _ObjectRoot, 250, (8.0f + (4.0f * StaticMng.Instance._GuitarTowerLevel)) * (Rank_DamagePercent[StaticMng.Instance._GuitarTowerRank - 1] / 100.0f));
                _SetGuitarTower = true;
                _TowerMng._TowerList.Add(obj.GetComponent <Tower>());
                _MapMng.RedTileSet(x, y);
                StageMng.Data._Towers[0]   = obj.GetComponent <Tower>();
                StageMng.Data._TowerSet[0] = true;
            }
            else if (number == 1 && !_SetDrumTower)
            {
                GameObject obj = NGUITools.AddChild(_ObjectRoot, _TowerObjectArray[number]);
                obj.transform.localPosition = new Vector3(x * _TileSize + _TileSize / 2, y * _TileSize + _TileSize / 2, 0);// + new Vector3(140, 105, 0);
                obj.GetComponent <Tower>().Init("drum", 2, 1.4f, (1.0f + (0.5f * StaticMng.Instance._DrumTowerLevel)) * (Rank_DamagePercent[StaticMng.Instance._DrumTowerRank - 1] / 100.0f));
                _SetDrumTower = true;
                _TowerMng._TowerList.Add(obj.GetComponent <Tower>());
                _MapMng.RedTileSet(x, y);
                StageMng.Data._Towers[1]   = obj.GetComponent <Tower>();
                StageMng.Data._TowerSet[1] = true;
            }
            else if (number == 2 && !_SetBassTower)
            {
                GameObject obj = NGUITools.AddChild(_ObjectRoot, _TowerObjectArray[number]);
                obj.transform.localPosition = new Vector3(x * _TileSize + _TileSize / 2, y * _TileSize + _TileSize / 2, 0);// + new Vector3(140, 105, 0);
                obj.GetComponent <Tower>().Init("bass", 3, 1.5f, _ObjectRoot, 250, (3.0f + (1.5f * StaticMng.Instance._BassTowerLevel)) * (Rank_DamagePercent[StaticMng.Instance._BassTowerRank - 1] / 100.0f));
                _SetBassTower = true;
                _TowerMng._TowerList.Add(obj.GetComponent <Tower>());
                _MapMng.RedTileSet(x, y);
                StageMng.Data._Towers[2]   = obj.GetComponent <Tower>();
                StageMng.Data._TowerSet[2] = true;
            }
            else if (number == 3 && !_SetKeyBoardTower)
            {
                GameObject obj = NGUITools.AddChild(_ObjectRoot, _TowerObjectArray[number]);
                obj.transform.localPosition = new Vector3(x * _TileSize + _TileSize / 2, y * _TileSize + _TileSize / 2, 0);// + new Vector3(140, 105, 0);
                obj.GetComponent <Tower>().Init("keyboard", 4, 2.0f, _ObjectRoot, 250, (4.0f + (2.0f * StaticMng.Instance._KeyBoardTowerLevel)) * (Rank_DamagePercent[StaticMng.Instance._KeyBoardTowerRank - 1] / 100.0f));
                _SetKeyBoardTower = true;
                _TowerMng._TowerList.Add(obj.GetComponent <Tower>());
                _MapMng.RedTileSet(x, y);
                StageMng.Data._Towers[3]   = obj.GetComponent <Tower>();
                StageMng.Data._TowerSet[3] = true;
            }


            _TowerIconGrid.SetActive(true);
        }
    }