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); }
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; }