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); }
//敵方 public Enemies getEnemySoldierData(GameManager.whichObject _name) { Enemies tmpData = new Enemies(); enemyDataBase.TryGetValue(_name, out tmpData); return(tmpData); }
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("資源不足"); } } }
//敵方 public TowerDataBase getEnemyTowerData(GameManager.whichObject _name) { TowerDataBase tmpData = new TowerDataBase(); enemyDataBase.TryGetValue(_name, out tmpData); return(tmpData); }
//收回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); }
//取得數據 public Sort_Soldier getSortPos(GameManager.whichObject _name) { if (!storeData.ContainsKey(_name)) { //無數據 return(null); } return(storeData[_name]); }
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); }
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); }
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("目前為建造模式"); } }
//取出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(); } }
void FindAnd_UnLock(GameManager.whichObject _whoIs) { myLockPos.Find(x => x.DataName == _whoIs).UnLock(); }
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; } }
private void Start() { tmpHint = GameManager.whichObject.HintText; }
public void clickAction(GameManager.whichObject _name) { prompt_localPos.ClearPrompt(); turretStore.SelectNowTurret(_name); }
public void clickSolider(GameManager.whichObject _name) { prompt_localPos.ClearPrompt(); soldierStore.SelectSoldier(_name); }
private void Start() { damageText = GetComponentInChildren <Text>(); popText = GameManager.whichObject.popupText; }
private void Start() { displayDamageText = GameObject.Find("Display_DamageText"); mainCamera = Camera.main; popText = GameManager.whichObject.popupText; }