123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- using System;
- using System.Collections.Generic;
- using Animancer;
- using Common.Utility.CombatEvent;
- using Excel2Json;
- using Fort23.Core;
- using Fort23.Mono;
- using Fort23.UTool;
- using GameLogic.Combat.Buff;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Skill;
- using UnityEngine;
- using UnityEngine.AI;
- using UnityEngine.EventSystems;
- namespace GameLogic.Combat.Hero
- {
- public class PlayerHeroEntity : CombatHeroEntity
- {
- public Vector3 startPos;
- public Vector3 endPos;
- private Vector3 lasetHeroPos;
- private float lasetTime;
- List<RaycastResult> results = new List<RaycastResult>();
- public override async CTask<CombatHeroEntity> Init(CombatAIBasic combatAIBasic, CombatHeroInfo combatHeroInfo,
- Vector3 pos, Action<CombatHeroEntity> callBack = null)
- {
- CurrCombatHeroInfo = combatHeroInfo.Copy();
- MaxCombatHeroInfo = combatHeroInfo.Copy();
- TimeLienData timeLienData = CombatController.currActiveCombat.CombatDataController.generalBuffTimeLienData;
- combatHeroTimeLineControl = new CombatHeroTimeLineControl();
- combatHeroTimeLineControl.Init(this, timeLienData);
- BuffControl = new BuffControl();
- BuffControl.Init(this);
- if (combatAIBasic == null)
- {
- combatAIBasic = new CombatAIBasic();
- }
- CombatAIBasic = combatAIBasic;
- CombatAIBasic.Init(this, null);
- combatHeroGameObject = new CombatHeroGameObject();
- combatHeroGameObject.Init(this, null);
- CombatHeroSkillControl = new CombatHeroSkillControl();
- CombatHeroSkillControl.Init(this);
- SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(9000011);
- CombatHeroSkillControl.AddSkill(skillConfig);
- CombatAIBasic.ChangeState(CombatHeroStateType.NullState);
- callBack?.Invoke(this);
- return this;
- }
- public override void Update(float t)
- {
- combatHeroTimeLineControl.Update(t);
- CombatAIBasic.Update(t);
- if (CombatController.currActiveCombat.IsGameOver)
- {
- return;
- }
- if (Input.GetMouseButtonDown(0))
- {
- float currTime= Time.time;
- if (currTime - lasetTime < 0.1f)
- {
- return;
- }
- PointerEventData pointerEventData = new PointerEventData(UIManager.Instance.current);
- pointerEventData.position = Input.mousePosition;
-
-
-
- UIManager.Instance.current.RaycastAll(pointerEventData, results);
-
- if (results.Count > 0)
- {
- return;
- }
-
- lasetTime= currTime;
- S900001 skillBasic = (S900001) CombatHeroSkillControl.GetSkillBasic(900001);
- BetterList<CombatHeroEntity> allHero =
- CombatController.currActiveCombat.CombatHeroController.GetHeroList(true);
- if (allHero.Count <= 0)
- {
- allHero =
- CombatController.currActiveCombat.CombatHeroController.GetHeroList(false);
- }
- CombatHeroEntity combatHeroEntity = null;
- if (allHero.Count > 0)
- {
- int index = CombatCalculateTool.Instance.GetOdd(0, allHero.Count);
- combatHeroEntity = allHero[index];
- }
- if (combatHeroEntity != null)
- {
- lasetHeroPos = combatHeroEntity.dotPos;
- }
- endPos = lasetHeroPos + new Vector3(CombatCalculateTool.Instance.GetOdd(-3, 3), 0,
- CombatCalculateTool.Instance.GetOdd(-3, 3));
- startPos = endPos + new Vector3(5, 15, 5);
- skillBasic.UseSkill();
- EventManager.Instance.Dispatch(CustomEventType.PlayerUseSkill,null);
- // CombatHeroSkillControl.AddCommandSkill(skillBasic);
- }
- }
- }
- }
|