private void PlaceGhost() { akabei = Instantiate(akabeiPrefab, maze.transform); akabei.Initialize(maze, pacman); pinky = Instantiate(pinkyPrefab, maze.transform); pinky.Initialize(maze, pacman); aosuke = Instantiate(aosukePrefab, maze.transform); aosuke.Initialize(maze, pacman, akabei); guzuta = Instantiate(guzutaPrefab, maze.transform); guzuta.Initialize(maze, pacman); ghosts = new List <AGhost> { akabei, pinky, aosuke, guzuta }; ghosts.ForEach(g => { //ゴーストが食べられたときの処理。 g.OnEaten += (s, e) => { //パックマン、ゴーストを一時停止。 PauseAll(eatSpan); //食べたゴーストの数により、点数が変化する。 var scr = g.Score * (1 << eatenGhost); //得点の更新。 score += scr; scoreText.text = score.ToString(); //得点を表示。 scorer.Set(scr, g.transform.position, eatSpan); eatenGhost++; soundManager.PlaySE("EatGhost", 0.6f); }; //ゴーストが食べたときの処理。 g.OnEat += (s, e) => { pacman.Dead(); //ゴーストを停止。 ghosts.ForEach(g2 => g2.Stop()); isScare = false; lives--; if (fruits != null) { fruits.Destroy(); } soundManager.PlaySE("Dead", 0.6f); soundManager.StopBGM(); }; }); }
public void Initialize(Maze maze, Pacman pacman, Akabei akabei) { transform.localPosition = maze.AosukeWaypointsData.Start; var ai = GetComponent <AosukeAI>(); ai.Initialize(pacman, maze.TileUtility, akabei); var mover = GetComponent <Mover>(); mover.Initialize(ai); base.Initialize(mover, maze.AosukeWaypointsData, maze.NestWaypoints); }
public void Initialize(Pacman pacman, TileUtility tileUtility, Akabei akabei) { this.akabei = akabei; base.Initialize(pacman, tileUtility); }