private void OnEvent(ExitGames.Client.Photon.EventData ev)
    {
        if (ev.Code != 1)
        {
            return;
        }
        var data = (object[])ev.CustomData;

        if (data[0] is Vector3 pos)
        {
            this.NetworkPosition = pos;
        }
        else
        {
            this.NetworkPosition = this.transform.position;
        }

        if (data[1] is Quaternion rot)
        {
            this.NetworkRotation = rot;
        }
        else
        {
            this.NetworkRotation = this.transform.rotation;
        }
        this.Distance = Vector3.Distance(this.transform.position, this.NetworkPosition);
        this.Angle    = Quaternion.Angle(this.transform.rotation, this.NetworkRotation);
        Debug.Log($"Distance: {Distance}");
    }
 public void OnEvent(ExitGames.Client.Photon.EventData eventData)
 {
     if (eventData.Code == NetworkManager.PlayerInputUpdate)
     {
         try
         {
             PlayerInputPacket data = eventData.CustomData as PlayerInputPacket;
             if (data != null && data.PlayerIndex == PlayerIndex)
             {
                 foreach (PlayerInputData inputFrame in data.InputData)
                 {
                     // FrameNumber == 0: Initial packet of round. Should be okay to ACK.
                     if (inputFrame.RoundNumber == GameStateManager.Instance.RoundCount && CommandInterpreter.QueuePlayerInput(inputFrame))
                     {
                         SendInputAck(inputFrame.PacketId);
                     }
                 }
             }
         }
         catch (Exception e)
         {
             Debug.LogError(e);
         }
     }
 }
 private void NetworkingClient_EventReceived(ExitGames.Client.Photon.EventData obj)
 {
     if (obj.Code == DuelDataManager.Instance.onGameStartEvent)
     {
         isSpawning = true;
     }
 }
Beispiel #4
0
        public override void OnEvent(ExitGames.Client.Photon.EventData photonEvent)
        {
            base.OnEvent(photonEvent);
            this.NetWork.OnEvent(photonEvent);
//			switch (photonEvent.Code) {
//			case EventCode.Join:
//				{
//					RoomPanelViewModel roomPanelVM = this.NetWork.OutOfGameRoot.CanvasRoot.PanelCollection.ToList ().Single (vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
//					roomPanelVM.ExecuteRefreshRoom ();
//					break;
//				}
//			case EventCode.Leave:
//				{
//					RoomPanelViewModel roomPanelVM = this.NetWork.OutOfGameRoot.CanvasRoot.PanelCollection.ToList ().Single (vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
//					roomPanelVM.ExecuteRefreshRoom ();
//					break;
//				}
//			case EventCode.PropertiesChanged:
//				{
//					RoomPanelViewModel roomPanelVM = this.NetWork.OutOfGameRoot.CanvasRoot.PanelCollection.ToList ().Single (vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
//					roomPanelVM.ExecuteRefreshRoomProperties ();
//					roomPanelVM.ExecuteRefreshPlayerProperties ();
//					break;
//				}
//			default:
//				{
//					RoomPanelViewModel roomPanelVM = this.NetWork.OutOfGameRoot.CanvasRoot.PanelCollection.ToList ().Single (vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
//					roomPanelVM.Execute (new RefreshEventCommand () {
//						EventCode = photonEvent.Code,
//						EventContent = photonEvent.Parameters
//					});
//					break;
//				}
//			}
        }
Beispiel #5
0
        /// <summary>
        ///   The on event received.
        /// </summary>
        /// <param name = "client">
        ///   The client.
        /// </param>
        /// <param name = "data">
        ///   The data.
        /// </param>
        private static void OnEventReceived(OnlineNUnitClient client, EventData data)
        {
            Action <OnlineNUnitClient, EventData> received = EventReceived;

            if (received != null)
            {
                received(client, data);
            }
        }
 //***************************************************************************
 // MasterClient -> Client (These methods are executed by the master client)
 //***************************************************************************
 public void OnEvent(ExitGames.Client.Photon.EventData photonEvent)
 {
     if (photonEvent.Code == (byte)StreamingBytesEventCode.BeginStream)
     {
         int[] data = (int[])photonEvent.Parameters[ParameterCode.Data];
         OnReceivedTextureInfo(data);
     }
     if (photonEvent.Code == (byte)StreamingBytesEventCode.Streaming)
     {
         byte[] data = (byte[])photonEvent.Parameters[ParameterCode.Data];
         OnReceivedRawTextureDataStream(data);
     }
 }
Beispiel #7
0
    private void NetworkingClient_EventReceived(ExitGames.Client.Photon.EventData obj)
    {
        //  if (obj.Code == PLAYER_READY_EVENT)
        //  {
        //      Debug.Log("Event raised");
        //       object[] data = (object[])obj.CustomData;
        //    int _readyPlayers = (int)data[0];

        //    _noOfRediedPlayers = _readyPlayers;

        //    _noOfRediedPlayers++;

        //}
    }
