From eda22bcd9683f3a94e0744da60d23808272c627f Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 13 八月 2018 17:28:00 +0800
Subject: [PATCH] 1528 冰晶矿脉里面角色死亡复活后怪物血条位置显示异常
---
Core/NetworkPackage/GameNetSystem.cs | 582 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 291 insertions(+), 291 deletions(-)
diff --git a/Core/NetworkPackage/GameNetSystem.cs b/Core/NetworkPackage/GameNetSystem.cs
index fd990ae..a45cfab 100644
--- a/Core/NetworkPackage/GameNetSystem.cs
+++ b/Core/NetworkPackage/GameNetSystem.cs
@@ -1,291 +1,291 @@
-锘縰sing UnityEngine;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using Snxxz.UI;
-
-public class GameNetSystem : Singleton<GameNetSystem>
-{
- NetUpdateBehaviour m_NetUpdateBehaviour;
- NeverConnectState neverConnectState;
- AccountLoginState accountLoginState;
- CreateOrSelectRoleState createOrSelectRoleState;
- RoleLoginState roleLoginState;
- ConnectedState connectedState;
- DisconnectState disconnectState;
-
- NetState m_NetState;
- public NetState netState {
- get { return this.m_NetState; }
- set {
- if (this.m_NetState != value)
- {
- switch (m_NetState)
- {
- case NetState.NerverConnect:
- neverConnectState.OnExit();
- break;
- case NetState.AccountLogin:
- accountLoginState.OnExit();
- break;
- case NetState.CreateOrSelectRole:
- createOrSelectRoleState.OnExit();
- break;
- case NetState.RoleLogin:
- roleLoginState.OnExit();
- break;
- case NetState.Connected:
- connectedState.OnExit();
- break;
- case NetState.DisConnected:
- disconnectState.OnExit();
- break;
- }
-
- this.m_NetState = value;
- switch (m_NetState)
- {
- case NetState.NerverConnect:
- neverConnectState.OnEnter();
- break;
- case NetState.AccountLogin:
- accountLoginState.OnEnter();
- break;
- case NetState.CreateOrSelectRole:
- createOrSelectRoleState.OnEnter();
- break;
- case NetState.RoleLogin:
- roleLoginState.OnEnter();
- break;
- case NetState.Connected:
- connectedState.OnEnter();
- break;
- case NetState.DisConnected:
- disconnectState.OnEnter();
- break;
- }
- }
- }
- }
-
- private ClientSocketController socketController;
- public bool socketConnected { get { return socketController == null ? false : socketController.Connected; } }
-
- Queue<GameNetPackBasic> packQueue = new Queue<GameNetPackBasic>();
-
- DateTime m_LastPackageTime;
- public DateTime lastPackageTime { get { return m_LastPackageTime; } }
-
- Action onConnected;
- public event Action disconnectEvent;
- public event Action connectedEvent;
-
- public GameNetSystem()
- {
- var gameObject = new GameObject("NetUpdateBehaviour");
- GameObject.DontDestroyOnLoad(gameObject);
- m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
- m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
-
- neverConnectState = gameObject.AddComponent<NeverConnectState>();
- accountLoginState = gameObject.AddComponent<AccountLoginState>();
- createOrSelectRoleState = gameObject.AddComponent<CreateOrSelectRoleState>();
- roleLoginState = gameObject.AddComponent<RoleLoginState>();
- connectedState = gameObject.AddComponent<ConnectedState>();
- disconnectState = gameObject.AddComponent<DisconnectState>();
-
- netState = NetState.NerverConnect;
- }
-
- public void BeginConnectGameServer(string _ip, int _port, Action _onConnected)
- {
- if (socketController != null && socketController.Connected)
- {
- socketController.CloseConnect();
- }
-
- socketController = new ClientSocketController();
-
- GameNetEncode.ResetEncodeIndex();
- lock (packQueue)
- {
- packQueue.Clear();
- }
-
- onConnected = _onConnected;
- socketController.Connect(_ip, _port, OnSocketConnected);
- }
-
- public void SendInfo(GameNetPackBasic vNetPack)
- {
- if (socketController != null)
- {
- socketController.SendInfo(vNetPack);
- }
- }
-
- public void SendInfo(byte[] vBytes)
- {
- if (socketController != null)
- {
- socketController.SendInfo(vBytes);
- }
- }
-
- public void PushPackage(GameNetPackBasic _package)
- {
- if (_package == null)
- {
- return;
- }
-
- m_LastPackageTime = DateTime.Now;
-
- lock (packQueue)
- {
- lock (_package)
- {
- if (PackageRegedit.Contain(_package.cmd))
- {
- packQueue.Enqueue(_package);
- }
- else
- {
- DesignDebug.LogWarningFormat("鏁版嵁鍖�(cmd:{0})鏈櫥璁帮紒", _package.cmd);
- }
- }
-
- }
-
- }
-
- public void Disconnect()
- {
- try
- {
- if (socketController != null)
- {
- socketController.CloseConnect();
- }
- GameNetEncode.ResetEncodeIndex();
-
- lock (packQueue)
- {
- packQueue.Clear();
- }
- }
- catch (Exception ex)
- {
- Debug.Log(ex);
- }
- finally
- {
- netState = NetState.DisConnected;
- }
-
- }
-
- public void Reconnect()
- {
- try
- {
- if (socketController != null)
- {
- socketController.CloseConnect();
- }
- GameNetEncode.ResetEncodeIndex();
- lock (packQueue)
- {
- packQueue.Clear();
- }
- }
- catch (Exception ex)
- {
- Debug.Log(ex);
- }
- finally
- {
- netState = NetState.AccountLogin;
-
- var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
- loginModel.busy = false;
- loginModel.ReAccountLogin();
- }
- }
-
- public void LoginOut()
- {
- try
- {
- if (socketController != null)
- {
- socketController.CloseConnect();
- }
- GameNetEncode.ResetEncodeIndex();
- lock (packQueue)
- {
- packQueue.Clear();
- }
- }
- catch (Exception ex)
- {
- Debug.Log(ex);
- }
- finally
- {
- netState = NetState.NerverConnect;
- var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
- loginModel.busy = false;
- WindowJumpMgr.Instance.ClearJumpData();
- StageManager.Instance.LoadLoginStage();
- NetLinkWin.Hide();
- }
-
- }
-
- public void OnAccountLogin()
- {
- netState = NetState.AccountLogin;
- }
-
- public void OnEnterWorld()
- {
- netState = NetState.RoleLogin;
- }
-
- void OnUpdate()
- {
- lock (packQueue)
- {
- if (packQueue != null)
- {
- while (packQueue.Count > 0)
- {
- PackageRegedit.Distribute(packQueue.Dequeue());
- }
- }
- }
-
- }
-
- private void OnSocketConnected()
- {
- m_LastPackageTime = DateTime.Now;
- if (onConnected != null)
- {
- onConnected();
- onConnected = null;
- }
- }
-
- public enum NetState
- {
- NerverConnect = 1,
- AccountLogin = 2,
- CreateOrSelectRole = 3,
- RoleLogin = 4,
- Connected = 5,
- DisConnected = 6,
- }
-
-}
+锘縰sing UnityEngine;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Snxxz.UI;
+
+public class GameNetSystem : Singleton<GameNetSystem>
+{
+ NetUpdateBehaviour m_NetUpdateBehaviour;
+ NeverConnectState neverConnectState;
+ AccountLoginState accountLoginState;
+ CreateOrSelectRoleState createOrSelectRoleState;
+ RoleLoginState roleLoginState;
+ ConnectedState connectedState;
+ DisconnectState disconnectState;
+
+ NetState m_NetState;
+ public NetState netState {
+ get { return this.m_NetState; }
+ set {
+ if (this.m_NetState != value)
+ {
+ switch (m_NetState)
+ {
+ case NetState.NerverConnect:
+ neverConnectState.OnExit();
+ break;
+ case NetState.AccountLogin:
+ accountLoginState.OnExit();
+ break;
+ case NetState.CreateOrSelectRole:
+ createOrSelectRoleState.OnExit();
+ break;
+ case NetState.RoleLogin:
+ roleLoginState.OnExit();
+ break;
+ case NetState.Connected:
+ connectedState.OnExit();
+ break;
+ case NetState.DisConnected:
+ disconnectState.OnExit();
+ break;
+ }
+
+ this.m_NetState = value;
+ switch (m_NetState)
+ {
+ case NetState.NerverConnect:
+ neverConnectState.OnEnter();
+ break;
+ case NetState.AccountLogin:
+ accountLoginState.OnEnter();
+ break;
+ case NetState.CreateOrSelectRole:
+ createOrSelectRoleState.OnEnter();
+ break;
+ case NetState.RoleLogin:
+ roleLoginState.OnEnter();
+ break;
+ case NetState.Connected:
+ connectedState.OnEnter();
+ break;
+ case NetState.DisConnected:
+ disconnectState.OnEnter();
+ break;
+ }
+ }
+ }
+ }
+
+ private ClientSocketController socketController;
+ public bool socketConnected { get { return socketController == null ? false : socketController.Connected; } }
+
+ Queue<GameNetPackBasic> packQueue = new Queue<GameNetPackBasic>();
+
+ DateTime m_LastPackageTime;
+ public DateTime lastPackageTime { get { return m_LastPackageTime; } }
+
+ Action onConnected;
+ public event Action disconnectEvent;
+ public event Action connectedEvent;
+
+ public GameNetSystem()
+ {
+ var gameObject = new GameObject("NetUpdateBehaviour");
+ GameObject.DontDestroyOnLoad(gameObject);
+ m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
+ m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
+
+ neverConnectState = gameObject.AddComponent<NeverConnectState>();
+ accountLoginState = gameObject.AddComponent<AccountLoginState>();
+ createOrSelectRoleState = gameObject.AddComponent<CreateOrSelectRoleState>();
+ roleLoginState = gameObject.AddComponent<RoleLoginState>();
+ connectedState = gameObject.AddComponent<ConnectedState>();
+ disconnectState = gameObject.AddComponent<DisconnectState>();
+
+ netState = NetState.NerverConnect;
+ }
+
+ public void BeginConnectGameServer(string _ip, int _port, Action _onConnected)
+ {
+ if (socketController != null && socketController.Connected)
+ {
+ socketController.CloseConnect();
+ }
+
+ socketController = new ClientSocketController();
+
+ GameNetEncode.ResetEncodeIndex();
+ lock (packQueue)
+ {
+ packQueue.Clear();
+ }
+
+ onConnected = _onConnected;
+ socketController.Connect(_ip, _port, OnSocketConnected);
+ }
+
+ public void SendInfo(GameNetPackBasic vNetPack)
+ {
+ if (socketController != null)
+ {
+ socketController.SendInfo(vNetPack);
+ }
+ }
+
+ public void SendInfo(byte[] vBytes)
+ {
+ if (socketController != null)
+ {
+ socketController.SendInfo(vBytes);
+ }
+ }
+
+ public void PushPackage(GameNetPackBasic _package)
+ {
+ if (_package == null)
+ {
+ return;
+ }
+
+ m_LastPackageTime = DateTime.Now;
+
+ lock (packQueue)
+ {
+ lock (_package)
+ {
+ if (PackageRegedit.Contain(_package.cmd))
+ {
+ packQueue.Enqueue(_package);
+ }
+ else
+ {
+ DesignDebug.LogWarningFormat("鏁版嵁鍖�(cmd:{0})鏈櫥璁帮紒", _package.cmd);
+ }
+ }
+
+ }
+
+ }
+
+ public void Disconnect()
+ {
+ try
+ {
+ if (socketController != null)
+ {
+ socketController.CloseConnect();
+ }
+ GameNetEncode.ResetEncodeIndex();
+
+ lock (packQueue)
+ {
+ packQueue.Clear();
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.Log(ex);
+ }
+ finally
+ {
+ netState = NetState.DisConnected;
+ }
+
+ }
+
+ public void Reconnect()
+ {
+ try
+ {
+ if (socketController != null)
+ {
+ socketController.CloseConnect();
+ }
+ GameNetEncode.ResetEncodeIndex();
+ lock (packQueue)
+ {
+ packQueue.Clear();
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.Log(ex);
+ }
+ finally
+ {
+ netState = NetState.AccountLogin;
+
+ var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
+ loginModel.busy = false;
+ loginModel.ReAccountLogin();
+ }
+ }
+
+ public void LoginOut()
+ {
+ try
+ {
+ if (socketController != null)
+ {
+ socketController.CloseConnect();
+ }
+ GameNetEncode.ResetEncodeIndex();
+ lock (packQueue)
+ {
+ packQueue.Clear();
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.Log(ex);
+ }
+ finally
+ {
+ netState = NetState.NerverConnect;
+ var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
+ loginModel.busy = false;
+ WindowJumpMgr.Instance.ClearJumpData();
+ StageManager.Instance.LoadLoginStage();
+ NetLinkWin.Hide();
+ }
+
+ }
+
+ public void OnAccountLogin()
+ {
+ netState = NetState.AccountLogin;
+ }
+
+ public void OnEnterWorld()
+ {
+ netState = NetState.RoleLogin;
+ }
+
+ void OnUpdate()
+ {
+ lock (packQueue)
+ {
+ if (packQueue != null)
+ {
+ while (packQueue.Count > 0)
+ {
+ PackageRegedit.Distribute(packQueue.Dequeue());
+ }
+ }
+ }
+
+ }
+
+ private void OnSocketConnected()
+ {
+ m_LastPackageTime = DateTime.Now;
+ if (onConnected != null)
+ {
+ onConnected();
+ onConnected = null;
+ }
+ }
+
+ public enum NetState
+ {
+ NerverConnect = 1,
+ AccountLogin = 2,
+ CreateOrSelectRole = 3,
+ RoleLogin = 4,
+ Connected = 5,
+ DisConnected = 6,
+ }
+
+}
--
Gitblit v1.8.0