mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 09:54:35 +08:00
update AddParamsFlags
This commit is contained in:
parent
4a44995b48
commit
3e7eeb01d7
@ -184,7 +184,7 @@ namespace DCFApixels.DragonECS
|
|||||||
{
|
{
|
||||||
var oldService = _instance;
|
var oldService = _instance;
|
||||||
_instance = service;
|
_instance = service;
|
||||||
if(_instance != null)
|
if (_instance != null)
|
||||||
{ //TODO Так, всеже треды влияют друг на друга, скоерее всего проблема в использовании _nameIdTable/ Так вроде пофиксил, но не понял как конкретно
|
{ //TODO Так, всеже треды влияют друг на друга, скоерее всего проблема в использовании _nameIdTable/ Так вроде пофиксил, но не понял как конкретно
|
||||||
foreach (var info in oldService.MarkerInfos)
|
foreach (var info in oldService.MarkerInfos)
|
||||||
{
|
{
|
||||||
|
@ -714,7 +714,7 @@ namespace DCFApixels.DragonECS
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (ref readonly SystemNode node in it)
|
foreach (ref readonly SystemNode node in it)
|
||||||
{
|
{
|
||||||
var prms = new AddParams(node.layerName, node.sortOrder, node.isUnique, AddParamsFlags.OverwriteAll | AddParamsFlags.NoImport);
|
var prms = new AddParams(node.layerName, node.sortOrder, node.isUnique, AddParamsFlags.None.SetOverwriteAll(true).SetNoImport(true));
|
||||||
result.systems[i++] = new EcsPipelineTemplate.AddCommand(node.system, prms);
|
result.systems[i++] = new EcsPipelineTemplate.AddCommand(node.system, prms);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -1022,7 +1022,7 @@ namespace DCFApixels.DragonECS
|
|||||||
this.layerName = layerName;
|
this.layerName = layerName;
|
||||||
this.sortOrder = sortOrder;
|
this.sortOrder = sortOrder;
|
||||||
this.isUnique = isUnique;
|
this.isUnique = isUnique;
|
||||||
flags = AddParamsFlags.OverwriteAll;
|
flags = AddParamsFlags.None.SetOverwriteAll(true);
|
||||||
}
|
}
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public AddParams(string layerName, int sortOrder, bool isUnique, AddParamsFlags overrideFlags)
|
public AddParams(string layerName, int sortOrder, bool isUnique, AddParamsFlags overrideFlags)
|
||||||
@ -1102,22 +1102,23 @@ namespace DCFApixels.DragonECS
|
|||||||
/// Ignore call IEcsModule.Import(Builder b)
|
/// Ignore call IEcsModule.Import(Builder b)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
NoImport = 1 << 7,
|
NoImport = 1 << 7,
|
||||||
|
|
||||||
OverwriteAll = OverwriteLayerName | OverwriteSortOrder | OverwriteIsUnique,
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
public static class AddParamsFlagsUtility
|
public static class AddParamsFlagsUtility
|
||||||
{
|
{
|
||||||
|
private const AddParamsFlags OverwriteAll = AddParamsFlags.OverwriteLayerName | AddParamsFlags.OverwriteSortOrder | AddParamsFlags.OverwriteIsUnique;
|
||||||
|
private const AddParamsFlags All = OverwriteAll | AddParamsFlags.NoImport;
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
public static AddParamsFlags Normalize(this AddParamsFlags flags) { return flags & All; }
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static bool IsOverwriteLayerName(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteLayerName) == AddParamsFlags.OverwriteLayerName; }
|
public static bool IsOverwriteLayerName(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteLayerName) == AddParamsFlags.OverwriteLayerName; }
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static bool IsOverwriteSortOrder(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteSortOrder) == AddParamsFlags.OverwriteSortOrder; }
|
public static bool IsOverwriteSortOrder(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteSortOrder) == AddParamsFlags.OverwriteSortOrder; }
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static bool IsOverwriteIsUnique(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteIsUnique) == AddParamsFlags.OverwriteIsUnique; }
|
public static bool IsOverwriteIsUnique(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteIsUnique) == AddParamsFlags.OverwriteIsUnique; }
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static bool IsOverwriteAll(this AddParamsFlags flags) { return (flags & AddParamsFlags.OverwriteAll) == AddParamsFlags.OverwriteAll; }
|
public static bool IsOverwriteAll(this AddParamsFlags flags) { return (flags & OverwriteAll) == OverwriteAll; }
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static bool IsNoImport(this AddParamsFlags flags) { return (flags & AddParamsFlags.NoImport) == AddParamsFlags.NoImport; }
|
public static bool IsNoImport(this AddParamsFlags flags) { return (flags & AddParamsFlags.NoImport) == AddParamsFlags.NoImport; }
|
||||||
|
|
||||||
@ -1127,6 +1128,10 @@ namespace DCFApixels.DragonECS
|
|||||||
public static AddParamsFlags SetOverwriteSortOrder(this AddParamsFlags flags, bool flag) { return flag ? flags | AddParamsFlags.OverwriteSortOrder : flags & ~AddParamsFlags.OverwriteSortOrder; }
|
public static AddParamsFlags SetOverwriteSortOrder(this AddParamsFlags flags, bool flag) { return flag ? flags | AddParamsFlags.OverwriteSortOrder : flags & ~AddParamsFlags.OverwriteSortOrder; }
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static AddParamsFlags SetOverwriteIsUnique(this AddParamsFlags flags, bool flag) { return flag ? flags | AddParamsFlags.OverwriteIsUnique : flags & ~AddParamsFlags.OverwriteIsUnique; }
|
public static AddParamsFlags SetOverwriteIsUnique(this AddParamsFlags flags, bool flag) { return flag ? flags | AddParamsFlags.OverwriteIsUnique : flags & ~AddParamsFlags.OverwriteIsUnique; }
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
public static AddParamsFlags SetOverwriteAll(this AddParamsFlags flags, bool flag) { return flag ? flags | OverwriteAll : flags & ~OverwriteAll; }
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
public static AddParamsFlags SetNoImport(this AddParamsFlags flags, bool flag) { return flag ? flags | AddParamsFlags.NoImport : flags & ~AddParamsFlags.NoImport; }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user