Пример #1
0
        public INativeResource GetResource(string name)
        {
            var stringPtr       = AltNative.StringUtils.StringToHGlobalUtf8(name);
            var resourcePointer = AltNative.Server.Server_GetResource(NativePointer, stringPtr);

            Marshal.FreeHGlobal(stringPtr);
            return(!nativeResourcePool.GetOrCreate(NativePointer, resourcePointer, out var nativeResource)
                ? null
                : nativeResource);
        }
Пример #2
0
 public Core(IntPtr nativePointer, IntPtr resourcePointer, AssemblyLoadContext assemblyLoadContext, ILibrary library, IBaseBaseObjectPool baseBaseObjectPool,
             IBaseEntityPool baseEntityPool,
             IEntityPool <IPlayer> playerPool,
             IEntityPool <IVehicle> vehiclePool,
             IBaseObjectPool <IBlip> blipPool,
             IBaseObjectPool <ICheckpoint> checkpointPool,
             IBaseObjectPool <IVoiceChannel> voiceChannelPool,
             IBaseObjectPool <IColShape> colShapePool,
             INativeResourcePool nativeResourcePool) : base(nativePointer, library)
 {
     this.assemblyLoadContext   = new WeakReference <AssemblyLoadContext>(assemblyLoadContext);
     this.BaseBaseObjectPool    = baseBaseObjectPool;
     this.BaseEntityPool        = baseEntityPool;
     this.PlayerPool            = playerPool;
     this.VehiclePool           = vehiclePool;
     this.BlipPool              = blipPool;
     this.CheckpointPool        = checkpointPool;
     this.VoiceChannelPool      = voiceChannelPool;
     this.ColShapePool          = colShapePool;
     this.NativeResourcePool    = nativeResourcePool;
     this.vehicleModelInfoCache = new();
     nativeResourcePool.GetOrCreate(this, resourcePointer, out var resource);
     Resource = resource;
 }