27个文件已修改
82 文件已重命名
20个文件已删除
18 文件已复制
10个文件已添加
| | |
| | | |
| | | ShaderUtility.WarmUpAll(); |
| | | //SpeechTranslate.Instance.RequestGetToken(); |
| | | UIManager.Instance.OpenWindow<LaunchBackGroundWin>(); |
| | | |
| | | |
| | | |
| | | var launchWin = UIManager.Instance.GetUI<LaunchWin>(); |
| | |
| | | |
| | | public class PlayerBaseData |
| | | { |
| | | public ushort mainServerMapIdRecord = 0; |
| | | |
| | | public string AccID; //_KEY_i_帐号名, 该角色所在的帐号的用户名 |
| | | public uint PlayerID; //_IDT_ |
| | | public string PlayerName; //size = 14 |
| | |
| | | } |
| | | } |
| | | |
| | | public void UpdateData(int temp/*H0102_tagCDBPlayer _serverInfo*/) |
| | | { |
| | | // if (_serverInfo.socketType == ServerType.Main) |
| | | // { |
| | | // AccID = _serverInfo.AccID; |
| | | // PlayerID = _serverInfo.PlayerID; |
| | | // PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", ""); |
| | | // GMLevel = _serverInfo.GMLevel; |
| | | // Job = _serverInfo.Job; |
| | | // LV = _serverInfo.LV; |
| | | // ExpPoint = _serverInfo.ExpPoint; |
| | | // TotalExp = _serverInfo.TotalExp; |
| | | // FamilyId = _serverInfo.Family; |
| | | // FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", ""); |
| | | // diamond = _serverInfo.Gold; |
| | | // bindDiamond = _serverInfo.GoldPaper; |
| | | // copper = _serverInfo.Silver; |
| | | // MapID = _serverInfo.MapID; |
| | | // mainServerMapIdRecord = MapID; |
| | | // PosX = _serverInfo.PosX; |
| | | // PosY = _serverInfo.PosY; |
| | | // FreePoint = _serverInfo.FreePoint; |
| | | // FreeSkillPoint = _serverInfo.FreeSkillPoint; |
| | | // STR = _serverInfo.STR; |
| | | // PNE = _serverInfo.PNE; |
| | | // PHY = _serverInfo.PHY; |
| | | // CON = _serverInfo.CON; |
| | | // Setting = _serverInfo.Setting; |
| | | // FBID = _serverInfo.FBID; |
| | | // ExAttr1 = _serverInfo.ExAttr1; |
| | | // teamAutoOperateFlag = _serverInfo.ExAttr2; |
| | | // dungeonLineId = (int)_serverInfo.ExAttr3 % 1000; |
| | | // dungeonMapId = (int)_serverInfo.ExAttr3 / 1000; |
| | | // shield = _serverInfo.ExAttr4; |
| | | // CrossServerFlag = _serverInfo.ExAttr5; |
| | | // realmLevel = _serverInfo.OfficialRank; |
| | | // VIPLv = _serverInfo.VIPLv; |
| | | // copperExtend = _serverInfo.ExAttr6; |
| | | // sp = _serverInfo.ExAttr7; |
| | | // spExtend = _serverInfo.ExAttr8; |
| | | // bubbleId = _serverInfo.ExAttr10; |
| | | // ExAttr11 = _serverInfo.ExAttr11; |
| | | // ExAttr16 = _serverInfo.ExAttr16; |
| | | // ServerGroupId = _serverInfo.ExAttr13; |
| | | // faction = _serverInfo.Faction; |
| | | // coinPointTotal = _serverInfo.ChangeCoinPointTotal; |
| | | // equipShowSwitch = _serverInfo.EquipShowSwitch; |
| | | // mapRealmSelect = (int)_serverInfo.ExAttr18; |
| | | // leaveFamilyTime = (int)_serverInfo.ExAttr19; |
| | | // face = (int)_serverInfo.Face; |
| | | // facePic = (int)_serverInfo.FacePic; |
| | | // } |
| | | // else |
| | | // { |
| | | // PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", ""); |
| | | // MapID = _serverInfo.MapID; |
| | | // dungeonLineId = (int)_serverInfo.ExAttr3 % 1000; |
| | | // dungeonMapId = (int)_serverInfo.ExAttr3 / 1000; |
| | | // FBID = _serverInfo.FBID; |
| | | // PosX = _serverInfo.PosX; |
| | | // PosY = _serverInfo.PosY; |
| | | // } |
| | | |
| | | // if (CrossServerUtility.IsCrossServer()) |
| | | // { |
| | | // if (_serverInfo.socketType == ServerType.CrossSever) |
| | | // { |
| | | // HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue; |
| | | // AttackMode = _serverInfo.AttackMode; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue; |
| | | // AttackMode = _serverInfo.AttackMode; |
| | | // } |
| | | |
| | | // if (PlayerDatas.Instance.hero != null) |
| | | // { |
| | | // PlayerDatas.Instance.hero.ActorInfo.familyID = FamilyId; |
| | | // if (CrossServerUtility.IsCrossServer()) |
| | | // { |
| | | // if (_serverInfo.socketType == ServerType.CrossSever) |
| | | // { |
| | | // PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP); |
| | | // } |
| | | // } |
| | | |
| | | public void UpdateData(H0102_tagCDBPlayer _serverInfo) |
| | | {
|
| | |
|
| | | AccID = _serverInfo.AccID;
|
| | | PlayerID = _serverInfo.PlayerID;
|
| | | PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
|
| | | GMLevel = _serverInfo.GMLevel;
|
| | | Job = _serverInfo.Job;
|
| | | LV = _serverInfo.LV;
|
| | | ExpPoint = _serverInfo.ExpPoint;
|
| | | TotalExp = _serverInfo.TotalExp;
|
| | | FamilyId = _serverInfo.Family;
|
| | | FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", "");
|
| | | diamond = _serverInfo.Gold;
|
| | | bindDiamond = _serverInfo.GoldPaper;
|
| | | copper = _serverInfo.Silver;
|
| | | MapID = _serverInfo.MapID;
|
| | | PosX = _serverInfo.PosX;
|
| | | PosY = _serverInfo.PosY;
|
| | | FreePoint = _serverInfo.FreePoint;
|
| | | FreeSkillPoint = _serverInfo.FreeSkillPoint;
|
| | | STR = _serverInfo.STR;
|
| | | PNE = _serverInfo.PNE;
|
| | | PHY = _serverInfo.PHY;
|
| | | CON = _serverInfo.CON;
|
| | | Setting = _serverInfo.Setting;
|
| | | FBID = _serverInfo.FBID;
|
| | | ExAttr1 = _serverInfo.ExAttr1;
|
| | | teamAutoOperateFlag = _serverInfo.ExAttr2;
|
| | | dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
|
| | | dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
|
| | | shield = _serverInfo.ExAttr4;
|
| | | CrossServerFlag = _serverInfo.ExAttr5;
|
| | | realmLevel = _serverInfo.OfficialRank;
|
| | | VIPLv = _serverInfo.VIPLv;
|
| | | copperExtend = _serverInfo.ExAttr6;
|
| | | sp = _serverInfo.ExAttr7;
|
| | | spExtend = _serverInfo.ExAttr8;
|
| | | bubbleId = _serverInfo.ExAttr10;
|
| | | ExAttr11 = _serverInfo.ExAttr11;
|
| | | ExAttr16 = _serverInfo.ExAttr16;
|
| | | ServerGroupId = _serverInfo.ExAttr13;
|
| | | faction = _serverInfo.Faction;
|
| | | coinPointTotal = _serverInfo.ChangeCoinPointTotal;
|
| | | equipShowSwitch = _serverInfo.EquipShowSwitch;
|
| | | mapRealmSelect = (int)_serverInfo.ExAttr18;
|
| | | leaveFamilyTime = (int)_serverInfo.ExAttr19;
|
| | | face = (int)_serverInfo.Face;
|
| | | facePic = (int)_serverInfo.FacePic;
|
| | |
|
| | | HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
|
| | | AttackMode = _serverInfo.AttackMode;
|
| | |
|
| | | } |
| | | |
| | | // 比如跨服数据更新后,玩家回到本服会同步新数据,需更新 |
| | | // 部分情况需要服务端非重登情况下同步所有数据 |
| | | public void UpdateData(/*HA112_tagMCDBPlayer serverInfo*/) |
| | | { |
| | | // AccID = serverInfo.AccID; |
| | |
| | | // bindDiamond = serverInfo.GoldPaper; |
| | | // copper = serverInfo.Silver; |
| | | // MapID = serverInfo.MapID; |
| | | // if (serverInfo.socketType == ServerType.Main) |
| | | // { |
| | | // mainServerMapIdRecord = MapID; |
| | | // } |
| | | // PosX = serverInfo.PosX; |
| | | // PosY = serverInfo.PosY; |
| | | // FreePoint = serverInfo.FreePoint; |
| | |
| | | |
| | | public class PlayerDatas : Singleton<PlayerDatas> |
| | | { |
| | | // public GA_Hero hero = null; |
| | | |
| | | // public H0309_tagPlayerLoginInfo loginInfo; |
| | | public uint PlayerId { get { return baseData.PlayerID; } } |
| | | |
| | | PlayerBaseData m_Base = new PlayerBaseData(); |
| | |
| | | public uint worldExpRate { get; private set; } |
| | | public List<uint> maliciousAtkPlayer = new List<uint>();// 发动恶意攻击的玩家列表 |
| | | private int m_Tick; |
| | | public uint crossServerTick; |
| | | public uint changeLV = 0; //当前升x级 |
| | | |
| | | public event Action worldLevelUpdateEvent; |
| | | public event Action<E_AttackMode> OnSwitchAttackMode; |
| | | |
| | | public event Action playerDataUpdateEvent; // 无区别更新,慎用 |
| | | public event Action<PlayerDataType> playerDataRefreshEvent; |
| | |
| | | |
| | | private Dictionary<PlayerDataType, ulong> PlayerDataDict = new Dictionary<PlayerDataType, ulong>(); |
| | | |
| | | public void InitPlayerData(/*H0102_tagCDBPlayer data*/) |
| | | { |
| | | // baseData.UpdateData(data); |
| | | // if (playerDataUpdateEvent != null) |
| | | // { |
| | | // playerDataUpdateEvent(); |
| | | // } |
| | | public void InitPlayerData(H0102_tagCDBPlayer data) |
| | | {
|
| | | baseData.UpdateData(data);
|
| | | if (playerDataUpdateEvent != null)
|
| | | {
|
| | | playerDataUpdateEvent();
|
| | | } |
| | | } |
| | | |
| | | public void UpdatePlayerData(/*HA112_tagMCDBPlayer data*/) |
| | |
| | | |
| | | public void FightRefreshPlayerHp(ulong hp) |
| | | { |
| | | RefreshProperty(false, PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue)); |
| | | RefreshProperty(PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue)); |
| | | |
| | | if (playerDataUpdateEvent != null) |
| | | { |
| | |
| | | // } |
| | | } |
| | | |
| | | public void RefreshProperty(bool isMainServerData, PlayerDataType _type, uint value, uint valueEx) |
| | | public void RefreshProperty(PlayerDataType _type, uint value, uint valueEx) |
| | | { |
| | | switch (_type) |
| | | { |
| | |
| | | break; |
| | | case PlayerDataType.MapID: |
| | | baseData.MapID = (ushort)value; |
| | | if (isMainServerData) |
| | | { |
| | | baseData.mainServerMapIdRecord = baseData.MapID; |
| | | } |
| | | break; |
| | | case PlayerDataType.PosX: |
| | | baseData.PosX = (ushort)value;//角色坐标x |
| | |
| | | // } |
| | | break; |
| | | case PlayerDataType.HP: |
| | | if (CrossServerUtility.IsCrossServer()) |
| | | { |
| | | if (!isMainServerData) |
| | | { |
| | | baseData.HP = value + valueEx * Constants.ExpPointValue; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | baseData.HP = value + valueEx * Constants.ExpPointValue; |
| | | } |
| | | baseData.HP = value + valueEx * Constants.ExpPointValue; |
| | | break; |
| | | case PlayerDataType.MaxMP: |
| | | extersion.MaxMP = (int)value; |
| | |
| | | break; |
| | | case PlayerDataType.Tick: |
| | | #if UNITY_EDITOR |
| | | Debug.LogFormat("---- 收到服务端Tick: {0}", value); |
| | | if (isMainServerData) |
| | | { |
| | | if (extersion.Tick != 0) |
| | | { |
| | | uint _curWorldTick = GetWorldTick(); |
| | | uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value; |
| | | Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue); |
| | | if (_diffValue > 5000) |
| | | { |
| | | Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>"); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (crossServerTick != 0) |
| | | { |
| | | uint _curWorldTick = GetWorldTick(); |
| | | uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value; |
| | | Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue); |
| | | if (_diffValue > 5000) |
| | | { |
| | | Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>"); |
| | | } |
| | | } |
| | | Debug.LogFormat("---- 收到服务端Tick: {0}", value);
|
| | | if (extersion.Tick != 0)
|
| | | {
|
| | | uint _curWorldTick = GetWorldTick();
|
| | | uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
|
| | | Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
|
| | | if (_diffValue > 5000)
|
| | | {
|
| | | Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
|
| | | }
|
| | | } |
| | | #endif |
| | | if (isMainServerData) |
| | | { |
| | | extersion.Tick = value; |
| | | } |
| | | else |
| | | { |
| | | crossServerTick = value; |
| | | } |
| | | extersion.Tick = value; |
| | | m_Tick = Environment.TickCount; |
| | | |
| | | break; |
| | |
| | | // toLineId = 0, |
| | | // needEmpty = true, |
| | | // needLoadResource = true, |
| | | // serverType = ServerType.CrossSever, |
| | | // isClientLoadMap = true, |
| | | // refreshPlayerDatas = true |
| | | // }); |
| | |
| | | } |
| | | |
| | | public void RequestWorldTick() |
| | | { |
| | | // TODO YYL |
| | | // CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick(); |
| | | // if (CrossServerUtility.IsCrossServer()) |
| | | // { |
| | | // GameNetSystem.Instance.SendToCrossServer(_proto); |
| | | // } |
| | | // else |
| | | // { |
| | | // GameNetSystem.Instance.SendInfo(_proto); |
| | | // } |
| | | {
|
| | | CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
|
| | | GameNetSystem.Instance.SendInfo(_proto); |
| | | } |
| | | |
| | | public void ClearTick() |
| | | { |
| | | extersion.Tick = 0; |
| | | crossServerTick = 0; |
| | | } |
| | | |
| | | public bool IsTickVaild() |
| | | { |
| | | if (CrossServerUtility.IsCrossServer()) |
| | | { |
| | | return crossServerTick != 0; |
| | | } |
| | | else |
| | | { |
| | | return extersion.Tick != 0; |
| | | } |
| | | return extersion.Tick != 0; |
| | | } |
| | | |
| | | public uint GetWorldTick() |
| | | { |
| | | int _currentTick = Environment.TickCount - m_Tick; |
| | | uint _tick = CrossServerUtility.IsCrossServer() ? crossServerTick + (uint)_currentTick : extersion.Tick + (uint)_currentTick; |
| | | return _tick; |
| | | return extersion.Tick + (uint)_currentTick; |
| | | } |
| | | |
| | | } |
File was renamed from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: 0869bd0dc981b8f4e96424b43b208245 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //01 04 在线回应#tagCOnlineReturn
|
| | |
|
| | | public class C0104_tagCOnlineReturn : GameNetPackBasic {
|
| | | public byte Type;
|
| | |
|
| | | public C0104_tagCOnlineReturn () {
|
| | | _cmd = (ushort)0x0104;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | WriteBytes (Type, NetDataType.BYTE);
|
| | | }
|
| | |
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: ca560a4f998f8c649aaca0c4cfbc5d9f |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: 3b477c09701b7584aaa186cbccbd235f |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
File was renamed from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 469410eba7e70e941b0d9b85b3b3e4f4 |
| | | guid: a858450df5d422740b19c51034778673 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/C32_GM.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: c14b710f6eb30e84494476e6f7028291 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: 096e4386fc35e264ebe8988587dab6f6 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //A0 02 客户端请求服务端时间 #tagClientRequestServerTime
|
| | |
|
| | | public class CA002_tagClientRequestServerTime : GameNetPackBasic {
|
| | |
|
| | | public CA002_tagClientRequestServerTime () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | | _cmd = (ushort)0xA002;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | }
|
| | |
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: 34075a1d63e2ff849a530e8842e77eea |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: bc7998669a0f29148b16694ea94eca0f |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //A1 02 请求服务器tick # tagCMWorldTick
|
| | |
|
| | | public class CA102_tagCMWorldTick : GameNetPackBasic {
|
| | |
|
| | | public CA102_tagCMWorldTick () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | | _cmd = (ushort)0xA102;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | }
|
| | |
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: 06038a6adc8c58e48880f507960c3ddf |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
File was renamed from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: ed9b5fa1622097949b83432deb77a9e4 |
| | | guid: 18445f0278563f843a92e563baf0af86 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA3_Item.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: 593551fbac39e7b48832f122838f5b3b |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA5_Function.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: fff4817cc97d09c49ac483a0f4f671c7 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA9_Function.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: e929ce1c208223b48bb495610e82ee08 |
| | | guid: 67d426a6cf113fc41b5baff5550cf497 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //01 01 服务器InitOK#tagServerPrepared
|
| | |
|
| | | public class DTC0101_tagServerPrepared : DtcBasic {
|
| | | public override void Done(GameNetPackBasic vNetPack) {
|
| | | base.Done(vNetPack);
|
| | | H0101_tagServerPrepared vNetData = vNetPack as H0101_tagServerPrepared;
|
| | | LoginManager.Instance.AccessLogin(vNetData);
|
| | | }
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: 1ace3e0e3e71848409831d24c1786c38 |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
| | |
| | | var package = vNetPack as H0102_tagCDBPlayer;
|
| | | // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0102", DateTime.Now);
|
| | | DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
|
| | | // MapTransferUtility.Instance.lastMoveToWorldBossTime = float.MinValue;
|
| | | // MapTransferUtility.Instance.lastMoveToWorldBossNpcID = 0;
|
| | |
|
| | | if (package.socketType == ServerType.Main)
|
| | | if (beforePlayerDataInitializeEvent != null)
|
| | | {
|
| | | DTC0403_tagPlayerLoginLoadOK.neverLoginOk = true;
|
| | | beforePlayerDataInitializeEvent();
|
| | | }
|
| | |
|
| | | if (package.socketType == ServerType.Main)
|
| | | try
|
| | | {
|
| | | if (beforePlayerDataInitializeEvent != null)
|
| | | {
|
| | | beforePlayerDataInitializeEvent();
|
| | | }
|
| | |
|
| | | try
|
| | | {
|
| | | RedpointCenter.Instance.ResetAllRedpointState();
|
| | | PlayerDatas.Instance.ClearPlayerData();
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | Debug.LogError(ex);
|
| | | }
|
| | | RedpointCenter.Instance.ResetAllRedpointState();
|
| | | PlayerDatas.Instance.ClearPlayerData();
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | Debug.LogError(ex);
|
| | | }
|
| | |
|
| | | // GA_Hero.recordServerPos = new Vector3(package.PosX, 0, package.PosY);
|
| | |
|
| | | // PlayerDatas.Instance.InitPlayerData(package);
|
| | | // PlayerDatas.Instance.RequestWorldTick();
|
| | | PlayerDatas.Instance.InitPlayerData(package);
|
| | | PlayerDatas.Instance.RequestWorldTick();
|
| | |
|
| | | if (package.socketType == ServerType.Main)
|
| | | if (playerIdBuf != 0 && playerIdBuf != PlayerDatas.Instance.baseData.PlayerID)
|
| | | {
|
| | | if (playerIdBuf != 0 && playerIdBuf != PlayerDatas.Instance.baseData.PlayerID)
|
| | | if (switchAccountEvent != null)
|
| | | {
|
| | | if (switchAccountEvent != null)
|
| | | {
|
| | | switchAccountEvent();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | playerIdBuf = PlayerDatas.Instance.baseData.PlayerID;
|
| | | if (afterPlayerDataInitializeEvent != null)
|
| | | {
|
| | | afterPlayerDataInitializeEvent();
|
| | | isAfterPlayerDataInitialize = true;
|
| | | switchAccountEvent();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | // int fakeMapID = (int)package.ExAttr14 / 1000;
|
| | | // int fakeLineID = (int)package.ExAttr14 % 1000;
|
| | | // var clientDungeonInfo = new Dungeon()
|
| | | // {
|
| | | // mapId = fakeMapID,
|
| | | // lineId = fakeLineID,
|
| | | // };
|
| | | playerIdBuf = PlayerDatas.Instance.baseData.PlayerID;
|
| | | if (afterPlayerDataInitializeEvent != null)
|
| | | {
|
| | | afterPlayerDataInitializeEvent();
|
| | | isAfterPlayerDataInitialize = true;
|
| | | }
|
| | |
|
| | | //同步假副本 单人副本存在假副本,和服务端1对客户端多地图同分线情况
|
| | | // if (fakeLineID != 0)
|
| | | // PlayerDatas.Instance.baseData.dungeonLineId = fakeLineID;
|
| | | // if (fakeMapID != 0)
|
| | | // PlayerDatas.Instance.baseData.dungeonMapId = fakeMapID;
|
| | |
|
| | | // if (ArenaModel.Instance.CheckArenaComplete(clientDungeonInfo.mapId))
|
| | | // {
|
| | | // clientDungeonInfo.mapId = 0;
|
| | | // }
|
| | |
|
| | | // if (ClientDungeonStageUtility.isClientDungeon)
|
| | | // {
|
| | | // PlayerDatas.Instance.baseData.MapID = ClientDungeonStageUtility.clientMapId;
|
| | | // }
|
| | | // else
|
| | | // {
|
| | | // if (clientDungeonInfo.mapId != 0 )
|
| | | // {
|
| | | // var clientMapId = ClientDungeonStageUtility.GetClientMapId(clientDungeonInfo.mapId);
|
| | | // if (clientMapId != 0)
|
| | | // {
|
| | | // ClientDungeonStageUtility.SetClientDungeon(true, (ushort)clientMapId);
|
| | | // ClientDungeonStageUtility.dungeonInfo = clientDungeonInfo;
|
| | | // PlayerDatas.Instance.baseData.MapID = (ushort)clientMapId;
|
| | | // }
|
| | | // }
|
| | | // }
|
| | | // 转移到登陆时通知的创角时间包
|
| | | // if (package.socketType == ServerType.Main)
|
| | | // {
|
| | | // ynmbxxjUtil.Instance.RoleLogin(package.PlayerID.ToString(),
|
| | | // package.PlayerName.Trim().Replace("\0", ""),
|
| | | // package.LV.ToString(),
|
| | | // package.VIPLv.ToString());
|
| | | // }
|
| | |
|
| | | // var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | // var dataMapId = MapUtility.GetDataMapId(mapId);
|
| | | // var lineId = MapUtility.GetLineId(mapId, (int)package.ExAttr3%1000);
|
| | | // var mapResourceConfig = MapResourcesConfig.GetConfig(dataMapId, lineId);
|
| | | // if (mapResourceConfig != null)
|
| | | // {
|
| | | // GA_Hero.MapOffset.x = mapResourceConfig.MapOffset.x;
|
| | | // GA_Hero.MapOffset.z = mapResourceConfig.MapOffset.y;
|
| | | // }
|
| | | // else
|
| | | // {
|
| | | // GA_Hero.MapOffset.x = 0;
|
| | | // GA_Hero.MapOffset.z = 0;
|
| | | // }
|
| | |
|
| | | // var mapConfig = MapConfig.Get(mapId);
|
| | | // DungeonStage.CurrentMapType = (MapType)mapConfig.MapFBType;
|
| | | // if (DungeonStage.CurrentMapType != MapType.OpenCountry)
|
| | | // {
|
| | | // var dungeonOpen = DungeonOpenTimeConfig.Get(dataMapId);
|
| | | // if (dungeonOpen != null)
|
| | | // {
|
| | | // if (dungeonOpen.DoFight == 1)
|
| | | // {
|
| | | // GA_Hero.forceAutoFight = true;
|
| | | // }
|
| | | // }
|
| | | // }
|
| | |
|
| | | // if (package.socketType == ServerType.CrossSever)
|
| | | // {
|
| | | // if (PlayerDatas.Instance.hero != null)
|
| | | // {
|
| | | // PlayerDatas.Instance.hero.ActorInfo.recordServerDie = PlayerDatas.Instance.hero.ActorInfo.serverDie;
|
| | | // }
|
| | | // }
|
| | |
|
| | | // DTCA713_tagMCDynamicBarrierState.Clear();
|
| | | // MainRedDot.Instance.Register();
|
| | | // SettingEffectMgr.Instance.Begin();
|
| | | // if (vNetPack.socketType == ServerType.Main)
|
| | | // { |
| | | // QuickSetting.Instance.SetQuickSetting(package.Setting);
|
| | | // SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
|
| | | // }
|
| | | // ClientSceneManager.Instance.ReConnectClear();
|
| | |
|
| | | // // 初始化摄像机
|
| | | // if (!CameraController.Instance)
|
| | | // {
|
| | | // var prefab = UnityEngine.Object.Instantiate(BuiltInLoader.LoadPrefab("GameCamera"));
|
| | | // CameraController.Instance.SetcamerePrefab(prefab);
|
| | | // CameraController.Instance.AcceptInput = false;
|
| | | // CameraController.Instance.CameraObject.enabled = false;
|
| | | // CameraController.Instance.QualityLevelChanged();
|
| | | // }
|
| | |
|
| | | // var hudRoot = HUDCenter.hudRoot;
|
| | | // if (!hudRoot)
|
| | | // {
|
| | | // hudRoot = HUDCenter.CreateHUDRoot();
|
| | | // hudRoot.SetCamera(CameraController.Instance.CameraObject);
|
| | | // }
|
| | |
|
| | | // DropItemManager.ReleaseAll();
|
| | | // ClientDropItemUtility.Instance.ReleaseAll();
|
| | | // StatusMgr.Instance.ReleaseActor(PlayerDatas.Instance.PlayerId);
|
| | |
|
| | | // var hero = PlayerDatas.Instance.hero;
|
| | | // if (hero == null)
|
| | | // {
|
| | | // hero = GAMgr.Instance.RequestPlayer<GA_Hero>(PlayerDatas.Instance.PlayerId, E_ActorGroup.User, null);
|
| | | // PlayerDatas.Instance.hero = hero;
|
| | | // }
|
| | | // else // 重连
|
| | | // {
|
| | | // if (PreFightMission.Instance.IsFinished())
|
| | | // {
|
| | | // hero.StopAll();
|
| | | // if (!AdventureStage.Instance.IsInAdventureStage)
|
| | | // {
|
| | | // hero.InitBornPos(package.PosX, package.PosY);
|
| | | // }
|
| | | // hero.RequestName();
|
| | | // hero.ActorInfo.serverDie = false;
|
| | | // hero.IdleImmediate();
|
| | | // }
|
| | | // }
|
| | |
|
| | | // if (!ClientDungeonStageUtility.isClientDungeon
|
| | | // && !ArenaManager.IsArenaClientNotMirrorFight)
|
| | | // {
|
| | | // GAMgr.Instance.UnInit();
|
| | | // }
|
| | |
|
| | | // hero.OnPathFindStop -= MapTransferUtility.Instance.OnHeroStopPathFind;
|
| | | // hero.OnPathFindStop += MapTransferUtility.Instance.OnHeroStopPathFind;
|
| | | // GA_Hero.s_MapSwitching = true;
|
| | |
|
| | | // if (DebugUtility.Instance.debugAccount)
|
| | | // {
|
| | | // GMCommand.Instance.Begin();
|
| | | // }
|
| | |
|
| | | // if (package.socketType == ServerType.Main
|
| | | // && GameNetSystem.Instance.crossServerData.crossState == GameNetSystem.CrossServerState.Yes)
|
| | | // {
|
| | | // StageLoad.Instance.UpdateServerFlag(package.socketType, false);
|
| | | // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
|
| | | // {
|
| | | // toMapId = mapId,
|
| | | // toLineId = MapUtility.GetLineId(mapId, PlayerDatas.Instance.baseData.dungeonLineId),
|
| | | // needEmpty = true,
|
| | | // needLoadResource = false,
|
| | | // serverType = package.socketType,
|
| | | // isClientLoadMap = false
|
| | | // });
|
| | |
|
| | | // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
|
| | | // var account = loginModel.accountBuf;
|
| | | // var ip = GameNetSystem.Instance.crossServerData.ip;
|
| | | // var port = GameNetSystem.Instance.crossServerData.port;
|
| | | // CrossServerLogin.Instance.AccountLogin(account, ip, port, loginModel.reconnectBackGround);
|
| | | // }
|
| | | // else
|
| | | // {
|
| | | // StageLoad.Instance.UpdateServerFlag(package.socketType, false);
|
| | | // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
|
| | | // {
|
| | | // toMapId = mapId,
|
| | | // toLineId = MapUtility.GetLineId(mapId, PlayerDatas.Instance.baseData.dungeonLineId),
|
| | | // needEmpty = true,
|
| | | // needLoadResource = true,
|
| | | // serverType = package.socketType,
|
| | | // isClientLoadMap = false
|
| | | // });
|
| | | // }
|
| | |
|
| | | MainRedDot.Instance.Register();
|
| | | //SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
|
| | |
|
| | | }
|
| | | }
|
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using System; |
| | | |
| | | //01 04 断线#tagServerDisconnect
|
| | |
|
| | | public class DTC0104_tagServerDisconnect : DtcBasic {
|
| | | public override void Done(GameNetPackBasic vNetPack) {
|
| | | base.Done(vNetPack);
|
| | | H0104_tagServerDisconnect vNetData = vNetPack as H0104_tagServerDisconnect;
|
| | |
|
| | | try
|
| | | {
|
| | | Debug.Log("DTC0104_tagServerDisconnect" + vNetData.Reason);
|
| | |
|
| | | //ServerForceExitHintWin.reason = vNetData.Reason;
|
| | | LoginManager.Instance.busy = false;
|
| | | if (VersionConfig.Get().versionAuthority == VersionAuthority.Release)
|
| | | {
|
| | | if (vNetData.Reason == 1 || vNetData.Reason == 110)
|
| | | {
|
| | | SDKUtils.Instance.FreePlatformLoginout();
|
| | | LoginManager.Instance.sdkLogined = false;
|
| | | }
|
| | | else |
| | | GameNetSystem.Instance.LoginOut();
|
| | | }
|
| | | else |
| | | GameNetSystem.Instance.LoginOut();
|
| | | NetLinkWin.Hide();
|
| | |
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | Debug.Log(ex);
|
| | | }
|
| | | }
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: d961703bb42f8da48bedccac968f1d8f |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
| | |
| | |
|
| | | public class DTC0403_tagPlayerLoginLoadOK : DtcBasic
|
| | | {
|
| | | public static bool neverLoginOk = true;
|
| | | public static bool finishedLogin = false;
|
| | | public static event Action playerLoginOkEvent;
|
| | | public static event Action mapInitOkEvent;
|
| | | // LoginModel loginModel { get { return ModelCenter.Instance.GetModel<LoginModel>(); } }
|
| | | //public static event Action mapInitOkEvent; 服务端通知场景切换成功
|
| | | |
| | |
|
| | | public override void Done(GameNetPackBasic vNetPack)
|
| | | {
|
| | | base.Done(vNetPack);
|
| | | var vNetData = vNetPack as H0403_tagPlayerLoginLoadOK;
|
| | | // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0403", DateTime.Now);
|
| | |
|
| | | GameNetSystem.Instance.netState = GameNetSystem.NetState.Connected;
|
| | |
|
| | | NetLinkWin.Hide();
|
| | |
|
| | | if (LoginManager.Instance.reconnectBackGround)
|
| | | {
|
| | | UIManager.Instance.CloseWindow<LoadingWin>();
|
| | | }
|
| | |
|
| | | LoginManager.Instance.reconnectBackGround = false;
|
| | |
|
| | | if (!finishedLogin)
|
| | | {
|
| | | //服务端每次切场景都会通知这个封包, 增加首次地图登录成功事件(如果服务端存在多场景切换的情况)
|
| | | playerLoginOkEvent?.Invoke();
|
| | | StageManager.Instance.ToGameScene();
|
| | | Main.OnEnterGameScene();
|
| | | }
|
| | | finishedLogin = true;
|
| | | // GA_Hero.s_MapSwitching = false;
|
| | |
|
| | | // NetLinkWin.Hide();
|
| | |
|
| | | // if (loginModel.reconnectBackGround)
|
| | | // {
|
| | | // WindowCenter.Instance.Close<LoadingWin>();
|
| | | // }
|
| | |
|
| | | switch (vNetData.socketType)
|
| | | {
|
| | | // case ServerType.Main:
|
| | | // loginModel.reconnectBackGround = false;
|
| | | // break;
|
| | | // case ServerType.CrossSever:
|
| | | // GameNetSystem.Instance.crossServerConnected_Loigc = true;
|
| | | // CrossServerLogin.Instance.reconnectBackGround = false;
|
| | | // CrossServerLogin.Instance.StopLoginOverTimeProcess();
|
| | | // break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | |
|
| | | if (neverLoginOk)
|
| | | {
|
| | | try
|
| | | {
|
| | | if (vNetData.socketType == ServerType.Main)
|
| | | {
|
| | | if (playerLoginOkEvent != null)
|
| | | {
|
| | | playerLoginOkEvent();
|
| | | }
|
| | | }
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | Debug.Log(ex);
|
| | | }
|
| | | finally
|
| | | {
|
| | | neverLoginOk = false;
|
| | | }
|
| | | }
|
| | |
|
| | | if (mapInitOkEvent != null)
|
| | | {
|
| | | mapInitOkEvent();
|
| | | }
|
| | | //if (mapInitOkEvent != null)
|
| | | //{
|
| | | // mapInitOkEvent();
|
| | | //}
|
| | |
|
| | |
|
| | | //�е�ͼ����pk boss״̬
|
| | | PlayerDatas.Instance.extersion.bossState = 2;
|
| | | PlayerDatas.Instance.extersion.pkState = 2;
|
| | |
|
| | | // if (PlayerDatas.Instance.hero != null)
|
| | | // {
|
| | | // if (CameraController.Instance)
|
| | | // {
|
| | | // CameraController.Instance.SetLookTarget(PlayerDatas.Instance.hero.Root);
|
| | | // }
|
| | | // }
|
| | |
|
| | | // MapTransferUtility.Instance.CheckMap(PlayerDatas.Instance.baseData.MapID);
|
| | |
|
| | | // if (MapTransferUtility.Instance.MapTransferDoType == MapTransferUtility.E_MapTransferDoType.Npc)
|
| | | // {
|
| | | // MapTransferUtility.Instance.MoveToNPC(MapTransferUtility.Instance.NpcID);
|
| | | // }
|
| | |
|
| | | //SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
|
| | |
|
| | | // SnxxzGame.Instance.StartCoroutine(DelayHandleMapArea());
|
| | | }
|
| | |
|
| | | // IEnumerator DelayHandleMapArea()
|
| | | // {
|
| | | // yield return WaitingForSecondConst.WaitMS500;
|
| | |
|
| | | // if (PlayerDatas.Instance.hero == null)
|
| | | // {
|
| | | // yield break;
|
| | | // }
|
| | |
|
| | | // var pack = ModelCenter.Instance.GetModel<PackModel>();
|
| | | // var equipIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)RoleEquipType.Guard));
|
| | | // var _itemModel = pack.GetItemByIndex(PackType.Equip, equipIndex);
|
| | | // if (_itemModel != null && _itemModel.itemInfo != null)
|
| | | // {
|
| | | // PlayerDatas.Instance.hero.SwitchGuard((uint)_itemModel.itemId);
|
| | | // }
|
| | |
|
| | | // bool _result = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);
|
| | |
|
| | | // if (MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss))
|
| | | // {
|
| | | // PlayerDatas.Instance.hero.EnterArea((int)MapArea.E_Type.Boss);
|
| | | // }
|
| | | // }
|
| | | }
|
| | |
|
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: ed9b5fa1622097949b83432deb77a9e4 |
| | | guid: 03821ffb5f50f15489d3ec5c6271d04a |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //A0 04 同步客户端时间 #tagServerDateTime
|
| | |
|
| | | public class DTCA004_tagServerDateTime : DtcBasic {
|
| | | public override void Done(GameNetPackBasic vNetPack) {
|
| | | base.Done(vNetPack);
|
| | | HA004_tagServerDateTime vNetData = vNetPack as HA004_tagServerDateTime;
|
| | | TimeUtility.OnRefreshServerTime(vNetData);
|
| | | }
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: 1e1c8b63145162946a98cfb842bf9d2c |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //A0 05 同步开服天数 #tagOpenServerDay
|
| | |
|
| | | public class DTCA005_tagOpenServerDay : DtcBasic {
|
| | | public override void Done(GameNetPackBasic vNetPack) {
|
| | | base.Done(vNetPack);
|
| | | HA005_tagOpenServerDay vNetData = vNetPack as HA005_tagOpenServerDay;
|
| | | TimeUtility.OnRefreshServerOpenDay(vNetData);
|
| | | }
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: 976f30f367b23fb4d9860a66b989954e |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
| | |
| | | return; |
| | | } |
| | | |
| | | if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD |
| | | || (GameNetSystem.Instance.crossServerConnected_Loigc && GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD)) |
| | | if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD) |
| | | { |
| | | DetectConnected(3); |
| | | } |
| | | else if (!GameNetSystem.Instance.mainSocketConnected |
| | | || (GameNetSystem.Instance.crossServerConnected_Loigc && !GameNetSystem.Instance.crossServerSocketConnected)) |
| | | else if (!GameNetSystem.Instance.mainSocketConnected) |
| | | { |
| | | DetectConnected(3); |
| | | } |
| | |
| | | |
| | | private void DetectConnected(int _seconds) |
| | | { |
| | | connectedDetecting = true; |
| | | |
| | | // var sendInfo1 = new C0104_tagCOnlineReturn(); |
| | | // sendInfo1.Type = 0; |
| | | // GameNetSystem.Instance.SendInfo(sendInfo1);// 在线回应 |
| | | |
| | | // if (GameNetSystem.Instance.crossServerConnected_Loigc) |
| | | // { |
| | | // var sendInfo2 = new C0104_tagCOnlineReturn(); |
| | | // sendInfo2.Type = 0; |
| | | // GameNetSystem.Instance.SendToCrossServer(sendInfo2);// 在线回应 |
| | | // } |
| | | |
| | | // if (clock != null) |
| | | // { |
| | | // Clock.Stop(clock); |
| | | // } |
| | | // clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd); |
| | | connectedDetecting = true;
|
| | |
|
| | | var sendInfo1 = new C0104_tagCOnlineReturn();
|
| | | sendInfo1.Type = 0;
|
| | | GameNetSystem.Instance.SendInfo(sendInfo1);// 在线回应
|
| | |
|
| | | if (clock != null)
|
| | | {
|
| | | Clock.Stop(clock);
|
| | | }
|
| | | clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd); |
| | | } |
| | | |
| | | private void OnDetectEnd() |
| | |
| | | || GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD; |
| | | #endif |
| | | |
| | | if (GameNetSystem.Instance.crossServerConnected_Loigc) |
| | | { |
| | | #if UNITY_IOS && !UNITY_EDITOR |
| | | isDisconnected = isDisconnected || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > 3f; |
| | | #else |
| | | isDisconnected = isDisconnected || !GameNetSystem.Instance.crossServerSocketConnected |
| | | || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD; |
| | | #endif |
| | | } |
| | | |
| | | if (isDisconnected) |
| | | { |
| | |
| | | public static void Init() |
| | | { |
| | | // 登记相应的数据体及对应的数据转逻辑类 |
| | | // Register(typeof(HA328_tagMCHistoryReChargeAwardRecord), typeof(DTCA328_tagMCHistoryReChargeAwardRecord)); |
| | | |
| | | Register(typeof(H0102_tagCDBPlayer), typeof(DTC0102_tagCDBPlayer)); |
| | | Register(typeof(HA004_tagServerDateTime), typeof(DTCA004_tagServerDateTime));
|
| | | Register(typeof(HA005_tagOpenServerDay), typeof(DTCA005_tagOpenServerDay));
|
| | | Register(typeof(H0403_tagPlayerLoginLoadOK), typeof(DTC0403_tagPlayerLoginLoadOK));
|
| | | Register(typeof(H0101_tagServerPrepared), typeof(DTC0101_tagServerPrepared));
|
| | | Register(typeof(H0104_tagServerDisconnect), typeof(DTC0104_tagServerDisconnect));
|
| | |
|
| | |
|
| | | } |
| | | |
| | | |
| | |
| | | public class GameNetPackBasic |
| | | { |
| | | |
| | | public ServerType socketType = ServerType.Main; |
| | | public ServerType socketType = ServerType.Main; //默认且唯一 |
| | | |
| | | /** 协议号 */ |
| | | protected ushort _cmd = 0; |
| | |
| | | |
| | | public class GameNetSystem : Singleton<GameNetSystem> |
| | | { |
| | | // NetUpdateBehaviour m_NetUpdateBehaviour; |
| | | NetUpdateBehaviour m_NetUpdateBehaviour; |
| | | NeverConnectState neverConnectState; |
| | | AccountLoginState accountLoginState; |
| | | // CreateOrSelectRoleState createOrSelectRoleState; |
| | |
| | | get { return mainSocket == null ? Time.time : (float)(DateTime.Now - mainSocket.lastPackageTime).TotalSeconds; } |
| | | } |
| | | |
| | | public bool crossServerConnected_Loigc { get; set; } |
| | | private ClientSocket crossServerSocket; |
| | | public bool crossServerSocketConnected { get { return crossServerConnected_Loigc && (crossServerSocket == null ? false : crossServerSocket.connected); } } |
| | | |
| | | public float timeSinceCrossServerSocketLastProtocol |
| | | { |
| | | get { return crossServerSocket == null ? Time.time : (float)(DateTime.Now - crossServerSocket.lastPackageTime).TotalSeconds; } |
| | | } |
| | | |
| | | Queue<GameNetPackBasic> mainProtocolQueue = new Queue<GameNetPackBasic>(); |
| | | Queue<GameNetPackBasic> crossSeverProtocolQueue = new Queue<GameNetPackBasic>(); |
| | | |
| | | public CrossServerData crossServerData { get; private set; } |
| | | |
| | | public GameNetSystem() |
| | | { |
| | | var gameObject = new GameObject("NetUpdateBehaviour"); |
| | | GameObject.DontDestroyOnLoad(gameObject); |
| | | // m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>(); |
| | | // m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate); |
| | | GameObject.DontDestroyOnLoad(gameObject);
|
| | | m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
|
| | | m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate); |
| | | |
| | | neverConnectState = gameObject.AddComponent<NeverConnectState>(); |
| | | accountLoginState = gameObject.AddComponent<AccountLoginState>(); |
| | |
| | | }); |
| | | } |
| | | |
| | | public void BeginConnectCrossServer(string ip, int port, Action<bool> onConnected) |
| | | { |
| | | try |
| | | { |
| | | crossServerConnected_Loigc = false; |
| | | if (crossServerSocketConnected) |
| | | { |
| | | crossServerSocket.CloseConnect(); |
| | | } |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | Debug.Log(ex); |
| | | } |
| | | |
| | | crossServerSocket = new ClientSocket(ServerType.CrossSever); |
| | | crossSeverProtocolQueue.Clear(); |
| | | this.crossServerSocket.Connect(ip, port, (bool ok) => |
| | | { |
| | | if (onConnected != null) |
| | | { |
| | | onConnected(ok); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | public void UpdateCrossServerData(string ip, int port, byte state) |
| | | { |
| | | this.crossServerData = new CrossServerData(ip, port, state); |
| | | if (this.crossServerData.crossState == 0) |
| | | { |
| | | crossServerConnected_Loigc = false; |
| | | } |
| | | } |
| | | |
| | | public void SendInfo(GameNetPackBasic protocol) |
| | | { |
| | | if (mainSocket != null) |
| | |
| | | } |
| | | } |
| | | |
| | | public void SendToCrossServer(GameNetPackBasic protocol) |
| | | { |
| | | if (crossServerSocket != null) |
| | | { |
| | | protocol.socketType = ServerType.CrossSever; |
| | | crossServerSocket.SendInfo(protocol); |
| | | DebugPkgCache.Push(protocol); |
| | | } |
| | | } |
| | | |
| | | public void PushPackage(GameNetPackBasic protocol, ServerType type) |
| | | { |
| | |
| | | |
| | | if (PackageRegedit.Contain(protocol.cmd)) |
| | | { |
| | | switch (type) |
| | | { |
| | | case ServerType.Main: |
| | | mainProtocolQueue.Enqueue(protocol); |
| | | break; |
| | | case ServerType.CrossSever: |
| | | crossSeverProtocolQueue.Enqueue(protocol); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | mainProtocolQueue.Enqueue(protocol); |
| | | |
| | | DebugPkgCache.Push(protocol); |
| | | } |
| | |
| | | mainSocket.CloseConnect(); |
| | | } |
| | | |
| | | if (crossServerSocket != null) |
| | | { |
| | | crossServerSocket.CloseConnect(); |
| | | } |
| | | |
| | | mainProtocolQueue.Clear(); |
| | | crossSeverProtocolQueue.Clear(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | netState = NetState.DisConnected; |
| | | // var loginModel = ModelCenter.Instance.GetModel<LoginModel>(); |
| | | // loginModel.busy = false; |
| | | // CrossServerLogin.Instance.busy = false; |
| | | } |
| | | } |
| | | |
| | | public void DisconnectCrossServer() |
| | | { |
| | | try |
| | | { |
| | | if (crossServerSocket != null) |
| | | { |
| | | crossServerSocket.CloseConnect(); |
| | | } |
| | | |
| | | crossSeverProtocolQueue.Clear(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Debug.Log(ex); |
| | | } |
| | | finally |
| | | { |
| | | // CrossServerLogin.Instance.busy = false; |
| | | } |
| | | } |
| | | |
| | | public void Reconnect() |
| | | { |
| | |
| | | mainSocket.CloseConnect(); |
| | | } |
| | | |
| | | if (crossServerSocket != null) |
| | | { |
| | | crossServerSocket.CloseConnect(); |
| | | } |
| | | |
| | | mainProtocolQueue.Clear(); |
| | | crossSeverProtocolQueue.Clear(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | finally |
| | | { |
| | | netState = NetState.AccountLogin; |
| | | // CrossServerLogin.Instance.busy = false; |
| | | // var loginModel = ModelCenter.Instance.GetModel<LoginModel>(); |
| | | // loginModel.busy = false; |
| | | // loginModel.ReAccountLogin(); |
| | |
| | | try |
| | | { |
| | | // ynmbxxjUtil.Instance.RoleLoginOut(); |
| | | crossServerConnected_Loigc = false; |
| | | |
| | | if (mainSocket != null) |
| | | { |
| | | mainSocket.CloseConnect(); |
| | | } |
| | | |
| | | if (crossServerSocket != null) |
| | | { |
| | | crossServerSocket.CloseConnect(); |
| | | } |
| | | |
| | | mainProtocolQueue.Clear(); |
| | | crossSeverProtocolQueue.Clear(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | netState = NetState.NerverConnect; |
| | | // TODO YYL |
| | | |
| | | // CrossServerLogin.Instance.busy = false; |
| | | // //ArenaManager.isArenaClient = false; |
| | | // var loginModel = ModelCenter.Instance.GetModel<LoginModel>(); |
| | | // loginModel.busy = false; |
| | | // WindowJumpMgr.Instance.ClearJumpData(); |
| | | |
| | | // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() |
| | | // { |
| | |
| | | PackageRegedit.Distribute(package); |
| | | } |
| | | } |
| | | while (crossSeverProtocolQueue.Count > 0) |
| | | { |
| | | var package = crossSeverProtocolQueue.Dequeue(); |
| | | if (package != null) |
| | | { |
| | | PackageRegedit.Distribute(package); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | DisConnected = 6, |
| | | } |
| | | |
| | | public struct CrossServerData |
| | | { |
| | | public string ip; |
| | | public int port; |
| | | public CrossServerState crossState; |
| | | |
| | | public CrossServerData(string ip, int port, byte state) |
| | | { |
| | | this.ip = ip; |
| | | this.port = port; |
| | | this.crossState = (CrossServerState)state; |
| | | } |
| | | } |
| | | |
| | | public enum CrossServerState |
| | | { |
| | | No = 0, |
| | | Yes = 1, |
| | | Error = 2, |
| | | } |
| | | |
| | | } |
| | | |
| | | public enum ServerType |
| | | { |
| | | Main = 1, |
| | | CrossSever = 2, |
| | | } |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //01 01 服务器InitOK#tagServerPrepared |
| | | |
| | | |
| | | |
| | | public class H0101_tagServerPrepared : GameNetPackBasic { |
| | | |
| | | public uint Version; |
| | | |
| | | |
| | | |
| | | public H0101_tagServerPrepared () { |
| | | |
| | | _cmd = (ushort)0x0101; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | public override void ReadFromBytes (byte[] vBytes) { |
| | | |
| | | TransBytes (out Version, vBytes, NetDataType.DWORD); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | //01 01 服务器InitOK#tagServerPrepared
|
| | |
|
| | | public class H0101_tagServerPrepared : GameNetPackBasic {
|
| | | public uint Version;
|
| | |
|
| | | public H0101_tagServerPrepared () {
|
| | | _cmd = (ushort)0x0101;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out Version, vBytes, NetDataType.DWORD);
|
| | | }
|
| | |
|
| | | }
|
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //01 04 断线#tagServerDisconnect
|
| | |
|
| | | public class H0104_tagServerDisconnect : GameNetPackBasic {
|
| | | public byte Reason;
|
| | |
|
| | | public H0104_tagServerDisconnect () {
|
| | | _cmd = (ushort)0x0104;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out Reason, vBytes, NetDataType.BYTE);
|
| | | }
|
| | |
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: e506b2c33da96614a9cb666794a198f3 |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
copy to Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: ed9b5fa1622097949b83432deb77a9e4 |
| | | guid: aaafdaa480fd07d4eb6371347a79a2f4 |
| | | folderAsset: yes |
| | | DefaultImporter: |
| | | externalObjects: {} |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //A0 04 同步客户端时间 #tagServerDateTime
|
| | |
|
| | | public class HA004_tagServerDateTime : GameNetPackBasic {
|
| | | public ushort Year;
|
| | | public byte Month;
|
| | | public byte Day;
|
| | | public byte Hour;
|
| | | public byte Minute;
|
| | | public byte Second;
|
| | | public uint MicSecond;
|
| | | public string CrossServerTime;
|
| | |
|
| | | public HA004_tagServerDateTime () {
|
| | | _cmd = (ushort)0xA004;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out Year, vBytes, NetDataType.WORD);
|
| | | TransBytes (out Month, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out Day, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out Hour, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out Minute, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out Second, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out MicSecond, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out CrossServerTime, vBytes, NetDataType.Chars, 19);
|
| | | }
|
| | |
|
| | | }
|
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: e449a4ea5559fa240a8d421daa3511fb |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | //A0 05 同步开服天数 #tagOpenServerDay
|
| | |
|
| | | public class HA005_tagOpenServerDay : GameNetPackBasic {
|
| | | public ushort Day; // 已开服天数,从0开始
|
| | | public byte IsMixServer; //是否是合服服务器
|
| | | public ushort MixDay; // 已合服天数,从0开始
|
| | | public byte OpenWeekday; //开服是周几,1代表周一
|
| | | public ushort NowYear; //服务器当前时间 - 年
|
| | | public byte NowMonth;
|
| | | public byte NowDay;
|
| | | public byte NowHour;
|
| | | public byte NowMinute;
|
| | | public byte NowSecond;
|
| | | public uint NowMicSecond;
|
| | | public byte WeekOfYear; //一年中的第几周
|
| | |
|
| | | public HA005_tagOpenServerDay () {
|
| | | _cmd = (ushort)0xA005;
|
| | | }
|
| | |
|
| | | public override void ReadFromBytes (byte[] vBytes) {
|
| | | TransBytes (out Day, vBytes, NetDataType.WORD);
|
| | | TransBytes (out IsMixServer, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out MixDay, vBytes, NetDataType.WORD);
|
| | | TransBytes (out OpenWeekday, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out NowYear, vBytes, NetDataType.WORD);
|
| | | TransBytes (out NowMonth, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out NowDay, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out NowHour, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out NowMinute, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out NowSecond, vBytes, NetDataType.BYTE);
|
| | | TransBytes (out NowMicSecond, vBytes, NetDataType.DWORD);
|
| | | TransBytes (out WeekOfYear, vBytes, NetDataType.BYTE);
|
| | | }
|
| | |
|
| | | }
|
File was renamed from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1b563b4d32b55f343a54a3a82a948885 |
| | | guid: a6484a8278af59643850fd9225f7338d |
| | | MonoImporter: |
| | | externalObjects: {} |
| | | serializedVersion: 2 |
| | |
| | | manager.RequestNessaryData();
|
| | | }
|
| | |
|
| | | UIManager.Instance.CloseWindow<LaunchBackGroundWin>();
|
| | | UIManager.Instance.CloseWindow<LoginWin>();
|
| | | }
|
| | |
|
| | | public static void OnSwitchToLoginScene()
|
| | |
| | | Main.OnSwitchToLoginScene();
|
| | |
|
| | | currentStage = StageName.Login;
|
| | |
|
| | | UIManager.Instance.OpenWindow<LaunchBackGroundWin>();
|
| | | UIManager.Instance.OpenWindow<LoginWin>();
|
| | | }
|
| | |
|
| | |
| | | return layerCompare; |
| | | |
| | | // 同层级内,按照栈中的顺序排序 |
| | | return Array.IndexOf(uiArray, a).CompareTo(Array.IndexOf(uiArray, b)); |
| | | return Array.IndexOf(uiArray, b).CompareTo(Array.IndexOf(uiArray, a)); |
| | | }); |
| | | |
| | | // 遍历排序后的UI数组,设置排序顺序 |
| | |
| | | |
| | | public enum E_ChannelPlatform |
| | | { |
| | | Free = 1,// 自由 |
| | | Mr = 2,// 猫耳 |
| | | Sp = 3,// 思璞 |
| | | Js = 4,// 极速 |
| | | Yj = 5,// 易接 |
| | | Yl = 6,// 易乐 |
| | | Xn = 7,// 小牛 |
| | | Cjm = 8,// 超级梦 |
| | | Ky = 9,//恺英 |
| | | Free = 1,// 默认 |
| | | Quick = 10, //quick |
| | | SanXia = 11, //三峡(港台使用) |
| | | SanXiaiOS = 12, //三峡 (港台ios使用) |
| | | Hy = 15, //欢游 |
| | | hygt = 16, //欢游港台 |
| | | mlgt = 17, //咪噜港台 |
| | | newyn = 19, //新的越南(欢游0.1) |
| | | en = 20, //英文版 |
| | | } |
| | | |
| | | //权限申请回调 |
| | |
| | | var _result = "default"; |
| | | switch (Application.platform) |
| | | { |
| | | case RuntimePlatform.Android: |
| | | if (ChannelPlatform == E_ChannelPlatform.Sp) |
| | | { |
| | | using (AndroidJavaClass _jc = new AndroidJavaClass("com.sp.sdk.utils.SDKManagerUtils")) |
| | | { |
| | | using (AndroidJavaObject _jo = _jc.CallStatic<AndroidJavaObject>("getAssetPropConfig", GetApplicationContext(), "plugin_config.properties")) |
| | | { |
| | | _result = _jo.Call<string>("get", "game_id"); |
| | | } |
| | | } |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.Mr) |
| | | { |
| | | using (AndroidJavaClass _jc = new AndroidJavaClass("com.secondworld.univeralsdk.UniversalUtil")) |
| | | { |
| | | _result = _jc.CallStatic<string>("getMetaString", "Mr_GAME_ID"); |
| | | } |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.Js) |
| | | { |
| | | using (AndroidJavaClass _jc = new AndroidJavaClass("com.secondworld.univeralsdk.UniversalUtil")) |
| | | { |
| | | _result = _jc.CallStatic<string>("getMetaString", "LL_APPID"); |
| | | } |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.Free) |
| | | { |
| | | _result = "freeplatform"; |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.Yl) |
| | | { |
| | | _result = "yileplatform"; |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.Ky) |
| | | { |
| | | _result = "kyplatform"; |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.hygt) |
| | | { |
| | | _result = "hygt"; |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.newyn) |
| | | { |
| | | _result = "vn"; |
| | | } |
| | | else if (ChannelPlatform == E_ChannelPlatform.en) |
| | | { |
| | | _result = "en"; |
| | | } |
| | | case RuntimePlatform.Android:
|
| | | _result = "android"; |
| | | break; |
| | | case RuntimePlatform.IPhonePlayer: |
| | | _result = "ios";//ios平台固定返回ios |
| | |
| | | |
| | | public void RoleLoginOut() |
| | | { |
| | | if (PlayerDatas.Instance.PlayerId == 0/* || PlayerDatas.Instance.hero == null*/) |
| | | if (PlayerDatas.Instance.PlayerId == 0) |
| | | return; |
| | | |
| | | if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) |
| | | return; |
| | | |
| | | |
| | | if (DTC0403_tagPlayerLoginLoadOK.neverLoginOk) return; |
| | | m_Json.Clear(); |
| | | m_Json["code"] = CodeU2A.RoleLoginOut; |
| | | |
| | |
| | | C0207_tagCTalkArea chatPack = new C0207_tagCTalkArea(); |
| | | chatPack.Len = (ushort)GetUTF8InfoLen(msg); |
| | | chatPack.Content = msg; |
| | | if (CrossServerUtility.IsCrossServer()) |
| | | { |
| | | GameNetSystem.Instance.SendToCrossServer(chatPack); |
| | | } |
| | | else |
| | | { |
| | | GameNetSystem.Instance.SendInfo(chatPack); |
| | | } |
| | | GameNetSystem.Instance.SendInfo(chatPack); |
| | | } |
| | | break; |
| | | case ChatInfoType.CrossServer: |
| | |
| | | _pak.TalkType = 100; |
| | | _pak.Len = (ushort)GetUTF8InfoLen(msg); |
| | | _pak.Content = msg; |
| | | if (CrossServerUtility.IsCrossServer()) |
| | | { |
| | | GameNetSystem.Instance.SendToCrossServer(_pak); |
| | | } |
| | | else |
| | | { |
| | | GameNetSystem.Instance.SendInfo(_pak); |
| | | } |
| | | GameNetSystem.Instance.SendInfo(_pak); |
| | | } |
| | | break; |
| | | } |
| | |
| | | |
| | | private bool IsSatisfyShowChannel(ChatInfoType channel) |
| | | { |
| | | if (CrossServerUtility.IsCrossServer()) |
| | | { |
| | | if (channel == ChatInfoType.Team || channel == ChatInfoType.Invite) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | |
| | | GameNetSystem.Instance.SendInfo(gmCmd); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 发送CrossServer GM |
| | | /// </summary> |
| | | /// <param name="sendQuest"></param> |
| | | public void SendCrossServerGMQuest(string sendQuest) |
| | | { |
| | | Debug.Log("sendQuest: " + sendQuest); |
| | | C320C_tagCGMCMD gmCmd = new C320C_tagCGMCMD(); |
| | | gmCmd.Cmd = sendQuest; |
| | | gmCmd.CmdLen = (byte)(sendQuest.Length); |
| | | GameNetSystem.Instance.SendToCrossServer(gmCmd); |
| | | } |
| | | |
| | | |
| | | public void GetCmdArray() |
| | |
| | | |
| | | public void SplitLongGMCmd(string value) |
| | | { |
| | | if (value == "RoleDead" && CrossServerUtility.IsCrossServer()) |
| | | |
| | | string[] longCmdArray = value.Split('|'); |
| | | for (int i = 0; i < longCmdArray.Length; i++) |
| | | { |
| | | string[] longCmdArray = value.Split('|'); |
| | | for (int i = 0; i < longCmdArray.Length; i++) |
| | | { |
| | | cmdModel.SendCrossServerGMQuest(longCmdArray[i].Trim()); |
| | | } |
| | | cmdModel.OnSendGMQuest(longCmdArray[i].Trim()); |
| | | } |
| | | else |
| | | { |
| | | string[] longCmdArray = value.Split('|'); |
| | | for (int i = 0; i < longCmdArray.Length; i++) |
| | | { |
| | | cmdModel.OnSendGMQuest(longCmdArray[i].Trim()); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | [SerializeField]
|
| | | private Button _sendBtn;
|
| | |
|
| | | [SerializeField]
|
| | | private Button m_CrossServerSend;
|
| | |
|
| | | [SerializeField]
|
| | | private Button _gmInfoBtn;
|
| | |
| | | _gmInfoBtn.onClick.AddListener(OnClickGMInfoBtn);
|
| | | _clearBtn.onClick.AddListener(OnClickClearBtn);
|
| | | achieveJumpTestBtn.AddListener(ClickAchieveJumpBtn);
|
| | | m_CrossServerSend.SetListener(SendCrossServerGM);
|
| | | _cmdContent.SetActive(false);
|
| | | }
|
| | |
|
| | |
| | | // }
|
| | |
|
| | | cmdModel.OnSendGMQuest(_inputCmd.text.Trim());
|
| | | cmdModel.SetRecordCmdlist(_inputCmd.text);
|
| | | }
|
| | |
|
| | | private void SendCrossServerGM()
|
| | | {
|
| | | if (_inputCmd.text == null || _inputCmd.text == "" || _inputCmd.text == string.Empty)
|
| | | return;
|
| | |
|
| | | // if (_inputCmd.text == "HappyXB")
|
| | | // {
|
| | | // WindowCenter.Instance.Open<HappyXBWin>();
|
| | | // return;
|
| | | // }
|
| | | // else if (_inputCmd.text == "TreasureFindHost")
|
| | | // {
|
| | | // WindowCenter.Instance.Open<TreasureFindHostWin>();
|
| | | // return;
|
| | | // }
|
| | |
|
| | | cmdModel.SendCrossServerGMQuest(_inputCmd.text.Trim());
|
| | | cmdModel.SetRecordCmdlist(_inputCmd.text);
|
| | | }
|
| | |
|
| | |
| | | |
| | | var sprite = BuiltInLoader.LoadSprite("LoginBackGround"); |
| | | m_BackGroundImage.overrideSprite = sprite; |
| | | m_BackGroundImage.preserveAspect = true; |
| | | //m_BackGroundImage.preserveAspect = true; |
| | | m_StaticBackGround.SetActive(true); |
| | | |
| | | this.transform.SetAsFirstSibling(); |
| | |
| | | send.ExtraLen = 0; |
| | | send.Extra = ""; |
| | | break; |
| | | case VersionAuthority.Release: |
| | | send.Extra = VersionConfig.Get().SpID + "|" + SDKUtils.Instance.Device.uniqueID; |
| | | send.ExtraLen = (ushort)send.Extra.Length; |
| | | if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Free) |
| | | { |
| | | send.IDType = 1; |
| | | send.Password = sdkLoginResult.token; |
| | | } |
| | | else if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Quick) |
| | | { |
| | | send.IDType = 10; |
| | | send.Extra += ("|" + sdkLoginResult.token + "|" + sdkLoginResult.qkUserName); |
| | | send.ExtraLen = (ushort)send.Extra.Length; |
| | | } |
| | | else if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Hy || |
| | | SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.hygt || |
| | | SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.newyn || |
| | | SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.en |
| | | ) |
| | | { |
| | | send.IDType = (byte)SDKUtils.Instance.ChannelPlatform; |
| | | send.Extra += ("|" + sdkLoginResult.token + "|" + sdkLoginResult.qkUserName); |
| | | send.ExtraLen = (ushort)send.Extra.Length; |
| | | } |
| | | |
| | | case VersionAuthority.Release:
|
| | | {
|
| | | var deviceInfo = DeviceUtility.GetDeviceModel();
|
| | | deviceInfo.Replace(" ", "").Replace("=", "").Replace("%", "").Replace("-", "").Replace("|", "");
|
| | | var versionStr = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", deviceInfo);
|
| | |
|
| | | send.Extra = StringUtility.Contact(VersionConfig.Get().SpID, "|", |
| | | SDKUtils.Instance.Device.uniqueID, "|", |
| | | sdkLoginResult.token, "|", |
| | | sdkLoginResult.qkUserName, "|", |
| | | versionStr.Substring(0, Math.Min(24, versionStr.Length)));
|
| | |
|
| | |
|
| | | Debug.Log("=====> extra: " + send.Extra);
|
| | | send.ExtraLen = (ushort)send.Extra.Length;
|
| | |
|
| | | send.IDType = (byte)SDKUtils.Instance.ChannelPlatform; |
| | | send.Password = sdkLoginResult.token; |
| | | send.AccID = sdkLoginResult.account; |
| | | |
| | | var deviceInfo = DeviceUtility.GetDeviceModel(); |
| | | deviceInfo.Replace(" ", "").Replace("=", "").Replace("%", "").Replace("-", "").Replace("|",""); |
| | | var versionStr = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", deviceInfo); |
| | | |
| | | send.Extra += ("|" + versionStr.Substring(0, Math.Min(24, versionStr.Length))); |
| | | Debug.Log("=====> extra: " + send.Extra); |
| | | send.ExtraLen = (ushort)send.Extra.Length; |
| | | send.MAC = DeviceUtility.GetMac(); |
| | | send.Version = _serverInfo.Version; |
| | | send.LineNO = 255; |
| | | send.AppID = VersionConfig.Get().appId; |
| | | send.AccountID = (uint)sdkLoginResult.accountID; |
| | | send.TokenExpire = sdkLoginResult.tokenExpire; |
| | | if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Sp) |
| | | { |
| | | send.TokenExpire = SDKUtils.Instance.FreePlatformInfo.timeStamp; |
| | | } |
| | | send.Phone = (byte)sdkLoginResult.phone; |
| | | send.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag; |
| | | if (sdkIDCheckIDAuthentication.type == "1") |
| | |
| | | { |
| | | send.Adult = 0; |
| | | } |
| | | break; |
| | | break;
|
| | | }
|
| | | } |
| | | |
| | | return send; |
| | |
| | | public class ServerBehaviourGroup : ScrollItem |
| | | { |
| | | [SerializeField] ServerBehaviour m_ServerBehaviour_1; |
| | | [SerializeField] ServerBehaviour m_ServerBehaviour_2; |
| | | |
| | | public override void Display(object _data) |
| | | { |
| | |
| | | var serverDataGroup = (ServerDataCouple)_data; |
| | | |
| | | m_ServerBehaviour_1.SetActive(serverDataGroup.serverData1.region_flag > 0); |
| | | m_ServerBehaviour_2.SetActive(serverDataGroup.serverData2.region_flag > 0); |
| | | |
| | | if (serverDataGroup.serverData1.region_flag > 0) |
| | | { |
| | | m_ServerBehaviour_1.Display(serverDataGroup.serverData1); |
| | | } |
| | | |
| | | if (serverDataGroup.serverData2.region_flag > 0) |
| | | { |
| | | m_ServerBehaviour_2.Display(serverDataGroup.serverData2); |
| | | } |
| | | |
| | | } |
| | |
| | | public struct ServerDataCouple |
| | | { |
| | | public ServerData serverData1; |
| | | public ServerData serverData2; |
| | | //public ServerData serverData2; |
| | | |
| | | public ServerDataCouple(ServerData _data1) |
| | | { |
| | | serverData1 = _data1; |
| | | serverData2 = default(ServerData); |
| | | //serverData2 = default(ServerData); |
| | | } |
| | | |
| | | public ServerDataCouple(ServerData _data1, ServerData _data2) |
| | | { |
| | | serverData1 = _data1; |
| | | serverData2 = _data2; |
| | | //serverData2 = _data2; |
| | | } |
| | | } |
| | | |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine.UI; |
| | | using DG.Tweening; |
| | | using Cysharp.Threading.Tasks; |
| | | |
| | | public class ServerListWin : UIBase |
| | | { |
| | |
| | | // #endregion |
| | | |
| | | #region 初始化系统设置 |
| | | SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false); |
| | | SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false); |
| | | //SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false); |
| | | //SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false); |
| | | #endregion |
| | | |
| | | // #region 初始化聊天设置 |
| | |
| | | [SerializeField][HideInInspector] public int maxIdleRounds = 20; |
| | | |
| | | // 动画相关 |
| | | [SerializeField] public UIAnimationType openAnimationType = UIAnimationType.None; |
| | | [SerializeField] public UIAnimationType openAnimationType = UIAnimationType.ScaleInOut; |
| | | [SerializeField] public UIAnimationType closeAnimationType = UIAnimationType.None; |
| | | [SerializeField][HideInInspector] public float animationDuration = 0.3f; |
| | | [SerializeField][HideInInspector] public Ease animationEase = Ease.OutQuad; // 确保使用 DG.Tweening.Ease |
| | |
| | | } |
| | | } |
| | | |
| | | ////A0 04 同步客户端时间 #tagServerDateTime 中的 CrossServerTime 为玩家在子服中收到的跨服时间 |
| | | //CrossServerNow为玩家登录在跨服服务器里的通知时间, 与ILTimeUtility.ServerCrossNow(玩家在子服收到跨服的时间通知)不同 |
| | | //A0 04 同步客户端时间 #tagServerDateTime 中的 CrossServerTime 为玩家在子服中收到的跨服时间 |
| | | static DateTime s_CrossServerTime = DateTime.Now; |
| | | static float _crossCheckTime = 0; |
| | | public static DateTime CrossServerNow |
| | |
| | | public static event Action OnCreateRoleTimeRefresh; |
| | | // public static void OnRefreshCreateRoleTime(HA124_tagMCPlayerInfo _package) |
| | | // { |
| | | // if (_package.socketType == ServerType.CrossSever) |
| | | // { |
| | | // return; |
| | | // } |
| | | |
| | | |
| | | // createRoleTime = Convert.ToDateTime(UIHelper.GetTime(_package.CreateRoleTime)); |
| | | // createRoleTimeTail = new DateTime(createRoleTime.Year, createRoleTime.Month, createRoleTime.Day); |
| | |
| | | // Debug.LogFormat("CreateRoleTime {0} CreateDays {1}", createRoleTimeTail, CreateDays); |
| | | // } |
| | | |
| | | public static event Action OnServerTimeRefresh; |
| | | // public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData) |
| | | // { |
| | | // var dateTime = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second); |
| | | // if (vNetData.socketType == ServerType.CrossSever) |
| | | // { |
| | | // s_CrossServerTime = dateTime; |
| | | // _crossCheckTime = Time.realtimeSinceStartup; |
| | | // } |
| | | // else |
| | | // { |
| | | // s_ServerTime = dateTime; |
| | | // _checkTime = Time.realtimeSinceStartup; |
| | | // if (OnServerTimeRefresh != null) |
| | | // { |
| | | // OnServerTimeRefresh(); |
| | | // } |
| | | // } |
| | | public static event Action OnServerTimeRefresh;
|
| | | public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
|
| | | {
|
| | | var dateTime = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
|
| | |
|
| | | s_ServerTime = dateTime;
|
| | | _checkTime = Time.realtimeSinceStartup;
|
| | | if (OnServerTimeRefresh != null)
|
| | | {
|
| | | OnServerTimeRefresh();
|
| | | }
|
| | |
|
| | | s_CrossServerTime = Convert.ToDateTime(vNetData.CrossServerTime);
|
| | | _crossCheckTime = Time.realtimeSinceStartup;
|
| | |
|
| | | TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
|
| | | {
|
| | | SyncServerTime();
|
| | | }, 60);
|
| | | } |
| | | |
| | | // TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) => |
| | | // { |
| | | // SyncServerTime(); |
| | | // }, 60); |
| | | // } |
| | | public static event Action OnServerOpenDayRefresh;
|
| | | public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
|
| | | {
|
| | | {
|
| | | OpenDay = package.Day;
|
| | | IsMixServer = package.IsMixServer == 1;
|
| | | MixOpenDay = package.MixDay;
|
| | | openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
|
| | | WeekOfYear = package.WeekOfYear;
|
| | | }
|
| | |
|
| | | OnRefreshServerTime(new HA004_tagServerDateTime()
|
| | | {
|
| | | Year = package.NowYear,
|
| | | Month = package.NowMonth,
|
| | | Day = package.NowDay,
|
| | | Hour = package.NowHour,
|
| | | Minute = package.NowMinute,
|
| | | Second = package.NowSecond,
|
| | | MicSecond = package.NowMicSecond,
|
| | | socketType = package.socketType,
|
| | | });
|
| | |
|
| | |
|
| | | if (OnServerOpenDayRefresh != null)
|
| | | {
|
| | | OnServerOpenDayRefresh();
|
| | | }
|
| | | }
|
| | |
|
| | | public static void SyncServerTime()
|
| | | {
|
| | | CA002_tagClientRequestServerTime pak = new CA002_tagClientRequestServerTime();
|
| | | GameNetSystem.Instance.SendInfo(pak);
|
| | |
|
| | | } |
| | | |
| | | public static event Action OnServerOpenDayRefresh; |
| | | // public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package) |
| | | // { |
| | | // if (package.socketType != ServerType.CrossSever) |
| | | // { |
| | | // OpenDay = package.Day; |
| | | // IsMixServer = package.IsMixServer == 1; |
| | | // MixOpenDay = package.MixDay; |
| | | // openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday; |
| | | // WeekOfYear = package.WeekOfYear; |
| | | // } |
| | | |
| | | // OnRefreshServerTime(new HA004_tagServerDateTime() |
| | | // { |
| | | // Year = package.NowYear, |
| | | // Month = package.NowMonth, |
| | | // Day = package.NowDay, |
| | | // Hour = package.NowHour, |
| | | // Minute = package.NowMinute, |
| | | // Second = package.NowSecond, |
| | | // MicSecond = package.NowMicSecond, |
| | | // socketType = package.socketType, |
| | | // }); |
| | | |
| | | |
| | | // if (package.socketType != ServerType.CrossSever |
| | | // && OnServerOpenDayRefresh != null) |
| | | // { |
| | | // OnServerOpenDayRefresh(); |
| | | // } |
| | | // } |
| | | |
| | | // public static void SyncServerTime() |
| | | // { |
| | | // CA002_tagClientRequestServerTime pak = new CA002_tagClientRequestServerTime(); |
| | | // GameNetSystem.Instance.SendInfo(pak); |
| | | // if (GameNetSystem.Instance.crossServerSocketConnected) |
| | | // { |
| | | // GameNetSystem.Instance.SendToCrossServer(pak); |
| | | // } |
| | | // } |
| | | /// <summary> |
| | | /// 根据服务器下发的秒数获取时间 |
| | | /// </summary> |