Ejemplo n.º 1
0
        //敵オブジェクト配置
        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;
            }
        }
Ejemplo n.º 2
0
        public static bool IsHealer(this GameObject unit)
        {
            var gameObject = unit as Character;

            return(gameObject != null && Healers.Contains(gameObject.CurrentJob));
        }
Ejemplo n.º 3
0
        //オブジェクト破棄
        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--;
                }
            }
        }