// 更新・メイン void UpdateMain() { // 敵生成管理の更新 _enemyGenerator.Update(); // 配置できるかどうか判定 if (_cursor.Placeable == false) { // 配置できないのでここでおしまい return; } // カーソルの下にあるオブジェクトをチェック int mask = 1 << LayerMask.NameToLayer("Tower"); Collider2D col = Physics2D.OverlapPoint(_cursor.GetPosition(), mask); _selObj = null; if (col != null) { // 選択中のオブジェクトを格納 _selObj = col.gameObject; } // マウスクリック判定 if (Input.GetMouseButtonDown(0) == false) { //クリックしていないので以下の処理は不要 return; } if (_selObj != null) { // 砲台をクリックした // 選択した砲台オブジェクトを取得 _selTower = _selObj.GetComponent <Tower>(); // アップグレードモードに移行する ChangeSelMode(eSelMode.Upgrade); } switch (_selMode) { case eSelMode.Buy: if (_cursor.SelObj == null) { // 所持金を減らす int cost = Cost.TowerProduction(); Global.UseMoney(cost); // 何もないので砲台を配置 Tower.Add(_cursor.X, _cursor.Y); // 次のタワーの生産コストを取得する int cost2 = Cost.TowerProduction(); if (Global.Money < cost2) { // お金が足りないので通常モードに戻る ChangeSelMode(eSelMode.None); } } break; } }
// 更新・メイン void UpdateMain() { // 敵生成管理の更新 _enemyGenerator.Update(); _enemyGenerator2.Update(); // カーソルの下にあるオブジェクトをチェック int mask = 1 << LayerMask.NameToLayer("Tower"); Collider2D col = Physics2D.OverlapPoint(_cursor.GetPosition(), mask); _selObj = null; if (col != null) { // 選択中のオブジェクトを格納 _selObj = col.gameObject; } // カーソルの下にあるオブジェクトをチェック int mask2 = 1 << LayerMask.NameToLayer("Tower"); Collider2D col2 = Physics2D.OverlapPoint(_cursor2.GetPosition(), mask2); _selObj2 = null; if (col2 != null) { // 選択中のオブジェクトを格納 _selObj2 = col2.gameObject; } if (Input.GetButtonDown("Done1p")) { if (_selObj != null) { // 砲台をクリックした // 選択した砲台オブジェクトを取得 _selTower = _selObj.GetComponent <Tower>(); // アップグレードモードに移行する ChangeSelMode(eSelMode.Upgrade); } else { switch (_selMode) { case eSelMode.Buy: if (_cursor.SelObj == null) { if (_cursor.Placeable) { if (_cursor._Placeable) { // 所持金を減らす int cost = Cost.TowerProduction(); if (Global.Money < cost) { // お金が足りないので通常モードに戻る ChangeSelMode(eSelMode.None); } else { Global.UseMoney(cost); // 何もないので砲台を配置 Tower.Add(_cursor.X, _cursor.Y); // 次のタワーの生産コストを取得する int cost2 = Cost.TowerProduction2(); if (Global.Money < cost) { // お金が足りないので通常モードに戻る ChangeSelMode(eSelMode.None); } } } } } break; case eSelMode.None: ChangeSelMode(eSelMode.Buy); break; case eSelMode.Upgrade: ChangeSelMode(eSelMode.None); break; } } } if (Input.GetButtonDown("Done2p")) { if (_selObj2 != null) { // 砲台をクリックした // 選択した砲台オブジェクトを取得 _selTower2 = _selObj2.GetComponent <Tower2>(); // アップグレードモードに移行する ChangeSelMode2(eSelMode2.Upgrade); } else { switch (_selMode2) { case eSelMode2.Buy: if (_cursor2.SelObj == null) { if (_cursor2.Placeable) { if (_cursor2._Placeable) { // 所持金を減らす int cost = Cost.TowerProduction(); if (Global.Money2 < cost) { // お金が足りないので通常モードに戻る ChangeSelMode2(eSelMode2.None); } else { Global.UseMoney2(cost); // 何もないので砲台を配置 Tower2.Add(_cursor2.X, _cursor2.Y); // 次のタワーの生産コストを取得する int cost2 = Cost.TowerProduction2(); if (Global.Money2 < cost2) { // お金が足りないので通常モードに戻る ChangeSelMode2(eSelMode2.None); } } } } } break; case eSelMode2.None: ChangeSelMode2(eSelMode2.Buy); break; case eSelMode2.Upgrade: ChangeSelMode2(eSelMode2.None); break; } } } if (Input.GetButtonDown("Range1p")) { OnClickRange(); } if (Input.GetButtonDown("Range2p")) { OnClickRange2(); } if (Input.GetButtonDown("Firerate1p")) { OnClickFirerate(); } if (Input.GetButtonDown("Firerate2p")) { OnClickFirerate2(); } if (Input.GetButtonDown("Power1p")) { OnClickPower(); } if (Input.GetButtonDown("Power2p")) { OnClickPower2(); } }