forked from FabianTerhorst/coreclr-module
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIBaseObjectPool.cs
More file actions
21 lines (20 loc) · 797 Bytes
/
IBaseObjectPool.cs
File metadata and controls
21 lines (20 loc) · 797 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using AltV.Net.Elements.Entities;
using AltV.Net.Elements.Pools;
namespace AltV.Net
{
public interface IBaseObjectPool<TBaseObject> : IReadOnlyBaseObjectPool<TBaseObject> where TBaseObject : IBaseObject
{
TBaseObject Create(ICore core, IntPtr entityPointer);
void Add(TBaseObject entity);
bool Remove(TBaseObject entity);
bool Remove(IntPtr entityPointer);
TBaseObject GetOrCreate(ICore core, IntPtr entityPointer);
KeyValuePair<IntPtr, TBaseObject>[] GetObjectsArray();
void ForEach(IBaseObjectCallback<TBaseObject> baseObjectCallback);
Task ForEach(IAsyncBaseObjectCallback<TBaseObject> asyncBaseObjectCallback);
void Dispose();
}
}