public override void Init(IShipDockComponentContext context) { base.Init(context); mArounds = new KeyValueList <int, List <int> >(); mPhysicsCheckable = new KeyValueList <int, bool>(); }
public virtual void Init(IShipDockComponentContext context) { mEntitasIDs = new List <int>(); mEntitasIDsRemoved = new List <int>(); mEntitasIDsRelease = new List <int>(); mEntitas = new IntegerMapper <IShipDockEntitas>(); }
/// <summary> /// 填充需要关联的组件 /// </summary> public void FillRelateComponents(IShipDockComponentContext manager) { int name; IShipDockComponent item; int max = RelateComponents != default ? RelateComponents.Length : 0; for (int i = 0; i < max; i++) { name = RelateComponents[i]; if (!mRelatedComponents.ContainsKey(name)) { item = manager.RefComponentByName(name); if (item != default) { mRelatedComponents[name] = item; } } } bool needCheckReFill = (max > 0) && (mRelatedComponents.Size != max); if (needCheckReFill) { manager.RelateComponentsReFiller += ReFillRelateComponents; } }
public DataComponentGroup(IShipDockComponentContext context, ref K[] keys, ref int[] componentNames) { int max = componentNames.Length; Group = new KeyValueList <K, C>(max); C groupItem; for (int i = 0; i < max; i++) { groupItem = (C)context.RefComponentByName(componentNames[i]); Group.Put(keys[i], groupItem); } }
public override void Init(IShipDockComponentContext context) { base.Init(context); mWorldEventNotices = new Queue <INotice>(); mEventItems = new Queue <WorldInteracter>(); mWorldItemMapper = new KeyValueList <int, WorldInteracter>(); mGroupsMapper = new KeyValueList <int, ClusteringData>(); mAroundMapper = new KeyValueList <int, WorldMovement>(); WorldComp = GetRelatedComponent <WorldComponent>(WorldComponentName); BehaviourIDsComp = context.RefComponentByName(WorldComp.BehaviaourIDsComponentName) as BehaviourIDsComponent; ClusteringComp = context.RefComponentByName(WorldComp.WorldGroupComponentName) as ClusteringComponent; ShouldWorldGroupable = ClusteringComp != default; }
public override void Init(IShipDockComponentContext manager) { base.Init(manager); Context = manager; FillRelateComponents(manager); List <IShipDockComponent> values = mRelatedComponents.Values; IShipDockComponent item; int max = values.Count; for (int i = 0; i < max; i++) { item = values[i]; item.OnEntitasStretch += ComponentEntitasStretch; } }
/// <summary> /// 重新填充关联的组件 /// </summary> protected virtual void ReFillRelateComponents(int name, IShipDockComponent target, IShipDockComponentContext manager) { int item; int max = RelateComponents != default ? RelateComponents.Length : 0; int remain = max; for (int i = 0; i < max; i++) { item = RelateComponents[i]; if (item == name) { if (!mRelatedComponents.ContainsKey(name)) { remain--; mRelatedComponents[name] = target; } } } bool needCheckReFill = remain > 0; if (!needCheckReFill) { manager.RelateComponentsReFiller -= ReFillRelateComponents; } }
public override void Init(IShipDockComponentContext context) { base.Init(context); }