//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, May 22, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.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] RectTransform m_ContainerTime; [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); [SerializeField] Vector3[] m_Positoins; FirstTimeRechargeModel firstTimeRechargeModel { get { return ModelCenter.Instance.GetModel(); } } PlayerMainDate m_MainModel; PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { string FirstGoldMobs = FuncConfigConfig.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.SetActive(true); if (!m_EffectImage.IsPlaying) { m_EffectImage.Play(); } m_Image.SetActive(false); } else { m_EffectImage.SetActive(false); m_Image.SetActive(false); } MainPositionTween.switchFunctionStateEvent += OnMainWinFunctionSwitch; FirstTimeRechargeModel.FirstTimeRechargeTiime += FirstTimeRechargeTiime; FirstTimeRechargeModel.FirstTimeRecharEffect += FirstTimeRecharEffect; m_GOTO.text = Language.Get("ClickToFirstCharge_Z"); } protected override void OnActived() { base.OnActived(); //var isDungeon = MapUtility.IsDungeon(PlayerDatas.Instance.baseData.MapID); //if (ClientDungeonStageUtility.isClientDungeon) //{ // isDungeon = true; //} //m_ContainerTime.anchoredPosition = isDungeon ? m_Positoins[1] : m_Positoins[0]; } protected override void OnAfterOpen() { //DisplayModel(); } protected override void OnPreClose() { UI3DModelExhibition.Instance.StopShow(); MainPositionTween.switchFunctionStateEvent -= OnMainWinFunctionSwitch; FirstTimeRechargeModel.FirstTimeRechargeTiime -= FirstTimeRechargeTiime; FirstTimeRechargeModel.FirstTimeRecharEffect -= FirstTimeRecharEffect; } private void FirstTimeRecharEffect() { if (firstTimeRechargeModel.IsPlayEffect) { if (m_Image.activeInHierarchy) { m_Image.SetActive(false); m_EffectImage.SetActive(true); if (!m_EffectImage.IsPlaying) { m_EffectImage.Play(); } } } } private void OnMainWinFunctionSwitch(bool obj) { //DisplayModel(); } private void DisplayModel() { if (LocalSave.GetBool("FirstTimeRechargeBool") && MainPositionTween.rightTopState == MainPositionTween.RightTopState.Function) { m_RewardInformationImage.SetActive(true); if (FirstGoldMobsDic.ContainsKey(PlayerDatas.Instance.baseData.Job)) { ItemConfig itemConfig = ItemConfig.Get(FirstGoldMobsDic[PlayerDatas.Instance.baseData.Job]); if (PlayerDatas.Instance.baseData.Job == 1) { m_RawImageBoy.SetActive(true); m_RawImageGirl.SetActive(false); UI3DModelExhibition.Instance.ShowEquipment(itemConfig.ChangeOrd, Vec3, 1f, m_RawImageBoy); } else { m_RawImageBoy.SetActive(false); m_RawImageGirl.SetActive(true); UI3DModelExhibition.Instance.ShowEquipment(itemConfig.ChangeOrd, Vec3, 1f, m_RawImageGirl); } } else { UI3DModelExhibition.Instance.StopShow(); m_RewardInformationImage.SetActive(false); } } else { UI3DModelExhibition.Instance.StopShow(); m_RewardInformationImage.SetActive(false); } } protected override void OnAfterClose() { } private void OnClickCloseBtn() { LocalSave.SetBool("FirstTimeRechargeBool", false); m_RewardInformationImage.SetActive(false); UI3DModelExhibition.Instance.StopShow(); } private void OnClickFirstFlush() { LocalSave.SetBool("FirstTimeRechargeBool", false); UI3DModelExhibition.Instance.StopShow(); m_RewardInformationImage.SetActive(false); if (WindowCenter.Instance.IsOpen() && !NewBieCenter.Instance.inGuiding) { WindowCenter.Instance.Close(); } UI3DModelExhibition.Instance.StopShow(); if (WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.CloseImmediately("FirstTimeRechargeWin"); } if (!NewBieCenter.Instance.inGuiding) { WindowCenter.Instance.Open(true); } } private void FirstTimeRechargeTiime(string obj, bool isRed) { m_TimeText.text = obj; m_TimeText.color = isRed ? UIHelper.GetUIColor(TextColType.Red, true) : UIHelper.GetUIColor(TextColType.Green, true); if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel().newGotShowing) { UI3DModelExhibition.Instance.StopShow(); m_RewardInformationImage.SetActive(false); } } private bool IsDungeon() { var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = MapConfig.Get(mapId); return mapConfig != null && mapConfig.MapFBType != 0; } #endregion } }