public bool MovePlayer( RoomKey fromRoomKey, RoomKey toRoomKey, Point3d toRoomPosition, float toRoomAngle, int playerID) { bool success = false; RequestRoomCache fromRoom = GetRequestRoomCache(fromRoomKey); Player player = fromRoom.GetPlayer(m_dbContext, playerID); if (player != null) { if (fromRoomKey != toRoomKey) { fromRoom.RemovePlayer(playerID); GetRequestRoomCache(toRoomKey).AddPlayer(player); player.RoomKey.Set(toRoomKey); } player.Position.Set(toRoomPosition); player.Angle = toRoomAngle; success = true; } return(success); }
private RequestRoomCache GetRequestRoomCache( RoomKey roomKey) { RequestRoomCache requestRoomCache = null; if (m_requestRoomCache != null) { if (!m_requestRoomCache.TryGetValue(roomKey, out requestRoomCache)) { requestRoomCache = new RequestRoomCache(roomKey); m_requestRoomCache.Add(requestRoomCache.RoomKey, requestRoomCache); } } else { requestRoomCache = new RequestRoomCache(roomKey); m_requestRoomCache = new Dictionary <RoomKey, RequestRoomCache>(); m_requestRoomCache.Add(requestRoomCache.RoomKey, requestRoomCache); } return(requestRoomCache); }
private RequestRoomCache GetRequestRoomCache( RoomKey roomKey) { RequestRoomCache requestRoomCache = null; if (m_requestRoomCache != null) { if (!m_requestRoomCache.TryGetValue(roomKey, out requestRoomCache)) { requestRoomCache = new RequestRoomCache(roomKey); m_requestRoomCache.Add(requestRoomCache.RoomKey, requestRoomCache); } } else { requestRoomCache = new RequestRoomCache(roomKey); m_requestRoomCache= new Dictionary<RoomKey, RequestRoomCache>(); m_requestRoomCache.Add(requestRoomCache.RoomKey, requestRoomCache); } return requestRoomCache; }