mirror of
https://github.com/ChronosX88/mta-mono.git
synced 2024-11-24 19:22:21 +00:00
Removed MultiTheftAuto.cs (no longer needed)
Removed Pools (no longer needed) Removed Utils (no longer needed) Allowed unsafe blocks
This commit is contained in:
parent
df922e1236
commit
89ce28931f
@ -1,21 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace MultiTheftAuto
|
|
||||||
{
|
|
||||||
public class MultiTheftAuto
|
|
||||||
{
|
|
||||||
#region Constructor
|
|
||||||
|
|
||||||
public MultiTheftAuto()
|
|
||||||
{
|
|
||||||
Resource.Register<Resource>();
|
|
||||||
Element.Register<Element>();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
|
@ -23,6 +23,7 @@
|
|||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
@ -103,7 +104,6 @@
|
|||||||
<Compile Include="EventArgs\VehicleStartEnterEventArgs.cs" />
|
<Compile Include="EventArgs\VehicleStartEnterEventArgs.cs" />
|
||||||
<Compile Include="HeatHazeSettings.cs" />
|
<Compile Include="HeatHazeSettings.cs" />
|
||||||
<Compile Include="Marker.cs" />
|
<Compile Include="Marker.cs" />
|
||||||
<Compile Include="MultiTheftAuto.cs" />
|
|
||||||
<Compile Include="Native\Account.cs" />
|
<Compile Include="Native\Account.cs" />
|
||||||
<Compile Include="Native\Blip.cs" />
|
<Compile Include="Native\Blip.cs" />
|
||||||
<Compile Include="Native\ColShape.cs" />
|
<Compile Include="Native\ColShape.cs" />
|
||||||
@ -129,15 +129,11 @@
|
|||||||
<Compile Include="Player.cs" />
|
<Compile Include="Player.cs" />
|
||||||
<Compile Include="PlayerACInfo.cs" />
|
<Compile Include="PlayerACInfo.cs" />
|
||||||
<Compile Include="PlayerModInfo.cs" />
|
<Compile Include="PlayerModInfo.cs" />
|
||||||
<Compile Include="Pools\IdentifiedPool.cs" />
|
|
||||||
<Compile Include="Pools\Pool.cs" />
|
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Resource.cs" />
|
<Compile Include="Resource.cs" />
|
||||||
<Compile Include="Server.cs" />
|
<Compile Include="Server.cs" />
|
||||||
<Compile Include="ServerVersion.cs" />
|
<Compile Include="ServerVersion.cs" />
|
||||||
<Compile Include="Team.cs" />
|
<Compile Include="Team.cs" />
|
||||||
<Compile Include="Utils\Disposable.cs" />
|
|
||||||
<Compile Include="Utils\IIdentifyable.cs" />
|
|
||||||
<Compile Include="Vector2.cs" />
|
<Compile Include="Vector2.cs" />
|
||||||
<Compile Include="Vector3.cs" />
|
<Compile Include="Vector3.cs" />
|
||||||
<Compile Include="Vehicle.cs" />
|
<Compile Include="Vehicle.cs" />
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using MultiTheftAuto.Utils;
|
|
||||||
|
|
||||||
namespace MultiTheftAuto.Pools
|
|
||||||
{
|
|
||||||
public abstract class IdentifiedPool<T> : Pool<T> where T : class, IIdentifyable
|
|
||||||
{
|
|
||||||
protected static Type InstanceType;
|
|
||||||
|
|
||||||
public static void Register<T2>() where T2 : T
|
|
||||||
{
|
|
||||||
InstanceType = typeof( T2 );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static T Find( UInt32 userdata )
|
|
||||||
{
|
|
||||||
return All.FirstOrDefault( i => i.userdata == userdata );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static T Create( UInt32 userdata )
|
|
||||||
{
|
|
||||||
return (T)Activator.CreateInstance( InstanceType, userdata );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static T FindOrCreate( UInt32 userdata )
|
|
||||||
{
|
|
||||||
return Find( userdata ) ?? Create( userdata );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,59 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.Collections.ObjectModel;
|
|
||||||
using System.Linq;
|
|
||||||
using MultiTheftAuto.Utils;
|
|
||||||
|
|
||||||
namespace MultiTheftAuto.Pools
|
|
||||||
{
|
|
||||||
public abstract class Pool<T> : Disposable
|
|
||||||
{
|
|
||||||
protected static readonly List<object> Instances = new List<object>();
|
|
||||||
protected static ReadOnlyCollection<T> ReadOnly = new ReadOnlyCollection<T>( new List<T>() );
|
|
||||||
protected static object Lock = new object();
|
|
||||||
|
|
||||||
protected Pool()
|
|
||||||
{
|
|
||||||
lock( Lock )
|
|
||||||
{
|
|
||||||
Instances.Add( this );
|
|
||||||
ReadOnly = Instances.OfType<T>().ToList().AsReadOnly();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ReadOnlyCollection<T> All
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
lock( Lock )
|
|
||||||
{
|
|
||||||
return ReadOnly;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Dispose( bool disposing )
|
|
||||||
{
|
|
||||||
lock( Lock )
|
|
||||||
{
|
|
||||||
Instances.Remove( this );
|
|
||||||
ReadOnly = Instances.OfType<T>().ToList().AsReadOnly();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool Contains( T item )
|
|
||||||
{
|
|
||||||
lock( Lock )
|
|
||||||
{
|
|
||||||
return Instances.Contains( item );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ReadOnlyCollection<T2> GetAll<T2>()
|
|
||||||
{
|
|
||||||
lock( Lock )
|
|
||||||
{
|
|
||||||
return Instances.OfType<T2>().ToList().AsReadOnly();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,70 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace MultiTheftAuto.Utils
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Defines methods to release allocated resources and to check whether this resource has been disposed.
|
|
||||||
/// </summary>
|
|
||||||
public abstract class Disposable : IDisposable
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets whether this resource has been disposed.
|
|
||||||
/// </summary>
|
|
||||||
public bool Disposed
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
private set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Performs tasks associated with freeing, releasing, or resetting unmanaged resources.
|
|
||||||
/// </summary>
|
|
||||||
public void Dispose()
|
|
||||||
{
|
|
||||||
if( Disposed )
|
|
||||||
{
|
|
||||||
//We've been desposed already. Abort further disposure.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//Dispose all native and managed resources.
|
|
||||||
Dispose( true );
|
|
||||||
|
|
||||||
//Remember we've been disposed.
|
|
||||||
Disposed = true;
|
|
||||||
|
|
||||||
//Suppress finalisation; We already disposed our resources.
|
|
||||||
GC.SuppressFinalize( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
~Disposable()
|
|
||||||
{
|
|
||||||
if( Disposed )
|
|
||||||
{
|
|
||||||
//We've been desposed already. Abort further disposure.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Dispose( false );
|
|
||||||
|
|
||||||
//We don't care to set Disposed value; Resource is being collected by GC anyways.
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void CheckDisposure()
|
|
||||||
{
|
|
||||||
if( Disposed )
|
|
||||||
{
|
|
||||||
throw new ObjectDisposedException( "Cannot access disposed resource." );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Performs tasks associated with freeing, releasing, or resetting unmanaged resources.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="disposing">Whether managed resources should be disposed.</param>
|
|
||||||
protected abstract void Dispose( bool disposing );
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace MultiTheftAuto.Utils
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Contains an Identity property.
|
|
||||||
/// </summary>
|
|
||||||
public interface IIdentifyable
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the Identity of this instance.
|
|
||||||
/// </summary>
|
|
||||||
UInt32 userdata
|
|
||||||
{
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user