public GameObject(ISchedule schedule, FrozenTraitStore?traits = null) { if (traits == null) { traits = FrozenTraitStore.Empty(); } this.traits = new MirrorTraitStore(traits); Location = new OffscreenLocation(); Schedule = schedule; contents = new HashSet <GameObject>(); Name = new SimpleName("nameless object"); }
public GameObject(ILocation?location = null, FrozenTraitStore?traits = null) { if (location == null) { location = new OffscreenLocation(); } if (traits == null) { traits = FrozenTraitStore.Empty(); } this.traits = new MirrorTraitStore(traits); Location = location; Location.BeEntered(this); Schedule = Location.Schedule; contents = new HashSet <GameObject>(); Name = new SimpleName("nameless object"); }
public MirrorTraitStore(FrozenTraitStore basis) { this.baseStore = basis; this.activeStore = basis; }