当前位置: 首页>>代码示例>>C#>>正文


C# Scene.RegisterRoute方法代码示例

本文整理汇总了C#中Scene.RegisterRoute方法的典型用法代码示例。如果您正苦于以下问题:C# Scene.RegisterRoute方法的具体用法?C# Scene.RegisterRoute怎么用?C# Scene.RegisterRoute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Scene的用法示例。


在下文中一共展示了Scene.RegisterRoute方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InitScene

    private void InitScene(Scene scene)
    {
        scene.RegisterRoute<UpdateActionDto<string>>("lobby.updatePlayers", 
            updateParams => 
            {
                    switch(updateParams.Type)
                    {
                        case UpdateType.Add :
                            NetworkRefs.LobbyPlayers.AddRange(updateParams.Changes);
                            break;
                        case UpdateType.Remove :
                            foreach(string s in updateParams.Changes)
                            {
                                NetworkRefs.LobbyPlayers.Remove(s);
                            }
                            break;
                    }
            });

        scene.RegisterRoute<UpdateActionDto<GameSessionDto>>("lobby.updateGameSessions", 
            updateParams => 
            {
                foreach(GameSessionDto gs in updateParams.Changes)
                {
                    switch(updateParams.Type)
                    {
                        case UpdateType.Add :
                            NetworkRefs.GameSessions.Add(gs);
                            break;
                        case UpdateType.Remove :
                            GameSessionDto gsToRemove = NetworkRefs.GameSessions.Where(g => g.Id == gs.Id).SingleOrDefault();
                            if(gsToRemove != null)
                            {
                                NetworkRefs.GameSessions.Remove(gsToRemove);
                            }
                            break;
                        case UpdateType.Update :
                            int gsIndex = NetworkRefs.GameSessions.FindIndex( g => g.Id == gs.Id);
                            if(gsIndex > -1)
                                NetworkRefs.GameSessions[gsIndex] = gs;
                            break;
                    }
                }

            });
    }
开发者ID:Stormancer,项目名称:components,代码行数:46,代码来源:LobbyBehaviour.cs

示例2: InitScene

	private void InitScene(Scene scene)
	{
		Debug.Log("chat initialized");
		scene.RegisterRoute<Message>("message", 
			message => 
			{
			Debug.Log("message received");
			msgs.Add(message);
				_broadcastingMsg = null;
			});
	}
开发者ID:Stormancer,项目名称:components,代码行数:11,代码来源:ChatBehaviour.cs


注:本文中的Scene.RegisterRoute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。