public void AddDemolitionCondition(DemoCondition condition) { if (!demolishConditions.Contains(condition)) { demolishConditions.Add(condition); } }
public void RemoveDemolitionCondition(DemoCondition condition) { if (demolishConditions.Contains(condition)) { demolishConditions.Remove(condition); } }
public void Demolish() { DemoCondition condition = demolishConditions.FirstOrDefault(d => !d.condition(this)); if (condition != null) { //TODO return; } foreach (KeyValuePair <int, IBuildingModule> item in modules) { item.Value.OnDemolish(); } Destroy(gameObject); }