public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.OnFinished) { NetMessage.SCFinishBattle proto = args[0] as NetMessage.SCFinishBattle; if (proto == null) { return; } int rewardCount = 0; if (proto.rewards.Count > 0) { moneyObj.SetActive(true); moneyLabel.text = string.Format("X{0}", proto.rewards[0].num); moneyObj.SetActive(false); ++rewardCount; } if (rewardCount == 2) { lineObj.SetActive(true); } else if (rewardCount == 1) { chestObj.transform.localPosition = moneyObj.transform.localPosition = lineObj.transform.localPosition; } } if (eventId == EventId.OnFriendFollowResult) { // 关注好友结果 int userId = (int)args[0]; bool follow = (bool)args[1]; // 关注或者取消关注行动 NetMessage.ErrCode errCode = (NetMessage.ErrCode)args[2]; if (errCode == NetMessage.ErrCode.EC_Ok) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(815), 1.0f); for (int i = 0; i < 4; i++) { UILabel ID = btnAttention[i].transform.Find("useid").GetComponent <UILabel>(); if (ID == null || string.IsNullOrEmpty(ID.text)) { continue; } int useID = int.Parse(ID.text); if (userId == useID) { btnAttention[i].SetActive(false); } } } } }
public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.RequestUserResult) { // 重连后获取玩家数据 NetMessage.ErrCode code = (NetMessage.ErrCode)args[0]; if (code == NetMessage.ErrCode.EC_Ok) { EventSystem.Instance.FireEvent(EventId.ReconnectResult); UISystem.Instance.HideWindow("ReconnectWindow"); } else if (code == NetMessage.ErrCode.EC_NoExist) { CreateDefaultUser(); UISystem.Instance.HideWindow("ReconnectWindow"); } else if (code == NetMessage.ErrCode.EC_NeedResume) { // 需要恢复 UISystem.Instance.HideWindow("ReconnectWindow"); EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 1, LanguageDataProvider.GetValue(20)); NetSystem.Instance.helper.ReconnectResume(); // 此时根据结果来判断是走哪种恢复 //EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 2, LanguageDataProvider.GetValue(20), // new EventDelegate(ReconnectResume), // new EventDelegate(ReconnectGiveup) ); } } else if (eventId == EventId.CreateUserResult) { NetMessage.ErrCode code = (NetMessage.ErrCode)args[0]; if (code == NetMessage.ErrCode.EC_Ok) { EventSystem.Instance.FireEvent(EventId.ReconnectResult); UISystem.Instance.HideWindow("ReconnectWindow"); } } else if (eventId == EventId.NetworkStatus) { bool bConnected = (bool)args[0]; if (bConnected) { //UISystem.Instance.HideWindow("ReconnectWindow"); } } }
public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.OnStartMatchResult) { NetMessage.ErrCode code = (NetMessage.ErrCode)args [0]; if (code == NetMessage.ErrCode.EC_Ok) { // 关闭当前页,打开等待页 UISystem.Instance.HideWindow("CreateRoomWindow"); UISystem.Instance.ShowWindow("RoomWaitWindow"); } else if (code == NetMessage.ErrCode.EC_MatchIsFull) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(902), 1.0f); } else if (code == NetMessage.ErrCode.EC_MatchIsMember) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(903), 1.0f); } else if (code == NetMessage.ErrCode.EC_NotInMatch) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(904), 1.0f); } else if (code == NetMessage.ErrCode.EC_NotMaster) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(905), 1.0f); } else if (code == NetMessage.ErrCode.EC_RoomNotExist) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(906), 1.0f); } else { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.Format(901, code), 1.0f); } } }
public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.OnMatchInit) { // room init matchId = (string)args [0]; roomId = (string)args [1]; IList <NetMessage.UserData> userList = (IList <NetMessage.UserData>)args [2]; IList <int> userIndexList = (IList <int>)args [3]; hostId = (int)args [4]; playerNum = (int)args[5]; // format data int nPlayerCount = 0; for (int i = 0; i < userList.Count; ++i) { PlayerData pd = new PlayerData(); if (pd.userId > 0) { nPlayerCount++; } pd.Init(userList [i]); int index = userIndexList [i]; allPlayers [index] = pd; } SetModelPage(); SetPage(); Flurry.Instance.FlurryPVPBattleMatchEvent("1", matchId, "0", nPlayerCount.ToString(), roomId); } else if (eventId == EventId.OnMatchUpdate) { // room update IList <NetMessage.UserData> userAddList = (IList <NetMessage.UserData>)args [0]; IList <int> userIndexAddList = (IList <int>)args [1]; IList <int> userIndexDeleteList = (IList <int>)args [2]; IList <bool> userKickList = (IList <bool>)args [3]; IList <int> userChangeFromList = (IList <int>)args [4]; IList <int> userChangeToList = (IList <int>)args [5]; if (args.Length == 7) { hostId = (int)args [6]; } for (int i = 0; i < userIndexDeleteList.Count; ++i) { int index = userIndexDeleteList [i]; if (allPlayers [index] != null && allPlayers [index].userId == LocalPlayer.Get().playerData.userId) { // 自己退出,则关闭页面 UISystem.Instance.HideWindow("RoomWaitWindow"); UISystem.Instance.ShowWindow("CreateRoomWindow"); if (userKickList [i]) { // 被踢 Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(909), 1.0f); } } allPlayers [index] = null; } // add for (int i = 0; i < userAddList.Count; ++i) { PlayerData pd = new PlayerData(); pd.Init(userAddList [i]); int index = userIndexAddList [i]; allPlayers [index] = pd; } // change pos for (int i = 0; i < userChangeFromList.Count; ++i) { AudioManger.Get().PlayEffect("onOpen"); int from = userChangeFromList [i]; int to = userChangeToList [i]; PlayerData temp = allPlayers [from]; allPlayers [from] = allPlayers [to]; allPlayers [to] = temp; } SetPage(); } else if (eventId == EventId.OnMatchQuit) { // quit , 谁触发的quit,谁收到quit, NetMessage.ErrCode code = (NetMessage.ErrCode)args [0]; if (code == NetMessage.ErrCode.EC_NotMaster) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(905), 1.0f); } else if (code != NetMessage.ErrCode.EC_Ok) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.Format(901, code), 1.0f); } else if (code == NetMessage.ErrCode.EC_Ok) { UISystem.Get().HideAllWindow(); UISystem.Get().ShowWindow("CreateRoomWindow"); } } }
public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.OnGetLeagueInfoResult) { // 获取的是自身的联赛信息,则要么在战斗,要么在等待 leagueInfo = (NetMessage.LeagueInfo)args [0]; selfInfo = (NetMessage.MemberInfo)args [1]; start = TimeSystem.Instance.GetTime(leagueInfo.combat_start); end = TimeSystem.Instance.GetTime(leagueInfo.combat_finish); DateTime serverTime = TimeSystem.Instance.GetServerTime(); if (serverTime.CompareTo(start) < 0) { // 未开始 SetWaitPage(); } else if (serverTime.CompareTo(end) < 0) { // 战斗中 if (selfInfo.battle_num == 0) { SetWaitPage(); } else { SetBattlePage(); // 请求排行榜 NetSystem.Instance.helper.RequestLeagueRank(leagueInfo.id, 0); } } else { // 已结束 SetResultPage(); // 请求排行榜 NetSystem.Instance.helper.RequestLeagueRank(leagueInfo.id, 0); } } else if (eventId == EventId.OnLeagueListResult) { // 展示报名信息 int start = (int)args [0]; IList <NetMessage.LeagueInfo> leagueList = (IList <NetMessage.LeagueInfo>)args [1]; if (leagueList == null || leagueList.Count == 0) { // 没有活动 SetNotOpenPage(); } else { // 显示第一个活动 SetSignUpPage(leagueList [0]); } } else if (eventId == EventId.OnLeagueSignUpResult) { // 报名结果 NetMessage.ErrCode code = (NetMessage.ErrCode)args [0]; string leagueId = (string)args [1]; if (code == NetMessage.ErrCode.EC_Ok) { // 不需要,自动发送获取联赛信息的消息 } else if (code == NetMessage.ErrCode.EC_LeagueIsFull) { Tips.Make(LanguageDataProvider.GetValue(210)); } else if (code == NetMessage.ErrCode.EC_LeagueIn) { Tips.Make(LanguageDataProvider.GetValue(211)); } else if (code == NetMessage.ErrCode.EC_LeagueNotExist) { Tips.Make(LanguageDataProvider.GetValue(212)); } else if (code == NetMessage.ErrCode.EC_LeagueNotOpen) { Tips.Make(LanguageDataProvider.GetValue(213)); } else { Tips.Make(LanguageDataProvider.GetValue(214) + code); } } else if (eventId == EventId.OnLeagueRankResult) { IList <NetMessage.MemberInfo> list = (IList <NetMessage.MemberInfo>)args [1]; rankList.AddRange(list); if (battlePage.activeSelf) { SetRankScrollView(battleRankScrollView, battleRankGrid, battleStaticRanks); } else if (resultPage.activeSelf) { SetRankScrollView(resultRankScrollView, resultRankGrid, resultStaticRanks); // 设置结果自己的排名 SetResultSelfRank(); } } else if (eventId == EventId.OnLeagueMatchResult) { NetMessage.ErrCode code = (NetMessage.ErrCode)args [0]; if (code == NetMessage.ErrCode.EC_Ok) { } else if (code == NetMessage.ErrCode.EC_LeagueNotInMatchTime) { Tips.Make(LanguageDataProvider.GetValue(215)); } else { Tips.Make(LanguageDataProvider.GetValue(216)); } } }
public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.OnMatchInit) { matchId = (string)args[0]; roomId = (string)args[1]; IList <NetMessage.UserData> userList = (IList <NetMessage.UserData>)args[2]; IList <int> userIndexList = (IList <int>)args[3]; timeCount = (int)args[4]; playerNum = (int)args[5]; int nPlayerCount = 0; for (int i = 0; i < userList.Count; ++i) { PlayerData pd = new PlayerData(); pd.Init(userList[i]); if (pd.userId > 0) { nPlayerCount++; } else { // AI //pd.name = AIManager.GetAIName(pd.userId); //pd.icon = AIManager.GetAIIcon(pd.userId); } int index = userIndexList[i]; nowUserDatas[index] = pd; SetModelPage(); SetPage(); CheckAllEntered(); Flurry.Instance.FlurryPVPBattleMatchEvent("0", matchId, "0", nPlayerCount.ToString(), ""); } } else if (eventId == EventId.OnMatchUpdate) { IList <NetMessage.UserData> userAddList = (IList <NetMessage.UserData>)args[0]; IList <int> userIndexAddList = (IList <int>)args[1]; IList <int> userIndexDeleteList = (IList <int>)args[2]; for (int i = 0; i < userIndexDeleteList.Count; ++i) { int index = userIndexDeleteList[i]; nowUserDatas[index] = null; } // add for (int i = 0; i < userAddList.Count; ++i) { PlayerData pd = new PlayerData(); pd.Init(userAddList[i]); if (pd.userId <= 0) { // AI //pd.name = AIManager.GetAIName(pd.userId); //pd.icon = AIManager.GetAIIcon(pd.userId); } int index = userIndexAddList[i]; nowUserDatas[index] = pd; } SetPage(); CheckAllEntered(); } else if (eventId == EventId.OnMatchQuit) { // quit , 谁触发的quit,谁收到quit, NetMessage.ErrCode code = (NetMessage.ErrCode)args[0]; if (code == NetMessage.ErrCode.EC_NotMaster) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.GetValue(905), 1.0f); } else if (code != NetMessage.ErrCode.EC_Ok) { Tips.Make(Tips.TipsType.FlowUp, LanguageDataProvider.Format(901, code), 1.0f); } else if (code == NetMessage.ErrCode.EC_Ok) { BattleSystem.Instance.battleData.root.SetActive(false); BattleSystem.Instance.Reset(); UISystem.Get().HideAllWindow(); UISystem.Get().ShowWindow("StartWindow"); } } }
public override void OnUIEventHandler(EventId eventId, params object[] args) { if (eventId == EventId.RequestUserResult) { // 请求玩家数据结果 NetMessage.ErrCode code = (NetMessage.ErrCode)args[0]; if (code == NetMessage.ErrCode.EC_Ok) { RequestAccountAndChapters(); } else if (code == NetMessage.ErrCode.EC_NoExist) { // 默认玩家 CreateDefaultUser(); } else if (code == NetMessage.ErrCode.EC_NeedResume) { // 需要恢复 UISystem.Get().ShowWindow("CommonDialogWindow"); EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 1, LanguageDataProvider.GetValue(20)); NetSystem.Instance.helper.ReconnectResume(); // 此时根据结果来判断是走哪种恢复 //EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 2, LanguageDataProvider.GetValue(20), // new EventDelegate(ReconnectResume), // new EventDelegate(ReconnectGiveup)); } } else if (eventId == EventId.CreateUserResult) { // 创建玩家结果 NetMessage.ErrCode code = (NetMessage.ErrCode)args[0]; if (code == NetMessage.ErrCode.EC_Ok) { RequestAccountAndChapters(); } else if (code == NetMessage.ErrCode.EC_NameExist) { Tips.Make(LanguageDataProvider.GetValue(4)); } else if (code == NetMessage.ErrCode.EC_InvalidName) { Tips.Make(LanguageDataProvider.GetValue(5)); } else if (code == NetMessage.ErrCode.EC_AccountExist) { Tips.Make(LanguageDataProvider.GetValue(6)); } else { Tips.Make(LanguageDataProvider.GetValue(7)); } } else if (eventId == EventId.OnABGetVersions) { int versionCount = (int)args[0]; loadingTip.text += ""; if (versionCount == 0) { SetProgress(0.6f); RequestOfflineNotice(); } else { loadingTip.text += string.Format(LanguageDataProvider.GetValue(305), versionCount); progressInterval = 0.5f / versionCount; SetProgress(0.1f); CoroutineMono.Start(UpdateSystem.Get().StartUpdate()); } } else if (eventId == EventId.OnPackageUpdate) { // 整包更新 TableVersion packageUpdateVersion = args[0] as TableVersion; // 弹出大版本更新提示框 string desc = packageUpdateVersion.desc.Replace("\\n", "\n"); UISystem.Instance.ShowWindow("CommonDialogWindow"); EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 4, desc , new EventDelegate(() => { Application.OpenURL(packageUpdateVersion.assetTableUrl); })); } else if (eventId == EventId.OnHttpNotice) { // 获取http公告 string notice = (string)args[0]; int len = notice.Length; if (len < 2) { // 没有公告,进入sdk登录 LoginSDK(); } else { // 有公告,分析公告 int type = 0; int.TryParse(notice.Substring(0, 1), out type); string text = notice.Substring(2).Replace("\\n", "\n"); UISystem.Instance.ShowWindow("CommonNoticeWindow"); if (type == 0) { EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 1, text , new EventDelegate(() => { LoginSDK(); })); } else { EventSystem.Instance.FireEvent(EventId.OnCommonDialog, 4, text); } } } else if (eventId == EventId.OnABDownloadIndex) { int index = (int)args[0]; int size = (int)args[1]; loadingTip.text += string.Format(LanguageDataProvider.GetValue(306), index + 1, size / 8000); SetProgress(targetProgress + (index + 1) * progressInterval); } else if (eventId == EventId.OnABDownloading) { float progress = (float)args[0]; int bytes = (int)args[1]; Debug.Log("progress : " + progress + " 已接收:" + bytes); } else if (eventId == EventId.OnABDownloadingFinished) { loadingTip.text += LanguageDataProvider.GetValue(307); SetProgress(0.6f); loadingTip.text += LanguageDataProvider.GetValue(308); UpdateSystem.Get().ReloadClient(); loadingTip.text += LanguageDataProvider.GetValue(309); RequestOfflineNotice(); } else if (eventId == EventId.OnSDKLoginResult) { CoroutineMono.Start(LoginServer()); } else if (eventId == EventId.UpdateChaptersView) { UISystem.Get().HideAllWindow(); UISystem.Get().ShowWindow("LobbyWindowView"); EventSystem.Instance.FireEvent(EventId.UpdateChaptersWindow, 1); } else if (eventId == EventId.OnSyncuserAndChaptersResult) { //int type = (int)args[0]; //int nResult = (int)args[1]; //if( type == 0 ) //{ // if (UserSyncSysteam.Get().curLoadStruct != null && nResult == 1) // { // if (UserSyncSysteam.Get().curLoadStruct.regtimeSaveFile != LocalAccountStorage.Get().regtimeSaveFile) // UISystem.Instance.ShowWindow("CloudWindow"); // else // StartSingleGame(); // } // else // { // StartSingleGame(); // } //} } }