mirror of
https://github.com/DCFApixels/DragonECS-Unity.git
synced 2025-09-18 01:54:35 +08:00
update
This commit is contained in:
parent
0fd029f711
commit
20e96faccc
@ -1,6 +1,7 @@
|
|||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEditor.Build;
|
using UnityEditor.Build;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -21,16 +22,7 @@ namespace DCFApixels.DragonECS.Unity.Editors
|
|||||||
private void InitDefines()
|
private void InitDefines()
|
||||||
{
|
{
|
||||||
string symbolsString = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone);
|
string symbolsString = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone);
|
||||||
_defineSymbols = new List<DefineSymbolsInfo>()
|
_defineSymbols = new List<DefineSymbolsInfo>(typeof(EcsDefines).GetFields(BindingFlags.Static | BindingFlags.Public).Select(o => new DefineSymbolsInfo(o.Name, false)));
|
||||||
{
|
|
||||||
nameof(EcsConsts.DISABLE_POOLS_EVENTS),
|
|
||||||
nameof(EcsConsts.ENABLE_DRAGONECS_DEBUGGER),
|
|
||||||
nameof(EcsConsts.ENABLE_DRAGONECS_ASSERT_CHEKS),
|
|
||||||
nameof(EcsConsts.REFLECTION_DISABLED),
|
|
||||||
nameof(EcsConsts.DISABLE_DEBUG),
|
|
||||||
nameof(EcsConsts.ENABLE_DUMMY_SPAN),
|
|
||||||
nameof(EcsConsts.DISABLE_CATH_EXCEPTIONS),
|
|
||||||
};
|
|
||||||
for (int i = 0; i < _defineSymbols.Count; i++)
|
for (int i = 0; i < _defineSymbols.Count; i++)
|
||||||
{
|
{
|
||||||
var symbol = _defineSymbols[i];
|
var symbol = _defineSymbols[i];
|
||||||
|
@ -22,7 +22,7 @@ namespace DCFApixels.DragonECS
|
|||||||
private string[] _layers = _defaultLayers.ToArray();
|
private string[] _layers = _defaultLayers.ToArray();
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private SystemRecord[] _systems;
|
private Record[] _systems;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
[SerializeReference]
|
[SerializeReference]
|
||||||
@ -34,17 +34,9 @@ namespace DCFApixels.DragonECS
|
|||||||
b.Layers.MergeWith(_layers);
|
b.Layers.MergeWith(_layers);
|
||||||
foreach (var s in _systems)
|
foreach (var s in _systems)
|
||||||
{
|
{
|
||||||
if (s.system == null) { continue; }
|
if (s.target == null) { continue; }
|
||||||
|
|
||||||
int? sortOrder = s.isCustomSortOrder ? s.sortOrder : default(int?);
|
b.Add(s.target, s.parameters);
|
||||||
if (s.isUnique)
|
|
||||||
{
|
|
||||||
b.AddUnique(s.system, s.layer, sortOrder);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
b.Add(s.system, s.layer, sortOrder);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,11 +45,11 @@ namespace DCFApixels.DragonECS
|
|||||||
EcsPipelineTemplate result = new EcsPipelineTemplate();
|
EcsPipelineTemplate result = new EcsPipelineTemplate();
|
||||||
result.layers = new string[_layers.Length];
|
result.layers = new string[_layers.Length];
|
||||||
Array.Copy(_layers, result.layers, _layers.Length);
|
Array.Copy(_layers, result.layers, _layers.Length);
|
||||||
result.systems = new EcsPipelineTemplate.SystemRecord[_systems.Length];
|
result.systems = new EcsPipelineTemplate.AddCommand[_systems.Length];
|
||||||
for (int i = 0; i < result.systems.Length; i++)
|
for (int i = 0; i < result.systems.Length; i++)
|
||||||
{
|
{
|
||||||
ref var s = ref _systems[i];
|
ref var s = ref _systems[i];
|
||||||
result.systems[i] = new EcsPipelineTemplate.SystemRecord(s.system, s.layer, s.NullableSortOrder, s.isUnique);
|
result.systems[i] = new EcsPipelineTemplate.AddCommand(s.target, s.parameters);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -66,11 +58,11 @@ namespace DCFApixels.DragonECS
|
|||||||
{
|
{
|
||||||
_layers = new string[template.layers.Length];
|
_layers = new string[template.layers.Length];
|
||||||
Array.Copy(template.layers, _layers, template.layers.Length);
|
Array.Copy(template.layers, _layers, template.layers.Length);
|
||||||
_systems = new SystemRecord[template.systems.Length];
|
_systems = new Record[template.systems.Length];
|
||||||
for (int i = 0; i < _systems.Length; i++)
|
for (int i = 0; i < _systems.Length; i++)
|
||||||
{
|
{
|
||||||
ref var s = ref template.systems[i];
|
ref var s = ref template.systems[i];
|
||||||
_systems[i] = new SystemRecord(s.system, s.layer, s.NullableSortOrder, s.isUnique);
|
_systems[i] = new Record(s.target, s.parameters);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,23 +120,16 @@ namespace DCFApixels.DragonECS
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public struct SystemRecord
|
public struct Record
|
||||||
{
|
{
|
||||||
[SerializeReference]
|
[SerializeReference]
|
||||||
[ReferenceButton]
|
[ReferenceButton]
|
||||||
public IEcsProcess system;
|
public object target;
|
||||||
public string layer;
|
public AddParams parameters;
|
||||||
public int sortOrder;
|
public Record(object target, AddParams parameters)
|
||||||
public bool isCustomSortOrder;
|
|
||||||
public bool isUnique;
|
|
||||||
public int? NullableSortOrder { get { return isCustomSortOrder ? sortOrder : default(int?); } }
|
|
||||||
public SystemRecord(IEcsProcess system, string layer, int? sortOrder, bool isUnique)
|
|
||||||
{
|
{
|
||||||
this.system = system;
|
this.target = target;
|
||||||
this.layer = layer;
|
this.parameters = parameters;
|
||||||
this.sortOrder = sortOrder.HasValue ? sortOrder.Value : 0;
|
|
||||||
isCustomSortOrder = sortOrder.HasValue;
|
|
||||||
this.isUnique = isUnique;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user