public override void RefreshPlayerProperties(RoomPanelViewModel viewModel)
        {
            base.RefreshPlayerProperties(viewModel);

            viewModel.PlayerItems.ToList().ForEach(playerItemVM => {
                playerItemVM.Player = Network.Client.CurrentRoom.GetPlayer(playerItemVM.ActerId);
                playerItemVM.ExecuteRefreshByPlayer();
            });
        }
 public virtual void InitializeRoomPanel(RoomPanelViewModel viewModel)
 {
     // This is called when a RoomPanelViewModel is created
     viewModel.QuitRoom.Action                = this.QuitRoomHandler;
     viewModel.RefreshRoom.Action             = this.RefreshRoomHandler;
     viewModel.RefreshRoomProperties.Action   = this.RefreshRoomPropertiesHandler;
     viewModel.RefreshPlayerProperties.Action = this.RefreshPlayerPropertiesHandler;
     viewModel.SetProperties.Action           = this.SetPropertiesHandler;
     viewModel.SendEvent.Action               = this.SendEventHandler;
     viewModel.RefreshEvent.Action            = this.RefreshEventHandler;
     RoomPanelViewModelManager.Add(viewModel);
 }
        public override void SetProperties(RoomPanelViewModel viewModel)
        {
            base.SetProperties(viewModel);

            Hashtable hashtable = new Hashtable();

            hashtable.Add("room_property", viewModel.RoomPropertiesJson);

            Publish(new NetSetRoomProperties()
            {
                PropertiesToSet = hashtable
            });
        }
        public override void SendEvent(RoomPanelViewModel viewModel)
        {
            base.SendEvent(viewModel);

            Hashtable hashtable = new Hashtable();

            hashtable.Add("event_content", viewModel.EventParamsJson);

            Publish(new NetRaiseEvent()
            {
                EventCode    = 19,
                EventContent = hashtable
            });
        }
        public override void RefreshRoom(RoomPanelViewModel viewModel)
        {
            base.RefreshRoom(viewModel);

            viewModel.PlayerItems.Clear();

            Dictionary <int, Player> playerDic = Network.Client.CurrentRoom.Players;

            playerDic.OrderBy(kv => kv.Value.ID).ToList()
            .ForEach(kv => {
                PlayerItemViewModel vm = MVVMKernelExtensions.CreateViewModel <PlayerItemViewModel> ();
                vm.Player  = kv.Value;
                vm.ActerId = kv.Value.ID;
                vm.Name    = kv.Value.Name;
                vm.IsLocal = kv.Value.IsLocal;
                viewModel.PlayerItems.Add(vm);
            });
        }
Exemple #6
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;
            }
            }
        }
 public override void RefreshRoomProperties(RoomPanelViewModel viewModel)
 {
     base.RefreshRoomProperties(viewModel);
 }
 public override void QuitRoom(RoomPanelViewModel viewModel)
 {
     base.QuitRoom(viewModel);
     Publish(new NetLeaveRoom());
 }
 public override void InitializeRoomPanel(RoomPanelViewModel viewModel)
 {
     base.InitializeRoomPanel(viewModel);
     // This is called when a RoomPanelViewModel is created
 }
 public virtual void RefreshEvent(RoomPanelViewModel viewModel, RefreshEventCommand arg)
 {
 }
 public virtual void SendEvent(RoomPanelViewModel viewModel)
 {
 }
 public virtual void SetProperties(RoomPanelViewModel viewModel)
 {
 }
 public virtual void RefreshPlayerProperties(RoomPanelViewModel viewModel)
 {
 }
 public virtual void RefreshRoom(RoomPanelViewModel viewModel)
 {
 }
 public virtual void QuitRoom(RoomPanelViewModel viewModel)
 {
 }