示例#1
0
        static public DOBoard MapTo(this Board data)
        {
            if (!data.IsGameOver && data.RedPlayer != null)
            {
                data.UpdateRemainTime(data.RedPlayer, DateTime.Now);
            }

            if (!data.IsGameOver && data.BlackPlayer != null)
            {
                data.UpdateRemainTime(data.BlackPlayer, DateTime.Now);
            }

            DOBoard result = new DOBoard
            {
                Id          = data.Id,
                Owner       = data.Owner?.MapToPlayerInBoard(),
                RedPlayer   = data.RedPlayer?.MapToPlayerInBoard(),
                BlackPlayer = data.BlackPlayer?.MapToPlayerInBoard(),
                Status      = data.Status,
                TotalTime   = data.TotalTime,
                AddingTime  = 0,
                Result      = data.Result,
                Turn        = data.Turn,
                Items       = new List <DOItem>(),
            };

            if (data.Items != null)
            {
                data.Items.ForEach(item =>
                {
                    result.Items.Add(item.MapTo(false));
                });
            }
            return(result);
        }
示例#2
0
 static public DOBoardShortcut MapToShortcut(this DOBoard data)
 {
     return(new DOBoardShortcut
     {
         Id = data.Id,
         RedPlayerName = data.RedPlayer?.Name,
         BlackPlayerName = data.BlackPlayer?.Name
     });
 }