//敵オブジェクト配置 void CreateObject(asd.Vector2DF position, int obj) { switch (obj) { case 0: Walls.Add(new Wall(position)); LayerOfMain.AddObject(Walls[Walls.Count - 1]); SetWallRainColligeData(Walls[Walls.Count - 1].Position); break; case 1: Clouds.Add(new Cloud(position, TypeOfCloud.Small)); LayerOfMain.AddObject(Clouds[Clouds.Count - 1]); break; case 2: Clouds.Add(new Cloud(position, TypeOfCloud.Medium)); LayerOfMain.AddObject(Clouds[Clouds.Count - 1]); break; case 3: Clouds.Add(new Cloud(position, TypeOfCloud.Large)); LayerOfMain.AddObject(Clouds[Clouds.Count - 1]); break; case 4: break; case 5: Healers.Add(new Healer(position)); LayerOfMain.AddObject(Healers[Healers.Count - 1]); break; case 6: Winds.Add(new Wind(position)); LayerOfMain.AddObject(Winds[Winds.Count - 1]); break; } }
public static bool IsHealer(this GameObject unit) { var gameObject = unit as Character; return(gameObject != null && Healers.Contains(gameObject.CurrentJob)); }
//オブジェクト破棄 void DisposeObject() { for (int i = 0; i < Walls.Count; i++) { if (Walls[i].Position.X < CameraOfMain.Src.Position.X - 300.0f) { Walls[i].Dispose(); Walls.RemoveAt(i); if (Walls.Count == i) { break; } i--; } else if (!Walls[i].IsAlive) { Walls.RemoveAt(i); if (Walls.Count == i) { break; } i--; } } for (int i = 0; i < Clouds.Count; i++) { if (Clouds[i].Position.X < CameraOfMain.Src.Position.X - 300.0f) { Clouds[i].Dispose(); Clouds.RemoveAt(i); if (Clouds.Count == i) { break; } i--; } else if (!Clouds[i].IsAlive) { Clouds.RemoveAt(i); if (Clouds.Count == i) { break; } i--; } } for (int i = 0; i < Rains.Count; i++) { if (Rains[i].Position.X < CameraOfMain.Src.Position.X - 300.0f) { Rains[i].Dispose(); Rains.RemoveAt(i); if (Rains.Count == i) { break; } i--; } else if (!Rains[i].IsAlive) { Rains.RemoveAt(i); if (Rains.Count == i) { break; } i--; } } for (int i = 0; i < Healers.Count; i++) { if (Healers[i].Position.X < CameraOfMain.Src.Position.X - 300.0f) { Healers[i].Dispose(); Healers.RemoveAt(i); if (Healers.Count == i) { break; } i--; } else if (!Healers[i].IsAlive) { Healers.RemoveAt(i); if (Healers.Count == i) { break; } i--; } } for (int i = 0; i < Winds.Count; i++) { if (Winds[i].Position.X < CameraOfMain.Src.Position.X - 300.0f) { Winds[i].Dispose(); Winds.RemoveAt(i); if (Winds.Count == i) { break; } i--; } else if (!Winds[i].IsAlive) { Winds.RemoveAt(i); if (Winds.Count == i) { break; } i--; } } }