rename UncheckedGetPool to GetPoolUnchecked

This commit is contained in:
Mikhail 2023-11-21 10:41:41 +08:00
parent c6db8d2fc0
commit 910dfb2d51
4 changed files with 66 additions and 7 deletions

View File

@ -36,7 +36,7 @@ namespace DCFApixels.DragonECS
[UnityEngine.Scripting.Preserve]
#endif
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public TPool UncheckedGetPool<TPool>() where TPool : IEcsPoolImplementation, new()
public TPool GetPoolUnchecked<TPool>() where TPool : IEcsPoolImplementation, new()
{
return UncheckedGet<PoolCache<TPool>>().instance;
}

View File

@ -235,9 +235,9 @@ namespace DCFApixels.DragonECS
return self.GetPool<EcsHybridPool<T>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsHybridPool<T> UncheckedGetPool<T>(this EcsWorld self) where T : IEcsHybridComponent
public static EcsHybridPool<T> GetPoolUnchecked<T>(this EcsWorld self) where T : IEcsHybridComponent
{
return self.UncheckedGetPool<EcsHybridPool<T>>();
return self.GetPoolUnchecked<EcsHybridPool<T>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@ -255,6 +255,35 @@ namespace DCFApixels.DragonECS
{
return self.Optional<EcsHybridPool<T>>();
}
//-------------------------------------------------
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsHybridPool<T> GetHybridPool<T>(this EcsWorld self) where T : IEcsHybridComponent
{
return self.GetPool<EcsHybridPool<T>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsHybridPool<T> GetHybridPoolUnchecked<T>(this EcsWorld self) where T : IEcsHybridComponent
{
return self.GetPoolUnchecked<EcsHybridPool<T>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsHybridPool<T> IncludeHybrid<T>(this EcsAspectBuilderBase self) where T : IEcsHybridComponent
{
return self.Include<EcsHybridPool<T>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsHybridPool<T> ExcludeHybrid<T>(this EcsAspectBuilderBase self) where T : IEcsHybridComponent
{
return self.Exclude<EcsHybridPool<T>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsHybridPool<T> OptionalHybrid<T>(this EcsAspectBuilderBase self) where T : IEcsHybridComponent
{
return self.Optional<EcsHybridPool<T>>();
}
}
public partial class EcsWorld

View File

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.CompilerServices;
namespace DCFApixels.DragonECS
@ -194,9 +195,9 @@ namespace DCFApixels.DragonECS
return self.GetPool<EcsPool<TComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsPool<TComponent> UncheckedGetPool<TComponent>(this EcsWorld self) where TComponent : struct, IEcsComponent
public static EcsPool<TComponent> GetPoolUnchecked<TComponent>(this EcsWorld self) where TComponent : struct, IEcsComponent
{
return self.UncheckedGetPool<EcsPool<TComponent>>();
return self.GetPoolUnchecked<EcsPool<TComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]

View File

@ -202,9 +202,9 @@ namespace DCFApixels.DragonECS
return self.GetPool<EcsTagPool<TTagComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsTagPool<TTagComponent> UncheckedGetPool<TTagComponent>(this EcsWorld self) where TTagComponent : struct, IEcsTagComponent
public static EcsTagPool<TTagComponent> GetPoolUnchecked<TTagComponent>(this EcsWorld self) where TTagComponent : struct, IEcsTagComponent
{
return self.UncheckedGetPool<EcsTagPool<TTagComponent>>();
return self.GetPoolUnchecked<EcsTagPool<TTagComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
@ -222,5 +222,34 @@ namespace DCFApixels.DragonECS
{
return self.Optional<EcsTagPool<TTagComponent>>();
}
//---------------------------------------------------
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsTagPool<TTagComponent> GetTagPool<TTagComponent>(this EcsWorld self) where TTagComponent : struct, IEcsTagComponent
{
return self.GetPool<EcsTagPool<TTagComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsTagPool<TTagComponent> GetTagPoolUnchecked<TTagComponent>(this EcsWorld self) where TTagComponent : struct, IEcsTagComponent
{
return self.GetPoolUnchecked<EcsTagPool<TTagComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsTagPool<TTagComponent> IncludeTag<TTagComponent>(this EcsAspectBuilderBase self) where TTagComponent : struct, IEcsTagComponent
{
return self.Include<EcsTagPool<TTagComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsTagPool<TTagComponent> ExcludeTag<TTagComponent>(this EcsAspectBuilderBase self) where TTagComponent : struct, IEcsTagComponent
{
return self.Exclude<EcsTagPool<TTagComponent>>();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static EcsTagPool<TTagComponent> OptionalTag<TTagComponent>(this EcsAspectBuilderBase self) where TTagComponent : struct, IEcsTagComponent
{
return self.Optional<EcsTagPool<TTagComponent>>();
}
}
}