Merge branch 'dev' into next_version

This commit is contained in:
DCFApixels 2025-06-02 18:08:49 +08:00
commit 5c6c440db6
6 changed files with 37 additions and 21 deletions

View File

@ -10,7 +10,7 @@
<RootNamespace>DCFApixels.DragonECS</RootNamespace>
<Title>DragonECS</Title>
<Version>0.9.13</Version>
<Version>0.9.14</Version>
<Authors>DCFApixels</Authors>
<Description>ECS Framework for Game Engines with C# and .Net Platform</Description>
<Copyright>DCFApixels</Copyright>

View File

@ -8,7 +8,7 @@
"displayName": "DragonECS",
"description": "C# Entity Component System Framework",
"unity": "2020.3",
"version": "0.9.13",
"version": "0.9.14",
"repository": {
"type": "git",
"url": "https://github.com/DCFApixels/DragonECS.git"

View File

@ -89,7 +89,12 @@ namespace DCFApixels.DragonECS
#else
false;
#endif
public const bool ENABLE_DUMMY_SPAN =
#if ENABLE_DUMMY_SPAN
true;
#else
false;
#endif
[Obsolete("DRAGONECS_ENABLE_DEBUG_SERVICE")]
@ -119,13 +124,6 @@ namespace DCFApixels.DragonECS
true;
#else
false;
#endif
[Obsolete]
public const bool ENABLE_DUMMY_SPAN =
#if ENABLE_DUMMY_SPAN
true;
#else
false;
#endif
}
}

View File

@ -10,8 +10,16 @@ namespace DCFApixels.DragonECS.Core.Internal
}
public static unsafe void ClearAllocatedMemory(byte* ptr, int startByte, int lengthInBytes)
{
#if ENABLE_DUMMY_SPAN
lengthInBytes += startByte;
for (int i = startByte; i < lengthInBytes; i++)
{
ptr[i] = 0;
}
#else
Span<byte> memorySpan = new Span<byte>(ptr + startByte, lengthInBytes);
memorySpan.Clear();
#endif
}
}
}

View File

@ -84,19 +84,17 @@ namespace DCFApixels.DragonECS.Core.Unchecked
#endregion
}
internal class EntityDebuggerProxy
{
private List<object> _componentsList = new List<object>();
private EntitySlotInfo _info;
public long full { get { return _info.full; } }
public int id { get { return _info.id; } }
public short gen { get { return _info.gen; } }
public short worldID { get { return _info.worldID; } }
public EntitySlotInfo.StateFlag State { get { return _info.State; } }
public EcsWorld World { get { return _info.World; } }
public IEnumerable<object> Components
public virtual long full { get { return _info.full; } }
public virtual int id { get { return _info.id; } }
public virtual short gen { get { return _info.gen; } }
public virtual short worldID { get { return _info.worldID; } }
public virtual EntitySlotInfo.StateFlag State { get { return _info.State; } }
public virtual EcsWorld World { get { return _info.World; } }
public virtual IEnumerable<object> Components
{
get
{
@ -129,6 +127,10 @@ namespace DCFApixels.DragonECS.Core.Unchecked
{
_info = info;
}
public EntityDebuggerProxy(entlong info)
{
_info = (EntitySlotInfo)info;
}
public EntityDebuggerProxy(int entityID, short gen, short worldID)
{
_info = new EntitySlotInfo(entityID, gen, worldID);

View File

@ -6,6 +6,7 @@
using DCFApixels.DragonECS.Core.Internal;
using DCFApixels.DragonECS.Core.Unchecked;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@ -391,7 +392,14 @@ namespace DCFApixels.DragonECS
internal class DebuggerProxy : EntityDebuggerProxy
{
public DebuggerProxy(entlong entity) : base(entity._id, entity._gen, entity._world) { }
public override long full => base.full;
public override int id => base.id;
public override short gen => base.gen;
public override short worldID => base.worldID;
public override EntitySlotInfo.StateFlag State => base.State;
public override EcsWorld World => base.World;
public override IEnumerable<object> Components { get => base.Components; set => base.Components = value; }
public DebuggerProxy(entlong entity) : base(entity) { }
}
#endregion
}