public IPlayer Local() { if (playerPool.GetOrCreate((JSObject)player.GetObjectProperty("local"), out var playerEntity)) { return(playerEntity); } return(null); }
public bool GetOrCreate(IntPtr entityPointer, BaseObjectType baseObjectType, out IBaseObject entity) { bool result; switch (baseObjectType) { case BaseObjectType.Player: result = playerPool.GetOrCreate(entityPointer, out var player); entity = player; return(result); case BaseObjectType.Vehicle: result = vehiclePool.GetOrCreate(entityPointer, out var vehicle); entity = vehicle; return(result); case BaseObjectType.Blip: result = blipPool.GetOrCreate(entityPointer, out var blip); entity = blip; return(result); case BaseObjectType.Checkpoint: result = checkpointPool.GetOrCreate(entityPointer, out var checkpoint); entity = checkpoint; return(result); case BaseObjectType.VoiceChannel: result = voiceChannelPool.GetOrCreate(entityPointer, out var voiceChannel); entity = voiceChannel; return(result); case BaseObjectType.ColShape: result = colShapePool.GetOrCreate(entityPointer, out var colShape); entity = colShape; return(result); default: entity = default; return(false); } }
public void OnCheckpoint(IntPtr checkpointPointer, IntPtr entityPointer, BaseObjectType baseObjectType, bool state) { if (!CheckpointPool.GetOrCreate(checkpointPointer, out var checkpoint)) { return; } if (!BaseEntityPool.GetOrCreate(entityPointer, baseObjectType, out var entity)) { return; } OnCheckPointEvent(checkpoint, entity, state); }