public Player(Mahjongs.Player source) { index = source.index; discardedTiles = source.discardedTiles.Select(_ => _.index).ToArray(); discardPile = source.discardPile.Select(_ => _.index).ToArray(); doubleRiichi = source.DoubleRiichi; hand = source.hand.ToSerializable(); openRiichi = source.OpenRiichi; riichiIndexInDiscardPile = source.RiichiIndexInDiscardPile ?? -1; riichiIndexInTotalDiscardTiles = source.RiichiIndexInTotalDiscardTiles ?? -1; wind = source.wind; furitenByOtherPlayers = source.FuritenByOtherPlayers; 一発 = source.一発; }
readonly public Mahjongs.Hand Deserialzie(Mahjongs.Player owner) { return(Mahjongs.Hand.FromSerializable(this, owner)); }