| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Thursday, September 07, 2017 |
| | | //-------------------------------------------------------- |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using UnityEngine.UI; |
| | | using System; |
| | | using TableConfig; |
| | | using System.Collections.Generic; |
| | | //聊天面板 |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | | |
| | | public class ChatFrame : MonoBehaviour |
| | | { |
| | | [SerializeField] VoiceRecorder _TongVoiceBtn;//盟语音 |
| | | [SerializeField] VoiceRecorder _TeamChatBtn;//队语音 |
| | | [SerializeField] Button _MailBtn;//邮件按钮 |
| | | [SerializeField] Button _OneKeyBtn;//地图挂机 |
| | | [SerializeField] Button _AutoBtn;//自动挂机 |
| | | [SerializeField] Button _FriendsBtn;//好友按钮 |
| | | [SerializeField] Button _BackPack1Btn;//背包按钮 |
| | | [SerializeField] Button _SetupBtn; |
| | | |
| | | [SerializeField] GameObject _OneKeyBtnImg;//地图挂机 |
| | | [SerializeField] GameObject AutoImg;//原地挂机 |
| | | |
| | | [SerializeField] Button m_TaskBtn;//任务按钮 |
| | | [SerializeField] Button m_TeamBtn;//队伍按钮 |
| | | [SerializeField] Button m_RealmBtn;//境界按钮 |
| | | [SerializeField] Image m_RealmLV;//境界等级 |
| | | [SerializeField] RedpointBehaviour m_RealmRed; |
| | | [SerializeField] UIEffect m_RealmSfx; |
| | | |
| | | [SerializeField] FairyFeastBehaviour m_FairyFeast; |
| | | List<int> OneKeyList = new List<int>(); |
| | | TeamModel m_Model; |
| | | TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TeamModel>()); } } |
| | | RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } } |
| | | CoinTaskTipModel m_CoinTaskTip; |
| | | CoinTaskTipModel coinTaskTip { get { return m_CoinTaskTip ?? (m_CoinTaskTip = ModelCenter.Instance.GetModel<CoinTaskTipModel>()); } } |
| | | public void Init() |
| | | { |
| | | OneKeyList.Clear(); |
| | | var funconfig = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("OneKeyBtnMap"); |
| | | int[] Listmap = ConfigParse.GetMultipleStr<int>(funconfig.Numerical1); |
| | | for (int i = 0; i < Listmap.Length; i++) |
| | | { |
| | | OneKeyList.Add(Listmap[i]); |
| | | } |
| | | MailAllModel.Instance.MailCntChangeEvent += MailCountChange; |
| | | model.myTeamRefreshEvent += myTeamRefreshEvent; |
| | | HeroBehaviour.OnStopHandupAI += OnHeroHandupAIStopPassive; |
| | | HeroBehaviour.OnStartHandupAI += OnHeroHandupAIStarted; |
| | | PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo; |
| | | FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; |
| | | _TongVoiceBtn.voiceRecordSuccessEvent += OnVoiceRecordFairySuccessEvent; |
| | | _TeamChatBtn.voiceRecordSuccessEvent += OnVoiceRecordTeamSuccessEvent; |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418) |
| | | RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent; |
| | | m_FairyFeast.Init(); |
| | | _MailBtn.onClick.AddListener(MailButton); |
| | | _OneKeyBtn.onClick.AddListener(OneKeyButton); |
| | | _AutoBtn.onClick.AddListener(AutoButton); |
| | | _FriendsBtn.onClick.AddListener(TeamBtn); |
| | | _BackPack1Btn.onClick.AddListener(BackPack1Buton); |
| | | _SetupBtn.onClick.AddListener(OnSetBtn); |
| | | m_TaskBtn.AddListener(TaskButton); |
| | | m_TeamBtn.AddListener(FriendsButton); |
| | | m_RealmBtn.AddListener(OnRealmButton); |
| | | myTeamRefreshEvent(); |
| | | OnRefreshFairyInfo(); |
| | | CheckRealmSfx(); |
| | | |
| | | |
| | | if (PlayerDatas.Instance.hero != null) |
| | | { |
| | | if (PlayerDatas.Instance.hero.aiHandler.IsAuto()) |
| | | { |
| | | OnHeroHandupAIStopPassive(); |
| | | } |
| | | } |
| | | MailCountChange(); |
| | | GetRealmLevel(); |
| | | } |
| | | |
| | | public void OnAfterOpen() |
| | | { |
| | | var inDungeon = IsDungeon(); |
| | | int MapId = PlayerDatas.Instance.baseData.MapID; |
| | | if (inDungeon) |
| | | { |
| | | m_TaskBtn.gameObject.SetActive(false); |
| | | if (OneKeyList.Contains(MapId)) |
| | | { |
| | | _OneKeyBtnImg.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | _OneKeyBtnImg.SetActive(false); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | m_TaskBtn.gameObject.SetActive(true); |
| | | _OneKeyBtnImg.SetActive(true); |
| | | } |
| | | } |
| | | private void OnVoiceRecordTeamSuccessEvent(int _instId, float _seconds) |
| | | { |
| | | ModelCenter.Instance.GetModel<ChatCenter>().SetVoice(_instId, ChatInfoType.Team, _seconds); |
| | | } |
| | | |
| | | private void OnVoiceRecordFairySuccessEvent(int _instId, float _seconds) |
| | | { |
| | | ModelCenter.Instance.GetModel<ChatCenter>().SetVoice(_instId, ChatInfoType.Fairy, _seconds); |
| | | } |
| | | |
| | | private void OnFuncStateChangeEvent(int _type) |
| | | { |
| | | if ((FuncOpenEnum)_type == FuncOpenEnum.Chat) |
| | | { |
| | | OnRefreshFairyInfo(); |
| | | myTeamRefreshEvent(); |
| | | } |
| | | if ((FuncOpenEnum)_type == FuncOpenEnum.Realm) |
| | | { |
| | | GetRealmLevel(); |
| | | } |
| | | } |
| | | |
| | | private void MailCountChange() |
| | | { |
| | | List<MailInfo> maillist = MailAllModel.Instance.GetTimeOrderMaillist(); |
| | | bool isShowMail = false; |
| | | if (maillist != null && PreFightMission.Instance.IsFinished()) |
| | | { |
| | | for (int i = 0; i < maillist.Count; i++) |
| | | { |
| | | if (maillist[i].IsRead == 0) |
| | | { |
| | | isShowMail = true; |
| | | break; |
| | | } |
| | | else |
| | | { |
| | | if (maillist[i].Gold > 0 |
| | | || maillist[i].GoldPaper > 0 |
| | | || maillist[i].Silver > 0 |
| | | || maillist[i].Count > 0) |
| | | { |
| | | isShowMail = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | _MailBtn.gameObject.SetActive(isShowMail); |
| | | } |
| | | |
| | | private void GetRealmLevel()//关于境界 |
| | | { |
| | | int realmLevel = PlayerDatas.Instance.baseData.realmLevel; |
| | | var realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(realmLevel); |
| | | if (FuncOpen.Instance.IsFuncOpen(12)) |
| | | { |
| | | if (realmConfig != null && realmConfig.Lv > 0) |
| | | { |
| | | m_RealmLV.SetSprite(realmConfig.Img); |
| | | } |
| | | else |
| | | { |
| | | m_RealmLV.SetSprite("NoRealm"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | m_RealmLV.SetSprite("NoRealm"); |
| | | } |
| | | |
| | | } |
| | | |
| | | public void CheckRealmSfx() |
| | | { |
| | | var _model = ModelCenter.Instance.GetModel<RealmModel>(); |
| | | if (_model.IsDungeonState && realmModel.realmRedpoint.state == RedPointState.Simple) |
| | | { |
| | | m_RealmRed.gameObject.SetActive(false); |
| | | if (!m_RealmSfx.IsPlaying) |
| | | { |
| | | m_RealmSfx.Play(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | m_RealmRed.gameObject.SetActive(true); |
| | | } |
| | | } |
| | | |
| | | private void OnSetBtn() |
| | | { |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | |
| | | WindowCenter.Instance.Open<SettingUpWin>(false, 3); |
| | | } |
| | | private void TaskButton() |
| | | { |
| | | |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | WindowCenter.Instance.Open<TaskWin>(); |
| | | if (coinTaskTip.IsPopup) |
| | | { |
| | | coinTaskTip.IsPopup = false; |
| | | } |
| | | } |
| | | private void TeamBtn() |
| | | { |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | |
| | | if (model.myTeam.inTeam) |
| | | { |
| | | WindowCenter.Instance.Open<TeamFrameWin>(false, 1); |
| | | } |
| | | else |
| | | { |
| | | WindowCenter.Instance.Open<TeamFrameWin>(false, 0); |
| | | } |
| | | |
| | | } |
| | | public void UnInit() |
| | | { |
| | | _TongVoiceBtn.voiceRecordSuccessEvent -= OnVoiceRecordFairySuccessEvent; |
| | | _TeamChatBtn.voiceRecordSuccessEvent -= OnVoiceRecordTeamSuccessEvent; |
| | | model.myTeamRefreshEvent -= myTeamRefreshEvent; |
| | | PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo; |
| | | FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; |
| | | HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive; |
| | | HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted; |
| | | MailAllModel.Instance.DeleteMailEvent -= MailCountChange; |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418) |
| | | RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent; |
| | | m_FairyFeast.UnInit(); |
| | | m_RealmBtn.RemoveAllListeners(); |
| | | _MailBtn.onClick.RemoveAllListeners(); |
| | | _OneKeyBtn.onClick.RemoveAllListeners(); |
| | | _AutoBtn.onClick.RemoveAllListeners(); |
| | | _FriendsBtn.onClick.RemoveAllListeners(); |
| | | _BackPack1Btn.onClick.RemoveAllListeners(); |
| | | _SetupBtn.onClick.RemoveAllListeners(); |
| | | m_TeamBtn.RemoveAllListeners(); |
| | | m_TaskBtn.RemoveAllListeners(); |
| | | |
| | | } |
| | | |
| | | private void RedpointValueChangeEvent(int _id) |
| | | { |
| | | if (_id == realmModel.realmRedpoint.id) |
| | | { |
| | | CheckRealmSfx(); |
| | | } |
| | | } |
| | | |
| | | private void OnRefreshFairyInfo() |
| | | { |
| | | _TongVoiceBtn.gameObject.SetActive(PlayerDatas.Instance.fairyData.HasFairy |
| | | && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat)); |
| | | } |
| | | |
| | | private void myTeamRefreshEvent() |
| | | { |
| | | _TeamChatBtn.gameObject.SetActive(model.myTeam.inTeam |
| | | && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat)); |
| | | } |
| | | |
| | | private void LateUpdate() |
| | | { |
| | | if (PlayerDatas.Instance.hero == null |
| | | || PlayerDatas.Instance.hero.aiHandler == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.hero.aiHandler.IsAuto()) |
| | | { |
| | | AutoImg.SetActive(false); |
| | | if (!WindowCenter.Instance.CheckOpen<ExperienceOpenWin>()) |
| | | { |
| | | WindowCenter.Instance.Open<ExperienceOpenWin>(true); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | AutoImg.SetActive(true); |
| | | if (WindowCenter.Instance.CheckOpen<ExperienceOpenWin>()) |
| | | { |
| | | WindowCenter.Instance.CloseImmediately<ExperienceOpenWin>(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | void FriendsButton() |
| | | { |
| | | //MainRedDot.Instance.redPointFriendChat.state = RedPointState.None; |
| | | //ChatCtrl.Inst.presentChatType = ChatInfoType.Friend; |
| | | //WindowCenter.Instance.Open<ChatWin>(); |
| | | WindowCenter.Instance.Open<SocialWin>(); |
| | | } |
| | | |
| | | void TeamChatButton() |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("UnopenedFunction"); |
| | | } |
| | | |
| | | void TongVoiceButton() |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("UnopenedFunction"); |
| | | } |
| | | private void OnRealmButton() |
| | | { |
| | | WindowCenter.Instance.Open<RealmWin>(); |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | } |
| | | |
| | | void MailButton()//邮件按钮 |
| | | { |
| | | WindowCenter.Instance.Open<MailWin>(); |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | } |
| | | DungeonModel modelD { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } |
| | | PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } } |
| | | BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } |
| | | void OneKeyButton()//地图挂机按钮 |
| | | { |
| | | |
| | | if (OneKeyList.Contains(PlayerDatas.Instance.baseData.MapID)) |
| | | { |
| | | var dataMapId = modelD.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID); |
| | | var config = ConfigManager.Instance.GetTemplate<DungeonOpenTimeConfig>(dataMapId); |
| | | string language = string.Empty; |
| | | if (dataMapId == GeneralConfig.Instance.ruinsTranscriptMapId) |
| | | { |
| | | language = Language.Get(modelD.mission.lineID > main.LayerNumberNow ? "WHMJ_Quit2" : "WHMJ_Quit1"); |
| | | } |
| | | else if (dataMapId == BossHomeModel.BOSSHOME_MAPID) |
| | | { |
| | | var vipLevel = PlayerDatas.Instance.baseData.VIPLv; |
| | | var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1); |
| | | var dungeonId = modelD.DungeonMap(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId); |
| | | var dungeonConfig = ConfigManager.Instance.GetTemplate<DungeonConfig>(dungeonId); |
| | | |
| | | if (vipLevel < vipNeed) |
| | | { |
| | | var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1); |
| | | language = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed); |
| | | } |
| | | else |
| | | { |
| | | language = Language.Get(config.ExitDescription); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | language = Language.Get(config.ExitDescription); |
| | | } |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), |
| | | language, (bool isOk) => |
| | | { |
| | | if (isOk) |
| | | { |
| | | GoToOneKeyButton(); |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | GoToOneKeyButton(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | void GoToOneKeyButton() |
| | | { |
| | | var mapModel = ModelCenter.Instance.GetModel<MapModel>(); |
| | | var point = mapModel.GetRecommendHangPoint(); |
| | | var config = ConfigManager.Instance.GetTemplate<MapEventPointConfig>(point); |
| | | |
| | | var flyBootOwn = ModelCenter.Instance.GetModel<PlayerPackModel>().GetItemCountByID(PackType.rptItem, GeneralConfig.Instance.flyBootItemId); |
| | | var isVipFreeTransfer = ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0; |
| | | if (isVipFreeTransfer || flyBootOwn > 0) |
| | | { |
| | | MapTransferUtility.Instance.MissionFlyTo(config.MapID, config.NPCID); |
| | | } |
| | | else |
| | | { |
| | | MapTransferUtility.Instance.MoveToNPC(config.NPCID); |
| | | } |
| | | } |
| | | |
| | | void AutoButton()//原地挂机按钮 |
| | | { |
| | | var _hero = PlayerDatas.Instance.hero; |
| | | if (_hero != null && !_hero.ActorInfo.serverDie) |
| | | { |
| | | if (!_hero.aiHandler.IsAuto()) |
| | | { |
| | | if (!WindowCenter.Instance.CheckOpen<ExperienceOpenWin>()) |
| | | { |
| | | WindowCenter.Instance.Open<ExperienceOpenWin>(true); |
| | | } |
| | | _hero.Behaviour.StartHandupAI(); |
| | | } |
| | | else |
| | | { |
| | | if (WindowCenter.Instance.CheckOpen<ExperienceOpenWin>()) |
| | | { |
| | | WindowCenter.Instance.CloseImmediately<ExperienceOpenWin>(); |
| | | } |
| | | |
| | | _hero.Behaviour.StopHandupAI(); |
| | | } |
| | | } |
| | | AutoImg.SetActive(!AutoImg.activeSelf); |
| | | } |
| | | |
| | | void BackPack1Buton()//背包按钮 |
| | | { |
| | | WindowCenter.Instance.Open<KnapSackWin>(); |
| | | WindowCenter.Instance.Close<MainInterfaceWin>(); |
| | | } |
| | | |
| | | void OnHeroHandupAIStopPassive() |
| | | { |
| | | if (!AutoImg.activeSelf) |
| | | { |
| | | AutoImg.SetActive(true); |
| | | } |
| | | } |
| | | |
| | | void OnHeroHandupAIStarted() |
| | | { |
| | | if (AutoImg.activeSelf) |
| | | { |
| | | AutoImg.SetActive(false); |
| | | } |
| | | } |
| | | private bool IsDungeon()//判断是否再副本中 |
| | | { |
| | | var mapId = PlayerDatas.Instance.baseData.MapID; |
| | | var mapConfig = ConfigManager.Instance.GetTemplate<MapConfig>(mapId); |
| | | return mapConfig != null && mapConfig.MapFBType != 0; |
| | | } |
| | | |
| | | void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh)//数据的刷新 |
| | | { |
| | | switch (_tCDBPlayerRefresh) |
| | | { |
| | | case PlayerDataRefresh.OfficialRank: |
| | | GetRealmLevel(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | //--------------------------------------------------------
|
| | | // [Author]: 第二世界
|
| | | // [ Date ]: Thursday, September 07, 2017
|
| | | //--------------------------------------------------------
|
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | | using UnityEngine.UI;
|
| | | using System;
|
| | | using TableConfig;
|
| | | using System.Collections.Generic;
|
| | | //聊天面板
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | |
|
| | | public class ChatFrame : MonoBehaviour
|
| | | {
|
| | | [SerializeField] VoiceRecorder _TongVoiceBtn;//盟语音
|
| | | [SerializeField] VoiceRecorder _TeamChatBtn;//队语音
|
| | | [SerializeField] Button _MailBtn;//邮件按钮
|
| | | [SerializeField] Button _OneKeyBtn;//地图挂机
|
| | | [SerializeField] Button _AutoBtn;//自动挂机 |
| | | [SerializeField] Button _FriendsBtn;//好友按钮
|
| | | [SerializeField] Button _BackPack1Btn;//背包按钮
|
| | | [SerializeField] Button _SetupBtn;
|
| | |
|
| | | [SerializeField] GameObject _OneKeyBtnImg;//地图挂机
|
| | | [SerializeField] GameObject AutoImg;//原地挂机
|
| | |
|
| | | [SerializeField] Button m_TaskBtn;//任务按钮
|
| | | [SerializeField] Button m_TeamBtn;//队伍按钮
|
| | | [SerializeField] Button m_RealmBtn;//境界按钮
|
| | | [SerializeField] Image m_RealmLV;//境界等级
|
| | | [SerializeField] RedpointBehaviour m_RealmRed;
|
| | | [SerializeField] UIEffect m_RealmSfx;
|
| | |
|
| | | [SerializeField] FairyFeastBehaviour m_FairyFeast;
|
| | | List<int> OneKeyList = new List<int>();
|
| | | TeamModel m_Model;
|
| | | TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TeamModel>()); } }
|
| | | RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
|
| | | CoinTaskTipModel m_CoinTaskTip;
|
| | | CoinTaskTipModel coinTaskTip { get { return m_CoinTaskTip ?? (m_CoinTaskTip = ModelCenter.Instance.GetModel<CoinTaskTipModel>()); } }
|
| | | public void Init()
|
| | | {
|
| | | OneKeyList.Clear();
|
| | | var funconfig = Config.Instance.Get<FuncConfigConfig>("OneKeyBtnMap");
|
| | | int[] Listmap = ConfigParse.GetMultipleStr<int>(funconfig.Numerical1);
|
| | | for (int i = 0; i < Listmap.Length; i++)
|
| | | {
|
| | | OneKeyList.Add(Listmap[i]);
|
| | | }
|
| | | MailAllModel.Instance.MailCntChangeEvent += MailCountChange;
|
| | | model.myTeamRefreshEvent += myTeamRefreshEvent;
|
| | | HeroBehaviour.OnStopHandupAI += OnHeroHandupAIStopPassive;
|
| | | HeroBehaviour.OnStartHandupAI += OnHeroHandupAIStarted;
|
| | | PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
|
| | | FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
|
| | | _TongVoiceBtn.voiceRecordSuccessEvent += OnVoiceRecordFairySuccessEvent;
|
| | | _TeamChatBtn.voiceRecordSuccessEvent += OnVoiceRecordTeamSuccessEvent;
|
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
|
| | | RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
|
| | | m_FairyFeast.Init();
|
| | | _MailBtn.onClick.AddListener(MailButton);
|
| | | _OneKeyBtn.onClick.AddListener(OneKeyButton);
|
| | | _AutoBtn.onClick.AddListener(AutoButton);
|
| | | _FriendsBtn.onClick.AddListener(TeamBtn);
|
| | | _BackPack1Btn.onClick.AddListener(BackPack1Buton);
|
| | | _SetupBtn.onClick.AddListener(OnSetBtn);
|
| | | m_TaskBtn.AddListener(TaskButton);
|
| | | m_TeamBtn.AddListener(FriendsButton);
|
| | | m_RealmBtn.AddListener(OnRealmButton);
|
| | | myTeamRefreshEvent();
|
| | | OnRefreshFairyInfo();
|
| | | CheckRealmSfx();
|
| | |
|
| | |
|
| | | if (PlayerDatas.Instance.hero != null)
|
| | | {
|
| | | if (PlayerDatas.Instance.hero.aiHandler.IsAuto())
|
| | | {
|
| | | OnHeroHandupAIStopPassive();
|
| | | }
|
| | | }
|
| | | MailCountChange();
|
| | | GetRealmLevel();
|
| | | }
|
| | |
|
| | | public void OnAfterOpen()
|
| | | {
|
| | | var inDungeon = IsDungeon();
|
| | | int MapId = PlayerDatas.Instance.baseData.MapID;
|
| | | if (inDungeon)
|
| | | {
|
| | | m_TaskBtn.gameObject.SetActive(false);
|
| | | if (OneKeyList.Contains(MapId))
|
| | | {
|
| | | _OneKeyBtnImg.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | _OneKeyBtnImg.SetActive(false);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_TaskBtn.gameObject.SetActive(true);
|
| | | _OneKeyBtnImg.SetActive(true);
|
| | | }
|
| | | }
|
| | | private void OnVoiceRecordTeamSuccessEvent(int _instId, float _seconds)
|
| | | {
|
| | | ModelCenter.Instance.GetModel<ChatCenter>().SetVoice(_instId, ChatInfoType.Team, _seconds);
|
| | | }
|
| | |
|
| | | private void OnVoiceRecordFairySuccessEvent(int _instId, float _seconds)
|
| | | {
|
| | | ModelCenter.Instance.GetModel<ChatCenter>().SetVoice(_instId, ChatInfoType.Fairy, _seconds);
|
| | | }
|
| | |
|
| | | private void OnFuncStateChangeEvent(int _type)
|
| | | {
|
| | | if ((FuncOpenEnum)_type == FuncOpenEnum.Chat)
|
| | | {
|
| | | OnRefreshFairyInfo();
|
| | | myTeamRefreshEvent();
|
| | | }
|
| | | if ((FuncOpenEnum)_type == FuncOpenEnum.Realm)
|
| | | {
|
| | | GetRealmLevel();
|
| | | }
|
| | | }
|
| | |
|
| | | private void MailCountChange()
|
| | | {
|
| | | List<MailInfo> maillist = MailAllModel.Instance.GetTimeOrderMaillist();
|
| | | bool isShowMail = false;
|
| | | if (maillist != null && PreFightMission.Instance.IsFinished())
|
| | | {
|
| | | for (int i = 0; i < maillist.Count; i++)
|
| | | {
|
| | | if (maillist[i].IsRead == 0)
|
| | | {
|
| | | isShowMail = true;
|
| | | break;
|
| | | }
|
| | | else
|
| | | {
|
| | | if (maillist[i].Gold > 0
|
| | | || maillist[i].GoldPaper > 0
|
| | | || maillist[i].Silver > 0
|
| | | || maillist[i].Count > 0)
|
| | | {
|
| | | isShowMail = true;
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | _MailBtn.gameObject.SetActive(isShowMail);
|
| | | }
|
| | |
|
| | | private void GetRealmLevel()//关于境界
|
| | | {
|
| | | int realmLevel = PlayerDatas.Instance.baseData.realmLevel;
|
| | | var realmConfig = Config.Instance.Get<RealmConfig>(realmLevel);
|
| | | if (FuncOpen.Instance.IsFuncOpen(12))
|
| | | {
|
| | | if (realmConfig != null && realmConfig.Lv > 0)
|
| | | {
|
| | | m_RealmLV.SetSprite(realmConfig.Img);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_RealmLV.SetSprite("NoRealm");
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_RealmLV.SetSprite("NoRealm");
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | public void CheckRealmSfx()
|
| | | {
|
| | | var _model = ModelCenter.Instance.GetModel<RealmModel>();
|
| | | if (_model.IsDungeonState && realmModel.realmRedpoint.state == RedPointState.Simple)
|
| | | {
|
| | | m_RealmRed.gameObject.SetActive(false);
|
| | | if (!m_RealmSfx.IsPlaying)
|
| | | {
|
| | | m_RealmSfx.Play();
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_RealmRed.gameObject.SetActive(true);
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnSetBtn()
|
| | | {
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | |
|
| | | WindowCenter.Instance.Open<SettingUpWin>(false, 3);
|
| | | }
|
| | | private void TaskButton()
|
| | | {
|
| | |
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | | WindowCenter.Instance.Open<TaskWin>();
|
| | | if (coinTaskTip.IsPopup)
|
| | | {
|
| | | coinTaskTip.IsPopup = false;
|
| | | }
|
| | | }
|
| | | private void TeamBtn()
|
| | | {
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | |
|
| | | if (model.myTeam.inTeam)
|
| | | {
|
| | | WindowCenter.Instance.Open<TeamFrameWin>(false, 1);
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowCenter.Instance.Open<TeamFrameWin>(false, 0);
|
| | | }
|
| | |
|
| | | }
|
| | | public void UnInit()
|
| | | {
|
| | | _TongVoiceBtn.voiceRecordSuccessEvent -= OnVoiceRecordFairySuccessEvent;
|
| | | _TeamChatBtn.voiceRecordSuccessEvent -= OnVoiceRecordTeamSuccessEvent;
|
| | | model.myTeamRefreshEvent -= myTeamRefreshEvent;
|
| | | PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
|
| | | FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
|
| | | HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive;
|
| | | HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
|
| | | MailAllModel.Instance.DeleteMailEvent -= MailCountChange;
|
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
|
| | | RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
|
| | | m_FairyFeast.UnInit();
|
| | | m_RealmBtn.RemoveAllListeners();
|
| | | _MailBtn.onClick.RemoveAllListeners();
|
| | | _OneKeyBtn.onClick.RemoveAllListeners();
|
| | | _AutoBtn.onClick.RemoveAllListeners();
|
| | | _FriendsBtn.onClick.RemoveAllListeners();
|
| | | _BackPack1Btn.onClick.RemoveAllListeners();
|
| | | _SetupBtn.onClick.RemoveAllListeners();
|
| | | m_TeamBtn.RemoveAllListeners();
|
| | | m_TaskBtn.RemoveAllListeners();
|
| | |
|
| | | }
|
| | |
|
| | | private void RedpointValueChangeEvent(int _id)
|
| | | {
|
| | | if (_id == realmModel.realmRedpoint.id)
|
| | | {
|
| | | CheckRealmSfx();
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnRefreshFairyInfo()
|
| | | {
|
| | | _TongVoiceBtn.gameObject.SetActive(PlayerDatas.Instance.fairyData.HasFairy
|
| | | && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat));
|
| | | }
|
| | |
|
| | | private void myTeamRefreshEvent()
|
| | | {
|
| | | _TeamChatBtn.gameObject.SetActive(model.myTeam.inTeam
|
| | | && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat));
|
| | | }
|
| | |
|
| | | private void LateUpdate()
|
| | | {
|
| | | if (PlayerDatas.Instance.hero == null
|
| | | || PlayerDatas.Instance.hero.aiHandler == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | if (PlayerDatas.Instance.hero.aiHandler.IsAuto())
|
| | | {
|
| | | AutoImg.SetActive(false);
|
| | | if (!WindowCenter.Instance.CheckOpen<ExperienceOpenWin>())
|
| | | {
|
| | | WindowCenter.Instance.Open<ExperienceOpenWin>(true);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | AutoImg.SetActive(true);
|
| | | if (WindowCenter.Instance.CheckOpen<ExperienceOpenWin>())
|
| | | {
|
| | | WindowCenter.Instance.CloseImmediately<ExperienceOpenWin>();
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | void FriendsButton()
|
| | | {
|
| | | //MainRedDot.Instance.redPointFriendChat.state = RedPointState.None;
|
| | | //ChatCtrl.Inst.presentChatType = ChatInfoType.Friend;
|
| | | //WindowCenter.Instance.Open<ChatWin>();
|
| | | WindowCenter.Instance.Open<SocialWin>();
|
| | | }
|
| | |
|
| | | void TeamChatButton()
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
|
| | | }
|
| | |
|
| | | void TongVoiceButton()
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
|
| | | }
|
| | | private void OnRealmButton()
|
| | | {
|
| | | WindowCenter.Instance.Open<RealmWin>();
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | | }
|
| | |
|
| | | void MailButton()//邮件按钮
|
| | | {
|
| | | WindowCenter.Instance.Open<MailWin>();
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | | }
|
| | | DungeonModel modelD { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
| | | PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
|
| | | BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
|
| | | void OneKeyButton()//地图挂机按钮
|
| | | {
|
| | | |
| | | if (OneKeyList.Contains(PlayerDatas.Instance.baseData.MapID))
|
| | | {
|
| | | var dataMapId = modelD.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
| | | var config = Config.Instance.Get<DungeonOpenTimeConfig>(dataMapId);
|
| | | string language = string.Empty;
|
| | | if (dataMapId == GeneralConfig.Instance.ruinsTranscriptMapId)
|
| | | {
|
| | | language = Language.Get(modelD.mission.lineID > main.LayerNumberNow ? "WHMJ_Quit2" : "WHMJ_Quit1");
|
| | | }
|
| | | else if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
|
| | | {
|
| | | var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
|
| | | var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1);
|
| | | var dungeonId = modelD.DungeonMap(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId);
|
| | | var dungeonConfig = Config.Instance.Get<DungeonConfig>(dungeonId);
|
| | |
|
| | | if (vipLevel < vipNeed)
|
| | | {
|
| | | var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1);
|
| | | language = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed);
|
| | | }
|
| | | else
|
| | | {
|
| | | language = Language.Get(config.ExitDescription);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | language = Language.Get(config.ExitDescription);
|
| | | }
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
|
| | | language, (bool isOk) =>
|
| | | {
|
| | | if (isOk)
|
| | | {
|
| | | GoToOneKeyButton();
|
| | | }
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | GoToOneKeyButton();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | | void GoToOneKeyButton()
|
| | | {
|
| | | var mapModel = ModelCenter.Instance.GetModel<MapModel>();
|
| | | var point = mapModel.GetRecommendHangPoint();
|
| | | var config = Config.Instance.Get<MapEventPointConfig>(point);
|
| | |
|
| | | var flyBootOwn = ModelCenter.Instance.GetModel<PlayerPackModel>().GetItemCountByID(PackType.rptItem, GeneralConfig.Instance.flyBootItemId);
|
| | | var isVipFreeTransfer = ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0;
|
| | | if (isVipFreeTransfer || flyBootOwn > 0)
|
| | | {
|
| | | MapTransferUtility.Instance.MissionFlyTo(config.MapID, config.NPCID);
|
| | | }
|
| | | else
|
| | | {
|
| | | MapTransferUtility.Instance.MoveToNPC(config.NPCID);
|
| | | }
|
| | | }
|
| | |
|
| | | void AutoButton()//原地挂机按钮
|
| | | {
|
| | | var _hero = PlayerDatas.Instance.hero;
|
| | | if (_hero != null && !_hero.ActorInfo.serverDie)
|
| | | {
|
| | | if (!_hero.aiHandler.IsAuto())
|
| | | {
|
| | | if (!WindowCenter.Instance.CheckOpen<ExperienceOpenWin>())
|
| | | {
|
| | | WindowCenter.Instance.Open<ExperienceOpenWin>(true);
|
| | | }
|
| | | _hero.Behaviour.StartHandupAI();
|
| | | }
|
| | | else
|
| | | {
|
| | | if (WindowCenter.Instance.CheckOpen<ExperienceOpenWin>())
|
| | | {
|
| | | WindowCenter.Instance.CloseImmediately<ExperienceOpenWin>();
|
| | | }
|
| | |
|
| | | _hero.Behaviour.StopHandupAI();
|
| | | }
|
| | | }
|
| | | AutoImg.SetActive(!AutoImg.activeSelf);
|
| | | }
|
| | |
|
| | | void BackPack1Buton()//背包按钮
|
| | | {
|
| | | WindowCenter.Instance.Open<KnapSackWin>();
|
| | | WindowCenter.Instance.Close<MainInterfaceWin>();
|
| | | }
|
| | |
|
| | | void OnHeroHandupAIStopPassive()
|
| | | {
|
| | | if (!AutoImg.activeSelf)
|
| | | {
|
| | | AutoImg.SetActive(true);
|
| | | }
|
| | | }
|
| | |
|
| | | void OnHeroHandupAIStarted()
|
| | | {
|
| | | if (AutoImg.activeSelf)
|
| | | {
|
| | | AutoImg.SetActive(false);
|
| | | }
|
| | | }
|
| | | private bool IsDungeon()//判断是否再副本中
|
| | | {
|
| | | var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | var mapConfig = Config.Instance.Get<MapConfig>(mapId);
|
| | | return mapConfig != null && mapConfig.MapFBType != 0;
|
| | | }
|
| | |
|
| | | void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh)//数据的刷新
|
| | | {
|
| | | switch (_tCDBPlayerRefresh)
|
| | | {
|
| | | case PlayerDataRefresh.OfficialRank:
|
| | | GetRealmLevel();
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|