Attempt to bring console back and update block ID list
This commit is contained in:
parent
98e00de642
commit
124ef410c7
6 changed files with 176 additions and 374 deletions
|
@ -9,362 +9,145 @@ namespace GamecraftModdingAPI.Blocks
|
|||
/// Called "nothing" in Gamecraft. (DBID.NOTHING)
|
||||
/// </summary>
|
||||
Invalid = ushort.MaxValue,
|
||||
AluminiumCube = 0,
|
||||
AxleS,
|
||||
HingeS = 3,
|
||||
MotorS,
|
||||
HingeM,
|
||||
MotorM,
|
||||
TyreM,
|
||||
AxleM,
|
||||
IronCube,
|
||||
RubberCube,
|
||||
OiledCube,
|
||||
AluminiumConeSegment, //12
|
||||
AluminiumCorner,
|
||||
AluminiumRoundedCorner,
|
||||
AluminiumSlicedCube,
|
||||
AluminiumRoundedSlicedCube,
|
||||
AluminiumCylinder,
|
||||
AluminiumPyramidSegment,
|
||||
AluminiumSlope,
|
||||
AluminiumRoundedSlope,
|
||||
AluminiumSphere,
|
||||
RubberConeSegment, //22
|
||||
RubberCorner,
|
||||
RubberRoundedCorner,
|
||||
RubberSlicedCube,
|
||||
RubberRoundedSlicedCube,
|
||||
RubberCylinder,
|
||||
RubberPyramidSegment,
|
||||
RubberSlope,
|
||||
RubberRoundedSlope,
|
||||
RubberSphere,
|
||||
OiledConeSegment, //32
|
||||
OiledCorner,
|
||||
OiledRoundedCorner,
|
||||
OiledSlicedCube,
|
||||
OiledRoundedSlicedCube,
|
||||
OiledCylinder,
|
||||
OiledPyramidSegment,
|
||||
OiledSlope,
|
||||
OiledRoundedSlope,
|
||||
OiledSphere,
|
||||
IronConeSegment, //42
|
||||
IronCorner,
|
||||
IronRoundedCorner,
|
||||
IronSlicedCube,
|
||||
IronRoundedSlicedCube,
|
||||
IronCylinder,
|
||||
IronPyramidSegment,
|
||||
IronSlope,
|
||||
IronRoundedSlope,
|
||||
IronSphere,
|
||||
GlassCube, //52
|
||||
GlassSlicedCube,
|
||||
GlassSlope,
|
||||
GlassCorner,
|
||||
GlassPyramidSegment,
|
||||
GlassRoundedSlicedCube,
|
||||
GlassRoundedSlope,
|
||||
GlassRoundedCorner,
|
||||
GlassConeSegment,
|
||||
GlassCylinder,
|
||||
GlassSphere,
|
||||
Lever, //63
|
||||
WoodenSlatsDoor = 65,
|
||||
PlayerSpawn, //Crashes without special handling
|
||||
SmallSpawn,
|
||||
MediumSpawn,
|
||||
LargeSpawn,
|
||||
Cube = 0,
|
||||
Wedge,
|
||||
QuarterPyramid,
|
||||
Tetrahedron,
|
||||
RoundedWedge,
|
||||
RoundedQuarterPyramid,
|
||||
RoundedTetrahedron,
|
||||
NegativeQuarterPyramid,
|
||||
NegativeTetrahedron,
|
||||
RoundedNegativeQuarterPyramid,
|
||||
RoundedNegativeTetrahedron, //10
|
||||
PlateCube,
|
||||
PlateWedge,
|
||||
PlateQuarterPyramid,
|
||||
PlateTetrahedron,
|
||||
Sphere,
|
||||
Frame,
|
||||
FrameS1,
|
||||
FrameS2,
|
||||
FrameS3,
|
||||
FrameS4, //20
|
||||
FrameS5,
|
||||
FrameWedge,
|
||||
FrameWedgeS1,
|
||||
FrameWedgeS2,
|
||||
FrameWedgeS3,
|
||||
FrameWedgeS4,
|
||||
SideS0S1,
|
||||
SideS0S2,
|
||||
SideS0S3,
|
||||
SideS0S4, //30
|
||||
SideS0S5,
|
||||
SideS1S1,
|
||||
SideS1S2,
|
||||
SideS1S3,
|
||||
SideS1S4,
|
||||
SideS1S5,
|
||||
SideS2S1,
|
||||
SideS2S2,
|
||||
SideS2S3,
|
||||
SideS2S4,
|
||||
SideS2S5,
|
||||
WindscreenS1, //42
|
||||
WindscreenS2,
|
||||
WindscreenS3,
|
||||
WindscreenS4,
|
||||
WindscreenS5,
|
||||
CarWheelArch,
|
||||
CarArchSmallFlare,
|
||||
CarArchFlare,
|
||||
CarArchExtrudedFlare, //50
|
||||
Cube1X1,
|
||||
Cube1X2,
|
||||
Cube1X3,
|
||||
Cube1X4,
|
||||
Cube1X6,
|
||||
Cube2X2,
|
||||
Cube2X3,
|
||||
Cube2X4,
|
||||
Cube2X6,
|
||||
Wedge1X1, //60
|
||||
Wedge1X2,
|
||||
Wedge1X3,
|
||||
Wedge2X1,
|
||||
Wedge2X2,
|
||||
Wedge2X3,
|
||||
RoundedWedge1X1,
|
||||
RoundedWedge1X2,
|
||||
RoundedWedge1X3,
|
||||
RoundedWedge2X1,
|
||||
RoundedWedge2X2, //70
|
||||
RoundedWedge2X3,
|
||||
Plate1X1,
|
||||
Plate1X2,
|
||||
Plate1X3,
|
||||
Plate1X4,
|
||||
Plate2X2,
|
||||
Plate2X3,
|
||||
Plate2X4,
|
||||
Plate3X3,
|
||||
Plate3X4, //80
|
||||
Cube1X1S1,
|
||||
Cube1X2S1,
|
||||
Cube1X3S1,
|
||||
Wedge1X1S1,
|
||||
Wedge1X2S1,
|
||||
Wedge1X3S1,
|
||||
Wedge2X1S1,
|
||||
Wedge2X2S1,
|
||||
Wedge2X3S1,
|
||||
Wedge3X1S1, //90
|
||||
Wedge3X2S1,
|
||||
Wedge3X3S1,
|
||||
NegativeTetrahedron1X1S1,
|
||||
NegativeTetrahedron1X2S1,
|
||||
NegativeTetrahedron1X3S1,
|
||||
NegativeTetrahedron2X1S1,
|
||||
NegativeTetrahedron2X2S1,
|
||||
NegativeTetrahedron2X3S1,
|
||||
NegativeTetrahedron3X1S1,
|
||||
Axle, //100
|
||||
Hinge,
|
||||
BallJoint,
|
||||
UniversalJoint,
|
||||
ServoAxle,
|
||||
ServoHinge,
|
||||
StepperAxle,
|
||||
StepperHinge,
|
||||
TelescopicJoint,
|
||||
HingeSpring,
|
||||
AxleSpring,
|
||||
DampedSpring,
|
||||
ServoPiston,
|
||||
StepperPiston,
|
||||
PneumaticPiston, //80
|
||||
PneumaticHinge,
|
||||
PneumaticAxle,
|
||||
WindowedDoor,
|
||||
Bench,
|
||||
Chair,
|
||||
Stool,
|
||||
DampedHingeSpring,
|
||||
PlainGlassDoor,
|
||||
PlainWoodenDoor,
|
||||
PilotSeat, //Might crash
|
||||
WheelRigNoSteering,
|
||||
WheelRigWithSteering,
|
||||
NegativeTetrahedron3X2S1, //110
|
||||
NegativeTetrahedron3X3S1,
|
||||
Tetrahedron1X1S1,
|
||||
Tetrahedron1X2S1,
|
||||
Tetrahedron1X3S1,
|
||||
Tetrahedron2X1S1,
|
||||
Tetrahedron2X2S1,
|
||||
Tetrahedron2X3S1,
|
||||
Tetrahedron3X1S1,
|
||||
Tetrahedron3X2S1,
|
||||
Tetrahedron3X3S1, //120
|
||||
QuarterPyramid1X1S1,
|
||||
QuarterPyramid1X2S1,
|
||||
QuarterPyramid1X3S1,
|
||||
QuarterPyramid2X1S1,
|
||||
QuarterPyramid2X2S1,
|
||||
QuarterPyramid2X3S1,
|
||||
QuarterPyramid3X1S1,
|
||||
QuarterPyramid3X2S1,
|
||||
QuarterPyramid3X3S1,
|
||||
PlateTriangle, //130
|
||||
PlateCircle,
|
||||
PlateQtrCircle,
|
||||
PlateRWedge,
|
||||
PlateRTetrahedron,
|
||||
DriverSeat = 150,
|
||||
PassengerSeat,
|
||||
PilotControls,
|
||||
GrassCube,
|
||||
DirtCube,
|
||||
GrassConeSegment,
|
||||
GrassCorner,
|
||||
GrassRoundedCorner,
|
||||
GrassSlicedCube,
|
||||
GrassRoundedSlicedCube,
|
||||
GrassPyramidSegment,
|
||||
GrassSlope,
|
||||
GrassRoundedSlope,
|
||||
DirtConeSegment,
|
||||
DirtCorner,
|
||||
DirtRoundedCorner,
|
||||
DirtSlicedCube,
|
||||
DirtRoundedSlicedCube,
|
||||
DirtPyramidSegment,
|
||||
DirtSlope,
|
||||
DirtRoundedSlope,
|
||||
RubberHemisphere,
|
||||
AluminiumHemisphere,
|
||||
GrassInnerCornerBulged,
|
||||
DirtInnerCornerBulged,
|
||||
IronHemisphere,
|
||||
OiledHemisphere,
|
||||
GlassHemisphere,
|
||||
TyreS,
|
||||
ThreeWaySwitch,
|
||||
Dial, //120
|
||||
CharacterOnEnterTrigger, //Probably crashes
|
||||
CharacterOnLeaveTrigger,
|
||||
CharacterOnStayTrigger,
|
||||
ObjectOnEnterTrigger,
|
||||
ObjectOnLeaveTrigger,
|
||||
ObjectOnStayTrigger,
|
||||
Button,
|
||||
Switch,
|
||||
TextBlock, //Brings up a screen
|
||||
ConsoleBlock, //Brings up a screen
|
||||
Door,
|
||||
GlassDoor,
|
||||
PoweredDoor,
|
||||
PoweredGlassDoor,
|
||||
AluminiumTubeCorner,
|
||||
IronTubeCorner,
|
||||
WoodCube,
|
||||
WoodSlicedCube,
|
||||
WoodSlope,
|
||||
WoodCorner,
|
||||
WoodPyramidSegment,
|
||||
WoodConeSegment,
|
||||
WoodRoundedSlicedCube,
|
||||
WoodRoundedSlope,
|
||||
WoodRoundedCorner,
|
||||
WoodCylinder,
|
||||
WoodHemisphere,
|
||||
WoodSphere,
|
||||
BrickCube,
|
||||
DampedAxleSpring, //150
|
||||
BrickSlicedCube,
|
||||
BrickSlope,
|
||||
BrickCorner,
|
||||
ConcreteCube,
|
||||
ConcreteSlicedCube,
|
||||
ConcreteSlope,
|
||||
ConcreteCorner,
|
||||
RoadCarTyre,
|
||||
OffRoadCarTyre,
|
||||
RacingCarTyre,
|
||||
BicycleTyre,
|
||||
FrontBikeTyre,
|
||||
RearBikeTyre,
|
||||
ChopperBikeTyre,
|
||||
TractorTyre,
|
||||
MonsterTruckTyre,
|
||||
MotocrossBikeTyre,
|
||||
CartTyre, //168
|
||||
ObjectIdentifier,
|
||||
ANDLogicBlock,
|
||||
NANDLogicBlock,
|
||||
NORLogicBlock,
|
||||
NOTLogicBlock,
|
||||
ORLogicBlock,
|
||||
XNORLogicBlock,
|
||||
XORLogicBlock,
|
||||
AbsoluteMathsBlock,
|
||||
AdderMathsBlock,
|
||||
DividerMathsBlock,
|
||||
SignMathsBlock, //180
|
||||
MaxMathsBlock,
|
||||
MinMathsBlock,
|
||||
MultiplierMathsBlock,
|
||||
SubtractorMathsBlock,
|
||||
SimpleConnector,
|
||||
MeanMathsBlock,
|
||||
Bit,
|
||||
Counter,
|
||||
Timer,
|
||||
ObjectFilter,
|
||||
PlayerFilter,
|
||||
TeamFilter,
|
||||
Number2Text, //193
|
||||
DestructionManager = 260,
|
||||
ChunkHealthModifier,
|
||||
ClusterHealthModifier, //262
|
||||
BeachTree1 = 200,
|
||||
BeachTree2,
|
||||
BeachTree3,
|
||||
Rock1,
|
||||
Rock2,
|
||||
Rock3,
|
||||
Rock4,
|
||||
BirchTree1,
|
||||
BirchTree2,
|
||||
BirchTree3,
|
||||
PineTree1,
|
||||
PineTree2,
|
||||
PineTree3,
|
||||
Flower1,
|
||||
Flower2,
|
||||
Flower3,
|
||||
Shrub1,
|
||||
Shrub2,
|
||||
Shrub3,
|
||||
CliffCube,
|
||||
CliffSlicedCorner,
|
||||
CliffCornerA,
|
||||
CliffCornerB,
|
||||
CliffSlopeA,
|
||||
CliffSlopeB,
|
||||
GrassEdge,
|
||||
GrassEdgeInnerCorner,
|
||||
GrassEdgeCorner,
|
||||
GrassEdgeSlope,
|
||||
CentreHUD,
|
||||
ObjectiveHUD,
|
||||
GameStatsHUD, //231
|
||||
GameOverBlock,
|
||||
SFXBlockGameplay = 240,
|
||||
SFXBlock8Bit,
|
||||
SFXBlockInstrument,
|
||||
SFXBlockSciFi,
|
||||
SFXBlockLoops,
|
||||
SFXBlockVocal,
|
||||
MovementConstrainer, //246
|
||||
RotationConstrainer,
|
||||
AdvancedMovementDampener,
|
||||
AdvancedRotationDampener,
|
||||
Mover = 250,
|
||||
Rotator,
|
||||
MovementDampener,
|
||||
RotationDampener,
|
||||
AdvancedMover,
|
||||
AdvancedRotator,
|
||||
MusicBlock, //256
|
||||
PlasmaCannonBlock,
|
||||
QuantumRiflePickup = 300,
|
||||
QuantumRifleAmmoPickup,
|
||||
AluminiumSlicedFraction,
|
||||
AluminiumSlicedSlope,
|
||||
AluminiumHalfPyramidLeft = 305,
|
||||
AluminiumHalfPyramidRight,
|
||||
AluminiumPyramidSliced,
|
||||
AluminiumTubeCross,
|
||||
AluminiumTubeT,
|
||||
AluminiumPlateSquare,
|
||||
AluminiumPlateCircle,
|
||||
AluminiumPlateTriangle, //312
|
||||
OiledSlicedFraction = 314,
|
||||
OiledSlicedSlope,
|
||||
OiledHalfPyramidLeft,
|
||||
OiledHalfPyramidRight,
|
||||
OiledPyramidSliced,
|
||||
GlassSlicedFraction,
|
||||
GlassSlicedSlope,
|
||||
GlassHalfPyramidLeft,
|
||||
GlassHalfPyramidRight,
|
||||
GlassPyramidSliced,
|
||||
RubberSlicedFraction,
|
||||
RubberSlicedSlope,
|
||||
RubberHalfPyramidLeft,
|
||||
RubberHalfPyramidRight,
|
||||
RubberPyramidSliced,
|
||||
WoodSlicedFraction,
|
||||
WoodSlicedSlope, //330
|
||||
WoodHalfPyramidLeft,
|
||||
WoodHalfPyramidRight,
|
||||
WoodPyramidSliced,
|
||||
HexNetSlicedFraction,
|
||||
HexNetSlicedSlope,
|
||||
HexNetHalfPyramidLeft,
|
||||
HexNetHalfPyramidRight,
|
||||
HexNetPyramidSliced,
|
||||
OiledTubeCross,
|
||||
OiledTubeT, //340
|
||||
GlassTubeCross,
|
||||
GlassTubeT,
|
||||
RubberTubeCross,
|
||||
RubberTubeT,
|
||||
WoodTubeCross,
|
||||
WoodTubeT,
|
||||
HexNetTubeCross,
|
||||
HexNetTubeT,
|
||||
BouncyCube,
|
||||
BouncySlicedCube, //350
|
||||
BouncySlope,
|
||||
BouncyCorner,
|
||||
OiledTubeCorner,
|
||||
GlassTubeCorner,
|
||||
RubberTubeCorner,
|
||||
WoodTubeCorner,
|
||||
Basketball,
|
||||
BowlingBall,
|
||||
SoccerBall,
|
||||
GolfBall, //360
|
||||
HockeyPuck,
|
||||
PoolBall,
|
||||
BouncyBall,
|
||||
TennisBall,
|
||||
UnlitCube,
|
||||
IronSlicedFraction,
|
||||
IronSlicedSlope,
|
||||
IronHalfPyramidLeft,
|
||||
IronHalfPyramidRight,
|
||||
IronPyramidSliced, //370
|
||||
IronTubeCross,
|
||||
IronTubeT,
|
||||
SFXBlockMob = 374,
|
||||
PointLight,
|
||||
SpotLight,
|
||||
SunLight,
|
||||
AmbientLight,
|
||||
UnlitGlowCube = 381,
|
||||
PointLightInvisible,
|
||||
SpotLightInvisible,
|
||||
UnlitSlope,
|
||||
UnlitGlowSlope,
|
||||
Fog,
|
||||
Sky,
|
||||
GridCube,
|
||||
GridSlicedCube,
|
||||
GridSlope,
|
||||
GridCorner,
|
||||
MagmaRockCube = 777,
|
||||
MagmaRockCubeSliced,
|
||||
MagmaRockSlope,
|
||||
MagmaRockCorner,
|
||||
MagmaRockPyramidSegment,
|
||||
MagmaRockConeSegment,
|
||||
MagmaRockSlicedRounded,
|
||||
MagmaRockSlopeRounded,
|
||||
MagmaRockCornerRounded,
|
||||
HexNetCube,
|
||||
HexNetCubeSliced,
|
||||
HexNetSlope,
|
||||
HexNetCorner,
|
||||
HexNetPyramidSegment,
|
||||
HexNetConeSegment,
|
||||
HexNetSlicedRounded,
|
||||
HexNetSlopeRounded,
|
||||
HexNetCornerRounded, //794
|
||||
MagmaRockBulgedInner,
|
||||
HexNetCylinder = 797,
|
||||
HexNetHemisphere,
|
||||
HexNetSphere,
|
||||
HexNetTubeCorner, //800
|
||||
CenterOfMassBlock = 1346
|
||||
Engine,
|
||||
CarWheelWideProfile = 200,
|
||||
CarWheel,
|
||||
}
|
||||
}
|
|
@ -19,14 +19,14 @@ namespace GamecraftModdingAPI.Blocks
|
|||
[APITestCase(TestType.EditMode)]
|
||||
public static void TestPlaceNew()
|
||||
{
|
||||
Block newBlock = Block.PlaceNew(BlockIDs.AluminiumCube, Unity.Mathematics.float3.zero);
|
||||
Block newBlock = Block.PlaceNew(BlockIDs.Cube, Unity.Mathematics.float3.zero);
|
||||
Assert.NotNull(newBlock.Id, "Newly placed block is missing Id. This should be populated when the block is placed.", "Newly placed block Id is not null, block successfully placed.");
|
||||
}
|
||||
|
||||
[APITestCase(TestType.EditMode)]
|
||||
public static void TestInitProperty()
|
||||
{
|
||||
Block newBlock = Block.PlaceNew(BlockIDs.AluminiumCube, Unity.Mathematics.float3.zero + 2);
|
||||
Block newBlock = Block.PlaceNew(BlockIDs.Cube, Unity.Mathematics.float3.zero + 2);
|
||||
if (!Assert.CloseTo(newBlock.Position, (Unity.Mathematics.float3.zero + 2), $"Newly placed block at {newBlock.Position} is expected at {Unity.Mathematics.float3.zero + 2}.", "Newly placed block position matches.")) return;
|
||||
//Assert.Equal(newBlock.Exists, true, "Newly placed block does not exist, possibly because Sync() skipped/missed/failed.", "Newly placed block exists, Sync() successful.");
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ using UnityEngine.AddressableAssets;
|
|||
using Material = UnityEngine.Material;
|
||||
|
||||
using GamecraftModdingAPI.Utility;
|
||||
using ServiceLayer;
|
||||
|
||||
namespace GamecraftModdingAPI.Blocks
|
||||
{
|
||||
|
@ -114,7 +115,7 @@ namespace GamecraftModdingAPI.Blocks
|
|||
{
|
||||
public static void Prefix(IDataDB dataDB)
|
||||
{
|
||||
//var abd = dataDB.GetValue<CubeListData>((int) BlockIDs.AluminiumCube);
|
||||
//var abd = dataDB.GetValue<CubeListData>((int) BlockIDs.Cube);
|
||||
foreach (var (key, type) in CustomBlocks)
|
||||
{
|
||||
var attr = type.GetCustomAttribute<CustomBlockAttribute>();
|
||||
|
@ -147,6 +148,12 @@ namespace GamecraftModdingAPI.Blocks
|
|||
foreach (var (id, action) in BlockChangeActions)
|
||||
action(dataDB.GetValue<CubeListData>(id));
|
||||
|
||||
/*foreach (var (key, value) in dataDB.GetValues<CubeListData>())
|
||||
{
|
||||
var data = (CubeListData) value;
|
||||
Console.WriteLine($"ID: {key} - Name: {data.CubeNameKey}: {LocalizationService.Localize(data.CubeNameKey)}");
|
||||
}*/
|
||||
|
||||
_canRegister = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ namespace GamecraftModdingAPI.Input
|
|||
/// <param name="hotbarPage">Select the hotbar page by number?</param>
|
||||
/// <param name="quickSave">Quicksave?</param>
|
||||
/// <param name="paste">Paste?</param>
|
||||
public static void GuiInput(uint playerID = uint.MaxValue, int hotbar = -1, bool commandLine = false, bool escape = false, bool enter = false, bool debug = false, bool next = false, bool previous = false, bool tab = false, bool colour = false, int hotbarPage = -1, bool quickSave = false, bool paste = false)
|
||||
public static void GuiInput(uint playerID = uint.MaxValue, int hotbar = -1, bool escape = false, bool enter = false, bool debug = false, bool next = false, bool previous = false, bool tab = false, int hotbarPage = -1, bool quickSave = false, bool paste = false)
|
||||
{
|
||||
if (playerID == uint.MaxValue)
|
||||
{
|
||||
|
@ -76,7 +76,6 @@ namespace GamecraftModdingAPI.Input
|
|||
case 9: currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.Hotbar_9; break;
|
||||
default: break;
|
||||
}
|
||||
//if (commandLine) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.ToggleCommandLine; - TODO
|
||||
if (escape) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.Escape;
|
||||
if (enter) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.Return;
|
||||
if (debug) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.ToggleDebugDisplay;
|
||||
|
@ -97,6 +96,7 @@ namespace GamecraftModdingAPI.Input
|
|||
case 10: currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.HotbarPage10; break;
|
||||
default: break;
|
||||
}
|
||||
//RewiredConsts.Action
|
||||
if (quickSave) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.QuickSave;
|
||||
if (paste) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.PasteSelection;
|
||||
}
|
||||
|
@ -118,8 +118,8 @@ namespace GamecraftModdingAPI.Input
|
|||
if (left) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Left;
|
||||
if (right) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Right;
|
||||
if (sprint) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Sprint;
|
||||
if (toggleFly) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.SwitchFlyMode;
|
||||
if (alt) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.AltAction;
|
||||
//if (toggleFly) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.SwitchFlyMode;
|
||||
//if (alt) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.AltAction;
|
||||
if (primary) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.PrimaryAction;
|
||||
if (secondary) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.SecondaryAction;
|
||||
if (tertiary) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.TertiaryAction;
|
||||
|
|
|
@ -91,7 +91,7 @@ namespace GamecraftModdingAPI
|
|||
AsyncUtils.Init();
|
||||
GamecraftModdingAPI.App.Client.Init();
|
||||
GamecraftModdingAPI.App.Game.Init();
|
||||
CustomBlock.Init();
|
||||
//CustomBlock.Init();
|
||||
// init UI
|
||||
Interface.IMGUI.Constants.Init();
|
||||
Interface.IMGUI.IMGUIManager.Init();
|
||||
|
|
|
@ -26,8 +26,11 @@ using GamecraftModdingAPI.Commands;
|
|||
using GamecraftModdingAPI.Events;
|
||||
using GamecraftModdingAPI.Utility;
|
||||
using GamecraftModdingAPI.Blocks;
|
||||
using GamecraftModdingAPI.Input;
|
||||
using GamecraftModdingAPI.Interface.IMGUI;
|
||||
using GamecraftModdingAPI.Players;
|
||||
using RobocraftX.Common.Input;
|
||||
using Svelto.DataStructures;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.AddressableAssets.ResourceLocators;
|
||||
using UnityEngine.ResourceManagement.AsyncOperations;
|
||||
|
@ -171,7 +174,7 @@ namespace GamecraftModdingAPI.Tests
|
|||
.Description("Place a block of aluminium at the given coordinates")
|
||||
.Action((float x, float y, float z) =>
|
||||
{
|
||||
var block = Block.PlaceNew(BlockIDs.AluminiumCube, new float3(x, y, z));
|
||||
var block = Block.PlaceNew(BlockIDs.Cube, new float3(x, y, z));
|
||||
Logging.CommandLog("Block placed with type: " + block.Type);
|
||||
})
|
||||
.Build();
|
||||
|
@ -185,7 +188,7 @@ namespace GamecraftModdingAPI.Tests
|
|||
var sw = Stopwatch.StartNew();
|
||||
for (int i = 0; i < 100; i++)
|
||||
for (int j = 0; j < 100; j++)
|
||||
Block.PlaceNew(BlockIDs.AluminiumCube, new float3(x + i, y, z + j));
|
||||
Block.PlaceNew(BlockIDs.Cube, new float3(x + i, y, z + j));
|
||||
//Block.Sync();
|
||||
sw.Stop();
|
||||
Logging.CommandLog("Finished in " + sw.ElapsedMilliseconds + "ms");
|
||||
|
@ -264,7 +267,7 @@ namespace GamecraftModdingAPI.Tests
|
|||
})
|
||||
.Build();*/
|
||||
|
||||
CommandBuilder.Builder()
|
||||
/*CommandBuilder.Builder()
|
||||
.Name("WireTest")
|
||||
.Description("Place two blocks and then wire them together")
|
||||
.Action(() =>
|
||||
|
@ -275,7 +278,7 @@ namespace GamecraftModdingAPI.Tests
|
|||
Wire conn = notBlock.Connect(0, andBlock, 1);
|
||||
Logging.CommandLog(conn.ToString());
|
||||
})
|
||||
.Build();
|
||||
.Build();*/
|
||||
|
||||
CommandBuilder.Builder("TestChunkHealth", "Sets the chunk looked at to the given health.")
|
||||
.Action((float val, float max) =>
|
||||
|
@ -291,13 +294,13 @@ namespace GamecraftModdingAPI.Tests
|
|||
.Action((float x, float y, float z) =>
|
||||
{
|
||||
var pos = new float3(x, y, z);
|
||||
var group = BlockGroup.Create(Block.PlaceNew(BlockIDs.AluminiumCube, pos,
|
||||
var group = BlockGroup.Create(Block.PlaceNew(BlockIDs.Cube, pos,
|
||||
color: BlockColors.Aqua));
|
||||
Block.PlaceNew(BlockIDs.AluminiumCube, pos += new float3(1, 0, 0), color: BlockColors.Blue)
|
||||
Block.PlaceNew(BlockIDs.Cube, pos += new float3(1, 0, 0), color: BlockColors.Blue)
|
||||
.BlockGroup = group;
|
||||
Block.PlaceNew(BlockIDs.AluminiumCube, pos += new float3(1, 0, 0), color: BlockColors.Green)
|
||||
Block.PlaceNew(BlockIDs.Cube, pos += new float3(1, 0, 0), color: BlockColors.Green)
|
||||
.BlockGroup = group;
|
||||
Block.PlaceNew(BlockIDs.AluminiumCube, pos += new float3(1, 0, 0), color: BlockColors.Lime)
|
||||
Block.PlaceNew(BlockIDs.Cube, pos += new float3(1, 0, 0), color: BlockColors.Lime)
|
||||
.BlockGroup = group;
|
||||
}).Build();
|
||||
|
||||
|
@ -328,7 +331,7 @@ namespace GamecraftModdingAPI.Tests
|
|||
}
|
||||
}, "MoveLastBlock", "Move the most-recently-placed block, and any connected blocks by the given offset"));
|
||||
CommandManager.AddCommand(new SimpleCustomCommandEngine<float, float, float>(
|
||||
(x, y, z) => { Blocks.Placement.PlaceBlock(Blocks.BlockIDs.AluminiumCube, new Unity.Mathematics.float3(x, y, z)); },
|
||||
(x, y, z) => { Blocks.Placement.PlaceBlock(Blocks.BlockIDs.Cube, new Unity.Mathematics.float3(x, y, z)); },
|
||||
"PlaceAluminium", "Place a block of aluminium at the given coordinates"));
|
||||
System.Random random = new System.Random(); // for command below
|
||||
CommandManager.AddCommand(new SimpleCustomCommandEngine(
|
||||
|
@ -368,7 +371,7 @@ namespace GamecraftModdingAPI.Tests
|
|||
Logging.Log("Compatible GamecraftScripting detected");
|
||||
}
|
||||
// Interface test
|
||||
Interface.IMGUI.Group uiGroup = new Group(new Rect(20, 20, 200, 500), "GamecraftModdingAPI_UITestGroup", true);
|
||||
/*Interface.IMGUI.Group uiGroup = new Group(new Rect(20, 20, 200, 500), "GamecraftModdingAPI_UITestGroup", true);
|
||||
Interface.IMGUI.Button button = new Button("TEST");
|
||||
button.OnClick += (b, __) => { Logging.MetaDebugLog($"Click on {((Interface.IMGUI.Button)b).Name}");};
|
||||
Interface.IMGUI.Button button2 = new Button("TEST2");
|
||||
|
@ -382,16 +385,16 @@ namespace GamecraftModdingAPI.Tests
|
|||
uiGroup.AddElement(button2);
|
||||
uiGroup.AddElement(uiText);
|
||||
uiGroup.AddElement(uiLabel);
|
||||
uiGroup.AddElement(uiImg);
|
||||
uiGroup.AddElement(uiImg);*/
|
||||
|
||||
Addressables.LoadAssetAsync<Texture2D>("Assets/Art/Textures/UI/FrontEndMap/RCX_Blue_Background_5k.jpg")
|
||||
/*Addressables.LoadAssetAsync<Texture2D>("Assets/Art/Textures/UI/FrontEndMap/RCX_Blue_Background_5k.jpg")
|
||||
.Completed +=
|
||||
handle =>
|
||||
{
|
||||
uiImg.Texture = handle.Result;
|
||||
uiImg.Enabled = true;
|
||||
Logging.MetaDebugLog($"Got blue bg asset {handle.Result}");
|
||||
};
|
||||
};*/
|
||||
|
||||
|
||||
CommandBuilder.Builder("enableCompletions")
|
||||
|
@ -414,8 +417,11 @@ namespace GamecraftModdingAPI.Tests
|
|||
Logging.MetaDebugLog("Test custom block catalog not found");
|
||||
}
|
||||
|
||||
CustomBlock.ChangeExistingBlock((ushort) BlockIDs.TyreS,
|
||||
CustomBlock.ChangeExistingBlock((ushort) BlockIDs.CarWheel,
|
||||
cld => cld.scalingPermission = ScalingPermission.NonUniform);
|
||||
|
||||
/*((FasterList<GuiInputMap.GuiInputMapElement>)AccessTools.Property(typeof(GuiInputMap), "GuiInputsButtonDown").GetValue(null))
|
||||
.Add(new GuiInputMap.GuiInputMapElement(RewiredConsts.Action.ToggleCommandLine, GuiIn))*/
|
||||
#if TEST
|
||||
TestRoot.RunTests();
|
||||
#endif
|
||||
|
@ -465,6 +471,12 @@ namespace GamecraftModdingAPI.Tests
|
|||
}
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
if(UnityEngine.Input.GetKeyDown(KeyCode.Backslash))
|
||||
FakeInput.CustomInput(new LocalInputEntityStruct{commandLineToggleInput = true});
|
||||
}
|
||||
|
||||
[HarmonyPatch]
|
||||
public class MinimumSpecsPatch
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue