- using System;
-
- using RobocraftX.Blocks;
- using RobocraftX.Common;
- using Svelto.ECS;
- using Unity.Mathematics;
-
- using GamecraftModdingAPI;
- using GamecraftModdingAPI.Utility;
-
- namespace GamecraftModdingAPI.Blocks
- {
- public class ConsoleBlock : SignalingBlock
- {
- public ConsoleBlock(EGID id): base(id)
- {
- }
-
- public ConsoleBlock(uint id): base(new EGID(id, CommonExclusiveGroups.BUILD_CONSOLE_BLOCK_GROUP))
- {
- }
-
- // custom console block properties
-
- /// <summary>
- /// Setting a nonexistent command will crash the game when switching to simulation
- /// </summary>
- public string Command
- {
- get
- {
- return BlockEngine.GetBlockInfo(this, (ConsoleBlockEntityStruct st) => st.commandName);
- }
-
- set
- {
- BlockEngine.SetBlockInfo(this, (ref ConsoleBlockEntityStruct st, string val) => st.commandName.Set(val),
- value);
- }
- }
-
- public string Arg1
- {
- get => BlockEngine.GetBlockInfo(this, (ConsoleBlockEntityStruct st) => st.arg1);
-
- set
- {
- BlockEngine.SetBlockInfo(this, (ref ConsoleBlockEntityStruct st, string val) => st.arg1.Set(val),
- value);
- }
- }
-
- public string Arg2
- {
- get => BlockEngine.GetBlockInfo(this, (ConsoleBlockEntityStruct st) => st.arg2);
-
- set
- {
- BlockEngine.SetBlockInfo(this, (ref ConsoleBlockEntityStruct st, string val) => st.arg2.Set(val),
- value);
- }
- }
-
- public string Arg3
- {
- get => BlockEngine.GetBlockInfo(this, (ConsoleBlockEntityStruct st) => st.arg3);
-
- set
- {
- BlockEngine.SetBlockInfo(this, (ref ConsoleBlockEntityStruct st, string val) => st.arg3.Set(val),
- value);
- }
- }
- }
- }
|