/// <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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }