//ショット切り替えボタン押下時の処理 public void shotChangerOnClick(int argBtnNum) { // ボタンの色を変更 changeColor(argBtnNum); // 押されたボタンの弾に切り替える List <KeyValuePair <string, int> > sPair = new List <KeyValuePair <string, int> >(shotList); foreach (var item in sPair) { if (item.Value == argBtnNum) { if (item.Key == "shot1") { shotTypeObj.setShotType(1); shotTypeObj.setPlayerShotDelay(1); } else if (item.Key == "shot2") { shotTypeObj.setShotType(2); shotTypeObj.setPlayerShotDelay(2); } else if (item.Key == "shot3") { shotTypeObj.setShotType(3); shotTypeObj.setPlayerShotDelay(3); } else if (item.Key == "shot4") { shotTypeObj.setShotType(4); shotTypeObj.setPlayerShotDelay(4); } else { shotTypeObj.setShotType(1); shotTypeObj.setPlayerShotDelay(1); } } } }
// ぶつかった瞬間に呼び出される cはぶつかってきた物体のコライダ // 敵ならばダメージ アイテムならば取得処理を記載 void OnTriggerEnter2D(Collider2D c) { if (managerObj != null && managerObj.IsGamePause() != true) { // レイヤー名を取得 string layerName = LayerMask.LayerToName(c.gameObject.layer); // レイヤー名がBullet(Enemy)の時は弾を削除 if (layerName == "Bullet(Enemy)") { // エネミーの弾の削除。実際には非アクティブにする //Destroy(c.gameObject); ObjectPool.instance.shootingGamePool(c.gameObject); } // レイヤー名がBullet(Enemy)またはEnemy,Boss1の場合は damage if (layerName == "Bullet(Enemy)" || layerName == "Enemy" || layerName == "Boss1") { spaceship.GetAnimator().SetTrigger("Damage"); playerlife.damagePlayerHp(); spaceship.Explosion(); //Game Over if (playerlife.getPlayerHp() <= 0) { // Manager GameOverメソッドを呼び出す managerObj.GameOver(); // 爆発する spaceship.Explosion(); //オプションを削除 followerMng.destroyOldFollowers(); //ゲームを停止 managerObj.isPause = true; // プレイヤーを削除 Destroy(gameObject); } } // ショット切り替えアイテムの取得時の処理 int nextShotType = 0; if (layerName == "ItemN") { nextShotType = 1; } else if (layerName == "ItemE") { nextShotType = 2; } else if (layerName == "ItemL") { nextShotType = 3; } else if (layerName == "ItemM") { nextShotType = 4; } if (nextShotType != 0) { shotTypeObj.setShotType(nextShotType); shotTypeObj.setPlayerShotDelay(nextShotType); shotChangerObj.changeShot(nextShotType); Destroy(c.gameObject); } // オプション取得時の処理 if (layerName == "ItemOpt") { if (followerMng.IsFollowerMax() == false) { FindObjectOfType <BombManager>().increaseBombNum(); //ボムの数を加算 GameObject prefab = (GameObject)Resources.Load("followers"); Instantiate(prefab, transform.position, Quaternion.identity); } Destroy(c.gameObject); } // バリア取得時の処理 if (layerName == "ItemBarrier") { GameObject.Find("ItemBarrier").renderer.enabled = true; Destroy(c.gameObject); } // スペシャル弾の取得時の処理 if (layerName == "ItemSuperShot") { GameObject.Find("ItemSuperShot").renderer.enabled = true; superShot.superShotFlg = 1; Destroy(c.gameObject); } } }