/// <summary> /// Responsible for sending player inputs to the server /// Currently this does not include the userinputprocessingsimulator, these message are send on a seperate channel /// but might be joined with this system at a later point /// </summary> private void sendPlayerInputs() { var inputs = userInputService.BuildInputs(); var p = new UserInputPacket() { data = SerializerHelper.Serialize(inputs) }; networkConnectorClient.UserInputTransporter.Send(p); }
private static void DoButton(Button __instance, bool value) { var netObj = __instance.transform.parent.GetComponent <NetObject>(); if (netObj == null || ComponentActions.CurrentlyActing.Contains(netObj.NetID)) { return; } var packet = new UserInputPacket { NetID = netObj.NetID, Receiver = UserInputPacket.UserInputReceiver.Button, State = value }; Network.SendPacket(packet); }
public static void UpdateLever(Switch __instance) { var netObj = __instance.transform.parent.GetComponent <NetObject>(); if (netObj == null || ComponentActions.CurrentlyActing.Contains(netObj.NetID)) { return; } var packet = new UserInputPacket { NetID = netObj.NetID, Receiver = UserInputPacket.UserInputReceiver.Switch, State = __instance.On }; Network.SendPacket(packet); }
public static void DoAction(UserInputPacket packet) { var obj = NetObject.GetByNetId(packet.NetID); CurrentlyActing.Add(packet.NetID); switch (packet.Receiver) { case UserInputPacket.UserInputReceiver.Button: DoButton(obj.GetComponentInChildren <Button>(), packet.State); break; case UserInputPacket.UserInputReceiver.Switch: DoSwitch(obj.GetComponentInChildren <Switch>(), packet.State); break; } CurrentlyActing.Remove(packet.NetID); }