//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, May 22, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class FirstTimeRechargeWin : Window { [SerializeField] Text m_TimeText; [SerializeField] GameObject m_RewardInformationImage; [SerializeField] Button m_CloseButton; [SerializeField] RawImage m_RawImageBoy; [SerializeField] RawImage m_RawImageGirl; [SerializeField] Button m_RawImageBtn; [SerializeField] Vector3 Vec3 = new Vector3(30f, 20f, 30f); [SerializeField] Text m_GOTO; [SerializeField] Button m_BGMTime; [SerializeField] GameObject m_Image; [SerializeField] UIEffect m_EffectImage; [SerializeField] UIEffect m_Effectshie; Dictionary FirstGoldMobsDic = new Dictionary();//根据职业展示不同的模型 [Header("旋转角度和选择转速度")] public Vector3 RotateVector = new Vector3(0f, 1f, 0f); FirstTimeRechargeModel firstTimeRechargeModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { string FirstGoldMobs = Config.Instance.Get("FirstGoldMobs").Numerical1; FirstGoldMobsDic = ConfigParse.GetDic(FirstGoldMobs); } protected override void AddListeners() { m_CloseButton.AddListener(OnClickCloseBtn); m_RawImageBtn.AddListener(OnClickFirstFlush); m_BGMTime.AddListener(OnClickFirstFlush); } protected override void OnPreOpen() { if (!m_Effectshie.IsPlaying) { m_Effectshie.Play(); } if (firstTimeRechargeModel.IsPlayEffect) { m_EffectImage.gameObject.SetActive(true); if (!m_EffectImage.IsPlaying) { m_EffectImage.Play(); } m_Image.SetActive(false); } else { m_EffectImage.gameObject.SetActive(false); m_Image.SetActive(true); } MainInterfaceWin.IsCopyOfThePanel += IsCopyOfThePanel; FirstTimeRechargeModel.FirstTimeRechargeTiime += FirstTimeRechargeTiime; FirstTimeRechargeModel.FirstTimeRecharEffect += FirstTimeRecharEffect; var inDungeon = IsDungeon(); if (LocalSave.GetBool("FirstTimeRechargeBool") && !inDungeon) { m_RewardInformationImage.SetActive(true); } else { UI3DModelExhibition.Instance.StopShowEquipment(); m_RewardInformationImage.SetActive(false); } if (FirstGoldMobsDic.ContainsKey(PlayerDatas.Instance.baseData.Job) ) { ItemConfig itemConfig = Config.Instance.Get(FirstGoldMobsDic[PlayerDatas.Instance.baseData.Job]); if (PlayerDatas.Instance.baseData.Job == 1) { m_RawImageBoy.gameObject.SetActive(true); m_RawImageGirl.gameObject.SetActive(false); UI3DModelExhibition.Instance.BeginShowEquipment(itemConfig.ChangeOrd, Vec3, m_RawImageBoy); } else { m_RawImageBoy.gameObject.SetActive(false); m_RawImageGirl.gameObject.SetActive(true); UI3DModelExhibition.Instance.BeginShowEquipment(itemConfig.ChangeOrd, Vec3, m_RawImageGirl); } } m_GOTO.text =Language.Get("ClickToFirstCharge_Z"); } protected override void OnAfterOpen() { } protected override void OnPreClose() { UI3DModelExhibition.Instance.StopShowEquipment(); MainInterfaceWin.IsCopyOfThePanel -= IsCopyOfThePanel; FirstTimeRechargeModel.FirstTimeRechargeTiime -= FirstTimeRechargeTiime; FirstTimeRechargeModel.FirstTimeRecharEffect -= FirstTimeRecharEffect; } private void FirstTimeRecharEffect() { if (firstTimeRechargeModel.IsPlayEffect) { if (m_Image.activeInHierarchy) { m_Image.SetActive(false); m_EffectImage.gameObject.SetActive(true); if (!m_EffectImage.IsPlaying) { m_EffectImage.Play(); } } } } private void IsCopyOfThePanel(bool obj) { var inDungeon = IsDungeon(); if (LocalSave.GetBool("FirstTimeRechargeBool") && obj && !inDungeon) { m_RewardInformationImage.SetActive(true); if (FirstGoldMobsDic.ContainsKey(PlayerDatas.Instance.baseData.Job)) { ItemConfig itemConfig = Config.Instance.Get(FirstGoldMobsDic[PlayerDatas.Instance.baseData.Job]); if (PlayerDatas.Instance.baseData.Job == 1) { m_RawImageBoy.gameObject.SetActive(true); m_RawImageGirl.gameObject.SetActive(false); UI3DModelExhibition.Instance.BeginShowEquipment(itemConfig.ChangeOrd, Vec3, m_RawImageBoy); } else { m_RawImageBoy.gameObject.SetActive(false); m_RawImageGirl.gameObject.SetActive(true); UI3DModelExhibition.Instance.BeginShowEquipment(itemConfig.ChangeOrd, Vec3, m_RawImageGirl); } } else { UI3DModelExhibition.Instance.StopShowEquipment(); m_RewardInformationImage.SetActive(false); } } else { UI3DModelExhibition.Instance.StopShowEquipment(); m_RewardInformationImage.SetActive(false); } } protected override void OnAfterClose() { } private void OnClickCloseBtn() { LocalSave.SetBool("FirstTimeRechargeBool", false); m_RewardInformationImage.SetActive(false); UI3DModelExhibition.Instance.StopShowEquipment(); } private void OnClickFirstFlush() { LocalSave.SetBool("FirstTimeRechargeBool", false); UI3DModelExhibition.Instance.StopShowEquipment(); m_RewardInformationImage.SetActive(false); if (WindowCenter.Instance.CheckOpen() && !NewBieCenter.Instance.inGuiding) { WindowCenter.Instance.CloseImmediately(); } UI3DModelExhibition.Instance.StopShowEquipment(); if (WindowCenter.Instance.CheckOpen()) { WindowCenter.Instance.CloseImmediately(); } if (!NewBieCenter.Instance.inGuiding) { WindowCenter.Instance.Open(true); } } private void FirstTimeRechargeTiime(string obj) { m_TimeText.text = obj; if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel().newGotShowing) { UI3DModelExhibition.Instance.StopShowEquipment(); m_RewardInformationImage.SetActive(false); } } private bool IsDungeon() { var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = Config.Instance.Get(mapId); return mapConfig != null && mapConfig.MapFBType != 0; } #endregion } }