// 角色下线 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; } }
// 角色离线 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); }