Beispiel #8
0
    public void OnEvent(ExitGames.Client.Photon.EventData photonEvent)
    {
        if (photonEvent.Code == (byte)VRMLiveMotionEventCode.SetHumanPoseTransferSource)
        {
            Debug.Log("OnEvent: EventCode is SetHumanPoseTransferSource");

            int receivedViewID = (int)photonEvent.Parameters[ParameterCode.Data];

            GameObject humanPoseSynchronizer = PhotonView.Find(receivedViewID).gameObject;
            m_source = humanPoseSynchronizer.GetComponent <UniHumanoid.HumanPoseTransfer>();
            humanPoseSynchronizer.GetComponent <Renderer>().enabled = false;

            SetupTarget();
        }

        if (photonEvent.Code == (byte)VRMLiveMotionEventCode.SetLipSync)
        {
            Debug.Log("OnEvent: EventCode is SetLipSync.");
            int receivedViewID = (int)photonEvent.Parameters[ParameterCode.Data];

            GameObject photonVoiceSpeaker = PhotonView.Find(receivedViewID).gameObject;
            lipSyncContext           = photonVoiceSpeaker.AddComponent <OVRLipSyncContext>();
            lipSyncContext.audioMute = false;

            var morphTarget = m_VRMObj.GetComponent <VRMLipSyncMorphTarget>();
            if (morphTarget != null)
            {
                morphTarget.lipsyncContext = lipSyncContext;
            }
        }

        if (photonEvent.Code == (byte)VRMLiveMotionEventCode.SetAvatarPositionSynchronizer)
        {
            Debug.Log("OnEvent: EventCode is SetAvatarPositionSynchronizer");
            int receivedViewID = (int)photonEvent.Parameters[ParameterCode.Data];
            var synchronizer   = PhotonView.Find(receivedViewID).gameObject.GetComponent <AvatarPositionSynchronizer>();

            if (synchronizer != null)
            {
                if (m_VRMObj != null)
                {
                    synchronizer.AvatarPositionTransform = m_VRMObj.transform;
                }
                else
                {
                    m_avatarPositionSynchronizer = synchronizer;
                }
            }
        }
    }
Beispiel #9
0
        public void OnEvent(ExitGames.Client.Photon.EventData @event)
        {
            var eventData = new EventData {
                Code = @event.Code, Parameters = @event.Parameters
            };

            if (log.IsDebugEnabled)
            {
                log.Debug("EventReceived");
                //LogHelper.WriteDictionaryContent(eventData.Parameters, 0);
            }

            this.EventQueue.Enqueue(eventData);

            OnEventReceived(this, eventData);
        }
Beispiel #10
0
        public void OnEvent(EventData @event)
        {
            var eventData = new EventData {
                Code = @event.Code, Parameters = @event.Parameters
            };

            if (log.IsDebugEnabled)
            {
                log.DebugFormat("Peer({0}) Events in queue:{2}, OnEvent: {1}",
                                this.Id, Newtonsoft.Json.JsonConvert.SerializeObject(eventData), this.EventQueue.Count);
                //LogHelper.WriteDictionaryContent(eventData.Parameters, 0);
            }

            this.EventQueue.Enqueue(eventData);

            OnEventReceived(this, eventData);
        }
Beispiel #11
0
    public void OnEvent(ExitGames.Client.Photon.EventData photonEvent)
    {
        if (photonEvent.Code == FireSpawn.eventCode)
        {
            Debug.Log("FireSpawnerNetworked");
            object[] data = (object[])photonEvent.CustomData;

            FireSpawn  newSpawn   = Instantiate(fireSpawnPrefab, (Vector3)data[0], (Quaternion)data[1]);
            PhotonView photonView = newSpawn.gameObject.GetComponent <PhotonView>();
            newSpawn.isNetworked = true;
            photonView.ViewID    = (int)data[2];
            if (PhotonNetwork.IsMasterClient)
            {
                photonView.RequestOwnership();
            }
        }
    }
