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);
        }
Example #3
0
        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;
        }