Fix build issues for latest Gamecraft preview version
This commit is contained in:
parent
167ea5388b
commit
50ebf4f0a6
7 changed files with 184 additions and 37 deletions
|
@ -10,6 +10,7 @@ using Svelto.ECS.Experimental;
|
||||||
|
|
||||||
using GamecraftModdingAPI.Engines;
|
using GamecraftModdingAPI.Engines;
|
||||||
using GamecraftModdingAPI.Utility;
|
using GamecraftModdingAPI.Utility;
|
||||||
|
using Svelto.DataStructures;
|
||||||
|
|
||||||
namespace GamecraftModdingAPI.App
|
namespace GamecraftModdingAPI.App
|
||||||
{
|
{
|
||||||
|
@ -114,11 +115,21 @@ namespace GamecraftModdingAPI.App
|
||||||
}
|
}
|
||||||
|
|
||||||
public ref MyGamesSlotEntityViewStruct GetGameViewInfo(EGID id)
|
public ref MyGamesSlotEntityViewStruct GetGameViewInfo(EGID id)
|
||||||
{
|
{
|
||||||
return ref GetComponent<MyGamesSlotEntityViewStruct>(new EGID(id.entityID, MyGamesScreenExclusiveGroups.GameSlotGuiEntities));
|
EntityCollection<MyGamesSlotEntityViewStruct> entities =
|
||||||
|
entitiesDB.QueryEntities<MyGamesSlotEntityViewStruct>(MyGamesScreenExclusiveGroups.GameSlotGuiEntities);
|
||||||
|
for (int i = 0; i < entities.count; i++)
|
||||||
|
{
|
||||||
|
if (entities[i].ID.entityID == id.entityID)
|
||||||
|
{
|
||||||
|
return ref entities[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MyGamesSlotEntityViewStruct[] defRef = new MyGamesSlotEntityViewStruct[1];
|
||||||
|
return ref defRef[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public ref T GetComponent<T>(EGID id) where T: struct, IEntityComponent
|
public ref T GetComponent<T>(EGID id) where T: unmanaged, IEntityComponent
|
||||||
{
|
{
|
||||||
return ref entitiesDB.QueryEntity<T>(id);
|
return ref entitiesDB.QueryEntity<T>(id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -337,10 +337,10 @@ namespace GamecraftModdingAPI
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Label
|
public string Label
|
||||||
{
|
{
|
||||||
get => BlockEngine.GetBlockInfo(this, (TextLabelEntityViewStruct st) => st.textLabelComponent?.text);
|
get => BlockEngine.GetBlockInfoViewStruct(this, (TextLabelEntityViewStruct st) => st.textLabelComponent?.text);
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
BlockEngine.SetBlockInfo(this, (ref TextLabelEntityViewStruct text, string val) =>
|
BlockEngine.SetBlockInfoViewStruct(this, (ref TextLabelEntityViewStruct text, string val) =>
|
||||||
{
|
{
|
||||||
if (text.textLabelComponent != null) text.textLabelComponent.text = val;
|
if (text.textLabelComponent != null) text.textLabelComponent.text = val;
|
||||||
}, value);
|
}, value);
|
||||||
|
|
|
@ -59,7 +59,7 @@ namespace GamecraftModdingAPI.Blocks
|
||||||
color.paletteColour = paletteEntry.Colour;
|
color.paletteColour = paletteEntry.Colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ref T GetBlockInfo<T>(EGID blockID) where T : struct, IEntityComponent
|
public ref T GetBlockInfo<T>(EGID blockID) where T : unmanaged, IEntityComponent
|
||||||
{
|
{
|
||||||
if (entitiesDB.Exists<T>(blockID))
|
if (entitiesDB.Exists<T>(blockID))
|
||||||
return ref entitiesDB.QueryEntity<T>(blockID);
|
return ref entitiesDB.QueryEntity<T>(blockID);
|
||||||
|
@ -67,8 +67,26 @@ namespace GamecraftModdingAPI.Blocks
|
||||||
return ref structHolder[0]; //Gets a default value automatically
|
return ref structHolder[0]; //Gets a default value automatically
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ref T GetBlockInfoViewStruct<T>(EGID blockID) where T : struct, INeedEGID, IEntityComponent
|
||||||
|
{
|
||||||
|
if (entitiesDB.Exists<T>(blockID))
|
||||||
|
{
|
||||||
|
// TODO: optimize by using EntitiesDB internal calls instead of iterating over everything
|
||||||
|
EntityCollection<T> entities = entitiesDB.QueryEntities<T>(blockID.groupID);
|
||||||
|
for (int i = 0; i < entities.count; i++)
|
||||||
|
{
|
||||||
|
if (entities[i].ID == blockID)
|
||||||
|
{
|
||||||
|
return ref entities[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
T[] structHolder = new T[1]; //Create something that can be referenced
|
||||||
|
return ref structHolder[0]; //Gets a default value automatically
|
||||||
|
}
|
||||||
|
|
||||||
public U GetBlockInfo<T, U>(Block block, Func<T, U> getter,
|
public U GetBlockInfo<T, U>(Block block, Func<T, U> getter,
|
||||||
U def = default) where T : struct, IEntityComponent
|
U def = default) where T : unmanaged, IEntityComponent
|
||||||
{
|
{
|
||||||
if (entitiesDB.Exists<T>(block.Id))
|
if (entitiesDB.Exists<T>(block.Id))
|
||||||
return getter(entitiesDB.QueryEntity<T>(block.Id));
|
return getter(entitiesDB.QueryEntity<T>(block.Id));
|
||||||
|
@ -79,9 +97,55 @@ namespace GamecraftModdingAPI.Blocks
|
||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public U GetBlockInfoViewStruct<T, U>(Block block, Func<T, U> getter,
|
||||||
|
U def = default) where T : struct, INeedEGID, IEntityComponent
|
||||||
|
{
|
||||||
|
if (entitiesDB.Exists<T>(block.Id))
|
||||||
|
{
|
||||||
|
// TODO: optimize by using EntitiesDB internal calls instead of iterating over everything
|
||||||
|
EntityCollection<T> entities = entitiesDB.QueryEntities<T>(block.Id.groupID);
|
||||||
|
for (int i = 0; i < entities.count; i++)
|
||||||
|
{
|
||||||
|
if (entities[i].ID == block.Id)
|
||||||
|
{
|
||||||
|
return getter(entities[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (block.InitData.Group == null) return def;
|
||||||
|
var initializer = new EntityComponentInitializer(block.Id, block.InitData.Group);
|
||||||
|
if (initializer.Has<T>())
|
||||||
|
return getter(initializer.Get<T>());
|
||||||
|
return def;
|
||||||
|
}
|
||||||
|
|
||||||
public delegate void Setter<T, U>(ref T component, U value) where T : struct, IEntityComponent;
|
public delegate void Setter<T, U>(ref T component, U value) where T : struct, IEntityComponent;
|
||||||
|
|
||||||
public void SetBlockInfo<T, U>(Block block, Setter<T, U> setter, U value) where T : struct, IEntityComponent
|
public void SetBlockInfoViewStruct<T, U>(Block block, Setter<T, U> setter, U value) where T : struct, INeedEGID, IEntityComponent
|
||||||
|
{
|
||||||
|
if (entitiesDB.Exists<T>(block.Id))
|
||||||
|
{
|
||||||
|
EntityCollection<T> entities = entitiesDB.QueryEntities<T>(block.Id.groupID);
|
||||||
|
for (int i = 0; i < entities.count; i++)
|
||||||
|
{
|
||||||
|
if (entities[i].ID == block.Id)
|
||||||
|
{
|
||||||
|
setter(ref entities[i], value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (block.InitData.Group != null)
|
||||||
|
{
|
||||||
|
var initializer = new EntityComponentInitializer(block.Id, block.InitData.Group);
|
||||||
|
T component = initializer.Has<T>() ? initializer.Get<T>() : default;
|
||||||
|
ref T structRef = ref component;
|
||||||
|
setter(ref structRef, value);
|
||||||
|
initializer.Init(structRef);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetBlockInfo<T, U>(Block block, Setter<T, U> setter, U value) where T : unmanaged, IEntityComponent
|
||||||
{
|
{
|
||||||
if (entitiesDB.Exists<T>(block.Id))
|
if (entitiesDB.Exists<T>(block.Id))
|
||||||
setter(ref entitiesDB.QueryEntity<T>(block.Id), value);
|
setter(ref entitiesDB.QueryEntity<T>(block.Id), value);
|
||||||
|
|
|
@ -119,6 +119,6 @@ namespace GamecraftModdingAPI.Blocks
|
||||||
if (!Assert.Errorless(() => { newWire = b.Connect(0, target, 0);})) return;
|
if (!Assert.Errorless(() => { newWire = b.Connect(0, target, 0);})) return;
|
||||||
if (!Assert.NotNull(newWire, "SignalingBlock.Connect(...) returned null, possible because it failed silently.", "SignalingBlock.Connect(...) returned a non-null value.")) return;
|
if (!Assert.NotNull(newWire, "SignalingBlock.Connect(...) returned null, possible because it failed silently.", "SignalingBlock.Connect(...) returned a non-null value.")) return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ namespace GamecraftModdingAPI.Blocks
|
||||||
return ref GetPortByOffset(bps, portNumber, input);
|
return ref GetPortByOffset(bps, portNumber, input);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ref T GetComponent<T>(EGID egid) where T : struct, IEntityComponent
|
public ref T GetComponent<T>(EGID egid) where T : unmanaged, IEntityComponent
|
||||||
{
|
{
|
||||||
return ref entitiesDB.QueryEntity<T>(egid);
|
return ref entitiesDB.QueryEntity<T>(egid);
|
||||||
}
|
}
|
||||||
|
@ -372,7 +372,7 @@ namespace GamecraftModdingAPI.Blocks
|
||||||
return results.ToArray();
|
return results.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ref T GetFromDbOrInitData<T>(Block block, EGID id, out bool exists) where T : struct, IEntityComponent
|
private ref T GetFromDbOrInitData<T>(Block block, EGID id, out bool exists) where T : unmanaged, IEntityComponent
|
||||||
{
|
{
|
||||||
T[] defRef = new T[1];
|
T[] defRef = new T[1];
|
||||||
if (entitiesDB.Exists<T>(id))
|
if (entitiesDB.Exists<T>(id))
|
||||||
|
|
|
@ -25,8 +25,17 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--Start Dependencies-->
|
<!--Start Dependencies-->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="IllusionInjector">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\IllusionInjector.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\IllusionInjector.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="IllusionPlugin">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\IllusionPlugin.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\IllusionPlugin.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Analytics">
|
<Reference Include="Analytics">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Analytics.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Analytics.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Analytics.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Analytics.dll</HintPath>
|
||||||
|
@ -43,10 +52,6 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Authentication.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Authentication.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Authentication.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Authentication.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="BlockEntityFactory">
|
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\BlockEntityFactory.dll</HintPath>
|
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\BlockEntityFactory.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="Blocks.HUDFeedbackBlocks">
|
<Reference Include="Blocks.HUDFeedbackBlocks">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Blocks.HUDFeedbackBlocks.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Blocks.HUDFeedbackBlocks.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Blocks.HUDFeedbackBlocks.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Blocks.HUDFeedbackBlocks.dll</HintPath>
|
||||||
|
@ -55,6 +60,18 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\CommandLine.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\CommandLine.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\CommandLine.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\CommandLine.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="CommandLineCompositionRoot">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\CommandLineCompositionRoot.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\CommandLineCompositionRoot.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="ConsoleBlockComposotionRoot">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\ConsoleBlockComposotionRoot.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\ConsoleBlockComposotionRoot.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="ConsoleCommand">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\ConsoleCommand.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\ConsoleCommand.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="DataLoader">
|
<Reference Include="DataLoader">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\DataLoader.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\DataLoader.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\DataLoader.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\DataLoader.dll</HintPath>
|
||||||
|
@ -75,6 +92,14 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.AudioBlocks.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.AudioBlocks.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.AudioBlocks.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.AudioBlocks.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.BlockCompositionRoot">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.BlockCompositionRoot.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.BlockCompositionRoot.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.BlockEntityFactory">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.BlockEntityFactory.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.BlockEntityFactory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Blocks.ConsoleBlock">
|
<Reference Include="Gamecraft.Blocks.ConsoleBlock">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.ConsoleBlock.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.ConsoleBlock.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.ConsoleBlock.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.ConsoleBlock.dll</HintPath>
|
||||||
|
@ -83,6 +108,10 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.DamagingSurfaceBlock.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.DamagingSurfaceBlock.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.DamagingSurfaceBlock.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.DamagingSurfaceBlock.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.Blocks.DestructionBlocks">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.DestructionBlocks.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.DestructionBlocks.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Blocks.GenericPhysicsBlocks">
|
<Reference Include="Gamecraft.Blocks.GenericPhysicsBlocks">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.GenericPhysicsBlocks.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.GenericPhysicsBlocks.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.GenericPhysicsBlocks.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.GenericPhysicsBlocks.dll</HintPath>
|
||||||
|
@ -95,10 +124,18 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\GameCraft.Blocks.ProjectileBlock.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\GameCraft.Blocks.ProjectileBlock.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\GameCraft.Blocks.ProjectileBlock.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\GameCraft.Blocks.ProjectileBlock.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.Blocks.TextBlock.CompositionRoot">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.TextBlock.CompositionRoot.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.TextBlock.CompositionRoot.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Blocks.TimerBlock">
|
<Reference Include="Gamecraft.Blocks.TimerBlock">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.TimerBlock.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.TimerBlock.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.TimerBlock.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Blocks.TimerBlock.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.BlocksEntityDescriptors">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.BlocksEntityDescriptors.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.BlocksEntityDescriptors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.CharacterVulnerability">
|
<Reference Include="Gamecraft.CharacterVulnerability">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerability.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerability.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerability.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerability.dll</HintPath>
|
||||||
|
@ -107,10 +144,22 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerabilityGui.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerabilityGui.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerabilityGui.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.CharacterVulnerabilityGui.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.Damage">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Damage.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Damage.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Effects">
|
<Reference Include="Gamecraft.Effects">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Effects.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Effects.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Effects.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Effects.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.ExplosionFragments">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.ExplosionFragments.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.ExplosionFragments.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.GraphicsSettings">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.GraphicsSettings.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.GraphicsSettings.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.GUI.ConsoleBlock">
|
<Reference Include="Gamecraft.GUI.ConsoleBlock">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.ConsoleBlock.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.ConsoleBlock.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.ConsoleBlock.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.ConsoleBlock.dll</HintPath>
|
||||||
|
@ -139,6 +188,14 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.WorldSpaceGuis.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.WorldSpaceGuis.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.WorldSpaceGuis.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.GUI.WorldSpaceGuis.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.InventoryTimeRunning">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.InventoryTimeRunning.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.InventoryTimeRunning.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.JointBlocks">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.JointBlocks.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.JointBlocks.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Music">
|
<Reference Include="Gamecraft.Music">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Music.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Music.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Music.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Music.dll</HintPath>
|
||||||
|
@ -147,6 +204,22 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.PerformanceWarnings.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.PerformanceWarnings.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.PerformanceWarnings.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.PerformanceWarnings.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.PickupBlck">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.PickupBlck.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.PickupBlck.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.PickupsCommon">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.PickupsCommon.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.PickupsCommon.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.PopupMessage">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.PopupMessage.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.PopupMessage.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.Projectiles">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Projectiles.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Projectiles.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Tweaks">
|
<Reference Include="Gamecraft.Tweaks">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.dll</HintPath>
|
||||||
|
@ -155,6 +228,10 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.Mockup.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.Mockup.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.Mockup.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Tweaks.Mockup.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Gamecraft.VisualEffects.Decals">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.VisualEffects.Decals.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.VisualEffects.Decals.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Gamecraft.VisualEffects">
|
<Reference Include="Gamecraft.VisualEffects">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.VisualEffects.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.VisualEffects.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.VisualEffects.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.VisualEffects.dll</HintPath>
|
||||||
|
@ -163,10 +240,6 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Gamecraft.Wires.Input">
|
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.Input.dll</HintPath>
|
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.Input.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="Gamecraft.Wires.Mockup">
|
<Reference Include="Gamecraft.Wires.Mockup">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.Mockup.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.Mockup.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.Mockup.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Gamecraft.Wires.Mockup.dll</HintPath>
|
||||||
|
@ -379,6 +452,14 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\RobocratX.SimulationCompositionRoot.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\RobocratX.SimulationCompositionRoot.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\RobocratX.SimulationCompositionRoot.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\RobocratX.SimulationCompositionRoot.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="SpawningPointCompositionRoot">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\SpawningPointCompositionRoot.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\SpawningPointCompositionRoot.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="SpecializedDescriptors">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\SpecializedDescriptors.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\SpecializedDescriptors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="StringFormatter">
|
<Reference Include="StringFormatter">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\StringFormatter.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\StringFormatter.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\StringFormatter.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\StringFormatter.dll</HintPath>
|
||||||
|
@ -399,6 +480,10 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Svelto.Tasks.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Svelto.Tasks.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Svelto.Tasks.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Svelto.Tasks.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="UltimateDecals">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\UltimateDecals.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UltimateDecals.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Unity.Addressables">
|
<Reference Include="Unity.Addressables">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Unity.Addressables.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Unity.Addressables.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Unity.Addressables.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Unity.Addressables.dll</HintPath>
|
||||||
|
@ -563,6 +648,10 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\Unity.Transforms.Hybrid.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Unity.Transforms.Hybrid.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Unity.Transforms.Hybrid.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Unity.Transforms.Hybrid.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Unity.VisualEffectGraph.Runtime">
|
||||||
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\Unity.VisualEffectGraph.Runtime.dll</HintPath>
|
||||||
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\Unity.VisualEffectGraph.Runtime.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="UnityEngine.UI">
|
<Reference Include="UnityEngine.UI">
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\UnityEngine.UI.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\UnityEngine.UI.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.UI.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.UI.dll</HintPath>
|
||||||
|
@ -855,14 +944,6 @@
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\UnityEngine.XRModule.dll</HintPath>
|
<HintPath>..\ref\GamecraftPreview_Data\Managed\UnityEngine.XRModule.dll</HintPath>
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.XRModule.dll</HintPath>
|
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.XRModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="IllusionInjector">
|
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\IllusionInjector.dll</HintPath>
|
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\IllusionInjector.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="IllusionPlugin">
|
|
||||||
<HintPath>..\ref\GamecraftPreview_Data\Managed\IllusionPlugin.dll</HintPath>
|
|
||||||
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\IllusionPlugin.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<!--End Dependencies-->
|
<!--End Dependencies-->
|
||||||
</Project>
|
</Project>
|
|
@ -10,8 +10,6 @@ using RobocraftX.Physics;
|
||||||
using RobocraftX.Blocks.Ghost;
|
using RobocraftX.Blocks.Ghost;
|
||||||
using RobocraftX.Character.Camera;
|
using RobocraftX.Character.Camera;
|
||||||
using RobocraftX.Character.Factories;
|
using RobocraftX.Character.Factories;
|
||||||
using Gamecraft.CharacterVulnerability;
|
|
||||||
using Gamecraft.CharacterVulnerability.Entities;
|
|
||||||
using Svelto.ECS;
|
using Svelto.ECS;
|
||||||
using Unity.Mathematics;
|
using Unity.Mathematics;
|
||||||
using Unity.Physics;
|
using Unity.Physics;
|
||||||
|
@ -282,14 +280,7 @@ namespace GamecraftModdingAPI.Players
|
||||||
public bool DamagePlayer(uint playerId, float amount)
|
public bool DamagePlayer(uint playerId, float amount)
|
||||||
{
|
{
|
||||||
if (entitiesDB == null) return false;
|
if (entitiesDB == null) return false;
|
||||||
Factory.BuildEntity<DamageEntityDescriptor>(
|
return SetCurrentHealth(playerId, GetCurrentHealth(playerId) - amount);
|
||||||
new EGID(CharacterVulnerabilityExclusiveGroups.NextDamageEntityId, CharacterVulnerabilityExclusiveGroups.CharacterDamageExclusiveGroup)
|
|
||||||
).Init(new DamageEntityStruct
|
|
||||||
{
|
|
||||||
damage = amount,
|
|
||||||
targetPlayerEntityId = playerId,
|
|
||||||
});
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool GetDamageable(uint playerId)
|
public bool GetDamageable(uint playerId)
|
||||||
|
|
Loading…
Reference in a new issue