Ejemplo n.º 1
0
    public GameObject getPoolObject(GameManager.whichObject _name, Vector3 _pos, Quaternion _rot)
    {
        if (!poolDictionary.ContainsKey(_name))
        {
            Debug.Log("物件池沒有啦 耖");
            return(null);
        }

        objectToSpawn = poolDictionary[_name].Dequeue();
        if (poolDictionary[_name].Count == 0)//拿出來之後等於0就會增加
        {
            Repool(_name, PoolAddNewObj(_name));
        }

        objectToSpawn.transform.rotation = _rot;
        getNet = objectToSpawn.GetComponent <PhotonView>();

        if (getNet == null)
        {
            objectToSpawn.transform.position = _pos;
            objectToSpawn.SetActive(true);
        }
        else
        {
            getNet.RPC("SetActiveT", PhotonTargets.All, _pos);
        }
        return(objectToSpawn);
    }
Ejemplo n.º 2
0
    //敵方
    public Enemies getEnemySoldierData(GameManager.whichObject _name)
    {
        Enemies tmpData = new Enemies();

        enemyDataBase.TryGetValue(_name, out tmpData);
        return(tmpData);
    }
Ejemplo n.º 3
0
    public void SelectNowTurret(GameManager.whichObject _name)
    {
        if (!buildManager.nowBuilding)
        {
            Debug.Log("沒有開啟建築模式");
            return;
        }

        if (!buildManager.nowSelect)
        {
            hintManager.CreatHint("目前正在前往蓋塔防");
            return;
        }

        tmpTurret = Data.getTowerData(_name);

        if (tmpTurret.TurretName != GameManager.whichObject.None)
        {
            if (playerObtain.Check_MoneyAmount(tmpTurret.cost_Money))
            {
                buildManager.SelectToBuild(tmpTurret, tmpTurret.detectObjPrefab);
            }
            else
            {
                hintManager.CreatHint("資源不足");
            }
        }
    }
Ejemplo n.º 4
0
    //敵方
    public TowerDataBase getEnemyTowerData(GameManager.whichObject _name)
    {
        TowerDataBase tmpData = new TowerDataBase();

        enemyDataBase.TryGetValue(_name, out tmpData);
        return(tmpData);
    }
Ejemplo n.º 5
0
 //收回icon
 void ReIcon(GameManager.whichObject whichObject, List <RectTransform> Icons, int _index)
 {
     if (Icons == minmap.enemySoliderIcons || Icons == minmap.enemyTowerIcons)
     {
         Icons[_index].gameObject.GetComponent <Image>().color = Color.white;
     }
     PoolManager.Repool(whichObject, Icons[_index].gameObject);
     Icons.RemoveAt(_index);
 }
Ejemplo n.º 6
0
    //取得數據
    public Sort_Soldier getSortPos(GameManager.whichObject _name)
    {
        if (!storeData.ContainsKey(_name))
        {
            //無數據
            return(null);
        }

        return(storeData[_name]);
    }
Ejemplo n.º 7
0
 public void Repool(GameManager.whichObject _name, GameObject _obj)
 {
     returnNet = _obj.GetComponent <PhotonView>();
     if (returnNet == null)
     {
         _obj.SetActive(false);
         _obj.transform.SetParent(transform);
     }
     else
     {
         returnNet.RPC("SetActiveF", PhotonTargets.All);
     }
     poolDictionary[_name].Enqueue(_obj);
 }
Ejemplo n.º 8
0
    GameObject PoolAddNewObj(GameManager.whichObject _name)
    {
        pool       _pool = pools.Find(x => x.pool_Name == _name);
        GameObject obj   = null;

        if (_pool.pool_Prefab.GetComponent <PhotonView>() == null)
        {
            obj = Instantiate(_pool.pool_Prefab);
            obj.SetActive(false);
            obj.transform.SetParent(this.transform);
        }
        else
        {
            obj = PhotonNetwork.Instantiate(_pool.filePath, Vector3.zero, Quaternion.identity, 0);
            obj.GetComponent <PhotonView>().RPC("SetActiveF", PhotonTargets.All);
        }

        obj.transform.SetParent(transform);
        return(obj);
    }
