/// <summary> /// RemoveObject is called to remove a GameObject from the Objects list. /// </summary> public void RemoveObject(GameObject oldObject) { Objects.Remove(oldObject); // Adds to Drawables if drawable. if (oldObject is Drawable drawable) { Drawables.Remove(drawable); } // Adds to Collidables if collidable. if (oldObject is Collider) { Collidables.Remove(oldObject); } if (oldObject is Player) { Player = null;; } if (oldObject is Npc) { Npcs.Remove((Npc)oldObject); } }
private void OnDestroy() { HostileNpcs.Remove(this); Npcs.Remove(this); if (Item != null) { Item.Dispose(); } Destroy(gameObject); }
public override void Setup() { var toRemove = new List <CNpc>(); foreach (var npc in Npcs) { if (npc.TemplateId != 9000021) // if not event npc -> remove { toRemove.Add(npc); } } toRemove.ForEach(npc => Npcs.Remove(npc)); base.Reset(); base.Setup(); nCurrentRound = 0; bEnd = false; }