Ejemplo n.º 1
0
        public override void Draw()
        {
            if (DDUtils.GetDistance(new D2Point(this.X, this.Y), new D2Point(Game.I.Player.X, Game.I.Player.Y)) < 50.0)
            {
                if (Game.I.FinalZone.OH_Event9003.Once())
                {
                    for (int x = 0; x < Game.I.Map.W; x++)
                    {
                        for (int y = 0; y < Game.I.Map.H; y++)
                        {
                            MapCell cell = Game.I.Map.GetCell(x, y);

                            if (
                                cell.Kind == MapCell.Kind_e.DEATH ||
                                cell.Kind == MapCell.Kind_e.GOAL
                                )
                            {
                                cell.Kind = MapCell.Kind_e.WALL;
                            }
                        }
                    }

                    // 必要なイベント以外を除去
                    //
                    Game.I.Enemies.RemoveAll(enemy => !(
                                                 enemy is Enemy_Event9003B ||
                                                 enemy is Enemy_Event9004 ||
                                                 enemy is Enemy_Event9005
                                                 ));

                    Game.I.Map.Design = new Design_0002();

                    //DDGround.EL.Add(SCommon.Supplier(Effects.Liteフラッシュ()));
                    DDGround.EL.Add(SCommon.Supplier(Effects.Heavyフラッシュ()));

                    DDMusicUtils.Stop();
                }
            }
        }