-
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathIResource.cs
64 lines (54 loc) · 3.41 KB
/
IResource.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Runtime.Loader;
using AltV.Net.CApi;
using AltV.Net.Elements.Entities;
using AltV.Net.Shared;
namespace AltV.Net
{
//TODO: add SubResource module maybe to load sub resources dependency dlls or just for own server architecture
public interface IResource
{
void OnStart(IntPtr serverPointer, IntPtr resourcePointer, string resourceName,
string entryPoint);
void OnStart();
void OnStop();
void OnTick();
IPoolManager GetBaseBaseObjectPool(IEntityPool<IPlayer> playerPool, IEntityPool<IVehicle> vehiclePool,IEntityPool<IPed> pedPool, IEntityPool<IObject> networkObjectPool,
IBaseObjectPool<IBlip> blipPool, IBaseObjectPool<ICheckpoint> checkpointPool,
IBaseObjectPool<IVoiceChannel> voiceChannelPool, IBaseObjectPool<IColShape> colShapePool,
IBaseObjectPool<IVirtualEntity> virtualEntityPool,
IBaseObjectPool<IVirtualEntityGroup> virtualEntityGroupPool,
IBaseObjectPool<IMarker> markerPool, IBaseObjectPool<IConnectionInfo> connectionInfoPool);
IEntityPool<IPlayer> GetPlayerPool(IEntityFactory<IPlayer> playerFactory);
IEntityPool<IVehicle> GetVehiclePool(IEntityFactory<IVehicle> vehicleFactory);
IEntityPool<IPed> GetPedPool(IEntityFactory<IPed> pedFactory);
IEntityPool<IObject> GetObjectPool(IEntityFactory<IObject> objectFactory);
IBaseObjectPool<IBlip> GetBlipPool(IBaseObjectFactory<IBlip> blipFactory);
IBaseObjectPool<ICheckpoint> GetCheckpointPool(IBaseObjectFactory<ICheckpoint> checkpointFactory);
IBaseObjectPool<IVoiceChannel> GetVoiceChannelPool(IBaseObjectFactory<IVoiceChannel> voiceChannelFactory);
IBaseObjectPool<IColShape> GetColShapePool(IBaseObjectFactory<IColShape> colShapeFactory);
INativeResourcePool GetNativeResourcePool(INativeResourceFactory nativeResourceFactory);
IBaseObjectPool<IVirtualEntity> GetVirtualEntityPool(IBaseObjectFactory<IVirtualEntity> virtualEntityFactory);
IBaseObjectPool<IVirtualEntityGroup> GetVirtualEntityGroupPool(IBaseObjectFactory<IVirtualEntityGroup> virtualEntityGroupFactory);
IBaseObjectPool<IMarker> GetMarkerPool(IBaseObjectFactory<IMarker> markerFactory);
IBaseObjectPool<IConnectionInfo> GetConnectionInfoPool(IBaseObjectFactory<IConnectionInfo> connectionInfoFactory);
IEntityFactory<IPlayer> GetPlayerFactory();
IEntityFactory<IVehicle> GetVehicleFactory();
IEntityFactory<IPed> GetPedFactory();
IEntityFactory<IObject> GetObjectFactory();
IBaseObjectFactory<IBlip> GetBlipFactory();
IBaseObjectFactory<ICheckpoint> GetCheckpointFactory();
IBaseObjectFactory<IVoiceChannel> GetVoiceChannelFactory();
IBaseObjectFactory<IColShape> GetColShapeFactory();
INativeResourceFactory GetNativeResourceFactory();
IBaseObjectFactory<IVirtualEntity> GetVirtualEntityFactory();
IBaseObjectFactory<IVirtualEntityGroup> GetVirtualEntityGroupFactory();
IBaseObjectFactory<IMarker> GetMarkerFactory();
IBaseObjectFactory<IConnectionInfo> GetConnectionInfoFactory();
ILibrary GetLibrary();
Core GetCore(IntPtr nativePointer, IntPtr resourcePointer, AssemblyLoadContext assemblyLoadContext, ILibrary library, IPoolManager poolManager,
INativeResourcePool nativeResourcePool);
IScript[] GetScripts();
IModule[] GetModules();
}
}