/// <summary> /// Adds a GameObject reference to the Objects dictionary /// If a CollidableObject is passed, it is also added to the CollidableObjects List /// </summary> /// <param name="name">GameObject name</param> /// <param name="g">GameObject reference</param> public static void Add(string name, GameObject g) { Objects.Add(name, g); if (g is CollidableObject) { CollidableObject c = (CollidableObject)g; CollidableObjects.Add(c); NonUIObjects.Add(g); } else if (g is Background) { Background b = (Background)g; Backgrounds.Add(b); } else if (g is UIObject) { UIObject ui = (UIObject)g; UIObjects.Add(ui); } else if (g is SFXWrapper) { SFXWrapper wrap = (SFXWrapper)g; SoundEffects.Add(wrap); } else { NonUIObjects.Add(g); } }
/// <summary> /// Delete the object named key from existence. /// </summary> public static void DeleteObject(string key) { if (!Objects.ContainsKey(key)) { return; } GameObject del = (CollidableObject)Objects[key]; if (CollidableObjects.Contains(del)) { CollidableObjects.Remove((CollidableObject)del); } if (UIObjects.Contains(del)) { UIObjects.Remove((UIObject)del); } if (NonUIObjects.Contains(del)) { NonUIObjects.Remove(del); } if (Backgrounds.Contains(del)) { Backgrounds.Remove((Background)(del)); } Objects.Remove(key); }
public void RemoveObject(SceneObjectId id) { Objects.Remove(id); LoadableObjects.Remove(id); MovableObjects.Remove(id); CollidableObjects.Remove(id); UpdateableObjects.Remove(id); DrawableObjects.Remove(id); }
public void AddObject(ICutlassSceneObject o) { SceneObjectId sceneObjectId; lock (_SceneObjectIdLock) { sceneObjectId = _NextSceneObjectId++; } Objects.Add(sceneObjectId, o); //Add object to necessary lists. ICutlassLoadable loadable = o as ICutlassLoadable; if (loadable != null) { LoadableObjects.Add(sceneObjectId, loadable); } ICutlassMovable movable = o as ICutlassMovable; if (movable != null) { MovableObjects.Add(sceneObjectId, movable); } ICutlassCollidable collidable = o as ICutlassCollidable; if (collidable != null) { CollidableObjects.Add(sceneObjectId, collidable); } ICutlassUpdateable updateable = o as ICutlassUpdateable; if (updateable != null) { UpdateableObjects.Add(sceneObjectId, updateable); } ICutlassDrawable drawable = o as ICutlassDrawable; if (drawable != null) { DrawableObjects.Add(sceneObjectId, drawable); } //If this scene has already been initialized, initialize this object now. if (_Initialized && loadable != null) { loadable.LoadContent(); } }
/// <summary> /// Removes all level-specific objects from the manager. /// UI objects are not deleted. /// </summary> public static void RemoveLevel() { IsLoading = true; //Wipe out the objects dictionary Objects.Clear(); //Delete CollidableObjects, NonUIObjects CollidableObjects.Clear(); NonUIObjects.Clear(); //Add in UIObjects back to the dictionary foreach (UIObject ui in UIObjects) { Objects.Add(ui.Name, ui); } //Add in Soundeffects back to the dictionary foreach (SFXWrapper wrap in SoundEffects) { Objects.Add(wrap.Name, wrap); } }
public MultiBallPowerup(Texture2D sprite, CollidableObjects.TriangleType triangleType, _2D.Point center, double width, double height) : base(sprite, triangleType, center, width, height) { _powerupColor = Microsoft.Xna.Framework.Color.Red; }
/// <summary> /// Method to store entities in a list of entities which have collisions /// </summary> /// <param name="asset"></param> public void hasCollisions(IEntity asset) { CollidableObjects.Add(asset); //Add Entity to the collidable objects list }