// 角色下线
    private void OnCharacterOffline(SocketModel model)
    {
        RespCharacterOffline resp = SerializeUtil.Deserialize <RespCharacterOffline>(model.message);

        if (resp.msgtips == (uint)MsgTips.CharOfflineSuccess)
        {
            Battle.instance.Clear();
            Loading.instance.LoadScene("SelectRole");

            DataCache.instance.currentCharacter = null;
        }
    }
Example #2
0
    // 角色离线
    private void OnCharacterOffline(UserToken token, SocketModel model)
    {
        ReqCharacterOffline req = SerializeUtil.Deserialize <ReqCharacterOffline>(model.message);

        RespCharacterOffline resp = new RespCharacterOffline();

        // 移除缓存
        if (CacheManager.instance.IsCharOnline(token.characterid))
        {
            CacheManager.instance.CharOffline(token.characterid);
            resp.msgtips = (uint)MsgTips.CharOfflineSuccess;
        }

        // 离开世界
        //if(Scene.instance.players.ContainsKey(token.characterid))
        //{
        //    Scene.instance.LeaveWorld(token.characterid);
        //}

        CacheManager.instance.RemoveBattleData(token.characterid);

        // 给当前玩家发离线应答
        NetworkManager.Send(token, (int)MsgID.CHAR_OFFLINE_SRES, resp);
    }