From 7eb09b918853609ec835c58097d0c564708f288e Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 30 三月 2019 15:14:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/MainInterfacePanel/ChatFrame.cs | 129 ++++++++++++++++++-------------------------
1 files changed, 54 insertions(+), 75 deletions(-)
diff --git a/System/MainInterfacePanel/ChatFrame.cs b/System/MainInterfacePanel/ChatFrame.cs
index 11259c6..dfc85b9 100644
--- a/System/MainInterfacePanel/ChatFrame.cs
+++ b/System/MainInterfacePanel/ChatFrame.cs
@@ -15,9 +15,6 @@
public class ChatFrame : MonoBehaviour
{
- [SerializeField] Button m_Voice;
- [SerializeField] VoiceRecorder m_TeamVoice;
- [SerializeField] VoiceRecorder m_GuildVoice;
[SerializeField] Button _MailBtn;//閭欢鎸夐挳
[SerializeField] Button _OneKeyBtn;//鍦板浘鎸傛満
[SerializeField] Button _AutoBtn;//鑷姩鎸傛満
@@ -31,29 +28,27 @@
[SerializeField] Button m_SocialBtn;//绀句氦鎸夐挳
[SerializeField] Button m_TeamBtn;//闃熶紞鎸夐挳
+ [SerializeField] RectTransform m_ContainerVoice;
+ [SerializeField] Button m_Voice;
+ [SerializeField] VoiceWidget m_VoiceWidget;
+
List<int> OneKeyList = new List<int>();
- TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
+ TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
CoinTaskTipModel coinTaskTip { get { return ModelCenter.Instance.GetModel<CoinTaskTipModel>(); } }
+
+ void Awake()
+ {
+ var funconfig = FuncConfigConfig.Get("OneKeyBtnMap");
+ OneKeyList.AddRange(ConfigParse.GetMultipleStr<int>(funconfig.Numerical1));
+ }
public void Init()
{
- OneKeyList.Clear();
- var funconfig = FuncConfigConfig.Get("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;
-
- m_GuildVoice.voiceRecordSuccessEvent += OnVoiceRecordFairySuccessEvent;
- m_TeamVoice.voiceRecordSuccessEvent += OnVoiceRecordTeamSuccessEvent;
_MailBtn.SetListener(MailButton);
_OneKeyBtn.SetListener(OneKeyButton);
@@ -63,9 +58,11 @@
m_TaskBtn.SetListener(TaskButton);
m_SocialBtn.SetListener(FriendsButton);
m_TeamBtn.SetListener(OpenTeam);
- myTeamRefreshEvent();
- OnRefreshFairyInfo();
+ m_Voice.SetListener(OpenVoice);
+
MailCountChange();
+ UpdateVoiceState();
+ m_VoiceWidget.Init();
if (PlayerDatas.Instance.hero != null)
{
@@ -76,44 +73,31 @@
}
}
- public void OnAfterOpen()
+ public void UnInit()
{
- var inDungeon = IsDungeon();
- int MapId = PlayerDatas.Instance.baseData.MapID;
- if (inDungeon)
- {
- m_TaskBtn.gameObject.SetActive(false);
- if (OneKeyList.Contains(MapId))
- {
- _OneKeyBtn.gameObject.SetActive(true);
- }
- else
- {
- _OneKeyBtn.gameObject.SetActive(false);
- }
- }
- else
- {
- m_TaskBtn.gameObject.SetActive(true);
- _OneKeyBtn.gameObject.SetActive(true);
- }
- }
- private void OnVoiceRecordTeamSuccessEvent(int _instId, float _seconds)
- {
- ModelCenter.Instance.GetModel<ChatCenter>().SetVoice(_instId, ChatInfoType.Team, _seconds);
+ m_VoiceWidget.Init();
+ teamModel.myTeamRefreshEvent -= UpdateVoiceState;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= UpdateVoiceState;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+ HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive;
+ HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
+ MailAllModel.Instance.DeleteMailEvent -= MailCountChange;
}
- private void OnVoiceRecordFairySuccessEvent(int _instId, float _seconds)
+ public void OnAfterOpen()
{
- ModelCenter.Instance.GetModel<ChatCenter>().SetVoice(_instId, ChatInfoType.Fairy, _seconds);
+ var mapId = PlayerDatas.Instance.baseData.MapID;
+ var inDungeon = MapUtility.IsDungeon(mapId);
+
+ m_TaskBtn.gameObject.SetActive(!inDungeon);
+ _OneKeyBtn.gameObject.SetActive(!inDungeon || OneKeyList.Contains(mapId));
}
private void OnFuncStateChangeEvent(int _type)
{
if ((FuncOpenEnum)_type == FuncOpenEnum.Chat)
{
- OnRefreshFairyInfo();
- myTeamRefreshEvent();
+ UpdateVoiceState();
}
}
@@ -172,7 +156,7 @@
private void OpenTeam()
{
WindowCenter.Instance.Close<MainInterfaceWin>();
- if (model.myTeam.inTeam)
+ if (teamModel.myTeam.inTeam)
{
WindowCenter.Instance.Open<TeamFrameWin>(false, 1);
}
@@ -182,28 +166,29 @@
}
}
- public void UnInit()
+ private void OpenVoice()
{
- m_GuildVoice.voiceRecordSuccessEvent -= OnVoiceRecordFairySuccessEvent;
- m_TeamVoice.voiceRecordSuccessEvent -= OnVoiceRecordTeamSuccessEvent;
- model.myTeamRefreshEvent -= myTeamRefreshEvent;
- PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
- FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
- HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive;
- HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
- MailAllModel.Instance.DeleteMailEvent -= MailCountChange;
+ m_VoiceWidget.Show();
}
- private void OnRefreshFairyInfo()
+ private void UpdateVoiceState()
{
- m_GuildVoice.gameObject.SetActive(PlayerDatas.Instance.fairyData.HasFairy
- && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat));
- }
+ var chatable = FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat);
+ var guildVoiceEnable = false;
+ var teamVoiceEnable = false;
- private void myTeamRefreshEvent()
- {
- m_TeamVoice.gameObject.SetActive(model.myTeam.inTeam
- && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat));
+ if (chatable)
+ {
+ guildVoiceEnable = PlayerDatas.Instance.fairyData.HasFairy;
+ teamVoiceEnable = teamModel.myTeam.inTeam;
+ }
+ else
+ {
+ guildVoiceEnable = false;
+ teamVoiceEnable = false;
+ }
+
+ m_ContainerVoice.gameObject.SetActive(chatable && (guildVoiceEnable || teamVoiceEnable));
}
private void LateUpdate()
@@ -256,7 +241,8 @@
WindowCenter.Instance.Open<MailWin>();
WindowCenter.Instance.Close<MainInterfaceWin>();
}
- DungeonModel modelD { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+
+ DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
void OneKeyButton()//鍦板浘鎸傛満鎸夐挳
@@ -269,18 +255,18 @@
if (OneKeyList.Contains(PlayerDatas.Instance.baseData.MapID))
{
- var dataMapId = modelD.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
+ var dataMapId = MapUtility.GetDataMapId();
var config = DungeonOpenTimeConfig.Get(dataMapId);
string language = string.Empty;
if (dataMapId == GeneralDefine.ruinsTranscriptMapId)
{
- language = Language.Get(modelD.mission.lineID > main.LayerNumberNow ? "WHMJ_Quit2" : "WHMJ_Quit1");
+ language = Language.Get(dungeonModel.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.GetDungeonId(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId);
+ var dungeonId = dungeonModel.GetDungeonId(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId);
var dungeonConfig = DungeonConfig.Get(dungeonId);
if (vipLevel < vipNeed)
@@ -400,13 +386,6 @@
{
m_ImgUnAuto.gameObject.SetActive(true);
}
- }
-
- private bool IsDungeon()//鍒ゆ柇鏄惁鍐嶅壇鏈腑
- {
- var mapId = PlayerDatas.Instance.baseData.MapID;
- var mapConfig = MapConfig.Get(mapId);
- return mapConfig != null && mapConfig.MapFBType != 0;
}
}
--
Gitblit v1.8.0