/// <summary> /// Spawns a new entity /// </summary> /// <typeparam name="T"> </typeparam> /// <param name="entityName"> </param> /// <param name="pos"> </param> /// <param name="rot"> </param> /// <param name="scale"> </param> /// <param name="autoInit"> </param> /// <param name="flags"> </param> /// <returns> </returns> public static T Spawn <T>(string entityName, Vector3?pos = null, Quaternion?rot = null, Vector3?scale = null, bool autoInit = true, EntityFlags flags = EntityFlags.CastShadow, params object[] args) where T : Entity, new() { var entity = Spawn(entityName, typeof(T).Name, pos, rot, scale, autoInit, flags, args); if (entity == null) { return(null); } var entityT = entity as T; if (entityT == null) { Debug.LogAlways("[Entity.Spawn<T>] Spawn was successful, but type could not be casted to type {0}", typeof(T).Name); } return(entityT); }
void IChannelToClientZone.Spawn(int entityId, Type protoType, int ownerId, EntityFlags flags, ISpawnPayload payload) { var entity = _entityFactory.Create(protoType); entity.Id = entityId; entity.ProtoType = protoType; entity.Zone = this; entity.OwnerId = ownerId; entity.Flags = flags; if (payload != null) { payload.Notify(entity); } _entityMap.Add(entityId, entity); entity.OnSpawn(); EntitySpawned?.Invoke(entity); }
public bool Equals(Vehicle other) { if (other == null) { return(false); } return(Type.Equals(other.Type) && ModelIndex.Equals(other.ModelIndex) && Handle.Equals(other.Handle) && Matrix.Equals(other.Matrix) && EntityType.Equals(other.EntityType) && EntityStatus.Equals(other.EntityStatus) && EntityFlags.Equals(other.EntityFlags) && AutoPilot.Equals(other.AutoPilot) && Color1.Equals(other.Color1) && Color2.Equals(other.Color2) && AlarmState.Equals(other.AlarmState) && MaxNumPassengers.Equals(other.MaxNumPassengers) && Field1D0h.Equals(other.Field1D0h) && Field1D4h.Equals(other.Field1D4h) && Field1D8h.Equals(other.Field1D8h) && Field1DCh.Equals(other.Field1DCh) && SteerAngle.Equals(other.SteerAngle) && GasPedal.Equals(other.GasPedal) && BrakePedal.Equals(other.BrakePedal) && CreatedBy.Equals(other.CreatedBy) && IsLawEnforcer.Equals(other.IsLawEnforcer) && IsLockedByScript.Equals(other.IsLockedByScript) && IsEngineOn.Equals(other.IsEngineOn) && IsHandbrakeOn.Equals(other.IsHandbrakeOn) && LightsOn.Equals(other.LightsOn) && HasFreebies.Equals(other.HasFreebies) && Health.Equals(other.Health) && CurrentGear.Equals(other.CurrentGear) && ChangeGearTime.Equals(other.ChangeGearTime) && TimeOfDeath.Equals(other.TimeOfDeath) && BombTimer.Equals(other.BombTimer) && DoorLock.Equals(other.DoorLock)); }
public void AddComponent(Entity entity, EntityFlags flag) { flags[entity.id] |= flag; }
/// <summary> /// 是否存在状态 /// </summary> /// <param name="sourceState"></param> /// <param name="targetState"></param> /// <returns></returns> public static bool CheckFlags(EntityFlags sourceState, EntityFlags targetState) { return((sourceState & targetState) == targetState); }
/// <summary> /// Spawns a new entity /// </summary> /// <param name="entityName"></param> /// <param name="type"></param> /// <param name="pos"></param> /// <param name="rot"></param> /// <param name="scale"></param> /// <param name="autoInit"></param> /// <param name="flags"></param> /// <returns></returns> public static EntityBase Spawn(string entityName, Type type, Vec3?pos = null, Quat?rot = null, Vec3?scale = null, bool autoInit = true, EntityFlags flags = EntityFlags.CastShadow, params object[] args) { return(Spawn(entityName, type.Name, pos, rot, scale, autoInit, flags, args)); }
public static IEnumerable <T> QueryProximity <T>(BoundingBox bbox, EntityFlags flags = 0) where T : EntityBase { return(GetEntitiesCommon <T>(NativeEntityMethods.QueryProximity(bbox, typeof(T).Name, flags))); }
public void AddEFlags(EntityFlags flags) { }
internal static extern void SetFlags(IntPtr ptr, EntityFlags name);
public static extern void SetFlags(IntPtr ptr, EntityFlags name);
public bool HasFlag(EntityFlags flag) => _flags.HasFlag(flag);
/// <remarks/> public void RetrieveEntityMetadataAsync(string entityName, EntityFlags flags) { this.RetrieveEntityMetadataAsync(entityName, flags, null); }
public static bool IsSet(this EntityFlags flags, EntityFlags flag) { return (flags & flag) != 0; }
extern public static void SetFlags(IntPtr ptr, EntityFlags name);
public static extern object[] QueryProximity(BoundingBox box, string className, EntityFlags flags);
public Entity(EntityFlags flags) { id = latestEntityID++; components = new List <IComponent>(); this.flags = flags; }
public Entity RemoveFlag(EntityFlags flag) { flags &= ~flag; return(this); }
/// <summary> /// Create an Entity with a Sprite and Position. /// </summary> /// <param name="sprite">Any initialized Sprite.</param> /// <param name="position">Initial Entity position.</param> /// <param name="velocity">Initial Entity velocity.</param> /// <param name="flags">Any specified set of EntityFlags.</param> public Entity(Sprite sprite, Vector2 position, Vector2 velocity, EntityFlags flags) { Sprite = sprite; Initialize(); Position = position; Velocity = velocity; Flags = flags; }
public void RemoveFlag(EntityFlags flag) => _flags ^= flag;
protected void SetFlag(EntityFlags flag) { flags |= flag; }
public bool HasFlags(EntityFlags flag) { return (Flags & flag) == flag; }
public Entity AddFlag(EntityFlags flag) { flags |= flag; return(this); }
public bool IsSet(EntityFlags flag) { return((flags & flag) != 0); }
public static bool IsSet(this EntityFlags flags, EntityFlags flag) { return((flags & flag) != 0); }
internal static extern object[] QueryProximity(BoundingBox box, string className, EntityFlags flags);
extern internal static object[] QueryProximity(BoundingBox box, string className, EntityFlags flags);
/// <summary> /// Spawns a new entity /// </summary> /// <typeparam name="T"></typeparam> /// <param name="entityName"></param> /// <param name="pos"></param> /// <param name="rot"></param> /// <param name="scale"></param> /// <param name="autoInit"></param> /// <param name="flags"></param> /// <returns></returns> public static T Spawn <T>(string entityName, Vec3?pos = null, Quat?rot = null, Vec3?scale = null, bool autoInit = true, EntityFlags flags = EntityFlags.CastShadow) where T : Entity, new() { return(Spawn(entityName, typeof(T).Name, pos, rot, scale, autoInit, flags) as T); }
extern internal static void SetFlags(IntPtr ptr, EntityFlags name);
public static IEnumerable <EntityBase> QueryProximity(BoundingBox bbox, string className, EntityFlags flags = 0) { return(GetEntitiesCommon <EntityBase>(NativeEntityMethods.QueryProximity(bbox, className, flags))); }
public Entity CreateEntity(EntityFlags flags = 0) => Entities.AddLast(new Entity(_componentsCollection, flags)).Value;
/// <summary> /// Spawns a new entity /// </summary> /// <param name="entityName"></param> /// <param name="className"></param> /// <param name="pos"></param> /// <param name="rot"></param> /// <param name="scale"></param> /// <param name="autoInit"></param> /// <param name="flags"></param> /// <returns></returns> public static EntityBase Spawn(string entityName, string className = "Default", Vec3?pos = null, Quat?rot = null, Vec3?scale = null, bool autoInit = true, EntityFlags flags = EntityFlags.CastShadow, params object[] args) { EntityInitializationParams info; var ent = NativeEntityMethods.SpawnEntity(new EntitySpawnParams { Name = entityName, Class = className, Pos = pos ?? new Vec3(1, 1, 1), Rot = rot ?? Quat.Identity, Scale = scale ?? new Vec3(1, 1, 1), Flags = flags }, autoInit, out info) as Entity; if (ent != null) { ent.OnPostSpawn(args); return(ent); } else if (info.Id != 0) { return(CreateNativeEntity(info.Id, info.IEntityPtr) as Entity); } Debug.LogAlways("[Entity.Spawn] Failed to spawn entity of class {0} with name {1}", className, entityName); return(null); }
public static IEnumerable <Entity> HasFlags(this IEnumerable <Entity> entities, EntityFlags flags) => entities.Where(a => a.HasFlag(flags));
/// <summary> /// 是否存在其中一个状态 /// </summary> /// <param name="state"></param> /// <returns></returns> public bool CheckFlagsByOne(EntityFlags state) { return(CheckFlagsByOne(flags, state)); }
internal Entity(ComponentsCollection collection, EntityFlags flags) { _collection = collection; _flags = flags; }
public static GameId FromValues(uint id, EntityFlags flags) { return(new GameId(Bits.Compose((id, 0, 32), ((ulong)flags, 32, 32)))); }
public void AddFlag(EntityFlags flag) => _flags |= flag;