예제 #1
0
        public IVehicle CreateVehicle(uint model, Position pos, float heading)
        {
            ushort id = default;

            vehiclePool.Create(AltNative.Server.Server_CreateVehicle(NativePointer, model, pos, heading, ref id), id,
                               out var vehicle);
            return(vehicle);
        }
예제 #2
0
        public IVehicle CreateVehicle(uint model, Position pos, float heading)
        {
            var ptr = MockEntities.GetNextPtr();

            vehiclePool.Create(ptr, MockEntities.Id, out var vehicle);
            vehicle.Position = pos;
            //TODO: apis missing for more properties from create
            MockEntities.Insert(vehicle);
            return(vehicle);
        }
예제 #3
0
        public IVehicle CreateVehicle(uint model, Position pos, Rotation rotation)
        {
            CheckIfCallIsValid();
            ushort id  = default;
            var    ptr = AltNative.Server.Server_CreateVehicle(NativePointer, model, pos, rotation, ref id);

            if (ptr == IntPtr.Zero)
            {
                return(null);
            }
            vehiclePool.Create(ptr, id, out var vehicle);
            return(vehicle);
        }
예제 #4
0
        /*public void TriggerClientEvent(IPlayer player, string eventName, params MValueConst[] args)
         * {
         *  if (player == null)
         *  {
         *      foreach (var currPlayer in playerPool.GetAllEntities())
         *      {
         *          currPlayer.Emit(eventName, args);
         *      }
         *  }
         *  else
         *  {
         *      player.PushEvent(eventName, args);
         *  }
         *
         *  var mValue = MValue.Nil;
         *  AltNative.MValueCreate.MValue_CreateList(args, (ulong) args.Length, ref mValue);
         *  var mValueArray = MValueArray.Nil;
         *  AltNative.MValueGet.MValue_GetList(ref mValue, ref mValueArray);
         *  //Alt.Module.OnClientEvent(player?.NativePointer ?? IntPtr.Zero, eventName, ref mValueArray);
         * }
         *
         * public void TriggerClientEvent(IPlayer player, string eventName, ref MValue args)
         * {
         *  var mValueArray = MValueArray.Nil;
         *  AltNative.MValueGet.MValue_GetList(ref args, ref mValueArray);
         *  //Alt.Module.OnClientEvent(player?.NativePointer ?? IntPtr.Zero, eventName, ref mValueArray);
         * }
         *
         * public void TriggerClientEvent(IPlayer player, string eventName, params object[] args)
         * {
         *  TriggerClientEvent(player, eventName, MValue.CreateFromObjects(args));
         * }
         *
         * public void TriggerServerEvent(IntPtr eventNamePtr, params MValue[] args)
         * {
         *  TriggerServerEvent(Marshal.PtrToStringUTF8(eventNamePtr), args);
         * }
         *
         * public void TriggerServerEvent(IntPtr eventNamePtr, params object[] args)
         * {
         *  TriggerServerEvent(Marshal.PtrToStringUTF8(eventNamePtr), args);
         * }
         *
         * public void TriggerServerEvent(IntPtr eventNamePtr, ref MValue args)
         * {
         *  TriggerServerEvent(Marshal.PtrToStringUTF8(eventNamePtr), ref args);
         * }
         *
         * public void TriggerClientEvent(IPlayer player, IntPtr eventNamePtr, params MValue[] args)
         * {
         *  TriggerClientEvent(player, Marshal.PtrToStringUTF8(eventNamePtr), args);
         * }
         *
         * public void TriggerClientEvent(IPlayer player, IntPtr eventNamePtr, params object[] args)
         * {
         *  TriggerClientEvent(player, Marshal.PtrToStringUTF8(eventNamePtr), args);
         * }
         *
         * public void TriggerClientEvent(IPlayer player, IntPtr eventNamePtr, ref MValue args)
         * {
         *  TriggerClientEvent(player, Marshal.PtrToStringUTF8(eventNamePtr), ref args);
         * }*/

        public IVehicle CreateVehicle(uint model, Position pos, Rotation rotation)
        {
            var ptr = MockEntities.GetNextPtr(out var entityId);

            vehiclePool.Create(ptr, entityId, out var vehicle);
            vehicle.Position = pos;
            if (vehicle is MockVehicle mockVehicle)
            {
                mockVehicle.Position = pos;
                mockVehicle.Rotation = rotation;
                mockVehicle.Model    = model;
            }
            Alt.Module.OnCreateVehicle(ptr, entityId);
            return(vehicle);
        }
예제 #5
0
 public void OnCreateVehicle(IntPtr vehiclePointer, ushort vehicleId)
 {
     VehiclePool.Create(vehiclePointer, vehicleId);
 }
예제 #6
0
 public void OnCreatePlayer(IntPtr playerPointer, ushort playerId)
 {
     PlayerPool.Create(playerPointer, playerId);
 }