public EntitySystem(int updateOrder, int[] requiredComponentTypeIds, int[] optionalButOneRequiredComponentTypeIds, uint[] supportedMessages = null, SystemFlags flags = SystemFlags.None) { Flags = flags; UpdateOrder = updateOrder; enabled = true; foreach (int componentTypeId in requiredComponentTypeIds) { RequiredComponentTypesBitField |= ComponentTypeIdHelper.GetBit(componentTypeId); } if (optionalButOneRequiredComponentTypeIds == null) { RequireAtLeastOneComponentTypesBitField = ComponentTypeIdHelper.AllMask; } else { foreach (int componentTypeId in optionalButOneRequiredComponentTypeIds) { RequireAtLeastOneComponentTypesBitField |= ComponentTypeIdHelper.GetBit(componentTypeId); } } liveIdToSlot = new int[EntityManager.MaxEntities]; slotToLiveId = new int[EntityManager.MaxEntities]; for (int i = 0; i < liveIdToSlot.Length; i++) { liveIdToSlot[i] = -1; slotToLiveId[i] = -1; } this.SupportedMessages = supportedMessages; entityIdCollection = new EntityIdCollection(this); }
public static extern int Init(SystemFlags flags);
protected static extern int Init(SystemFlags flags);
private void DrawTextCross(SystemFlags flags) { _bodge.DrawToScreen(NoMask); if (!flags.HasFlag(SystemFlags.AllowSpeech)) DrawCross(151, 124); if (!flags.HasFlag(SystemFlags.AllowText)) DrawCross(173, 124); }
public static extern bool WasInit(SystemFlags flags);
public static extern int InitSubSystem(SystemFlags flags);