List<WeaponType> weapons; //list of available weapons to distribute #endregion Fields #region Constructors public ItemManager(ref LevelSlider refSlider) { slider = refSlider; //Init data lists weapons = new List<WeaponType>(); }
// Use this for initialization void Start() { levelSlider = GameObject.FindObjectOfType<LevelSlider>(); endOfLevel = levelSlider.levelTimeSec; }
//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(); }
//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()); } }
// Use this for initialization void Start() { levelSlider = GameObject.FindObjectOfType <LevelSlider>(); endOfLevel = levelSlider.levelTimeSec; }
//############################################################################################ //############################################################################################ public static Item CreateItem(ItemType type, GameObject item, ref LevelSlider refSlider) { Item i = new Item(type, item); i.LoadContent(); i.slider = refSlider; return i; }