Beispiel #12
0
        public void OnEvent(ExitGames.Client.Photon.EventData photonEvent)
        {
            switch (photonEvent.Code)
            {
            case EventCode.Join:
            {
                RoomPanelViewModel roomPanelVM = OutOfGameRoot.CanvasRoot.PanelCollection.ToList().Single(vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
                roomPanelVM.ExecuteRefreshRoom();
                CoreGameRoot.ExecutePlayerJoin();
                break;
            }

            case EventCode.Leave:
            {
                RoomPanelViewModel roomPanelVM = OutOfGameRoot.CanvasRoot.PanelCollection.ToList().Single(vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
                roomPanelVM.ExecuteRefreshRoom();
                CoreGameRoot.ExecutePlayerLeave();
                break;
            }

            case EventCode.PropertiesChanged:
            {
                RoomPanelViewModel roomPanelVM = OutOfGameRoot.CanvasRoot.PanelCollection.ToList().Single(vm => vm is RoomPanelViewModel) as RoomPanelViewModel;
                roomPanelVM.ExecuteRefreshRoomProperties();
                roomPanelVM.ExecuteRefreshPlayerProperties();
                CoreGameRoot.ExecuteRefreshCoreGame();
                break;
            }

            default:
            {
                // photonEvent.Code == 245; custom raised event.
                object event_content = null;
                photonEvent.Parameters.TryGetValue(ParameterCode.CustomEventContent, out event_content);

                Publish(new OnCoreGameEvent()
                    {
                        EventCode    = photonEvent.Code,
                        EventContent = event_content
                    });
                break;
            }
            }
        }
Beispiel #13
0
    private void OnEventActionHandler(ExitGames.Client.Photon.EventData eventData)
    {
        string eventCode = eventData.Code.ToString();
        var    evParams  = eventData.Parameters;
        int    actorNr   = 0;

        ExitGames.Client.Photon.LoadBalancing.Player originatingPlayer = null;
        if (eventData.Parameters.ContainsKey(ParameterCode.ActorNr))
        {
            actorNr = (int)eventData[ParameterCode.ActorNr];
            if (_loadBalancingClient.CurrentRoom != null)
            {
                originatingPlayer = _loadBalancingClient.CurrentRoom.GetPlayer(actorNr);
            }
        }

        switch (eventData.Code)
        {
        case EventCode.Join:
        {
            string name = "";
            // we only want to deal with events from the game server
            if (_loadBalancingClient.Server == ServerConnection.GameServer)
            {
                var playerProps = (ExitGames.Client.Photon.Hashtable)eventData[ParameterCode.PlayerProperties];

                var userId   = (string)playerProps[ActorProperties.UserId];
                var userName = (string)playerProps[ActorProperties.PlayerName];


                if (userId == _loadBalancingClient.UserId)
                {
                    // local user
                    _playerLocal = Player.Create(_userName, _userToken, true, actorNr);
                    if (OnGameEntered != null)
                    {
                        OnGameEntered(actorNr);
                    }
                    eventCode = "EventCode: Join, Local, " + userName + " ID: " + userId;
                }
                //else
                {
                    // other players
                    _playerRemote = Player.Create(_userName, _userToken, false, actorNr);
                    if (OnPlayerJoined != null)
                    {
                        OnPlayerJoined(actorNr);
                    }
                    eventCode = "EventCode: Join, Other, " + userName + " ID: " + userId;
                }
            }

            break;
        }

        case EventCode.Leave:
        {
            // we only want to deal with events from the game server
            if (_loadBalancingClient.Server == ServerConnection.GameServer)
            {
                // check if we have props
                if (evParams.ContainsKey(ParameterCode.PlayerProperties))
                {
                    var playerProps = (Hashtable)eventData[ParameterCode.PlayerProperties];
                    var userId      = (string)playerProps[ActorProperties.UserId];
                    if (userId == _loadBalancingClient.UserId)
                    {
                        // local user
                        if (OnGameLeft != null)
                        {
                            OnGameLeft(actorNr);
                        }
                    }
                    else
                    {
                        // other players
                        if (OnPlayerLeft != null)
                        {
                            OnPlayerLeft(actorNr);
                        }
                    }
                }
                else
                {
                    // all other players - just call default listener
                    if (OnPlayerLeft != null)
                    {
                        OnPlayerLeft(actorNr);
                    }
                }
            }
            eventCode = "EventCode: Leave, " + actorNr;
            break;
        }

        case EventCode.AppStats:
        {
            // get the parameters
            string text = "AppStats: paramCount";

            foreach (var param in evParams)
            {
                text += "param Key:" + param.Key + " param Val:" + param.Value.ToString() + "\n";
            }

            eventCode = text;
            var masterServerAdress = _loadBalancingClient.MasterServerAddress;
            Debug.Log(masterServerAdress);
            if (OnServerIpChangedAction != null)
            {
                OnServerIpChangedAction(masterServerAdress);
            }
            //eventCode += evParams != null ? evParams.Count.ToString() : "AppStats without Parameters";

            break;
        }

        default:
        {
            // all custom events are sent out
            if (eventData.Code <= 200)
            {
                //if (OnGameEvent != null) OnGameEvent(aEvent);
            }
            break;
        }
        }

        if (OnEventAction != null)
        {
            OnEventAction(eventCode);
        }
        //_roomInfo.text = eventCode;
    }
Beispiel #14
0
 public abstract void SerializeEventData(StreamBuffer stream, EventData serObject, bool setType);
 // On photon event received callback
 public void OnEvent(ExitGames.Client.Photon.EventData photonEvent)
 {
     if (photonEvent.Code == PingRequest)
     {
         SendEventData(PingAck, PhotonNetwork.LocalPlayer.ActorNumber, default, true);
Beispiel #16
0
 public abstract EventData DeserializeEventData(StreamBuffer din, EventData target = null, DeserializationFlags flags = DeserializationFlags.None /* Metadata: 0x0064D5FA */);
Beispiel #17
0
 //---------------------------------------------------------------------
 // Interface: IPhotonPeerListener.OnEvent
 public void OnEvent(ExitGames.Client.Photon.EventData eventData)
 {
 }