123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- using System;
- using System.Collections.Generic;
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using GameLogic.Combat.Skill;
- using UnityEngine;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "ZhuanPanPanel")]
- public partial class ZhuanPanPanel : UIPanel
- {
- private List<gf_widget> _gfWidgets = new List<gf_widget>();
- public static async CTask OpenZhuanPanPanel()
- {
- await UIManager.Instance.LoadAndOpenPanel<ZhuanPanPanel>(null, UILayer.Bottom);
- }
- private void Init()
- {
- }
- protected override void AddEvent()
- {
- StaticUpdater.Instance.AddLateUpdateCallBack(Update);
- CombatEventManager.Instance.AddEventListener(CombatEventType.ExercisesAlter, ExercisesAlter);
- }
- protected override void DelEvent()
- {
- StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
- }
- public override void AddButtonEvent()
- {
- }
- private async void ExercisesAlter(IEventData iEventData)
- {
- CombatHeroSkillControl combatHeroSkillControl = CombatController.currActiveCombat.CombatHeroController
- .playerHeroEntity.CombatHeroSkillControl
- .This<CombatHeroSkillControl>();
- for (int i = 0; i < combatHeroSkillControl._skillQueue.Count; i++)
- {
- SkillBasic skillBasic = combatHeroSkillControl._skillQueue[i];
- gf_widget gfWidget = await UIManager.Instance.CreateGComponentForObject<gf_widget>(this.gf_widget, null,
- Gf_root, isInstance: true, poolName: "gf_widget");
- gfWidget.SkillBasic = skillBasic;
- gfWidget.InitWidget(skillBasic);
- _gfWidgets.Add(gfWidget);
- }
- }
- public void Update()
- {
- if (CombatController.currActiveCombat==null||CombatController.currActiveCombat.CombatHeroController==null||CombatController.currActiveCombat.CombatHeroController.playerHeroEntity == null||CombatController.currActiveCombat.CombatHeroController.playerHeroEntity.CombatHeroSkillControl==null)
- {
- return;
- }
- CombatHeroSkillControl combatHeroSkillControl =CombatController.currActiveCombat.CombatHeroController.playerHeroEntity.CombatHeroSkillControl
- .This<CombatHeroSkillControl>();
- lanLiang.fillAmount=combatHeroSkillControl.addChongNeng/150f;
- lanLiang.color=!combatHeroSkillControl.isKuoLiQuanKai? new Color(0f, 0.84f, 1f):Color.red;
- for (int i = 0; i < _gfWidgets.Count; i++)
- {
- gf_widget gfWidget = _gfWidgets[i];
- // gfWidget.SkillBasic.angle += 1;
- // float jd = gfWidget.SkillBasic.angle % 360;
- // if (jd > gfWidget.SkillBasic.useAngle && gfWidget.SkillBasic.angle > gfWidget.SkillBasic.lasetAngle)
- // {
- // gfWidget.SkillBasic.lasetAngle += 360;
- // Debug.Log("旋转一圈");
- // }
- if (gfWidget.useCount != gfWidget.SkillBasic.useCount)
- {
- gfWidget.useCount = gfWidget.SkillBasic.useCount;
- switch (gfWidget.SkillBasic.SelfSkillConfig.attribute)
- {
- case 1:
- jin.Play("show",false);
- break;
- case 2:
- mu.Play("show",false);
- break;
- case 4:
- shui.Play("show",false);
- break;
- case 8:
- huo.Play("show",false);
- break;
- case 16:
- tu.Play("show",false);
- break;
- }
- }
-
- double hd = gfWidget.SkillBasic.angle * Math.PI / 180f;
- double a = Math.Cos(hd);
- double b = -Math.Sin(hd);
- double c = Math.Sin(hd);
- double d = a;
- double x = a * 0 + b * 60;
- double y = c * 0 + d * 60;
- gfWidget.transform.anchoredPosition = new Vector2((float)x, (float)y);
- }
- }
- }
- }
|