コード例 #1
0
 public LevelEditorScreen(PikeAndShotGame game, LevelConstructorForm form)
     : base(game)
 {
     _levelData = form.getCurrLevel();
     _pointerSprite = new Sprite(PikeAndShotGame.SWORD_POINTER, new Rectangle(0, 0, 18, 18), 18, 18);
     prevMouseState = Mouse.GetState();
     _grabbedThing = null;
     _grabbedThings = new ArrayList(30);
     _listener = form;
     _oldMousePosition = new Vector2(0f, 0f);
     _boxSelecting = false;
     _boxMoving = false;
 }
コード例 #2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);
            viewport = GraphicsDevice.Viewport;

            setDrawRect();

            soldierFont = Content.Load<SpriteFont>("SpriteFont1");

            ShaderRenderTarget = new RenderTarget2D(GraphicsDevice, SCREENWIDTH, SCREENHEIGHT, false, SurfaceFormat.Color, DepthFormat.None);
            ShaderRenderTarget2 = new RenderTarget2D(GraphicsDevice, SCREENWIDTH, SCREENHEIGHT, false, SurfaceFormat.Color, DepthFormat.None);
            ShaderRenderTarget3 = new RenderTarget2D(GraphicsDevice, SCREENWIDTH, SCREENHEIGHT, false, SurfaceFormat.Color, DepthFormat.None);
            _bloomTargetWidth = SCREENWIDTH / 2;
            _bloomTargetHeight = SCREENHEIGHT / 2;

            _bloomTarget = new RenderTarget2D(GraphicsDevice, _bloomTargetWidth, _bloomTargetHeight, false, SurfaceFormat.Color, DepthFormat.None);

            effect = Content.Load<Effect>(@"cgwg-xna_new");
            effect.Parameters["TexelSize"].SetValue(new Vector2(1f / (float)SCREENWIDTH/1f, 1f / (float)SCREENHEIGHT/1f));
            effect.Parameters["Viewport"].SetValue(new Vector2((float)SCREENWIDTH, (float)SCREENHEIGHT));

            _bloomFx = Content.Load<Effect>("Bloom");
            _bloomExtractFx = Content.Load<Effect>("BloomExtract");

            effect2 = Content.Load<Effect>(@"cgwg-xna");

            //TERRAIN_DRY_GRASS = Content.Load<Texture2D>(@"dry_grass");
            ROAD_TERRAIN = new List<Texture2D>(11);

            for(int i = 0; i < 11; i++)
                ROAD_TERRAIN.Add(getDimmerClone(Content.Load<Texture2D>(@"roadTerrain" + i)));

            TREE0 = getDimmerClone(Content.Load<Texture2D>(@"roadTerrain11"));
            TREE1 = getDimmerClone(Content.Load<Texture2D>(@"tree01"));
            TREE2 = getDimmerClone(Content.Load<Texture2D>(@"tree02"));

            BUSH0 = getDimmerClone(Content.Load<Texture2D>(@"bush00"));
            BUSH1 = getDimmerClone(Content.Load<Texture2D>(@"bush01"));
            BUSH2 = getDimmerClone(Content.Load<Texture2D>(@"bush03"));

            ROAD_HORIZONTAL = getDimmerClone(Content.Load<Texture2D>(@"roadHorizontal"), 0.5f);
            ROAD_TURN = getDimmerClone(Content.Load<Texture2D>(@"roadTurn"), 0.5f);
            ROAD_MILE_MARKER = getDimmerClone(Content.Load<Texture2D>(@"roadMileMarker"), 0.5f);
            ROAD_TURN_MARKER = getDimmerClone(Content.Load<Texture2D>(@"roadTurnMarker"), 0.5f);
            ROAD_HORIZONTAL_2 = getDimmerClone(Content.Load<Texture2D>(@"road_h2"), 0.5f);

            PUCELLE_IDLE = Content.Load<Texture2D>(@"pucelle_ready2");
            PUCELLE_MOTION = Content.Load<Texture2D>(@"pucelle_motion");

            SOLDIER_FEET = Content.Load<Texture2D>(@"soldier_feet");
            SOLDIER_IDLE = Content.Load<Texture2D>(@"soldier_idle");
            SOLDIER2_IDLE = Content.Load<Texture2D>(@"soldier2_idle");
            SOLDIER_DEATH = Content.Load<Texture2D>(@"soldier_death");
            SOLDIER_MELEE1 = Content.Load<Texture2D>(@"soldier_melee1");
            SOLDIER_DEFEND1 = Content.Load<Texture2D>(@"soldier_defend1");
            SOLDIER_MELEE2 = Content.Load<Texture2D>(@"soldier_melee2");
            SOLDIER_DEFEND2 = Content.Load<Texture2D>(@"soldier_defend2");
            SOLDIER2_MELEE2 = Content.Load<Texture2D>(@"soldier2_melee");
            SOLDIER2_DEFEND2 = Content.Load<Texture2D>(@"soldier2_defend");
            SOLDIER_SHIELDBREAK = Content.Load<Texture2D>(@"soldier_shieldbreak");
            SOLDIER_FALL = Content.Load<Texture2D>(@"soldier_fall");
            SOLDIER_BROKENSHIELD1 = Content.Load<Texture2D>(@"brokenshield1");
            SOLDIER_BROKENSHIELD2 = Content.Load<Texture2D>(@"brokenshield2");
            SOLDIER_BROKENARMOUR = Content.Load<Texture2D>(@"brokenarmour");
            SOLDIER_IDLENOSHIELD = Content.Load<Texture2D>(@"soldier_idlenoshield");
            SOLDIER_ROUTE = Content.Load<Texture2D>(@"soldier_route");
            SOLDIER_ROUTED = Content.Load<Texture2D>(@"soldier_routed");
            SOLDIER_CHARGENOSHIELD = Content.Load<Texture2D>(@"soldier_chargenoshield");
            SOLDIER_CHARGE = Content.Load<Texture2D>(@"soldier_charge");

            CAVALRY_HORSE_IDLE = Content.Load<Texture2D>(@"horse_idle");
            CAVALRY_HORSE_RUN = Content.Load<Texture2D>(@"horse_run");
            CAVALRY_HORSE_HALT = Content.Load<Texture2D>(@"horse_halt");
            CAVALRY_HORSE_TURN = Content.Load<Texture2D>(@"horse_turn");
            CAVALRY_HORSE_DEATH = Content.Load<Texture2D>(@"horse_death");
            CAVALRY_LEFTFOOT = Content.Load<Texture2D>(@"cavalry_leftfoot");
            CAVALRY_RIGHTFOOT = Content.Load<Texture2D>(@"cavalry_rightfoot");
            CAVALRY_LEFTIDLE = Content.Load<Texture2D>(@"cavalry_leftidle");
            CAVALRY_RIGHTIDLE = Content.Load<Texture2D>(@"cavalry_rightidle");
            CAVALRY_LEFTLOWER = Content.Load<Texture2D>(@"cavalry_leftlower");
            CAVALRY_RIGHTLOWER = Content.Load<Texture2D>(@"cavalry_rightlower");
            CAVALRY_LEFTRECOIL = Content.Load<Texture2D>(@"cavalry_leftrecoil");
            CAVALRY_RIGHTRECOIL = Content.Load<Texture2D>(@"cavalry_rightrecoil");

            CAVALRY_FALL = Content.Load<Texture2D>(@"cavalry_fall");
            DISMOUNTED_CAVALRY_IDLE = Content.Load<Texture2D>(@"dismountedcavalry_idle");
            DISMOUNTED_CAVALRY_DEATH = Content.Load<Texture2D>(@"dismountedcavalry_death");
            DISMOUNTED_CAVALRY_IDLENOSHIELD = Content.Load<Texture2D>(@"dismountedcavalry_idlenoshield");
            DISMOUNTED_CAVALRY_SHIELDBREAK = Content.Load<Texture2D>(@"dismountedcavalry_shieldbreak");
            DISMOUNTED_CAVALRY_FALL = Content.Load<Texture2D>(@"dismountedcavalry_fall");
            DISMOUNTED_CAVALRY_MELEE1 = Content.Load<Texture2D>(@"dismountedcavalry_melee1");
            DISMOUNTED_CAVALRY_DEFEND1 = Content.Load<Texture2D>(@"dismountedcavalry_defend1");

            PIKEMAN_FEET = Content.Load<Texture2D>(@"pikeman_feet");
            PIKEMAN_IDLE = Content.Load<Texture2D>(@"pikeman_idle");
            PIKEMAN_LOWER_LOW = Content.Load<Texture2D>(@"pikeman_lower_low");
            PIKEMAN_LOWER_HIGH = Content.Load<Texture2D>(@"pikeman_lower_high");
            PIKEMAN_RECOIL = Content.Load<Texture2D>(@"pikeman_recoil");
            PIKEMAN_DEATH = Content.Load<Texture2D>(@"pikeman_death");
            PIKEMAN1_IDLE = Content.Load<Texture2D>(@"pikeman1_idle");
            PIKEMAN1_LOWER_LOW = Content.Load<Texture2D>(@"pikeman1_lower_low");
            PIKEMAN1_LOWER_HIGH = Content.Load<Texture2D>(@"pikeman1_lower_high");
            PIKEMAN1_RECOIL = Content.Load<Texture2D>(@"pikeman1_recoil");
            PIKEMAN1_DEATH = Content.Load<Texture2D>(@"pikeman1_death");
            PIKEMAN1_MELEE = Content.Load<Texture2D>(@"pikeman1_melee1");
            PIKEMAN1_DEFEND = Content.Load<Texture2D>(@"pikeman1_defend1");
            PIKEMAN2_IDLE = Content.Load<Texture2D>(@"pikeman2_idle");
            PIKEMAN2_LOWER_LOW = Content.Load<Texture2D>(@"pikeman2_lower_low");
            PIKEMAN2_LOWER_HIGH = Content.Load<Texture2D>(@"pikeman2_lower_high");
            PIKEMAN2_RECOIL = Content.Load<Texture2D>(@"pikeman2_recoil");
            PIKEMAN2_DEATH = Content.Load<Texture2D>(@"pikeman2_death");
            PIKEMAN2_MELEE = Content.Load<Texture2D>(@"pikeman2_melee1");
            PIKEMAN2_DEFEND = Content.Load<Texture2D>(@"pikeman2_defend1");
            PIKEMAN_MELEE = Content.Load<Texture2D>(@"pikeman_melee");
            PIKEMAN_ROUTE = Content.Load<Texture2D>(@"pikeman_route");
            PIKEMAN_ROUTED = Content.Load<Texture2D>(@"pikeman_routed");

            ARQUEBUSIER_FEET = Content.Load<Texture2D>(@"arquebusier_feet");
            ARQUEBUSIER_IDLE = Content.Load<Texture2D>(@"arquebusier_idle");
            ARQUEBUSIER_RELOAD = Content.Load<Texture2D>(@"arquebusier_reload");
            ARQUEBUSIER_SHOOT = Content.Load<Texture2D>(@"arquebusier_shoot");
            ARQUEBUSIER_SMOKE = Content.Load<Texture2D>(@"arquebusier_smoke");
            ARQUEBUSIER_DEATH = Content.Load<Texture2D>(@"arquebusier_death");
            ARQUEBUSIER_MELEE = Content.Load<Texture2D>(@"arquebusier_melee");
            ARQUEBUSIER_ROUTE = Content.Load<Texture2D>(@"arquebusier_route");
            ARQUEBUSIER_ROUTED = Content.Load<Texture2D>(@"arquebusier_routed");
            ARQUEBUSIER_SHOT1 = Content.Load<Texture2D>(@"shot1");
            ARQUEBUSIER_SHOT2 = Content.Load<Texture2D>(@"shot2");
            ARQUEBUSIER_SHOT3 = Content.Load<Texture2D>(@"shot3");
            ARQUEBUSIER_GROUND = Content.Load<Texture2D>(@"arquebusier_ground");

            CROSSBOWMAN_IDLE = Content.Load<Texture2D>(@"crossbowman_idle");
            CROSSBOWMAN_RELOAD = Content.Load<Texture2D>(@"crossbowman_reload");
            CROSSBOWMAN_RELOAD2 = Content.Load<Texture2D>(@"crossbowman_reload2");
            CROSSBOWMAN_SHOOT = Content.Load<Texture2D>(@"crossbowman_shoot");
            CROSSBOWMAN_DEATH = Content.Load<Texture2D>(@"crossbowman_death");
            CROSSBOWMAN_MELEE = Content.Load<Texture2D>(@"crossbowman_melee");
            CROSSBOWMAN_MELEE2 = Content.Load<Texture2D>(@"crossbowman_melee2");
            CROSSBOWMAN_DEFEND2 = Content.Load<Texture2D>(@"crossbowman_defend2");
            CROSSBOWMAN_BOLT = Content.Load<Texture2D>(@"crossbowman_bolt");
            CROSSBOWMAN_BOLT2 = Content.Load<Texture2D>(@"crossbowman_bolt2");
            CROSSBOWMAN_GROUND = Content.Load<Texture2D>(@"crossbowman_ground");
            CROSSBOWMAN_ROUTE = Content.Load<Texture2D>(@"crossbowman_route");
            CROSSBOWMAN_ROUTED = Content.Load<Texture2D>(@"crossbowman_routed");
            CROSSBOWMAN_PAVISE = Content.Load<Texture2D>(@"crossbowman_pavise_idle");
            CROSSBOWMAN_PAVISE_PLACE = Content.Load<Texture2D>(@"crossbowman_pavise_place");
            CROSSBOWMAN_SHIELDBREAK = Content.Load<Texture2D>(@"crossbowman_shieldbreak");

            PLACED_PAVISE = Content.Load<Texture2D>(@"placed_pavise");
            PAVISE_FALL = Content.Load<Texture2D>(@"pavise_fall");

            DOPPLE_DEATH = Content.Load<Texture2D>(@"dopple_death");
            DOPPLE_IDLE = Content.Load<Texture2D>(@"dopple_idle");
            DOPPLE_SWING1 = Content.Load<Texture2D>(@"dopple_swing1");
            DOPPLE_RELOAD1 = Content.Load<Texture2D>(@"dopple_reload1");
            DOPPLE_ROUTE = Content.Load<Texture2D>(@"dopple_route");
            DOPPLE_ROUTED = Content.Load<Texture2D>(@"dopple_routed");

            SLINGER_IDLE = Content.Load<Texture2D>(@"slinger_idle");
            SLINGER_DEATH = Content.Load<Texture2D>(@"slinger_death");
            SLINGER_MELEE = Content.Load<Texture2D>(@"slinger_melee2");
            SLINGER_DEFEND = Content.Load<Texture2D>(@"slinger_defend2");
            SLINGER_RELOAD = Content.Load<Texture2D>(@"slinger_reload");
            SLINGER_ROCK = Content.Load<Texture2D>(@"slinger_rock");
            SLINGER_SHOOT = Content.Load<Texture2D>(@"slinger_shoot");
            SLINGER_ROUTE = Content.Load<Texture2D>(@"slinger_route");
            SLINGER_ROUTED = Content.Load<Texture2D>(@"slinger_routed");
            SLINGER_RETREAT = Content.Load<Texture2D>(@"slinger_retreat");

            SKIRMISHER_IDLE = Content.Load<Texture2D>(@"skirmisher_idle");
            SKIRMISHER_RELOAD = Content.Load<Texture2D>(@"skirmisher_reload");
            SKIRMISHER_SHOOT = Content.Load<Texture2D>(@"skirmisher_shoot");
            SKIRMISHER_JAVELIN = Content.Load<Texture2D>(@"skirmisher_javelin");
            SKIRMISHER_GROUND = Content.Load<Texture2D>(@"skirmisher_ground");
            SKIRMISHER_DEATH = Content.Load<Texture2D>(@"skirmisher_death");
            SKIRMISHER_MELEE = Content.Load<Texture2D>(@"skirmisher_melee2");
            SKIRMISHER_DEFEND = Content.Load<Texture2D>(@"skirmisher_defend2");
            SKIRMISHER_RETREAT = Content.Load<Texture2D>(@"skirmisher_retreat");

            BERZERKER_IDLE = Content.Load<Texture2D>(@"gobraider1_idle");
            BERZERKER_DEATH = Content.Load<Texture2D>(@"gobraider1_death");
            BERZERKER_MELEE1 = Content.Load<Texture2D>(@"gobraider1_melee1");
            BERZERKER_DEFEND1 = Content.Load<Texture2D>(@"gobraider1_defend1");
            BERZERKER_MELEE2 = Content.Load<Texture2D>(@"gobraider1_melee2");
            BERZERKER_DEFEND2 = Content.Load<Texture2D>(@"gobraider1_defend2");
            BERZERKER_ROUTE = Content.Load<Texture2D>(@"beserker_route");
            BERZERKER_ROUTED = Content.Load<Texture2D>(@"beserker_routed");
            BERZERKER_IDLENOSHIELD = Content.Load<Texture2D>(@"gobraider1_idlenoshield");
            BERZERKER_SHIELDBREAK = Content.Load<Texture2D>(@"gobraider1_shieldbreak");
            BERZERKER_FALL = Content.Load<Texture2D>(@"gobraider1_fall");
            BERZERKER_CHARGENOSHIELD = Content.Load<Texture2D>(@"gobraider1_chargenoshield");
            BERZERKER_CHARGE = Content.Load<Texture2D>(@"gobraider1_charge");

            BERZERKER2_IDLE = Content.Load<Texture2D>(@"gobraider2_idle");
            BERZERKER2_DEATH = Content.Load<Texture2D>(@"gobraider2_death");
            BERZERKER2_MELEE1 = Content.Load<Texture2D>(@"gobraider2_melee1");
            BERZERKER2_DEFEND1 = Content.Load<Texture2D>(@"gobraider2_defend1");
            BERZERKER2_MELEE2 = Content.Load<Texture2D>(@"gobraider2_melee2");
            BERZERKER2_DEFEND2 = Content.Load<Texture2D>(@"gobraider2_defend2");
            BERZERKER2_ROUTE = Content.Load<Texture2D>(@"beserker_route");
            BERZERKER2_ROUTED = Content.Load<Texture2D>(@"beserker_routed");
            BERZERKER2_IDLENOSHIELD = Content.Load<Texture2D>(@"gobraider2_idlenoshield");
            BERZERKER2_SHIELDBREAK = Content.Load<Texture2D>(@"gobraider2_shieldbreak");
            BERZERKER2_FALL = Content.Load<Texture2D>(@"gobraider2_fall");
            BERZERKER2_CHARGENOSHIELD = Content.Load<Texture2D>(@"gobraider2_chargenoshield");
            BERZERKER2_CHARGE = Content.Load<Texture2D>(@"gobraider2_charge");

            BRIGAND1_IDLE = Content.Load<Texture2D>(@"berzerker_idle");
            BRIGAND1_DEATH = Content.Load<Texture2D>(@"bezerker_death");
            BRIGAND1_MELEE1 = Content.Load<Texture2D>(@"berserker_melee2");
            BRIGAND1_DEFEND1 = Content.Load<Texture2D>(@"berserker_defend2");
            BRIGAND1_CHARGE = Content.Load<Texture2D>(@"berserker_charge");

            BRIGAND2_IDLE = Content.Load<Texture2D>(@"brigand_idle");
            BRIGAND2_DEATH = Content.Load<Texture2D>(@"brigand_death");
            BRIGAND2_MELEE1 = Content.Load<Texture2D>(@"brigand_melee2");
            BRIGAND2_DEFEND1 = Content.Load<Texture2D>(@"brigand_defend2");
            BRIGAND2_CHARGE = Content.Load<Texture2D>(@"brigand_charge");

            HAULER_HAUL = Content.Load<Texture2D>(@"hauler_haul");

            WOLF_IDLE = Content.Load<Texture2D>(@"wolf_idle");
            WOLF_RUN = Content.Load<Texture2D>(@"wolf_run");
            WOLF_SPOOKED = Content.Load<Texture2D>(@"wolf_spooked");
            WOLF_TURN = Content.Load<Texture2D>(@"wolf_turn");
            WOLF_BITE = Content.Load<Texture2D>(@"wolf_bite");
            WOLF_MELEE = Content.Load<Texture2D>(@"wolf_melee");
            WOLF_DEFEND = Content.Load<Texture2D>(@"wolf_defend");
            WOLF_KILL = Content.Load<Texture2D>(@"wolf_kill");
            WOLF_HOWL = Content.Load<Texture2D>(@"wolf_howl");

            WOLF_IDLE_COL = Content.Load<Texture2D>(@"wolf_idle_col");
            WOLF_TURN_COL = Content.Load<Texture2D>(@"wolf_turn_col");
            WOLF_ATTACK_COL = Content.Load<Texture2D>(@"wolf_bite_col");
            WOLF_HOWL_COL = Content.Load<Texture2D>(@"wolf_howl_col");
            WOLF_RUN_COL = Content.Load<Texture2D>(@"wolf_run_col");
            WOLF_GETUP_COL = Content.Load<Texture2D>(@"wolf_getup_col");

            WOLF_IDLEg = getGreyscaleClone(WOLF_IDLE);
            WOLF_RUNg = getGreyscaleClone(WOLF_RUN);
            WOLF_SPOOKEDg = getGreyscaleClone(WOLF_SPOOKED);
            WOLF_TURNg = getGreyscaleClone(WOLF_TURN);
            WOLF_BITEg = getGreyscaleClone(WOLF_BITE);
            WOLF_MELEEg = getGreyscaleClone(WOLF_MELEE);
            WOLF_DEFENDg = getGreyscaleClone(WOLF_DEFEND);
            WOLF_KILLg = getGreyscaleClone(WOLF_KILL);
            WOLF_HOWLg = getGreyscaleClone(WOLF_HOWL);

            COLMILLOS_IDLE = Content.Load<Texture2D>(@"los_colmillos_idle0");
            COLMILLOS_IDLENOSHIELD = Content.Load<Texture2D>(@"los_colmillos_idle1");
            COLMILLOS_IDLENOARMOUR = Content.Load<Texture2D>(@"los_colmillos_idle2");
            COLMILLOS_SHIELDBREAK = Content.Load<Texture2D>(@"los_colmillos_shieldbreak");

            COLMILLOS_FALL = Content.Load<Texture2D>(@"los_colmillos_fall1");
            COLMILLOS_FALLNOSHIELD = Content.Load<Texture2D>(@"los_colmillos_fall2");
            COLMILLOS_ATTACK = Content.Load<Texture2D>(@"los_colmillos_attack");
            COLMILLOS_ATTACK2 = Content.Load<Texture2D>(@"los_colmillos_attack2");
            COLMILLOS_ATTACK3 = Content.Load<Texture2D>(@"los_colmillos_attack3");
            COLMILLOS_DEATH = Content.Load<Texture2D>(@"los_colmillos_death");
            COLMILLOS_HELMET = Content.Load<Texture2D>(@"helmet");
            COLMILLOS_RISE = Content.Load<Texture2D>(@"los_colmillos_rise");
            COLMILLOS_HOWL = Content.Load<Texture2D>(@"los_colmillos_howl");
            COLMILLOS_HOWL_NOSHIELD = Content.Load<Texture2D>(@"los_colmillos_howl_noshield");
            COLMILLOS_HOWL_NOARMOUR = Content.Load<Texture2D>(@"los_colmillos_howl_noarmour");
            COLMILLOS_STAGGER = Content.Load<Texture2D>(@"los_colmillos_stagger");
            FALCHION_THROWN = Content.Load<Texture2D>(@"falchion_thrown");
            FALCHION_DIRT = Content.Load<Texture2D>(@"falchion_dirt");

            PEASANT1_IDLE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_01_idle"));
            PEASANT2_IDLE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_02_idle"));
            PEASANT3_IDLE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_03_idle"));
            PEASANT4_IDLE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_04_idle"));
            PEASANT5_IDLE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_05_idle"));
            PEASANT6_IDLE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_06_idle"));

            PEASANT1_FLEE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_01_fleeing"));
            PEASANT5_FLEE = getDimmerClone(Content.Load<Texture2D>(@"npc_1_05_fleeing"));

            GOBLIN_FEET = Content.Load<Texture2D>(@"goblin_feet");
            BROWN_FEET = Content.Load<Texture2D>(@"brown_feet");
            BLUE_FEET = Content.Load<Texture2D>(@"blue_feet");
            SLINGER_GROUND = Content.Load<Texture2D>(@"slinger_ground");

            COIN = Content.Load<Texture2D>(@"coin");
            COIN_METER = Content.Load<Texture2D>(@"coin_meter");
            COIN_METER_BACK = Content.Load<Texture2D>(@"coin_meter_back");
            LOOT = Content.Load<Texture2D>(@"loot");
            DOPPEL_METER = Content.Load<Texture2D>(@"doppel_meter");

            DOT = Content.Load<Texture2D>(@"dot");
            SWORD_POINTER = Content.Load<Texture2D>(@"sword_pointer");
            //TEST = Content.Load<Texture2D>(@"sfea");

            COIN_SPINNA = Content.Load<Texture2D>(@"coin_spinna");

            THEME_1 = Content.Load<Song>(@"boss01");
            SHOT_0 = Content.Load<SoundEffect>(@"shot00");
            SHOT_1 = Content.Load<SoundEffect>(@"shot01");
            SHOT_2 = Content.Load<SoundEffect>(@"shot02");
            SHOT_3 = Content.Load<SoundEffect>(@"shot04");
            SHOT_4 = Content.Load<SoundEffect>(@"shot05");
            PIKES_LOWER = Content.Load<SoundEffect>(@"down").CreateInstance();
            PIKES_LOWER.Volume = 0.5f;
            PIKES_RAISE = Content.Load<SoundEffect>(@"drop").CreateInstance();
            PIKES_RAISE.Volume = 0.5f;
            SHOT_HIT = Content.Load<SoundEffect>(@"hit");
            ROCK_HIT = Content.Load<SoundEffect>(@"smack");
            SLING_ROCK = Content.Load<SoundEffect>(@"huck");
            OWW_ALLY = Content.Load<SoundEffect>(@"oww");
            OWW_ENEMY = Content.Load<SoundEffect>(@"bark");
            BODY_FALL = Content.Load<SoundEffect>(@"thud");
            CHARGE_ROAR = Content.Load<SoundEffect>(@"roar2");
            LOOT_SOUND = Content.Load<SoundEffect>(@"coin3");
            COIN_SOUND = Content.Load<SoundEffect>(@"coin2");
            SHIELD_BREAK = Content.Load<SoundEffect>(@"shield");
            PIKE_0 = Content.Load<SoundEffect>(@"pike1");
            PIKE_1 = Content.Load<SoundEffect>(@"pike2");
            PIKE_2 = Content.Load<SoundEffect>(@"pike3");
            PIKE_3 = Content.Load<SoundEffect>(@"pike4");
            PIKE_4 = Content.Load<SoundEffect>(@"pike5");
            PIKE_5 = Content.Load<SoundEffect>(@"pike6");
            MELEE_CLANG_0 = Content.Load<SoundEffect>(@"clang2");
            MELEE_CLANG_1 = Content.Load<SoundEffect>(@"clang3");
            MELEE_CLANG_2 = Content.Load<SoundEffect>(@"clang4");
            SLASH = Content.Load<SoundEffect>(@"slash");
            GAME_OVER = Content.Load<SoundEffect>(@"go");
            POWER_UP = Content.Load<SoundEffect>(@"loaded");
            DOPPEL_DOWN = Content.Load<SoundEffect>(@"downbeat");
            DOPPEL_UP = Content.Load<SoundEffect>(@"loot_sound");
            COLMILLOS_HURT = Content.Load<SoundEffect>(@"arg");
            COLMILLOS_YELL = Content.Load<SoundEffect>(@"boss");

            _gameScreens = new ArrayList(3);

            // MAKE LEVELS
            List<Level> levels = new List<Level>(32);
            FileStream stream;
            LevelPipeline.LevelContent levelContent;
            XmlReaderSettings settings = new XmlReaderSettings();
            String[] levelFiles = Directory.GetFiles(@"Content\", @"*_level.xml");

            foreach (String filename in levelFiles)
            {
                stream = new FileStream(filename, FileMode.Open);
                using (XmlReader xmlReader = XmlReader.Create(stream, settings))
                {
                    levelContent = IntermediateSerializer.Deserialize<LevelPipeline.LevelContent>(xmlReader, null);
                }
                stream.Close();
                levels.Add(new Level(levelContent));
            }

            // PLAY LEVEL
            _currScreen = new LevelScreen(this, levels.ElementAt(3));
            _gameScreens.Add(_currScreen);

            // MAKE FORMATION
            _gameScreens.Add(new FormationEditorScreen(this));
            _form = new LevelConstructorForm(levels);
            _gameScreens.Add( new LevelEditorScreen(this, _form));
            _form.addFormListener((FormListener)_gameScreens[SCREEN_LEVELEDITOR]);
            _form.addFormListener((LevelScreen)_currScreen);
        }