public GameMap(Room room, MapModel mapModel) { Room = room; MapModel = mapModel; DiagonalEnabled = true; CoordinatedItems = new Dictionary <Point, List <RoomItem> >(); CoordinatedUsers = new Dictionary <Point, List <RoomUser> >(); Map = new SqState[MapModel.MaxX, MapModel.MaxY]; ItemHeightMap = new double[MapModel.MaxX, MapModel.MaxY]; }
internal SquarePoint(int pX, int pY, int pTargetX, int pTargetY, SqState SquareData, bool pOverride) { mX = pX; mY = pY; mSquareData = SquareData; mInUse = true; mOverride = pOverride; mDistance = 0.0; mLastStep = (pX == pTargetX && pY == pTargetY); mDistance = DreamPathfinder.GetDistance(pX, pY, pTargetX, pTargetY); }
public RoomUser(int userId, int x, int y, double z, int rot, User user, Room room) { this.UserId = userId; this.X = x; this.Y = y; this.Z = z; this.Rot = rot; this.TargetX = x; this.TargetY = y; this.SetX = x; this.SetY = y; this.SetZ = z; this.IsWalking = false; this.User = user; this.Room = room; this.Statusses = new Dictionary <string, string>(); this.CurrentSqState = SqState.WalkableLast; this.SetStep = false; }
internal void GenerateMaps() { Map = new SqState[MapModel.MaxX, MapModel.MaxY]; ItemHeightMap = new double[MapModel.MaxX, MapModel.MaxY]; for (int i = 0; i < MapModel.MaxX; i++) { for (int j = 0; j < MapModel.MaxY; j++) { SetDefaultValue(i, j); } } List <RoomUser> roomUsers; lock (Room.Players) { roomUsers = Room.Players.Values.ToList(); } foreach (RoomUser user in roomUsers) { user.CurrentSqState = Map[user.X, user.Y]; Map[user.X, user.Y] = SqState.Closed; } List <RoomItem> roomItems; lock (Room.RoomItemManager.RoomItems) { roomItems = Room.RoomItemManager.RoomItems.Values.ToList(); } foreach (RoomItem item in roomItems) { AddItemToMap(item); } Map[MapModel.DoorX, MapModel.DoorY] = SqState.WalkableLast; }