public GameObject GetPopEnemy(G20_EnemyType enemyType) { switch (enemyType) { case G20_EnemyType.NORMAL: return(SelectEnemyAI <G20_NormalAI>(G20_EnemyModelType.Normal)); case G20_EnemyType.GOLDEN: return(SelectEnemyAI <G20_NormalAI>(G20_EnemyModelType.Golden)); case G20_EnemyType.BOMB: return(SelectEnemyAI <G20_BombAI>(G20_EnemyModelType.Bomb)); case G20_EnemyType.SMALL: return(SelectEnemyAI <G20_SmallAI>(G20_EnemyModelType.Small)); case G20_EnemyType.NORMAL_STRAIGHT: return(SelectEnemyAI <G20_NormalStraightAI>(G20_EnemyModelType.Normal)); case G20_EnemyType.GOLDEN_STRAIGHT: return(SelectEnemyAI <G20_NormalStraightAI>(G20_EnemyModelType.Golden)); case G20_EnemyType.BOMB_STRAIGHT: return(SelectEnemyAI <G20_BombStraightAI>(G20_EnemyModelType.Bomb)); case G20_EnemyType.SMALL_STRAIGHT: return(SelectEnemyAI <G20_SmallStraightAI>(G20_EnemyModelType.Small)); case G20_EnemyType.SMALL_BULLET: return(SelectEnemyAI <G20_FlyAI>(G20_EnemyModelType.SmallBullet)); } return(null); }
public void PopSameAppleWithEnemy(G20_EnemyType enemyType) { G20_ScoreAppleType appleType = G20_ScoreAppleType.APPLE; if (enemyType == G20_EnemyType.GOLDEN || enemyType == G20_EnemyType.GOLDEN_STRAIGHT) { appleType = G20_ScoreAppleType.GOLDEN; } PopApple(appleType); }
public G20_Enemy EnemyPop(G20_EnemyType enemyType, Vector3 position, G20_EnemyPopType popType = G20_EnemyPopType.RISE_UP) { // 敵のオブジェクト生成 var ene = popEnemySelector.GetPopEnemy(enemyType); ene.transform.SetParent(transform.parent); G20_SEManager.GetInstance().Play(G20_SEType.SUMMON_APPLE, position + new Vector3(0, 0.02f, 0)); // 出現演出 switch (popType) { case G20_EnemyPopType.RISE_UP: //敵の召喚エフェクト生成(少し魔法陣を浮かす) G20_EffectManager.GetInstance().Create(G20_EffectType.SUMMON_APPLE, position + new Vector3(0, 0.02f, 0)); ene.transform.position = position + new Vector3(0, riseUpDifY, 0); StartCoroutine(RiseUp(ene)); break; case G20_EnemyPopType.WALK_FORWARD: G20_EffectManager.GetInstance().Create(G20_EffectType.SUMMON_APPLE_VERT, position); position.y = 0f; ene.transform.position = position + new Vector3(0, 0, walkForwardDifZ); StartCoroutine(WalkForward(ene)); break; } var enemy = ene.GetComponent <G20_Enemy>(); //enemyのbuffを設定 G20_EnemyBuff enemy_buff = null; if (onPopSpeedBuffValue != 0) { enemy_buff = new G20_SpeedBuff(enemy, 100.0f, onPopSpeedBuffValue); } if (enemy_buff != null) { enemy.AddBuff(enemy_buff); } // 敵情報保存 G20_EnemyCabinet.GetInstance().RegisterEnemy(enemy); //敵情報破棄を敵が死んだときに実行 enemy.OnDestroyAction += G20_EnemyCabinet.GetInstance().UnregisterEnemy; return(enemy); }