Example #1
0
 private SICore.GameInfo ToSICoreGame(SI.GameServer.Contract.GameInfo gameInfo) => new SICore.GameInfo
 {
     GameID           = gameInfo.GameID,
     GameName         = gameInfo.GameName,
     Mode             = gameInfo.Mode,
     Owner            = gameInfo.Owner,
     PackageName      = gameInfo.PackageName,
     PasswordRequired = gameInfo.PasswordRequired,
     Persons          = gameInfo.Persons,
     RealStartTime    = gameInfo.RealStartTime == DateTime.MinValue ? DateTime.MinValue : gameInfo.RealStartTime.ToLocalTime(),
     Rules            = BuildRules(gameInfo),
     Stage            = BuildStage(gameInfo),
     Started          = gameInfo.Started,
     StartTime        = gameInfo.StartTime.ToLocalTime()
 };
Example #2
0
        private static string BuildRules(SI.GameServer.Contract.GameInfo gameInfo)
        {
            var rules = gameInfo.Rules;
            var sb    = new StringBuilder();

            if (gameInfo.Mode == SIEngine.GameModes.Sport)
            {
                if (sb.Length > 0)
                {
                    sb.Append(", ");
                }

                sb.Append(Resources.GameRule_Sport);
            }

            if ((rules & GameRules.FalseStart) == 0)
            {
                if (sb.Length > 0)
                {
                    sb.Append(", ");
                }

                sb.Append(Resources.GameRule_NoFalseStart);
            }

            if ((rules & GameRules.Oral) > 0)
            {
                if (sb.Length > 0)
                {
                    sb.Append(", ");
                }

                sb.Append(Resources.GameRule_Oral);
            }

            if ((rules & GameRules.IgnoreWrong) > 0)
            {
                if (sb.Length > 0)
                {
                    sb.Append(", ");
                }

                sb.Append(Resources.GameRule_IgnoreWrong);
            }

            return(sb.ToString());
        }
Example #3
0
        private static string BuildStage(SI.GameServer.Contract.GameInfo gameInfo)
        {
            switch (gameInfo.Stage)
            {
            case GameStages.Created:
                return(Resources.GameStage_Created);

            case GameStages.Started:
                return(Resources.GameStage_Started);

            case GameStages.Round:
                return(Resources.GameStage_Round + ": " + gameInfo.StageName);

            case GameStages.Final:
                return(Resources.GameStage_Final);

            case GameStages.Finished:
            default:
                return(Resources.GameStage_Finished);
            }
        }