Bump version and restore displayed block fix attempt

It doesn't work but anyway
Also remove parameter that allowed placing blocks in sim
This commit is contained in:
Norbi Peti 2021-12-15 02:13:55 +01:00
parent ef1b3de1a1
commit 5c1fe34f46
6 changed files with 19 additions and 16 deletions

View file

@ -5,7 +5,7 @@ import re
# this assumes a mostly semver-complient version number # this assumes a mostly semver-complient version number
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Increment GamecraftModdingAPI version") parser = argparse.ArgumentParser(description="Increment TechbloxModdingAPI version")
parser.add_argument('version', metavar="VN", type=str, help="The version number to increment, or the index of the number (zero-indexed).") parser.add_argument('version', metavar="VN", type=str, help="The version number to increment, or the index of the number (zero-indexed).")
args = parser.parse_args() args = parser.parse_args()
@ -28,12 +28,12 @@ if __name__ == "__main__":
old_version = "" old_version = ""
new_version = "" new_version = ""
with open("../GamecraftModdingAPI/GamecraftModdingAPI.csproj", "r") as xmlFile: with open("../TechbloxModdingAPI/TechbloxModdingAPI.csproj", "r") as xmlFile:
print("Parsing GamecraftModdingAPI.csproj") print("Parsing TechbloxModdingAPI.csproj")
fileStr = xmlFile.read() fileStr = xmlFile.read()
versionMatch = re.search(r"<Version>(.+)</Version>", fileStr) versionMatch = re.search(r"<Version>(.+)</Version>", fileStr)
if versionMatch is None: if versionMatch is None:
print("Unable to find version number in GamecraftModdingAPI.csproj") print("Unable to find version number in TechbloxModdingAPI.csproj")
exit(1) exit(1)
old_version = versionMatch.group(1) old_version = versionMatch.group(1)
versionList = old_version.split(".") versionList = old_version.split(".")
@ -53,7 +53,7 @@ if __name__ == "__main__":
print(new_version) print(new_version)
newFileContents = fileStr.replace("<Version>"+old_version+"</Version>", "<Version>"+new_version+"</Version>") newFileContents = fileStr.replace("<Version>"+old_version+"</Version>", "<Version>"+new_version+"</Version>")
with open("../GamecraftModdingAPI/GamecraftModdingAPI.csproj", "w") as xmlFile: with open("../TechbloxModdingAPI/TechbloxModdingAPI.csproj", "w") as xmlFile:
print("Writing new version to project file") print("Writing new version to project file")
xmlFile.write(newFileContents) xmlFile.write(newFileContents)

View file

