123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System;
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using Fort23.Core;
- namespace GameLogic.Combat.Hero
- {
- public class CombatHeroTimeLineControl : IDisposable
- {
- public TimeLienData TimeLineData
- {
- get { return _timeLineData; }
- }
- public TimeLienData _timeLineData;
- private BetterList<TimeLineEventLogicGroupBasic> _currRunEventLogicGroupList =
- new BetterList<TimeLineEventLogicGroupBasic>();
- private CombatHeroEntity combatHeroEntity;
- public void Init(CombatHeroEntity combatHeroEntity, TimeLienData timeLienData)
- {
- this.combatHeroEntity = combatHeroEntity;
- _timeLineData = timeLienData;
- }
- public TimeLineEventLogicGroupBasic AddEventLogicGroup(string groupName)
- {
- TimeLineEventLogicGroupBasic timeLineEventLogicGroup =
- combatHeroEntity.combatHeroTimeLineControl.TimeLineData
- .GetTimeLineEventLogicGroup<TimeLineEventLogicGroupBasic>(groupName, null);
- if (timeLineEventLogicGroup != null)
- {
- timeLineEventLogicGroup.SetCombatInfo(combatHeroEntity, null, null, new TriggerData(), null);
- combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup);
- }
- return timeLineEventLogicGroup;
- }
- public void AddEventLogicGroup(TimeLineEventLogicGroupBasic eventLogicGroup)
- {
- _currRunEventLogicGroupList.Add(eventLogicGroup);
- }
- public void RemoveEventLogicGroup(TimeLineEventLogicGroupBasic eventLogicGroup)
- {
- _currRunEventLogicGroupList.Remove(eventLogicGroup);
- }
- public void Update(float deltaTime)
- {
- for (int i = 0; i < _currRunEventLogicGroupList.size; i++)
- {
- TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic = _currRunEventLogicGroupList[i];
- bool isEnd = timeLineEventLogicGroupBasic.Update(deltaTime);
- if (isEnd)
- {
- _currRunEventLogicGroupList.Remove(timeLineEventLogicGroupBasic);
- CObjectPool.Instance.Recycle(timeLineEventLogicGroupBasic);
- }
- }
- }
- public void Dispose()
- {
- _currRunEventLogicGroupList.Clear();
- _timeLineData = null;
- }
- }
- }
|