public void RpcTriggerInteractable(int hackerId, string rawCommand) { CommandPacket commandPacket; Hacker hacker = _playerHub.GetPlayer(hackerId).GetComponent <Hacker>(); Message callbackMessage; if (HackerFunctions.TryCreatePacket(rawCommand, out commandPacket)) { List <Device> devices = FindObjectsOfType <Device>().ToList(); callbackMessage = new Message(false, new ID(), MessageType.ERROR, "COULD NOT FIND: \"" + commandPacket.InteractableFullId + "\""); foreach (Device device in devices) { if (device.Id.FullId == commandPacket.InteractableFullId) { callbackMessage = device.Hack(commandPacket); } } } else { callbackMessage = new Message(false, new ID(), MessageType.ERROR, "UNKNOWN COMMAND"); Debug.LogWarning("Could not create packet from: " + rawCommand); } hacker.CallbackMessage(callbackMessage); }
void OnSubmit(string rawCommand) { if (rawCommand == "") { _inputField.ActivateInputField(); return; } int caretpos = _inputField.caretPosition; AddMessageToLogLine(rawCommand); if (HackerFunctions.IsFunction(rawCommand)) { CommandPacket commandPacket; if (HackerFunctions.TryCreatePacket(rawCommand, out commandPacket)) { HandleFunction(commandPacket); } else { CallbackMessage(new Message(false, new ID(), MessageType.ERROR, "SYNTAX ERROR")); } } else { CmdInteractWithId(_player.Id.IdNumber, rawCommand); } _latestCommands.Add(rawCommand); _inputField.text = ""; _inputField.ActivateInputField(); }