Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 • committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,64 @@
namespace Server.Engines.Mahjong
{
public class MahjongDealerIndicator
{
public MahjongDealerIndicator(MahjongGame game, Point2D position, MahjongPieceDirection direction, MahjongWind wind)
{
Game = game;
Position = position;
Direction = direction;
Wind = wind;
}
public MahjongDealerIndicator(MahjongGame game, GenericReader reader)
{
Game = game;
int version = reader.ReadInt();
Position = reader.ReadPoint2D();
Direction = (MahjongPieceDirection)reader.ReadInt();
Wind = (MahjongWind)reader.ReadInt();
}
public MahjongGame Game{ get; }
public Point2D Position{ get; private set; }
public MahjongPieceDirection Direction{ get; private set; }
public MahjongWind Wind{ get; private set; }
public MahjongPieceDim Dimensions => GetDimensions(Position, Direction);
public static MahjongPieceDim GetDimensions(Point2D position, MahjongPieceDirection direction)
{
if (direction == MahjongPieceDirection.Up || direction == MahjongPieceDirection.Down)
return new MahjongPieceDim(position, 40, 20);
return new MahjongPieceDim(position, 20, 40);
}
public void Move(Point2D position, MahjongPieceDirection direction, MahjongWind wind)
{
MahjongPieceDim dim = GetDimensions(position, direction);
if (!dim.IsValid())
return;
Position = position;
Direction = direction;
Wind = wind;
Game.Players.SendGeneralPacket(true, true);
}
public void Save(GenericWriter writer)
{
writer.Write(0); // version
writer.Write(Position);
writer.Write((int)Direction);
writer.Write((int)Wind);
}
}
}