public void SetData(NormalEnemyData.EnemyFormation enemyFormData, GameObject baseObj, EnemyFactory factory) { EnemyBulletBaseObject = baseObj; hp = enemyFormData.life; score = enemyFormData.score; enemyAi = enemyFormData.enemyAI; this.factory = factory; SetBezierState(); }
public bool CreateNormalEnemy(NormalEnemyData.EnemyFormation enemy) { GameObject obj = null; Dictionary<int, GameObject>.ValueCollection readyEnemyObjects = readyNormalEnemyObjectDic[enemy.prefab.name].Values; if (isNormalEnemyUnenable(readyEnemyObjects)) { obj = getNormalEnemyUnenableGObj(readyEnemyObjects); if (obj.GetComponent<Enemy>().renderEnable != null) obj.GetComponent<Enemy>().renderEnable.enabled = false; obj.SetActive(true); } if (obj != null) { float x = enemy.pos; float y = enemy.pos; float scale = enemy.scale; obj.transform.localScale = new Vector3(scale, scale, 1); switch ((WallType)enemy.trans_id) { case WallType.UP: obj.transform.position = new Vector3(x, WallObjects[enemy.trans_id].transform.position.y + 1, 0); break; case WallType.DOWN: obj.transform.position = new Vector3(x, WallObjects[enemy.trans_id].transform.position.y, 0); obj.transform.Rotate(0, 0, 180); break; case WallType.RIGHT: obj.transform.position = new Vector3(WallObjects[enemy.trans_id].transform.position.x, y, 0); obj.transform.Rotate(0, 0, -90); break; case WallType.LEFT: obj.transform.position = new Vector3(WallObjects[enemy.trans_id].transform.position.x, y, 0); obj.transform.Rotate(0, 0, 90); break; } // 敵を生成 obj.GetComponent<Enemy>().SetData(enemy, EnemyBulletBaseObject, this); return true; } return false; }