Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
 public static extern int Init(SystemFlags flags);
Ejemplo n.º 3
0
 protected static extern int Init(SystemFlags flags);
Ejemplo n.º 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);
 }
Ejemplo n.º 5
0
 public static extern bool WasInit(SystemFlags flags);
Ejemplo n.º 6
0
 public static extern int InitSubSystem(SystemFlags flags);
Ejemplo n.º 7
0
 public static extern bool WasInit(SystemFlags flags);