using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Unity.Mathematics; namespace GamecraftModdingAPI.Blocks { /// /// Common block movement operations /// public static class Movement { private static MovementEngine movementEngine = new MovementEngine(); /// /// Move a single block by a specific (x,y,z) amount /// /// The block's id /// The movement amount (x,y,z) /// public static bool MoveBlock(uint id, float3 vector) { if (movementEngine.IsInGame && movementEngine.IsBuildMode()) { movementEngine.MoveBlock(id, vector); return true; } return false; } /// /// Move all connected blocks by a specific (x,y,z) amount /// /// The starting block's id /// The movement amount (x,y,z) /// public static bool MoveConnectedBlocks(uint id, float3 vector) { if (movementEngine.IsInGame && movementEngine.IsBuildMode()) { movementEngine.MoveConnectedBlocks(id, vector); return true; } return false; } public static void Init() { GamecraftModdingAPI.Utility.GameEngineManager.AddGameEngine(movementEngine); } } }