ET框架---MatchRoomComponent学习笔记

原创 2018年04月16日 20:58:56

MatchRoomComponent

请大家关注我的微博:@NormanLin_BadPixel坏像素


这是管理匹配房间的组件。既然我们有管理匹配玩家的组件,当然也需要这个组件啦。

我们先记住,我们这个组件里的属性。

//所有房间列表
public readonly Dictionary<long, Room> rooms = new Dictionary<long, Room>();

//游戏中房间列表
public readonly Dictionary<long, Room> gameRooms = new Dictionary<long, Room>();

//等待中房间列表
public readonly Dictionary<long, Room> readyRooms = new Dictionary<long, Room>();

//空闲房间列表
public readonly Queue<Room> idleRooms = new Queue<Room>();

//房间总数
public int TotalCount { get { return this.rooms.Count; } }

//游戏中房间数
public int GameRoomCount { get { return gameRooms.Count; } }

//等待中房间数
public int ReadyRoomCount { get { return readyRooms.Where(p => p.Value.Count < 3).Count(); } }

//空闲房间数
public int IdleRoomCount { get { return idleRooms.Count; } }

这些都是共用的属性,我们随时可以获取并修改他们。

这里需要注意的是,获取等待中房间数的方法,并不是简单返回等待中房间列表的长度。因为一些房间里可能已经位置坐满了,但是还有些玩家没准备,或者房主没有开始游戏。这个时候,房间的状态还是等待中。但是,我们这个组件是服务于匹配的,我们要获得的是可以加入的房间,所以,它会排除人满的房间。

至于这个组件的逻辑,在扩展里。我们去瞅瞅。

里面的方法都比较简单,而且作者做了详细的注释。我就不废话了,无非就是对上面的属性进行各种操作。

这里稍微说一下获取等待中的匹配房间方法。里面用到了IEnemerable上的FirstOrDefault,可能有些人对这个方法不是很了解(我也是哈哈)。这里提供一篇博文给大家。Find()和First()与FirstOrDefault()区别

ET-MVC框架

  • 2015年05月28日 09:05
  • 2.51MB
  • 下载

unity开源框架ET 实战篇 之 框架demo介绍(一)

ET框架是什么我就不罗嗦了:请查看:https://github.com/egametang/Egametang 我自己介绍一下:https://gitee.com/beyonehu/manual_d...
  • beyonehu
  • beyonehu
  • 2017-11-15 11:46:28
  • 1044

通过LandlordsCore 学习ET框架

ET框架学习笔记 请大家关注一下我的微博 @NormanLin_BadPixel坏像素 LandlordsCore LandlordsCore是ET交流群里的一位大佬用ET框架写的一个联机斗...
  • Norman_Lin
  • Norman_Lin
  • 2018-03-26 23:36:13
  • 109

ET框架---UnitComponent学习笔记

UnitComponent学习笔记 请大家关注我的微博:@NormanLin_BadPixel坏像素 跟管理Player的PlayerComponent很像,不过这里管理的是Unit。“装置”...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-04 20:12:20
  • 18

ET框架---BenchmarkComponent学习笔记

BenchmarkComponent 请大家关注我的微博:@NormanLin_BadPixel坏像素 这就是一个测试用的,用来Ping远端地址的。而且一Ping就发送1,0000,0000次...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-16 20:57:52
  • 1

ET框架---MatcherComponent学习笔记

MatcherComponent 请大家关注我的微博:@NormanLin_BadPixel坏像素 这是管理匹配对象的组件。 private readonly Dictionary&am...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-16 20:59:44
  • 4

ET框架---AppManagerComponent学习笔记

AppManagerComponent学习笔记 请大家关注我的微博:@NormanLin_BadPixel坏像素 private readonly Dictionary&amp;lt;in...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-14 10:58:38
  • 4

ET框架---ActorManagerComponent学习笔记

ActorManagerComponent 请大家关注我的微博:@NormanLin_BadPixel坏像素 /// &amp;lt;summary&amp;gt; /// 用来管理该服务...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-12 21:32:17
  • 6

ET框架---NetInnerComponent学习笔记

NetInnerComponent 请大家关注我的微博:@NormanLin_BadPixel坏像素 我们在LocationProxyComponent学习笔记有简单介绍过NetInnerCo...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-12 21:31:46
  • 3

ET框架---ConfigComponent学习笔记

ConfigComponent学习笔记 请大家关注我的微博:@NormanLin_BadPixel坏像素 这是管理配置信息的组件,我们来看一下配置信息具体是什么。 private Dic...
  • Norman_Lin
  • Norman_Lin
  • 2018-04-07 23:12:30
  • 10
收藏助手
不良信息举报
您举报文章:ET框架---MatchRoomComponent学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)