public void register(PlanetariaActor observer) { if (!this.observers.Contains(observer)) { observers.Add(observer); foreach (PlanetariaCollider field in current_fields) { observer.enter_field(field); } foreach (BlockCollision collision in current_collisions) { observer.enter_block(collision); } } }