123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- using System.Collections.Generic;
- using System.Linq;
- using Core.Language;
- using Excel2Json;
- using Fort23.Core;
- using Fort23.UTool;
- using GameLogic.Combat;
- using GameLogic.Combat.CombatTool;
- using UnityEngine;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "MainPanel")]
- public partial class MainPanel : UIPanel
- {
- bool isShowSkillPanel = false;
- private ShengShiEventWidget shengShiEventWidget;
- private void Init()
- {
- isAddStack = true;
- IsShowAppBar = true;
- }
- protected override void AddEvent()
- {
- EventManager.Instance.AddEventListener(CustomEventType.ShengShiOnClick, ShengShiOnClick);
- EventManager.Instance.AddEventListener(CustomEventType.CompleteEvent, CompleteEvent);
- EventManager.Instance.AddEventListener(CustomEventType.RemoveEvent, RemoveEvent);
- EventManager.Instance.AddEventListener(CustomEventType.ChangeMap, ChangeMap);
- }
- public async override CTask GetFocus()
- {
- await AppBarPanel.OpenPanel(this);
- base.GetFocus();
- }
- private void RemoveEvent(IEventData e)
- {
- Text_EventNum.text = AccountFileInfo.Instance.playerData.eventList.Count.ToString();
- CreatShengShiEvent();
- ChagneShenshiBtnActive();
- }
- private void CompleteEvent(IEventData e)
- {
- ChangeMap(null);
- Text_EventNum.text = AccountFileInfo.Instance.playerData.eventList.Count.ToString();
- CreatShengShiEvent();
- ChagneShenshiBtnActive();
- }
- private void ChagneShenshiBtnActive()
- {
- Btn_Event.gameObject.SetActive(AccountFileInfo.Instance.playerData.eventList.Count > 0);
- }
- protected override void DelEvent()
- {
- EventManager.Instance.RemoveEventListener(CustomEventType.CompleteEvent, CompleteEvent);
- EventManager.Instance.RemoveEventListener(CustomEventType.RemoveEvent, RemoveEvent);
- EventManager.Instance.RemoveEventListener(CustomEventType.ShengShiOnClick, ShengShiOnClick);
- EventManager.Instance.RemoveEventListener(CustomEventType.ChangeMap, ChangeMap);
- }
- public override void AddButtonEvent()
- {
- Btn_Chat.onClick.AddListener(() => { ChatPanel.OpenPanel(); });
- CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);
- Btn_Event.onClick.AddListener(() =>
- {
- EventSystemManager.Instance.isOpenUi = true;
- DivineSenceEventPreviewPanel.OpenPanel();
- });
- Btn_Map.onClick.AddListener(() => { LevelChoosePanel.OpenPanel(); });
- }
- public override CTask<bool> AsyncInit(object[] uiData)
- {
- ChagneShenshiBtnActive();
- CreatShengShiEvent();
- ChangeMap(null);
- return base.AsyncInit(uiData);
- }
- public async override CTask Show()
- {
- await base.Show();
- bool isHIde = false;
- foreach (var skillInfo in PlayerManager.Instance.GongFaControl.allUseSkill)
- {
- if (skillInfo != null)
- {
- isHIde = true;
- break;
- }
- }
- if (!isHIde && !isShowSkillPanel)
- {
- isShowSkillPanel = true;
- SkillSelectPanel.OpenSkillSelectPanel();
- }
- CameraSelect.value = 0.2f;
- Text_EventNum.text = AccountFileInfo.Instance.playerData.eventList.Count.ToString();
- Text_Jingjie.text = LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +
- LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) +
- LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[2]);
- Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp;
- // UpdateTaskInfo();
- }
- public void ChangeMap(IEventData e)
- {
- PlacesConfig placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(PlayerManager.Instance.CurrentPlaces.id);
- Text_ExplorationProgress.text = $"{LanguageManager.Instance.Text(placesConfig.placeName)} {PlayerManager.Instance.CurrentPlaces.progress}%";
- Slider_Map.value = PlayerManager.Instance.CurrentPlaces.progress;
- }
- private void CameraSelect_onValueChanged(float value)
- {
- if (CombatController.currActiveCombat == null ||
- CombatController.currActiveCombat.CombatCameraControllder == null)
- {
- return;
- }
- CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);
- }
- private void ShengShiOnClick(IEventData e)
- {
- Text_EventNum.text = AccountFileInfo.Instance.playerData.eventList.Count.ToString();
- ChagneShenshiBtnActive();
- CreatShengShiEvent();
- }
- public async void CreatShengShiEvent()
- {
- int count = AccountFileInfo.Instance.playerData.eventList.Count >= 1 ? 1 : AccountFileInfo.Instance.playerData.eventList.Count;
- if (count >= 1)
- {
- AccountFileInfo.EventList eventList = EventSystemManager.Instance.GetMainEventDta() == null ? null : EventSystemManager.Instance.GetMainEventDta();
- eventList = eventList == null ? AccountFileInfo.Instance.playerData.eventList[0] : eventList;
- if (shengShiEventWidget == null)
- {
- shengShiEventWidget =
- await UIManager.Instance.CreateGComponent<ShengShiEventWidget>(null, DynamicEvent);
- }
- shengShiEventWidget.InitShengShiEventWidget(eventList);
- }
- }
- [CustomMethod(CustomMethodType.Update)]
- public void Update()
- {
- if (Input.GetKeyDown(KeyCode.Y))
- {
- EventSystemManager.Instance.DetectRandomEvents();
- }
- int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
- int allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
- Slider_Exp.value = PlayerManager.Instance.myHero.heroData.exp + allexp;
- }
- public async static CTask OpenPanel()
- {
- await UIManager.Instance.LoadAndOpenPanel<MainPanel>(null);
- }
- public override void Close()
- {
- UIManager.Instance.DormancyGComponent(shengShiEventWidget);
- shengShiEventWidget = null;
- base.Close();
- }
- }
- }
|