public virtual NetworkState.NETWORK_STATE_TYPE Deserialize() { var state = NetworkState.NETWORK_STATE_TYPE.SUCCESS; _mouseState = _mouseState ?? new FDUObjectSync.MouseState(); _mouseState.buttonStateList.ForEach(buttonState_ => { buttonState_.button = (InputButton)BufferedNetworkUtilsClient.ReadInt(ref state); buttonState_.position = BufferedNetworkUtilsClient.ReadVector2(ref state); buttonState_.delta = BufferedNetworkUtilsClient.ReadVector2(ref state); buttonState_.scrollDelta = BufferedNetworkUtilsClient.ReadVector2(ref state); buttonState_.buttonState = (FramePressState)BufferedNetworkUtilsClient.ReadInt(ref state); }); return(state); }
void SendServerMouseState(MouseState mouseData) { if (_server != null) { _mouseState = _mouseState ?? new FDUObjectSync.MouseState(); _mouseState.buttonStateList.ForEach(buttonState_ => { var button = mouseData.GetButtonState((PointerEventData.InputButton)buttonState_.button); var buttonData = button.eventData.buttonData; var buttonState = button.eventData.buttonState; buttonState_.position = buttonData.position; buttonState_.delta = buttonData.delta; buttonState_.scrollDelta = buttonData.scrollDelta; buttonState_.buttonState = (FramePressState)buttonState; // normalize buttonState_.position = new Vector2( buttonState_.position.x / Screen.width, buttonState_.position.y / Screen.height); buttonState_.delta = new Vector2( buttonState_.delta.x / Screen.width, buttonState_.delta.y / Screen.height); buttonState_.scrollDelta = new Vector2( buttonState_.scrollDelta.x / Screen.width, buttonState_.scrollDelta.y / Screen.height); }); _server.SendState(_objectId, this); _server.FlushBuffer(); if (ClusterHelper.Instance.UseInputEventPhase) { //Debug.Log("SendEofInputEvent"); _server.SendEofInputEvent(); } } }