@ -45,12 +45,10 @@ namespace TechbloxModdingAPI
/// <param name="position">The block's position - default block size is 0.2</param> /// <param name="position">The block's position - default block size is 0.2</param>
/// <param name="autoWire">Whether the block should be auto-wired (if functional)</param> /// <param name="autoWire">Whether the block should be auto-wired (if functional)</param>
/// <param name="player">The player who placed the block</param> /// <param name="player">The player who placed the block</param>
/// <param name="force"></param>
/// <returns>The placed block or null if failed</returns> /// <returns>The placed block or null if failed</returns>
public static Block PlaceNew(BlockIDs block, float3 position, bool autoWire = false, Player player = null, public static Block PlaceNew(BlockIDs block, float3 position, bool autoWire = false, Player player = null)
bool force = false)
{ {
if (PlacementEngine.IsInGame && (GameState.IsBuildMode() || force)) if (PlacementEngine.IsInGame && GameState.IsBuildMode())
{ {
var initializer = PlacementEngine.PlaceBlock(block, position, player, autoWire); var initializer = PlacementEngine.PlaceBlock(block, position, player, autoWire);
var egid = initializer.EGID; var egid = initializer.EGID;
@ -162,11 +160,10 @@ namespace TechbloxModdingAPI
/// <param name="position">The block's position (a block is 0.2 wide in terms of position)</param> /// <param name="position">The block's position (a block is 0.2 wide in terms of position)</param>
/// <param name="autoWire">Whether the block should be auto-wired (if functional)</param> /// <param name="autoWire">Whether the block should be auto-wired (if functional)</param>
/// <param name="player">The player who placed the block</param> /// <param name="player">The player who placed the block</param>
/// <param name="force">Place even if not in build mode</param> public Block(BlockIDs type, float3 position, bool autoWire = false, Player player = null)
public Block(BlockIDs type, float3 position, bool autoWire = false, Player player = null, bool force = false)
: base(block => : base(block =>
{ {
if (!PlacementEngine.IsInGame || !GameState.IsBuildMode() && !force) if (!PlacementEngine.IsInGame || !GameState.IsBuildMode())
throw new BlockException("Blocks can only be placed in build mode."); throw new BlockException("Blocks can only be placed in build mode.");
var initializer = PlacementEngine.PlaceBlock(type, position, player, autoWire); var initializer = PlacementEngine.PlaceBlock(type, position, player, autoWire);
block.InitData = initializer; block.InitData = initializer;

View file

@ -13,6 +13,7 @@ using RobocraftX.Rendering;
using RobocraftX.Rendering.GPUI; using RobocraftX.Rendering.GPUI;
using Svelto.DataStructures; using Svelto.DataStructures;
using Svelto.ECS; using Svelto.ECS;
using Svelto.ECS.EntityStructs;
using Svelto.ECS.Hybrid; using Svelto.ECS.Hybrid;
using Techblox.BuildingDrone; using Techblox.BuildingDrone;
using Unity.Mathematics; using Unity.Mathematics;
@ -94,7 +95,12 @@ namespace TechbloxModdingAPI.Blocks.Engines
public void UpdateDisplayedBlock(EGID id) public void UpdateDisplayedBlock(EGID id)
{ {
if (!BlockExists(id)) return; if (!BlockExists(id)) return;
RenderingPatch.UpdateBlocks(); var pos = entitiesDB.QueryEntity<PositionEntityStruct>(id);
var rot = entitiesDB.QueryEntity<RotationEntityStruct>(id);
var scale = entitiesDB.QueryEntity<ScalingEntityStruct>(id);
var skew = entitiesDB.QueryEntity<SkewComponent>(id);
entitiesDB.QueryEntity<RenderingDataStruct>(id).matrix =
math.mul(float4x4.TRS(pos.position, rot.rotation, scale.scale), skew.skewMatrix);
} }
internal void UpdatePrefab(Block block, byte material, bool flipped) internal void UpdatePrefab(Block block, byte material, bool flipped)

View file

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net472</TargetFramework> <TargetFramework>net472</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Version>2.0.0</Version> <Version>2.1.0</Version>
<Authors>Exmods</Authors> <Authors>Exmods</Authors>
<PackageLicenseExpression>GNU General Public Licence 3+</PackageLicenseExpression> <PackageLicenseExpression>GNU General Public Licence 3+</PackageLicenseExpression>
<PackageProjectUrl>https://git.exmods.org/modtainers/GamecraftModdingAPI</PackageProjectUrl> <PackageProjectUrl>https://git.exmods.org/modtainers/GamecraftModdingAPI</PackageProjectUrl>

View file

@ -99,7 +99,7 @@ namespace TechbloxModdingAPI.Tests
.Description("Place a block of aluminium at the given coordinates") .Description("Place a block of aluminium at the given coordinates")
.Action((float x, float y, float z) => .Action((float x, float y, float z) =>
{ {
var block = Block.PlaceNew(BlockIDs.Cube, new float3(x, y, z), force: true); var block = Block.PlaceNew(BlockIDs.Cube, new float3(x, y, z));
Logging.CommandLog("Block placed with type: " + block.Type); Logging.CommandLog("Block placed with type: " + block.Type);
}) })
.Build(); .Build();

View file

@ -38,7 +38,7 @@ PROJECT_NAME = "TechbloxModdingAPI"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = "v2.0.0" PROJECT_NUMBER = "v2.1.0"
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a