This commit is contained in:
PC-20230316NUNE\Administrator 2024-10-21 20:39:01 +08:00
parent e9c01842f0
commit fd5d83549a
34 changed files with 122 additions and 144 deletions

View File

@ -48,7 +48,7 @@ namespace GAS.Editor
/// <summary> /// <summary>
/// 这个方法被反射引用到, 重构请小心!! /// 这个方法被反射引用到, 重构请小心!!
/// </summary> /// </summary>
public static void ShowWindow(TimelineAbilityAssetBase asset) public static void ShowWindow(TimelineAbilityAsset asset)
{ {
var wnd = GetWindow<AbilityTimelineEditorWindow>(); var wnd = GetWindow<AbilityTimelineEditorWindow>();
wnd.titleContent = new GUIContent("AbilityTimelineEditorWindow"); wnd.titleContent = new GUIContent("AbilityTimelineEditorWindow");
@ -63,7 +63,7 @@ namespace GAS.Editor
AbilityAsset.Save(); AbilityAsset.Save();
} }
private void InitAbility(TimelineAbilityAssetBase asset) private void InitAbility(TimelineAbilityAsset asset)
{ {
_abilityAsset.value = asset; _abilityAsset.value = asset;
MaxFrame.value = AbilityAsset.FrameCount; MaxFrame.value = AbilityAsset.FrameCount;
@ -84,7 +84,7 @@ namespace GAS.Editor
private ObjectField _abilityAsset; private ObjectField _abilityAsset;
private Button _btnShowAbilityAssetDetail; private Button _btnShowAbilityAssetDetail;
public TimelineAbilityAssetBase AbilityAsset => _abilityAsset.value as TimelineAbilityAssetBase; public TimelineAbilityAsset AbilityAsset => _abilityAsset.value as TimelineAbilityAsset;
// private TimelineAbilityEditorWindow AbilityAssetEditor => AbilityAsset != null // private TimelineAbilityEditorWindow AbilityAssetEditor => AbilityAsset != null
// ? UnityEditor.Editor.CreateEditor(AbilityAsset) as TimelineAbilityEditorWindow // ? UnityEditor.Editor.CreateEditor(AbilityAsset) as TimelineAbilityEditorWindow
@ -208,7 +208,7 @@ namespace GAS.Editor
if (_currentMaxFrame == value) return; if (_currentMaxFrame == value) return;
_currentMaxFrame = value; _currentMaxFrame = value;
AbilityAsset.FrameCount = _currentMaxFrame; AbilityAsset.frameCount = _currentMaxFrame;
SaveAsset(); SaveAsset();
MaxFrame.value = _currentMaxFrame; MaxFrame.value = _currentMaxFrame;
TrackView.UpdateContentSize(); TrackView.UpdateContentSize();

View File

@ -34,7 +34,7 @@ namespace GAS.Editor
public List<TrackBase> TrackList { get; } = new(); public List<TrackBase> TrackList { get; } = new();
private static AbilityTimelineEditorConfig Config => AbilityTimelineEditorWindow.Instance.Config; private static AbilityTimelineEditorConfig Config => AbilityTimelineEditorWindow.Instance.Config;
private static TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private static TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private void InitTracks() private void InitTracks()
{ {

View File

@ -8,7 +8,7 @@ namespace GAS.Editor
public class TaskClip : TrackClip<TaskClipEventTrack> public class TaskClip : TrackClip<TaskClipEventTrack>
{ {
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public TaskClipEvent TaskClipData => clipData as TaskClipEvent; public TaskClipEvent TaskClipData => clipData as TaskClipEvent;
public TaskClipEvent ClipDataForSave public TaskClipEvent ClipDataForSave

View File

@ -42,7 +42,7 @@ namespace GAS.Editor
private const string GRP_BOX = "GRP_BOX"; private const string GRP_BOX = "GRP_BOX";
private const string GRP_BOX_TASK = "GRP_BOX/Task"; private const string GRP_BOX_TASK = "GRP_BOX/Task";
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private TaskClip _clip; private TaskClip _clip;
public static TaskClipEditor Create(TaskClip clip) public static TaskClipEditor Create(TaskClip clip)

View File

@ -13,7 +13,7 @@ namespace GAS.Editor
protected override Color TrackColor => new Color(0.7f, 0.3f, 0.7f, 0.2f); protected override Color TrackColor => new Color(0.7f, 0.3f, 0.7f, 0.2f);
protected override Color MenuColor => new Color(0.5f, 0.3f, 0.5f, 1); protected override Color MenuColor => new Color(0.5f, 0.3f, 0.5f, 1);
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public TaskClipEventTrackData TaskClipTrackDataForSave public TaskClipEventTrackData TaskClipTrackDataForSave
{ {
get get

View File

@ -7,7 +7,7 @@ namespace GAS.Editor
public class PassiveTaskClip : TrackClip<PassiveTaskClipEventTrack> public class PassiveTaskClip : TrackClip<PassiveTaskClipEventTrack>
{ {
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public PassiveTaskClipEvent TaskClipData => clipData as PassiveTaskClipEvent; public PassiveTaskClipEvent TaskClipData => clipData as PassiveTaskClipEvent;
public PassiveTaskClipEvent ClipDataForSave public PassiveTaskClipEvent ClipDataForSave

View File

@ -42,7 +42,7 @@ namespace GAS.Editor
private const string GRP_BOX = "GRP_BOX"; private const string GRP_BOX = "GRP_BOX";
private const string GRP_BOX_TASK = "GRP_BOX/Task"; private const string GRP_BOX_TASK = "GRP_BOX/Task";
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private PassiveTaskClip _clip; private PassiveTaskClip _clip;
public static PassiveTaskClipEditor Create(PassiveTaskClip clip) public static PassiveTaskClipEditor Create(PassiveTaskClip clip)

View File

@ -13,7 +13,7 @@ namespace GAS.Editor
protected override Color TrackColor => new Color(0.7f, 0.3f, 0.7f, 0.2f); protected override Color TrackColor => new Color(0.7f, 0.3f, 0.7f, 0.2f);
protected override Color MenuColor => new Color(0.5f, 0.3f, 0.5f, 1); protected override Color MenuColor => new Color(0.5f, 0.3f, 0.5f, 1);
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public PassiveTaskClipEventTrackData TaskClipTrackDataForSave public PassiveTaskClipEventTrackData TaskClipTrackDataForSave
{ {
get get

View File

@ -11,7 +11,7 @@ namespace GAS.Editor
public class TaskMarkEventTrack : TrackBase public class TaskMarkEventTrack : TrackBase
{ {
private TaskMarkEventTrackData _instantTasksTrackData; private TaskMarkEventTrackData _instantTasksTrackData;
private static TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private static TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public TaskMarkEventTrackData InstantTaskEventTrackData public TaskMarkEventTrackData InstantTaskEventTrackData
{ {

View File

@ -10,7 +10,7 @@ namespace GAS.Editor
public class BuffGameplayEffectClipEditor : OdinEditorWindow public class BuffGameplayEffectClipEditor : OdinEditorWindow
{ {
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private BuffGameplayEffectClip _clip; private BuffGameplayEffectClip _clip;

View File

@ -13,7 +13,7 @@ namespace GAS.Editor
protected override Color TrackColor => new(0.9f, 0.6f, 0.6f, 0.2f); protected override Color TrackColor => new(0.9f, 0.6f, 0.6f, 0.2f);
protected override Color MenuColor => new(0.9f, 0.6f, 0.6f, 1); protected override Color MenuColor => new(0.9f, 0.6f, 0.6f, 1);
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public BuffGameplayEffectTrackData BuffTrackDataForSave public BuffGameplayEffectTrackData BuffTrackDataForSave
{ {

View File

@ -8,7 +8,7 @@ namespace GAS.Editor
public class DurationalCueClip : TrackClip<DurationalCueTrack> public class DurationalCueClip : TrackClip<DurationalCueTrack>
{ {
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public DurationalCueClipEvent DurationalCueClipData => clipData as DurationalCueClipEvent; public DurationalCueClipEvent DurationalCueClipData => clipData as DurationalCueClipEvent;
private DurationalCueClipEvent ClipDataForSave private DurationalCueClipEvent ClipDataForSave

View File

@ -10,7 +10,7 @@ namespace GAS.Editor
public class DurationalCueClipEditor : OdinEditorWindow public class DurationalCueClipEditor : OdinEditorWindow
{ {
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private DurationalCueClip _clip; private DurationalCueClip _clip;

View File

@ -13,7 +13,7 @@ namespace GAS.Editor
protected override Color TrackColor => new(0.1f, 0.6f, 0.1f, 0.2f); protected override Color TrackColor => new(0.1f, 0.6f, 0.1f, 0.2f);
protected override Color MenuColor => new(0.1f, 0.6f, 0.1f, 1); protected override Color MenuColor => new(0.1f, 0.6f, 0.1f, 1);
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public DurationalCueTrackData CueTrackDataForSave public DurationalCueTrackData CueTrackDataForSave
{ {

View File

@ -12,7 +12,7 @@ namespace GAS.Editor
public class InstantCueTrack : TrackBase public class InstantCueTrack : TrackBase
{ {
private InstantCueTrackData _instantCuesTrackData; private InstantCueTrackData _instantCuesTrackData;
private static TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private static TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public InstantCueTrackData InstantCueTrackData public InstantCueTrackData InstantCueTrackData
{ {

View File

@ -13,7 +13,7 @@ namespace GAS.Editor
private Color _trackColor; private Color _trackColor;
private Type _trackDataType; private Type _trackDataType;
private Type _trackType; private Type _trackType;
private static TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private static TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private static AbilityTimelineEditorConfig Config => AbilityTimelineEditorWindow.Instance.Config; private static AbilityTimelineEditorConfig Config => AbilityTimelineEditorWindow.Instance.Config;
private static TimelineTrackView TrackView => AbilityTimelineEditorWindow.Instance.TrackView; private static TimelineTrackView TrackView => AbilityTimelineEditorWindow.Instance.TrackView;
public override Type TrackDataType { get; } public override Type TrackDataType { get; }

View File

@ -10,7 +10,7 @@ namespace GAS.Editor
public class PassiveGameplayEffectClipEditor : OdinEditorWindow public class PassiveGameplayEffectClipEditor : OdinEditorWindow
{ {
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private PassiveGameplayEffectClip _clip; private PassiveGameplayEffectClip _clip;

View File

@ -9,7 +9,7 @@ namespace GAS.Editor
public class PassiveGameplayEffectTrack : TrackBase public class PassiveGameplayEffectTrack : TrackBase
{ {
private PassiveGameplayEffectTrackData _PassiveGameplayEffectTrackData; private PassiveGameplayEffectTrackData _PassiveGameplayEffectTrackData;
private TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public override Type TrackDataType => typeof(PassiveGameplayEffectTrackData); public override Type TrackDataType => typeof(PassiveGameplayEffectTrackData);
protected override Color TrackColor => new(0.9f, 0.6f, 0.6f, 0.2f); protected override Color TrackColor => new(0.9f, 0.6f, 0.6f, 0.2f);

View File

@ -9,7 +9,7 @@ namespace GAS.Editor
public class ReleaseGameplayEffectTrack : TrackBase public class ReleaseGameplayEffectTrack : TrackBase
{ {
private static TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; private static TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
public ReleaseGameplayEffectTrackData ReleaseGameplayEffectTrackData { public ReleaseGameplayEffectTrackData ReleaseGameplayEffectTrackData {
get get
{ {

View File

@ -8,7 +8,7 @@ namespace GAS.Editor
using UnityEngine.UIElements; using UnityEngine.UIElements;
public abstract class TrackMarkBase:TrackItemBase public abstract class TrackMarkBase:TrackItemBase
{ {
protected static TimelineAbilityAssetBase AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset; protected static TimelineAbilityAsset AbilityAsset => AbilityTimelineEditorWindow.Instance.AbilityAsset;
private static string MarkAssetGuid => "5a3b3360bcba29b4cac2875f518af19d"; private static string MarkAssetGuid => "5a3b3360bcba29b4cac2875f518af19d";
public float FrameUnitWidth { get;protected set; } public float FrameUnitWidth { get;protected set; }
public int StartFrameIndex=>markData.startFrame; public int StartFrameIndex=>markData.startFrame;

View File

@ -6,7 +6,7 @@ namespace GAS.Runtime
public abstract class AbstractAbility public abstract class AbstractAbility
{ {
public readonly string Name; public readonly string Name;
public readonly AbilityAsset DataReference; public readonly IAbilityAsset DataReference;
// TODO : AbilityTask // TODO : AbilityTask
// public List<OngoingAbilityTask> OngoingAbilityTasks=new List<OngoingAbilityTask>(); // public List<OngoingAbilityTask> OngoingAbilityTasks=new List<OngoingAbilityTask>();
@ -20,7 +20,7 @@ namespace GAS.Runtime
public GameplayEffect Cost { get; protected set; } public GameplayEffect Cost { get; protected set; }
public AbstractAbility(AbilityAsset abilityAsset) public AbstractAbility(IAbilityAsset abilityAsset)
{ {
DataReference = abilityAsset; DataReference = abilityAsset;
@ -64,13 +64,4 @@ namespace GAS.Runtime
#endif #endif
} }
} }
public abstract class AbstractAbility<T> : AbstractAbility where T : AbilityAsset
{
public T AbilityAsset => DataReference as T;
protected AbstractAbility(T abilityAsset) : base(abilityAsset)
{
}
}
} }

View File

@ -3,16 +3,21 @@ using UnityEngine.Profiling;
namespace GAS.Runtime namespace GAS.Runtime
{ {
public abstract class TimelineAbilityT<T> : AbstractAbility<T> where T : TimelineAbilityAssetBase public class TimelineAbility : AbstractAbility
{ {
protected TimelineAbilityT(T abilityAsset) : base(abilityAsset) public TimelineAbility(IAbilityAsset abilityAsset) : base(abilityAsset)
{ {
} }
public override AbilitySpec CreateSpec(AbilitySystemComponent owner)
{
return new TimelineAbilitySpec(this, owner);
}
} }
public abstract class TimelineAbilitySpecT<AbilityT, AssetT> : AbilitySpec<AbilityT> where AbilityT : TimelineAbilityT<AssetT> where AssetT : TimelineAbilityAssetBase public class TimelineAbilitySpec : AbilitySpec
{ {
protected TimelineAbilityPlayer<AbilityT, AssetT> _player; private TimelineAbilityPlayer _player;
public int FrameCount => _player.FrameCount; public int FrameCount => _player.FrameCount;
public int FrameRate => _player.FrameRate; public int FrameRate => _player.FrameRate;
@ -27,7 +32,7 @@ namespace GAS.Runtime
/// </summary> /// </summary>
public AbilitySystemComponent Target { get; private set; } public AbilitySystemComponent Target { get; private set; }
protected TimelineAbilitySpecT(AbilityT ability, AbilitySystemComponent owner) : base(ability, owner) public TimelineAbilitySpec(TimelineAbility ability, AbilitySystemComponent owner) : base(ability, owner)
{ {
_player = new(this); _player = new(this);
} }
@ -42,9 +47,9 @@ namespace GAS.Runtime
_player.Play(); _player.Play();
} }
public virtual LFloat GetPlaySpeed() public LFloat GetPlaySpeed()
{ {
return Data.AbilityAsset.Speed; return _player.AbilityAsset.Speed;
} }
public override void CancelAbility() public override void CancelAbility()
@ -64,29 +69,5 @@ namespace GAS.Runtime
Profiler.EndSample(); Profiler.EndSample();
} }
} }
/// <summary>
/// 这是一个最朴素的TimelineAbility实现, 如果要实现更复杂的TimelineAbility, 请用TimelineAbilityT和TimelineAbilitySpecT为基类
/// </summary>
public sealed class TimelineAbility : TimelineAbilityT<TimelineAbilityAsset>
{
public TimelineAbility(TimelineAbilityAsset abilityAsset) : base(abilityAsset)
{
}
public override AbilitySpec CreateSpec(AbilitySystemComponent owner)
{
return new TimelineAbilitySpec(this, owner);
}
}
/// <summary>
/// 这是一个最朴素的TimelineAbilitySpec实现, 如果要实现更复杂的TimelineAbility, 请用TimelineAbilityT和TimelineAbilitySpecT为基类
/// </summary>
public sealed class TimelineAbilitySpec : TimelineAbilitySpecT<TimelineAbilityT<TimelineAbilityAsset>, TimelineAbilityAsset>
{
public TimelineAbilitySpec(TimelineAbilityT<TimelineAbilityAsset> ability, AbilitySystemComponent owner) : base(ability, owner)
{
}
}
} }

View File

@ -10,8 +10,9 @@ using UnityEngine.Serialization;
namespace GAS.Runtime namespace GAS.Runtime
{ {
public abstract class TimelineAbilityAssetBase : AbilityAsset public abstract class TimelineAbilityAsset : AbilityAsset
{ {
[TitleGroup("Data")] [TitleGroup("Data")]
[HorizontalGroup("Data/H1", 1 / 3f)] [HorizontalGroup("Data/H1", 1 / 3f)]
[TabGroup("Data/H1/V1", "Timeline", SdfIconType.ClockHistory, TextColor = "#00FF00")] [TabGroup("Data/H1/V1", "Timeline", SdfIconType.ClockHistory, TextColor = "#00FF00")]
@ -32,6 +33,28 @@ namespace GAS.Runtime
$"调用\"GAS.Editor.AbilityTimelineEditorWindow\"类的静态方法ShowWindow(TimelineAbilityAsset asset)失败, 代码可能被重构了: {e}"); $"调用\"GAS.Editor.AbilityTimelineEditorWindow\"类的静态方法ShowWindow(TimelineAbilityAsset asset)失败, 代码可能被重构了: {e}");
} }
} }
public LFloat Speed => speed;
public bool ManualEndAbility => manualEndAbility;
public int FrameCount => frameCount;// 能力结束时间
public List<DurationalCueTrackData> DurationalCues => durationalCues;
public List<InstantCueTrackData> InstantCues => instantCues;
public List<ReleaseGameplayEffectTrackData> ReleaseGameplayEffect => releaseGameplayEffect;
public List<BuffGameplayEffectTrackData> BuffGameplayEffects => buffGameplayEffects;
public List<TaskMarkEventTrackData> InstantTasks => instantTasks;
public List<TaskClipEventTrackData> OngoingTasks => ongoingTasks;
public List<PassiveGameplayEffectTrackData> PassiveGameplayEffects => passiveGameplayEffects;
public List<PassiveTaskClipEventTrackData> PassiveTasks => passiveTasks;
/// <summary> /// <summary>
/// 播放速率, 常用于加速或减速播放(例如基于攻击速度的技能, 播放速率随攻击速度变化) /// 播放速率, 常用于加速或减速播放(例如基于攻击速度的技能, 播放速率随攻击速度变化)
@ -40,40 +63,40 @@ namespace GAS.Runtime
[LabelText(GASTextDefine.ABILITY_PLAY_RATE)] [LabelText(GASTextDefine.ABILITY_PLAY_RATE)]
[LabelWidth(100)] [LabelWidth(100)]
[MinValue(0)] [MinValue(0)]
public LFloat Speed = 1; public LFloat speed = 1;
[TabGroup("Data/H1/V1", "Timeline")] [TabGroup("Data/H1/V1", "Timeline")]
[LabelText(GASTextDefine.ABILITY_MANUAL_ENDABILITY)] [LabelText(GASTextDefine.ABILITY_MANUAL_ENDABILITY)]
[LabelWidth(100)] [LabelWidth(100)]
[FormerlySerializedAs("manualEndAbility")] [FormerlySerializedAs("manualEndAbility")]
public bool ManualEndAbility; public bool manualEndAbility;
[HideInInspector] [HideInInspector]
public int FrameCount; // 能力结束时间 public int frameCount; // 能力结束时间
[HideInInspector] [HideInInspector]
public List<DurationalCueTrackData> DurationalCues = new List<DurationalCueTrackData>(); public List<DurationalCueTrackData> durationalCues = new List<DurationalCueTrackData>();
[HideInInspector] [HideInInspector]
public List<InstantCueTrackData> InstantCues = new List<InstantCueTrackData>(); public List<InstantCueTrackData> instantCues = new List<InstantCueTrackData>();
[HideInInspector] [HideInInspector]
public List<ReleaseGameplayEffectTrackData> ReleaseGameplayEffect = new List<ReleaseGameplayEffectTrackData>(); public List<ReleaseGameplayEffectTrackData> releaseGameplayEffect = new List<ReleaseGameplayEffectTrackData>();
[HideInInspector] [HideInInspector]
public List<BuffGameplayEffectTrackData> BuffGameplayEffects = new List<BuffGameplayEffectTrackData>(); public List<BuffGameplayEffectTrackData> buffGameplayEffects = new List<BuffGameplayEffectTrackData>();
[HideInInspector] [HideInInspector]
public List<TaskMarkEventTrackData> InstantTasks = new List<TaskMarkEventTrackData>(); public List<TaskMarkEventTrackData> instantTasks = new List<TaskMarkEventTrackData>();
[HideInInspector] [HideInInspector]
public List<TaskClipEventTrackData> OngoingTasks = new List<TaskClipEventTrackData>(); public List<TaskClipEventTrackData> ongoingTasks = new List<TaskClipEventTrackData>();
[HideInInspector] [HideInInspector]
public List<PassiveGameplayEffectTrackData> PassiveGameplayEffects = new List<PassiveGameplayEffectTrackData>(); public List<PassiveGameplayEffectTrackData> passiveGameplayEffects = new List<PassiveGameplayEffectTrackData>();
[HideInInspector] [HideInInspector]
public List<PassiveTaskClipEventTrackData> PassiveTasks = new List<PassiveTaskClipEventTrackData>(); public List<PassiveTaskClipEventTrackData> passiveTasks = new List<PassiveTaskClipEventTrackData>();
#if UNITY_EDITOR #if UNITY_EDITOR
public void Save() public void Save()
@ -83,19 +106,5 @@ namespace GAS.Runtime
} }
#endif #endif
} }
public abstract class TimelineAbilityAssetT<T> : TimelineAbilityAssetBase where T : class
{
public sealed override Type AbilityType()
{
return typeof(T);
}
}
/// <summary>
/// 这是一个最朴素的TimelineAbilityAsset实现, 如果要实现更复杂的TimelineAbilityAsset, 请用TimelineAbilityAssetBase或TimelineAbilityAssetT为基类
/// </summary>
public sealed class TimelineAbilityAsset : TimelineAbilityAssetT<TimelineAbility>
{
}
} }

View File

@ -36,9 +36,9 @@ namespace GAS.Runtime
public InstantAbilityTask task; public InstantAbilityTask task;
} }
public class TimelineAbilityPlayer<AbilityT, AssetT> where AssetT : TimelineAbilityAssetBase where AbilityT : TimelineAbilityT<AssetT> public class TimelineAbilityPlayer
{ {
private readonly TimelineAbilitySpecT<AbilityT, AssetT> _abilitySpec; private readonly TimelineAbilitySpec _abilitySpec;
private readonly List<RuntimeBuffClip> _cacheBuffGameplayEffectTrack = new(); private readonly List<RuntimeBuffClip> _cacheBuffGameplayEffectTrack = new();
private readonly List<RuntimeDurationCueClip> _cacheDurationalCueTrack = new(); private readonly List<RuntimeDurationCueClip> _cacheDurationalCueTrack = new();
@ -57,7 +57,7 @@ namespace GAS.Runtime
private int _currentFrame; private int _currentFrame;
private LFloat _playTotalTime; private LFloat _playTotalTime;
public TimelineAbilityPlayer(TimelineAbilitySpecT<AbilityT, AssetT> abilitySpec) public TimelineAbilityPlayer(TimelineAbilitySpec abilitySpec)
{ {
_abilitySpec = abilitySpec; _abilitySpec = abilitySpec;
Cache(); Cache();
@ -65,7 +65,7 @@ namespace GAS.Runtime
public bool IsPlaying { get; private set; } public bool IsPlaying { get; private set; }
public AssetT AbilityAsset => _abilitySpec.Data.AbilityAsset; public TimelineAbilityAsset AbilityAsset => _abilitySpec.Ability.DataReference as TimelineAbilityAsset;
public int FrameCount => AbilityAsset.FrameCount; public int FrameCount => AbilityAsset.FrameCount;
public int FrameRate => JexGasManager.FrameRate; public int FrameRate => JexGasManager.FrameRate;

View File

@ -10,7 +10,7 @@ namespace GAS.Runtime
{ {
public List<BuffGameplayEffectClipEvent> clipEvents = new List<BuffGameplayEffectClipEvent>(); public List<BuffGameplayEffectClipEvent> clipEvents = new List<BuffGameplayEffectClipEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.BuffGameplayEffects.Add(this); abilityAsset.BuffGameplayEffects.Add(this);

View File

@ -9,7 +9,7 @@ namespace GAS.Runtime
{ {
public List<DurationalCueClipEvent> clipEvents = new List<DurationalCueClipEvent>(); public List<DurationalCueClipEvent> clipEvents = new List<DurationalCueClipEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.DurationalCues.Add(this); abilityAsset.DurationalCues.Add(this);

View File

@ -8,7 +8,7 @@ namespace GAS.Runtime
{ {
public List<InstantCueMarkEvent> markEvents = new List<InstantCueMarkEvent>(); public List<InstantCueMarkEvent> markEvents = new List<InstantCueMarkEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.InstantCues.Add(this); abilityAsset.InstantCues.Add(this);

View File

@ -9,7 +9,7 @@ namespace GAS.Runtime
{ {
public List<PassiveGameplayEffectClipEvent> clipEvents = new List<PassiveGameplayEffectClipEvent>(); public List<PassiveGameplayEffectClipEvent> clipEvents = new List<PassiveGameplayEffectClipEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.PassiveGameplayEffects.Add(this); abilityAsset.PassiveGameplayEffects.Add(this);

View File

@ -8,7 +8,7 @@ namespace GAS.Runtime
{ {
public List<PassiveTaskClipEvent> clipEvents = new List<PassiveTaskClipEvent>(); public List<PassiveTaskClipEvent> clipEvents = new List<PassiveTaskClipEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.PassiveTasks.Add(this); abilityAsset.PassiveTasks.Add(this);

View File

@ -10,7 +10,7 @@ namespace GAS.Runtime
{ {
public List<ReleaseGameplayEffectMarkEvent> markEvents = new List<ReleaseGameplayEffectMarkEvent>(); public List<ReleaseGameplayEffectMarkEvent> markEvents = new List<ReleaseGameplayEffectMarkEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.ReleaseGameplayEffect.Add(this); abilityAsset.ReleaseGameplayEffect.Add(this);

View File

@ -10,7 +10,7 @@ namespace GAS.Runtime
{ {
public List<TaskClipEvent> clipEvents = new List<TaskClipEvent>(); public List<TaskClipEvent> clipEvents = new List<TaskClipEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.OngoingTasks.Add(this); abilityAsset.OngoingTasks.Add(this);

View File

@ -9,7 +9,7 @@ namespace GAS.Runtime
{ {
public List<TaskMarkEvent> markEvents = new List<TaskMarkEvent>(); public List<TaskMarkEvent> markEvents = new List<TaskMarkEvent>();
public override void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public override void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
base.AddToAbilityAsset(abilityAsset); base.AddToAbilityAsset(abilityAsset);
abilityAsset.InstantTasks.Add(this); abilityAsset.InstantTasks.Add(this);

View File

@ -7,7 +7,7 @@ namespace GAS.Runtime
{ {
public string trackName; public string trackName;
public virtual void AddToAbilityAsset(TimelineAbilityAssetBase abilityAsset) public virtual void AddToAbilityAsset(TimelineAbilityAsset abilityAsset)
{ {
} }

View File

@ -74,48 +74,14 @@
<Analyzer Include="D:\Unity\2022.3.1f1\Editor\Data\Tools\Unity.SourceGenerators\Unity.Properties.SourceGenerator.dll" /> <Analyzer Include="D:\Unity\2022.3.1f1\Editor\Data\Tools\Unity.SourceGenerators\Unity.Properties.SourceGenerator.dll" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TargetCatcher\TargetCatcherFactory.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\AbilityTaskFactory.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\EnumAbilityTaskType.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Core\GasRuntimeSettings.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Core\GasRuntimeSettings.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureAttrBasedWithStackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureAttributeBasedModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureModifierMagnitudeCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureScalableFloatModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureSetByCallerFromNameModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureSetByCallerFromTagModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureStackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\StaticAsset\Interface\IAbilityAsset.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\StaticAsset\Interface\IAbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\TypeUtil.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\TypeUtil.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\MultiReactiveSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\MultiReactiveSystem.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Collector\Collector.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Collector\Collector.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureSetByCallerFromTagModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\StaticAsset\Interface\IModifierMagnitudeCalculation.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\StaticAsset\Interface\IModifierMagnitudeCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\InstantAbilityTask.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\InstantAbilityTask.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\StaticAsset\PureAsset\PureAbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\AbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\AbilityTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\InstantTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\OngoingTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\PassiveTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TimelineAbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TimelineAbilityPlayer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\BuffGameplayEffectTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\DurationalCueTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\InstantCueTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\PassiveGameplayEffectTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\PassiveTaskClipEventTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\ReleaseGameplayEffectTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TaskClipEventTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TaskMarkEventTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TrackDataBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TrackItemDataBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\AttrBasedWithStackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\AttributeBasedModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\ModifierMagnitudeCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\ScalableFloatModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\SetByCallerFromNameModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\SetByCallerFromTagModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\StackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\IJNSyncCycle.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\IJNSyncCycle.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\JNSSTileServerService.MasterSlave.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\JNSSTileServerService.MasterSlave.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\IComponent.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\IComponent.cs" />
@ -133,6 +99,7 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\JNContexts.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\JNContexts.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\IMatcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\IMatcher.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Cue\Base\GameplayCue.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Cue\Base\GameplayCue.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\AbilityTaskFactory.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\Component\JNComponent.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\Component\JNComponent.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Utils\ValueDropdownHelper.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Utils\ValueDropdownHelper.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Interfaces\IReactiveSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Interfaces\IReactiveSystem.cs" />
@ -148,20 +115,25 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Collector\CollectorContextExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Collector\CollectorContextExtension.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\UseUtil.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\UseUtil.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\RandomUtil.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\RandomUtil.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TimelineAbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\GASTextDefine.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\GASTextDefine.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\Entity.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\Entity.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Cue\Base\GameplayCueDurational.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Cue\Base\GameplayCueDurational.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\Component\JNEntityLookup.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\Component\JNEntityLookup.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntityIndex\EntityIndex.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntityIndex\EntityIndex.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\JNSyncDefaultService.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\JNSyncDefaultService.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\InstantTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TimelineAbilityPlayer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNClientBase.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNClientBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\Entity\DontDrawComponentAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\Entity\DontDrawComponentAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Extensions\CollectionExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Extensions\CollectionExtension.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\IJNSyncId.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\IJNSyncId.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Execution\ExecutionCalculation.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Execution\ExecutionCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNTCPClient.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNTCPClient.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TaskMarkEventTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Systems.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Systems.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Interfaces\ITearDownSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Interfaces\ITearDownSystem.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\OngoingTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\ToUtil.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\ToUtil.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\CompositeAttribute\CompositeAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\CompositeAttribute\CompositeAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\EntityIndex\PrimaryEntityIndexAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\EntityIndex\PrimaryEntityIndexAttribute.cs" />
@ -175,6 +147,7 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TargetCatcher\TargetCatcherBase.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TargetCatcher\TargetCatcherBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\System\SLogicSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\System\SLogicSystem.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Timers.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Timers.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\AttributeBasedModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\ICompoundMatcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\ICompoundMatcher.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\PriorityValue.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\PriorityValue.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\FastBitConverter.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\FastBitConverter.cs" />
@ -208,6 +181,7 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Group\GroupSingleEntityException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Group\GroupSingleEntityException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\ContextObserver\ContextObserverBehaviour.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\ContextObserver\ContextObserverBehaviour.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Tags\GameplayTagContainer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Tags\GameplayTagContainer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TrackItemDataBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\ContextInfoException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\ContextInfoException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\AbilityContainer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\AbilityContainer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Network\Group\JNClientGroup.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Network\Group\JNClientGroup.cs" />
@ -217,25 +191,33 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntitasResources.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntitasResources.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Singleton.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Singleton.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Component\IAbilitySystemComponent.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Component\IAbilitySystemComponent.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\PassiveGameplayEffectTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureSetByCallerFromNameModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\AbilitySpec.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\AbilitySpec.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntityIndex\EntityIndexException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntityIndex\EntityIndexException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\ContextAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\ContextAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectData.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TaskClipEventTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\SetByCallerFromTagModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNServerBase.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNServerBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\InstantCueTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\ContextEntityIndexDoesAlreadyExistException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\ContextEntityIndexDoesAlreadyExistException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\IJNTileCycle.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\IJNTileCycle.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Context.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Context.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\AttributeSet\AttributeSet.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\AttributeSet\AttributeSet.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Component\AbilitySystemComponent.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Component\AbilitySystemComponent.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\ContextObserver\ContextObserverExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\ContextObserver\ContextObserverExtension.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureStackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\EventDispatcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\EventDispatcher.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\FlagPrefixAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\FlagPrefixAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\JsonUtil.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\JsonUtil.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\IEntity.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\IEntity.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\EntityIsNotDestroyedException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\EntityIsNotDestroyedException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\MatcherToString.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\MatcherToString.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TargetCatcher\TargetCatcherFactory.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\Pool\ArrayPool.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\Pool\ArrayPool.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\IAnyOfMatcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\IAnyOfMatcher.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\SetByCallerFromNameModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectSpecifiedSnapshotConfig.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectSpecifiedSnapshotConfig.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\JNBaseSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\JNBaseSystem.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TargetCatcher\EnumTargetCatcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TargetCatcher\EnumTargetCatcher.cs" />
@ -247,6 +229,7 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectPeriodTicker.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectPeriodTicker.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\Tasks\ApplyCostAndCoolDown.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\Tasks\ApplyCostAndCoolDown.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\PostConstructorAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\PostConstructorAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\StaticAsset\PureAsset\PureAbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Utils\TagHelper.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Utils\TagHelper.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\SingletonScene.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\SingletonScene.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\GameObjectDestroyExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\GameObjectDestroyExtension.cs" />
@ -280,23 +263,32 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\JNSSTileTool.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\JNSSTileTool.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\ContextStillHasRetainedEntitiesException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\Exceptions\ContextStillHasRetainedEntitiesException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Core\GasDefine.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Core\GasDefine.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\DurationalCueTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\BuffGameplayEffectTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\AbilityTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Extensions\PublicMemberInfoEntityExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Extensions\PublicMemberInfoEntityExtension.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Collector\TriggerOnEventMatcherExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Collector\TriggerOnEventMatcherExtension.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\Component\Components\JNTransformComponent.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\Entity\Component\Components\JNTransformComponent.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\EntityIndex\EntityIndexGetMethodAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\EntityIndex\EntityIndexGetMethodAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\DebugExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\Util\DebugExtension.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\EnumAbilityTaskType.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\AbstractAbility.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\AbstractAbility.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\IContexts.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\IContexts.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\System\SDataSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\System\SDataSystem.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\ComponentNameAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\ComponentNameAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureScalableFloatModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Utils\AttributeValidator.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Utils\AttributeValidator.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\ContextObserver\ContextObserver.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\ContextObserver\ContextObserver.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\State\JNSStateServerService.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\State\JNSStateServerService.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\ReleaseGameplayEffectTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\JNetGame.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\JNetGame.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectContainer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectContainer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectAsset.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\Exceptions\EntityIsNotEnabledException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\Exceptions\EntityIsNotEnabledException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Component\AbilitySystemComponentPreset.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Component\AbilitySystemComponentPreset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\TrackDataBase.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureAttributeBasedModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\AbilityAsset.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\IAERC.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\IAERC.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Tags\GameplayTagAggregator.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Tags\GameplayTagAggregator.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\NetTool.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\NetTool.cs" />
@ -305,7 +297,9 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\JNSSTileServerService.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\JNSSTileServerService.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\EventSystem\Events\EventAttributeChanged.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\EventSystem\Events\EventAttributeChanged.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\Entity\JNTileContext.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\Entity\JNTileContext.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureModifierMagnitudeCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\Deserializer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\Deserializer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\ModifierMagnitudeCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Tags\GameplayTagSet.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Tags\GameplayTagSet.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\DataClass\ObservableValue.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\DataClass\ObservableValue.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectModifier.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\GameplayEffectModifier.cs" />
@ -313,11 +307,13 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\ModifierEnumDefine.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\ModifierEnumDefine.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Interfaces\IExecuteSystem.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Systems\Interfaces\IExecuteSystem.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\PassiveAbilityTask.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\AbilityTask\PassiveAbilityTask.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\StackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\SafeAERC.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\SafeAERC.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Types\KeyValue.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Types\KeyValue.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\BaseFormater.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\BaseFormater.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Core\EntityRef.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Core\EntityRef.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\View\ViewData.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\View\ViewData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\AttrBasedWithStackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntityIndex\PrimaryEntityIndex.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\EntityIndex\PrimaryEntityIndex.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\Entity\JNTileEntity.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Tile\Entity\JNTileEntity.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\ContextExtension.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\ContextExtension.cs" />
@ -326,11 +322,13 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\Serializer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Util\Serialization\Serializer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\IContext.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Context\IContext.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\EntityIndex\AbstractEntityIndexAttribute.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.CodeGeneration.Attributes\src\EntityIndex\AbstractEntityIndexAttribute.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Effects\Modifier\PureAttrBasedWithStackModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\Exceptions\EntityIsNotRetainedByOwnerException.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\Exceptions\EntityIsNotRetainedByOwnerException.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\View\IViewData.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\View\IViewData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Cue\Base\GameplayCueSpec.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Cue\Base\GameplayCueSpec.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\GASTimer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\General\GASTimer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Frame\JNSyncFrameService.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Sync\App\Frame\JNSyncFrameService.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TrackItem\PassiveTaskClipEventTrackData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Matcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Matcher.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\TimelineAbility.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\TimelineAbility\TimelineAbility.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\DebugSystems\SystemInfo.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas.VisualDebugging.Unity\src\DebugSystems\SystemInfo.cs" />
@ -344,6 +342,8 @@
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\INoneOfMatcher.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Matcher\Interfaces\INoneOfMatcher.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Network\Util\NDataUtil.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Network\Util\NDataUtil.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\EntityEqualityComparer.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Entity\EntityEqualityComparer.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Ability\TimelineAbility\TaskData\PassiveTaskData.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\GAS\ScriptableAsset\Effects\Modifier\ScalableFloatModCalculation.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNSocket.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Network\JNSocket.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Group\Group.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\Group\Group.cs" />
<Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\ContextInfo.cs" /> <Compile Include="Assets\HotScripts\JNGame\Runtime\Entitas\Core\Entitas\src\ContextInfo.cs" />
@ -1138,9 +1138,6 @@
<Name>JNGame.Root</Name> <Name>JNGame.Root</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Include="Assets\HotScripts\JNGame\Runtime\GAS\Runtime\Ability\Timeline\TimelineInfo.cs.meta" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.