public override GameState GetMessage(MjsonMessageAll msgobj) { if ((msgobj.IsDAHAI()) || (msgobj.IsNONE())) { getMsgList.Add(msgobj); if (getMsgList.Count(e => e.IsDAHAI()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var dahaiObj = getMsgList.First(e => e.IsDAHAI()); serverController.Dahai(dahaiObj.actor, dahaiObj.pai, dahaiObj.tsumogiri); getMsgList.Dispose(); return(new AfterReachDahaiState(this)); } if ((getMsgList.Count == Constants.PLAYER_NUM)) { serverController.SendErrorToRoomMember(msgobj); } } else { //errorhandling serverController.SendErrorToRoomMember(msgobj); } return(this); }
public override GameState GetMessage(MjsonMessageAll msgobj) { if ((msgobj.IsDAHAI()) || (msgobj.IsNONE())) { getMsgList.Add(msgobj); if (getMsgList.Count(e => e.IsDAHAI()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var dahaiObj = getMsgList.First(e => e.IsDAHAI()); serverController.Dahai(dahaiObj.actor, dahaiObj.pai, dahaiObj.tsumogiri); getMsgList.Dispose(); return new AfterReachDahaiState(this); } if ((getMsgList.Count == Constants.PLAYER_NUM)) { serverController.SendErrorToRoomMember(msgobj); } } else { //errorhandling serverController.SendErrorToRoomMember(msgobj); } return this; }
public override GameState GetMessage(MjsonMessageAll msgobj) { if ((msgobj.IsDAHAI()) || (msgobj.IsREACH()) || (msgobj.IsANKAN()) || (msgobj.IsKAKAN()) || (msgobj.IsHORA()) || (msgobj.IsNONE())) { getMsgList.Add(msgobj); if (getMsgList.Count == Constants.PLAYER_NUM) { // if (getMsgList.Count(e => e.IsHORA()) >= 1) { var horaObj = GetNearestHoraPlayerMsg(getMsgList); serverController.Hora(horaObj.actor, horaObj.target, horaObj.pai); getMsgList.Dispose(); return(new AfterHoraState(this)); } //RinshanFlggOff //serverController.ResetRinshanFlag(); //serverController.ResetIppatsuFlag(); if (getMsgList.Count(e => e.IsDAHAI()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var dahaiObj = getMsgList.Where(e => e.IsDAHAI()) .First(); serverController.Dahai(dahaiObj.actor, dahaiObj.pai, dahaiObj.tsumogiri); getMsgList.Dispose(); return(new AfterDahaiState(this)); } else if (getMsgList.Count(e => e.IsREACH()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var reachObj = getMsgList.First(e => e.IsREACH()); serverController.Reach(reachObj.actor); getMsgList.Dispose(); return(new AfterReachState(this)); } else if (getMsgList.Count(e => e.IsANKAN()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var kanObj = getMsgList.First(e => e.IsREACH()); serverController.Ankan(kanObj.actor, kanObj.target, kanObj.pai, kanObj.consumed); getMsgList.Dispose(); return(new AfterKanState(this)); } } } else { //error handling serverController.SendErrorToRoomMember(msgobj); } return(this); }
public override GameState GetMessage(MjsonMessageAll msgobj) { if ((msgobj.IsDAHAI()) || (msgobj.IsREACH()) || (msgobj.IsANKAN()) || (msgobj.IsKAKAN()) || (msgobj.IsHORA()) || (msgobj.IsNONE())) { getMsgList.Add(msgobj); if (getMsgList.Count == Constants.PLAYER_NUM) { // if (getMsgList.Count(e => e.IsHORA()) >= 1 ) { var horaObj = GetNearestHoraPlayerMsg(getMsgList); serverController.Hora(horaObj.actor, horaObj.target, horaObj.pai); getMsgList.Dispose(); return new AfterHoraState(this); } //RinshanFlggOff //serverController.ResetRinshanFlag(); //serverController.ResetIppatsuFlag(); if (getMsgList.Count(e => e.IsDAHAI()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var dahaiObj = getMsgList.Where(e => e.IsDAHAI()) .First(); serverController.Dahai(dahaiObj.actor, dahaiObj.pai, dahaiObj.tsumogiri); getMsgList.Dispose(); return new AfterDahaiState(this); } else if (getMsgList.Count(e => e.IsREACH()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var reachObj = getMsgList.First(e => e.IsREACH()); serverController.Reach(reachObj.actor); getMsgList.Dispose(); return new AfterReachState(this); } else if (getMsgList.Count(e => e.IsANKAN()) == 1 && getMsgList.Count(e => e.IsNONE()) == Constants.PLAYER_NUM - 1) { var kanObj = getMsgList.First(e => e.IsREACH()); serverController.Ankan(kanObj.actor, kanObj.target, kanObj.pai, kanObj.consumed); getMsgList.Dispose(); return new AfterKanState(this); } } } else { //error handling serverController.SendErrorToRoomMember(msgobj); } return this; }