public ItemManager(ref LevelSlider refSlider)
        {
            slider = refSlider;

            //Init data lists
            weapons = new List <WeaponType>();
        }
Beispiel #2
0
        //############################################################################################
        //############################################################################################

        public static Item CreateItem(ItemType type, GameObject item, ref LevelSlider refSlider)
        {
            Item i = new Item(type, item);

            i.LoadContent();
            i.slider = refSlider;

            return(i);
        }
Beispiel #3
0
        //Unload the level
        //clear all data for memory management reasons
        public virtual void Unload()
        {
            state = GameState.Unloaded;

            slider = null;
            SUI    = null;

            if (loaded)
            {
                enemyShips.Clear();
                enemyBullets.Clear();
            }

            foreach (Player p in PROP.players)
            {
                p.bullets.Clear();
            }
        }
Beispiel #4
0
        //The main loading of the level
        //Child classes (the actuall level objects)
        //should call this base method first to Init the basic stuff
        public virtual void Load(Textures.TextureName levelBackground)
        {
            loaded = true;

            border = new GameObject(Textures.TextureName.LevelBorder);
            border.LoadContent();
            border.CenterIn(bounds);

            slider = new LevelSlider(levelBackground, bounds);
            slider.Load();

            //Items
            itemMan = new ItemManager(ref slider);


            //Init data structures
            enemyShips   = new List <Ship>();
            enemyBullets = new List <Bullet>();
            items        = new List <Item>();


            //Link the UpdateInfo to appropriate data
            SUI          = new ShipUpdateInfo();
            SUI.viewport = bounds;
            SUI.npcs     = enemyShips;
            SUI.slider   = this.slider;


            //Position the player ships
            foreach (Player p in PROP.players)
            {
                if (p.ControllerIndex == PlayerIndex.Two)
                {
                    p.ship.MoveTo(GetPlayerInitPos());
                    p.ship.position.X += 60;
                }
                else
                {
                    p.ship.MoveTo(GetPlayerInitPos());
                }
            }
        }