using System; using System.Collections.Generic; using Common.Utility.CombatEvent; using Excel2Json; using Fort23.Core; using Fort23.Mono; using Fort23.UTool; using GameLogic.Bag; using GameLogic.Combat; using UnityEngine; namespace GameUI { public class DialogueMono : IDialogueMono { public void OpenDialoguePanel(int id, string[] icon, ShowDialogueEventData.MessageShowType messageShowType, Action finish) { DialoguePanel.OpenDialoguePanel(id, icon, messageShowType, finish); } public async CTask OpenRewardsPanel(int eventId, List rewardsDic, Action onClose = null, int titleId = 0) { EventConfig eventConfig = ConfigComponent.Instance.Get(eventId); if (eventConfig.EventTriggerType == 2) { Vector3 worldPos =CombatDrive.Instance.CombatController.CombatHeroController.playerHeroEntity.combatHeroGameObject.hpTransform.position; worldPos.y += 0.5f; await ShowItemNumberCom.Open(worldPos, rewardsDic[0]); await TimerComponent.Instance.WaitAsync(100); } else { RewardsPanel rewardsPanel = await RewardsPanel.OpenPanel(rewardsDic, onClose, titleId); await rewardsPanel.UIClosed(); } } public async CTask OpenDialoguePanel(int id, Action finish) { await DialogueBubblePanel.OpenDialoguePanel(id, finish); } public void StartCombat(int levelBattle, Action finishCombat) { CombatDrive.Instance.LoadLevelBattleCombat(levelBattle, finishCombat); } public void ChangeComabtState(string state) { CombatDrive.Instance.CombatController.ChangeState(state); } } }