public override IGameComponent AddComponent(int componentId) { var component = GameCompoentInfo.Allocate(componentId); _list.Add(component); var wrapper = ComponentWrapper.Allocate(component); _wrapperLists.Add(wrapper); _componentListDirty = true; return(component); }
public override IGameComponent AddComponent(int componentId, IGameComponent copyValue) { var component = GameCompoentInfo.Allocate(componentId); ((ICloneableComponent)component).CopyFrom(copyValue); _list.Add(component); var wrapper = ComponentWrapper.Allocate(component); _wrapperLists.Add(wrapper); _componentListDirty = true; return(component); }