Ejemplo n.º 9
0
 public void SelectSoldier(GameManager.whichObject _name)
 {
     if (!BuildManager.instance.nowBuilding)
     {
         MyEnemyData.Enemies tmpSoldier = MyEnemyData.instance.getMySoldierData(_name);
         if (tmpSoldier._soldierName != GameManager.whichObject.None)
         {
             if (PlayerObtain.instance.Check_MoneyAmount(tmpSoldier.cost_Money))
             {
                 PlayerObtain.instance.consumeResource(tmpSoldier.cost_Money);
                 EnemyManager.instance.getEnemyQueue(tmpSoldier);
             }
             else
             {
                 HintManager.instance.CreatHint("資源不足");
             }
         }
     }
     else
     {
         HintManager.instance.CreatHint("目前為建造模式");
     }
 }
Ejemplo n.º 10
0
    //取出icon
    void GetIcon(GameManager.whichObject whichObject, List <RectTransform> Icons)
    {
        GameObject icon_obj = PoolManager.getPoolObject(whichObject, Vector3.zero, Quaternion.identity);

        if (Icons == minmap.enemySoliderIcons || Icons == minmap.enemyTowerIcons)
        {
            icon_obj.GetComponent <Image>().color = Color.red;
        }
        RectTransform r = icon_obj.GetComponent <RectTransform>();

        icon_obj.transform.SetParent(minmap.transform);
        Icons.Add(r);

        if (whichObject == GameManager.whichObject.SoldierIcon)
        {
            r.SetAsFirstSibling();
        }
        else
        {
            minmap.enemyplayerIcon.SetAsLastSibling();
            minmap.myplayerIcon.SetAsLastSibling();
        }
    }
Ejemplo n.º 11
0
 void FindAnd_UnLock(GameManager.whichObject _whoIs)
 {
     myLockPos.Find(x => x.DataName == _whoIs).UnLock();
 }
Ejemplo n.º 12
0
    public void Update_ThisAbility(GameManager.NowTarget _whoUpdate, Myability _state, byte _level, GameManager.whichObject _whoIs)
    {
        switch (_whoUpdate)
        {
        case GameManager.NowTarget.Null:
            FindAnd_UnLock(_whoIs);
            break;

        case GameManager.NowTarget.Player:
            myPlayer.Net.RPC("UpdataData", PhotonTargets.All, _level, (int)_state);
            break;

        case GameManager.NowTarget.Soldier:
            myPlayer.Net.RPC("UpdateSoldier", PhotonTargets.All, _level, (int)_state);
            break;

        case GameManager.NowTarget.Tower:
            myPlayer.Net.RPC("UpdateTower", PhotonTargets.All, _level, (int)_state);
            break;

        default:
            break;
        }
    }
Ejemplo n.º 13
0
 private void Start()
 {
     tmpHint = GameManager.whichObject.HintText;
 }
Ejemplo n.º 14
0
 public void clickAction(GameManager.whichObject _name)
 {
     prompt_localPos.ClearPrompt();
     turretStore.SelectNowTurret(_name);
 }
Ejemplo n.º 15
0
 public void clickSolider(GameManager.whichObject _name)
 {
     prompt_localPos.ClearPrompt();
     soldierStore.SelectSoldier(_name);
 }
Ejemplo n.º 16
0
 private void Start()
 {
     damageText = GetComponentInChildren <Text>();
     popText    = GameManager.whichObject.popupText;
 }
Ejemplo n.º 17
0
 private void Start()
 {
     displayDamageText = GameObject.Find("Display_DamageText");
     mainCamera        = Camera.main;
     popText           = GameManager.whichObject.popupText;
 }