예제 #1
0
        private void ParseFullMap(Internal.ByteArray message)
        {
            UnityEngine.Vector3Int position = message.ReadPosition();

            Player.StopAutowalk(true);
            CreatureStorage.MarkAllOpponentsVisible(false);
            MiniMapStorage.Position = position;
            WorldMapStorage.ResetMap();
            WorldMapStorage.InvalidateOnscreenMessages();
            WorldMapStorage.Position = position;

            ReadArea(message, 0, 0, Constants.MapSizeX - 1, Constants.MapSizeY - 1);
            WorldMapStorage.Valid = true;
        }
예제 #2
0
        private void ParseFullMap(Internal.CommunicationStream message)
        {
            UnityEngine.Vector3Int position = message.ReadPosition();

            Player.StopAutowalk(true);
            CreatureStorage.MarkAllOpponentsVisible(false);
            MiniMapStorage.Position = position;
            WorldMapStorage.ResetMap();
            WorldMapStorage.InvalidateOnscreenMessages();
            WorldMapStorage.Position = position;

            ProtocolGameExtentions.ReadArea(message, 0, 0, Constants.MapSizeX - 1, Constants.MapSizeY - 1);
            WorldMapStorage.Valid        = true;
            WorldMapStorage.CacheRefresh = true;
        }
예제 #3
0
        private void ParseWorldEntered(Internal.ByteArray message)
        {
            bool hasLoginPendingFeature = OpenTibiaUnity.GameManager.GetFeature(GameFeature.GameLoginPending);

            if ((hasLoginPendingFeature && m_ConnectionState == ConnectionState.Pending) ||
                (!hasLoginPendingFeature && m_ConnectionState > ConnectionState.Disconnected && m_ConnectionState != ConnectionState.Game))
            {
                MiniMapStorage.Position  = Vector3Int.zero;
                WorldMapStorage.Position = Vector3Int.zero;
                WorldMapStorage.ResetMap();
                CreatureStorage.Reset();
                WorldMapStorage.Valid = false;
            }

            SetConnectionState(ConnectionState.Game);
        }