using System; using System.Collections.Generic; namespace Chernobyl.Update { /// /// Used to work with objects that can be updated. 's /// have a set of children s that they call update /// on. This structure forms a tree of s and allows /// for each to have it's own rules for when and /// how it and its children objects are updated. /// public interface IUpdateable { /// /// Updates this object and it's children if /// the feels it's necessary. /// /// The amount of time that has passed since /// this update was last called. void Update(TimeSpan deltaTime); /// /// The parent of this IUpdateable or null if this IUpdateable does not /// have a parent. /// IUpdateable UpdateableParent { get; set; } /// /// Holds a collection of children that should be updated when this /// decides they should be updated. /// ICollection UpdateableChildren { get; } } }