public void AddGameEntity(GameEntity gameEntityToAdd) { if (gameEntityToAdd.GetTypeName() == "LivingGameEntity" || gameEntityToAdd.GetTypeName() == "Projectile") // || GameEntityToAdd.GetTypeName() == "Tile") { this.livingEntities.Add(gameEntityToAdd.As<LivingGameEntity>()); } else { stageEntities.Add(gameEntityToAdd); } gameEntityToAdd.SetParentStage(this); }
public void RemoveGameEntity(GameEntity gameEntityToRemove) { if (gameEntityToRemove.GetTypeName() == "LightSource") { LightSource lightToRemove = gameEntityToRemove.As<LightSource>(); if (this.stageLights.Contains(lightToRemove)) { this.stageLights.Remove(lightToRemove); } } else if (gameEntityToRemove.GetTypeName() == "Tile") { Tile tileToRemove = gameEntityToRemove.As<Tile>(); if (this.stageTiles.Contains(tileToRemove)) { this.stageTiles.Remove(tileToRemove); } } else if (gameEntityToRemove.GetTypeName() == "LivingGameEntity" || gameEntityToRemove.GetTypeName() == "Projectile") { LivingGameEntity livingEntityToRemove = gameEntityToRemove.As<LivingGameEntity>(); if (this.livingEntities.Contains(livingEntityToRemove)) { this.livingEntities.Remove(livingEntityToRemove); } else { Debug.log("Warning: Living entity list does not contain " + livingEntityToRemove.GetId() + " ( " + livingEntityToRemove.GetName() + " )"); } } else { if (this.stageEntities.Contains(gameEntityToRemove)) { this.stageEntities.Remove(gameEntityToRemove); } } }