public GameCommon.mjSite GetNextSite(GameCommon.mjSite site) { log.log.trace(new System.Diagnostics.StackFrame(), service.timerservice.Tick, "begin GetNextSite"); site++; if (peopleNum == (Int64)GameCommon.PeopleNum.TwoPeople) { if (site == GameCommon.mjSite.Three) { site = GameCommon.mjSite.One; } } else if (peopleNum == (Int64)GameCommon.PeopleNum.ThreePeople) { if (site == GameCommon.mjSite.Four) { site = GameCommon.mjSite.One; } } else if (peopleNum == (Int64)GameCommon.PeopleNum.FourPeople) { if (site == GameCommon.mjSite.End) { site = GameCommon.mjSite.One; } } log.log.trace(new System.Diagnostics.StackFrame(), service.timerservice.Tick, "end GetNextSite"); return(site); }
public void read(Int64 room_id) { log.log.trace(new System.Diagnostics.StackFrame(), service.timerservice.Tick, "begin read"); mj_huanghuang_table _table = server.tables.get_mj_huanghuang_table(room_id); if (_table.play_count < _table.times || _table.times < 0) { var client_uuid = hub.hub.gates.current_client_uuid; var _proxy = _table.get_player_proxy(client_uuid); _proxy.state = GameCommon.mjPlayerstate.read; bool is_read = true; GameCommon.mjSite site = GameCommon.mjSite.One; for (int i = 0; i < _table.peopleNum; i++) { if (_table.site[(int)site].is_robot) { _table.site[(int)site].state = GameCommon.mjPlayerstate.read; } if (_table.site[(int)site].state != GameCommon.mjPlayerstate.read) { log.log.trace(new System.Diagnostics.StackFrame(), service.timerservice.Tick, "site:{0}", site); is_read = false; break; } site = _table.GetNextSite(site); } if (is_read) { log.log.trace(new System.Diagnostics.StackFrame(), service.timerservice.Tick, "new game"); _table.begin_game(); _table.deal(); } else { _table.broadcast("mj_huanghuang", "read", _proxy.player_info["site"]); } } log.log.trace(new System.Diagnostics.StackFrame(), service.timerservice.Tick, "end read"); }