Beispiel #1
0
        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);
        }
Beispiel #2
0
 public static extern int Init(SystemFlags flags);
Beispiel #3
0
 protected static extern int Init(SystemFlags flags);
Beispiel #4
0
 private void DrawTextCross(SystemFlags flags)
 {
     _bodge.DrawToScreen(NoMask);
     if (!flags.HasFlag(SystemFlags.AllowSpeech))
         DrawCross(151, 124);
     if (!flags.HasFlag(SystemFlags.AllowText))
         DrawCross(173, 124);
 }
Beispiel #5
0
 public static extern bool WasInit(SystemFlags flags);
Beispiel #6
0
 public static extern int InitSubSystem(SystemFlags flags);
Beispiel #7
0
 public static extern bool WasInit(SystemFlags flags);