mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-27 02:36:14 +00:00
简单提交
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
using Demo.Scripts.GAS.OngoingAbilityTasks;
|
||||
using GAS.Editor;
|
||||
using GAS.Editor;
|
||||
using GAS.Runtime;
|
||||
using JNGame.Math;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Demo.Editor.GAS.Ability.TaskInspector.OngoingAbility
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
public class OngoingAbility_Debug_Inspector : OngoingTaskInspector<OngoingAbility_Debug>
|
||||
{
|
||||
|
||||
[Delayed, LabelText("开始位置"), OnValueChanged("OnStartChanged")]
|
||||
public Vector3 start;
|
||||
public LVector3 start;
|
||||
[Delayed, LabelText("结束位置"), OnValueChanged("OnEndChanged")]
|
||||
public Vector3 end;
|
||||
public LVector3 end;
|
||||
|
||||
public override void Init(OngoingAbilityTask task)
|
||||
{
|
||||
@@ -21,21 +21,13 @@ namespace Demo.Editor.GAS.Ability.TaskInspector.OngoingAbility
|
||||
start = _task.end;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 触发概率配置变更监听
|
||||
/// </summary>
|
||||
private void OnStartChanged()
|
||||
{
|
||||
_task.start = start;
|
||||
Save();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 技能配置ID变更监听
|
||||
/// </summary>
|
||||
private void OnEndChanged()
|
||||
{
|
||||
_task.end = end;
|
||||
Save();
|
||||
}
|
||||
|
||||
|
8
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary.meta
Normal file
8
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fca1ab4bbda0cb849907a4b17d669c5e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary/ASC_Database.bytes
Normal file
BIN
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary/ASC_Database.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a02b2265d30a464a989f2d4b3e9adac
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary/GA_Database.bytes
Normal file
BIN
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary/GA_Database.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55f106e119a6897439630e254550d8fd
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary/GE_Database.bytes
Normal file
BIN
JNFrame2/Assets/Scripts/GASSamples/GAS/Binary/GE_Database.bytes
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8f64d28cf3a48454c9421439e97c85fe
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -10,11 +10,11 @@ MonoBehaviour:
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 85dd2a6201f04545b5a8b020edcb2690, type: 3}
|
||||
m_Name: ASC_Player
|
||||
m_EditorClassIdentifier:
|
||||
Description:
|
||||
AttributeSets:
|
||||
m_Name: ASC_Demo1
|
||||
m_EditorClassIdentifier: JNGame.Runtime:GAS.Runtime:AbilitySystemComponentPreset
|
||||
description:
|
||||
attributeSets:
|
||||
- BaseAttribute
|
||||
BaseTags: []
|
||||
BaseAbilities:
|
||||
baseTags: []
|
||||
baseAbilities:
|
||||
- {fileID: 11400000, guid: b78ae002fbbf510419a39987f22201f1, type: 2}
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7692a8d07949a5c46b6b5325ebb9a422
|
||||
guid: e0cc454441324b94baf6d53f48108d7c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@@ -12,58 +12,56 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: d763af469c524557946c477b9bea3a46, type: 3}
|
||||
m_Name: JisolDemo1
|
||||
m_EditorClassIdentifier:
|
||||
Description:
|
||||
UniqueName: JisolDemo1
|
||||
Cost: {fileID: 0}
|
||||
Cooldown: {fileID: 0}
|
||||
CooldownTime: 0
|
||||
AssetTags: []
|
||||
CancelAbilityTags: []
|
||||
BlockAbilityTags: []
|
||||
ActivationOwnedTags: []
|
||||
ActivationRequiredTags: []
|
||||
ActivationBlockedTags: []
|
||||
Speed:
|
||||
rawValue: 1000000
|
||||
ManualEndAbility: 0
|
||||
FrameCount: 60
|
||||
DurationalCues:
|
||||
description:
|
||||
uniqueName: JisolDemo1
|
||||
skillId: 0
|
||||
cost: {fileID: 0}
|
||||
cooldownTime: 0
|
||||
assetTags: []
|
||||
cancelAbilityTags: []
|
||||
blockAbilityTags: []
|
||||
activationOwnedTags: []
|
||||
activationRequiredTags: []
|
||||
activationBlockedTags: []
|
||||
manualEndAbility: 0
|
||||
frameCount: 60
|
||||
durationalCues:
|
||||
- trackName: "\u6301\u7EEDGameplayCue\u8F68\u9053"
|
||||
clipEvents:
|
||||
- startFrame: 0
|
||||
durationFrame: 53
|
||||
cue: {fileID: 11400000, guid: 0a77e9c8e20008944a99814e0b5a4aed, type: 2}
|
||||
InstantCues:
|
||||
instantCues:
|
||||
- trackName: "\u5373\u65F6Cue\u8F68\u9053"
|
||||
markEvents:
|
||||
- startFrame: 55
|
||||
cues:
|
||||
- {fileID: 11400000, guid: 041f193225d7b1e49a75af0003a4111b, type: 2}
|
||||
ReleaseGameplayEffect:
|
||||
releaseGameplayEffect:
|
||||
- trackName: "GameplayEffect\u91CA\u653E\u8F68\u9053"
|
||||
markEvents: []
|
||||
BuffGameplayEffects:
|
||||
- trackName: Buff
|
||||
buffGameplayEffects:
|
||||
- trackName: BuffGE
|
||||
clipEvents:
|
||||
- startFrame: 8
|
||||
durationFrame: 30
|
||||
buffTarget: 0
|
||||
gameplayEffect: {fileID: 11400000, guid: 25ef9a2206b693c4f9b93af896a038a8, type: 2}
|
||||
InstantTasks:
|
||||
- startFrame: 15
|
||||
durationFrame: 20
|
||||
gameplayEffectValueId: 0
|
||||
gameplayEffect: {fileID: 11400000, guid: 4089eaee525e7aa45993e0ad2c042fc1, type: 2}
|
||||
instantTasks:
|
||||
- trackName: "\u5373\u65F6Task\u8F68\u9053"
|
||||
markEvents: []
|
||||
OngoingTasks:
|
||||
ongoingTasks:
|
||||
- trackName: Task Clips
|
||||
clipEvents:
|
||||
- startFrame: 27
|
||||
- startFrame: 19
|
||||
durationFrame: 20
|
||||
ongoingTask:
|
||||
TaskData:
|
||||
Type: Demo.Scripts.GAS.OngoingAbilityTasks.OngoingAbility_Debug
|
||||
Data: '{"start":{"x":0.0,"y":0.0,"z":0.0},"end":{"x":100.0,"y":0.0,"z":0.0}}'
|
||||
PassiveGameplayEffects:
|
||||
taskData:
|
||||
Type: JNGame.GAS.OngoingAbility_Debug
|
||||
Data: '{"start":{"x":{"rawValue":0,"MilliRawValue":0},"y":{"rawValue":0,"MilliRawValue":0},"z":{"rawValue":0,"MilliRawValue":0},"RawX":0,"RawY":0,"RawZ":0,"Magnitude":{"rawValue":0,"MilliRawValue":0},"SqrMagnitude":{"rawValue":0,"MilliRawValue":0},"RawSqrMagnitude":0},"end":{"x":{"rawValue":0,"MilliRawValue":0},"y":{"rawValue":0,"MilliRawValue":0},"z":{"rawValue":0,"MilliRawValue":0},"RawX":0,"RawY":0,"RawZ":0,"Magnitude":{"rawValue":0,"MilliRawValue":0},"SqrMagnitude":{"rawValue":0,"MilliRawValue":0},"RawSqrMagnitude":0},"TypeId":2001}'
|
||||
passiveGameplayEffects:
|
||||
- trackName: Passive
|
||||
clipEvents: []
|
||||
PassiveTasks:
|
||||
passiveTasks:
|
||||
- trackName: Passive Task
|
||||
clipEvents: []
|
||||
|
@@ -12,9 +12,10 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 321af3379125465380073b2a04a1b1e2, type: 3}
|
||||
m_Name: GCueDurational_PlayerDemo
|
||||
m_EditorClassIdentifier:
|
||||
Description:
|
||||
RequiredTags: []
|
||||
ImmunityTags: []
|
||||
description:
|
||||
requiredTags: []
|
||||
immunityTags: []
|
||||
txName:
|
||||
start:
|
||||
x:
|
||||
rawValue: 0
|
||||
|
@@ -1,74 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b9395a0be3e547f48bd1c8320edc6c58, type: 3}
|
||||
m_Name: GE_JisolDemo1
|
||||
m_EditorClassIdentifier:
|
||||
Description: "\u7B80\u5355\u65BD\u52A0 debuff \u548C \u6263\u8840"
|
||||
DurationPolicy: 3
|
||||
Duration: 10000
|
||||
Period: 0
|
||||
PeriodExecution: {fileID: 0}
|
||||
Stacking:
|
||||
stackingType: 0
|
||||
stackingCodeName:
|
||||
limitCount: 0
|
||||
durationRefreshPolicy: 0
|
||||
periodResetPolicy: 0
|
||||
expirationPolicy: 0
|
||||
denyOverflowApplication: 0
|
||||
clearStackOnOverflow: 0
|
||||
overflowEffects: []
|
||||
GrantedAbilities: []
|
||||
Modifiers:
|
||||
- AttributeName: AS_BaseAttribute.HP
|
||||
AttributeSetName: AS_BaseAttribute
|
||||
AttributeShortName: HP
|
||||
ModiferMagnitude:
|
||||
rawValue: 10000000
|
||||
Operation: 0
|
||||
MMC: {fileID: 11400000, guid: 331222964d02d1349b1a9c717605c8e9, type: 2}
|
||||
AssetTags:
|
||||
- _name: DeBuff
|
||||
_hashCode: -251087900
|
||||
_shortName: DeBuff
|
||||
_ancestorHashCodes:
|
||||
_ancestorNames: []
|
||||
- _name: Buff
|
||||
_hashCode: 937056111
|
||||
_shortName: Buff
|
||||
_ancestorHashCodes:
|
||||
_ancestorNames: []
|
||||
GrantedTags:
|
||||
- _name: Buff
|
||||
_hashCode: 937056111
|
||||
_shortName: Buff
|
||||
_ancestorHashCodes:
|
||||
_ancestorNames: []
|
||||
- _name: DeBuff
|
||||
_hashCode: -251087900
|
||||
_shortName: DeBuff
|
||||
_ancestorHashCodes:
|
||||
_ancestorNames: []
|
||||
ApplicationRequiredTags: []
|
||||
OngoingRequiredTags: []
|
||||
RemoveGameplayEffectsWithTags: []
|
||||
ApplicationImmunityTags: []
|
||||
CueOnExecute: []
|
||||
CueDurational: []
|
||||
CueOnAdd:
|
||||
- {fileID: 11400000, guid: 041f193225d7b1e49a75af0003a4111b, type: 2}
|
||||
CueOnRemove:
|
||||
- {fileID: 11400000, guid: 2aa1d58fb62dc104484f4f2bf1673303, type: 2}
|
||||
CueOnActivate: []
|
||||
CueOnDeactivate: []
|
||||
SnapshotPolicy: 0
|
||||
SpecifiedSnapshotConfigs: []
|
@@ -0,0 +1,54 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b9395a0be3e547f48bd1c8320edc6c58, type: 3}
|
||||
m_Name: GE_Player
|
||||
m_EditorClassIdentifier: JNGame.Runtime:GAS.Runtime:GameplayEffectAsset
|
||||
description:
|
||||
durationPolicy: 1
|
||||
duration: 0
|
||||
period: 0
|
||||
periodExecutionId: 0
|
||||
periodExecution: {fileID: 0}
|
||||
stacking:
|
||||
stackingType: 0
|
||||
stackingCodeName:
|
||||
limitCount: 0
|
||||
durationRefreshPolicy: 0
|
||||
periodResetPolicy: 0
|
||||
expirationPolicy: 0
|
||||
denyOverflowApplication: 0
|
||||
clearStackOnOverflow: 0
|
||||
overflowEffects: []
|
||||
grantedAbilities: []
|
||||
modifiers: []
|
||||
assetTags: []
|
||||
grantedTags: []
|
||||
applicationRequiredTags: []
|
||||
ongoingRequiredTags: []
|
||||
removeGameplayEffectsWithTags: []
|
||||
applicationImmunityTags: []
|
||||
cueOnExecute: []
|
||||
cueDurational: []
|
||||
cueOnAdd: []
|
||||
cueOnRemove: []
|
||||
cueOnActivate: []
|
||||
cueOnDeactivate: []
|
||||
prematureExpirationEffect: []
|
||||
routineExpirationEffectClasses: []
|
||||
isUseTickEventGE: 0
|
||||
tickEventTag:
|
||||
name:
|
||||
hashCode: 0
|
||||
shortName:
|
||||
ancestorHashCodes:
|
||||
ancestorNames: []
|
||||
tickEventEffect: []
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 25ef9a2206b693c4f9b93af896a038a8
|
||||
guid: 4089eaee525e7aa45993e0ad2c042fc1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@@ -0,0 +1,35 @@
|
||||
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
/// <summary>
|
||||
/// GAS代码注入
|
||||
/// </summary>
|
||||
public partial class GASInjector
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[UnityEditor.InitializeOnLoad]
|
||||
class AutoInject
|
||||
{
|
||||
static AutoInject()
|
||||
{
|
||||
GASInjector.Inject();
|
||||
UnityEngine.Debug.Log("AutoRegister");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
private GASInjector() { }
|
||||
|
||||
public static void Inject()
|
||||
{
|
||||
var injector = new GASInjector();
|
||||
injector.InternalAbilityTaskInject();
|
||||
injector.InternalTargetCatcherInject();
|
||||
injector.InternalMMCInject();
|
||||
}
|
||||
|
||||
private partial void InternalAbilityTaskInject();
|
||||
private partial void InternalTargetCatcherInject();
|
||||
private partial void InternalMMCInject();
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07bc2f76183f4a82b1855c7426a7db31
|
||||
timeCreated: 1729578878
|
@@ -16,7 +16,7 @@ namespace Demo.Scripts.GAS.GameplayCue
|
||||
[LabelText("结束位置")]
|
||||
public LVector3 end;
|
||||
|
||||
public override GameplayCueDurationalSpec CreateSpec(GameplayCueParameters parameters)
|
||||
protected override GameplayCueDurationalSpec CreateSpec(GameplayCueParameters parameters)
|
||||
{
|
||||
return new GameplayCueDurational_PlayerDemo01_Spec(this,parameters);
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@ namespace Demo.Scripts.GAS.GameplayCue
|
||||
{
|
||||
public class GameplayCue_PlayerDemo01 : GameplayCueInstant
|
||||
{
|
||||
public override GameplayCueInstantSpec CreateSpec(GameplayCueParameters parameters)
|
||||
protected override GameplayCueInstantSpec CreateSpec(GameplayCueParameters parameters)
|
||||
{
|
||||
Debug.Log($"GameplayCue_PlayerDemo01 CreateSpec");
|
||||
return new GameplayCue_PlayerDemo01_Spec(this,parameters);
|
||||
|
@@ -7,7 +7,7 @@ namespace Demo.Scripts.GAS.GameplayCue
|
||||
{
|
||||
public class GameplayCue_PlayerDemo02 : GameplayCueInstant
|
||||
{
|
||||
public override GameplayCueInstantSpec CreateSpec(GameplayCueParameters parameters)
|
||||
protected override GameplayCueInstantSpec CreateSpec(GameplayCueParameters parameters)
|
||||
{
|
||||
Debug.Log($"GameplayCue_PlayerDemo02 CreateSpec");
|
||||
return new GameplayCue_PlayerDemo02_Spec(this,parameters);
|
||||
|
@@ -1,13 +1,14 @@
|
||||
using GAS.Runtime;
|
||||
using JNGame.Math;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Demo.Scripts.GAS.OngoingAbilityTasks
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
public class OngoingAbility_Debug : OngoingAbilityTask
|
||||
public partial class OngoingAbility_Debug : OngoingAbilityTask
|
||||
{
|
||||
|
||||
public Vector3 start;
|
||||
public Vector3 end;
|
||||
public LVector3 start;
|
||||
public LVector3 end;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
/// <summary>
|
||||
@@ -19,7 +20,7 @@ namespace Demo.Scripts.GAS.OngoingAbilityTasks
|
||||
/// <param name="endFrame"></param>
|
||||
public override void OnEditorPreview(int frame, int startFrame, int endFrame)
|
||||
{
|
||||
Debug.Log($"OnEditorPreview {Vector3.Lerp(start,end,(float)frame / (float)endFrame)}");
|
||||
Debug.Log($"OnEditorPreview {Vector3.Lerp(start.ToVector3(),end.ToVector3(),(float)frame / (float)endFrame)}");
|
||||
// _spec.Owner.gameObject.transform.position = Vector3.Lerp(start, end, (float)startFrame / endFrame);
|
||||
}
|
||||
#endif
|
||||
|
@@ -29,9 +29,9 @@ namespace GASSamples.Scripts.Game.Entity.Nodes.Component.Components
|
||||
|
||||
public void InitWithPreset(AbilitySystemComponentPreset ascPreset,int level)
|
||||
{
|
||||
ASC.SetPreset(ascPreset);
|
||||
ASC.SetLevel(level);
|
||||
ASC.InitWithPreset(ASC.Level,ASC.Preset);
|
||||
// ASC.SetPreset(ascPreset);
|
||||
// ASC.SetLevel(level);
|
||||
// ASC.InitWithPreset(ASC.Level,ASC.Preset);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -39,7 +39,7 @@ namespace GASSamples.Scripts.Game.Entity.Nodes.Component.Components
|
||||
/// </summary>
|
||||
public void ApplyGameplayEffectToSelf(GameplayEffect gameplayEffect)
|
||||
{
|
||||
ASC.ApplyGameplayEffectToSelf(gameplayEffect);
|
||||
// ASC.ApplyGameplayEffectToSelf(gameplayEffect);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@@ -23,7 +23,7 @@ namespace GASSamples.Scripts.Game.Entity.Nodes.Component.Controller
|
||||
// GAS.ApplyGameplayEffectToSelf(new GameplayEffect(GetSystem<DDataSystem>().GE_JisolDemo1));
|
||||
|
||||
//释放技能
|
||||
GAS.TryActivateAbility(GAbilityLib.JisolDemo1.Name);
|
||||
// GAS.TryActivateAbility(GAbilityLib.JisolDemo1.Name);
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
using GAS.Runtime;
|
||||
using JNGame.Sync.Entity;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GASSamples.Scripts.Game.GAS
|
||||
{
|
||||
@@ -14,7 +15,57 @@ namespace GASSamples.Scripts.Game.GAS
|
||||
{
|
||||
Entity = entity;
|
||||
}
|
||||
|
||||
|
||||
public override void OnGExecute(GameplayEffectSpec geSpec)
|
||||
{
|
||||
Debug.Log("OnGExecute");
|
||||
}
|
||||
|
||||
public override void OnGEAdd(GameplayEffectSpec geSpec)
|
||||
{
|
||||
Debug.Log("OnGEAdd");
|
||||
}
|
||||
|
||||
public override void OnGERemove(GameplayEffectSpec geSpec)
|
||||
{
|
||||
Debug.Log("OnGERemove");
|
||||
}
|
||||
|
||||
public override void OnGEActive(GameplayEffectSpec geSpec)
|
||||
{
|
||||
Debug.Log("OnGEActive");
|
||||
}
|
||||
|
||||
public override void OnGEDeactive(GameplayEffectSpec geSpec)
|
||||
{
|
||||
Debug.Log("OnGEDeactive");
|
||||
}
|
||||
|
||||
public override void OnGERelease(GameplayEffectSpec geSpec)
|
||||
{
|
||||
Debug.Log("OnGERelease");
|
||||
}
|
||||
|
||||
public override int OnCueAdd(AbilitySpec abilitySpec, string cueAssetLocation)
|
||||
{
|
||||
Debug.Log("OnCueAdd");
|
||||
return 0;
|
||||
}
|
||||
|
||||
public override void OnCueRemove(AbilitySpec abilitySpec, int cueClipIndex)
|
||||
{
|
||||
Debug.Log("OnCueRemove");
|
||||
}
|
||||
|
||||
public override void OnCueExecute(AbilitySpec abilitySpec, string[] cueAssetLocations)
|
||||
{
|
||||
Debug.Log("OnCueExecute");
|
||||
}
|
||||
|
||||
public override void OnAbilityEnd(AbilitySpec abilitySpec)
|
||||
{
|
||||
Debug.Log("OnAbilityEnd");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,44 +0,0 @@
|
||||
///////////////////////////////////
|
||||
//// This is a generated file. ////
|
||||
//// Do not modify it. ////
|
||||
///////////////////////////////////
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GAS.Runtime
|
||||
{
|
||||
public static class AbilitySystemComponentExtension
|
||||
{
|
||||
public static Type[] PresetAttributeSetTypes(this AbilitySystemComponent asc)
|
||||
{
|
||||
if (asc.Preset == null) return null;
|
||||
var attrSetTypes = new Type[asc.Preset.AttributeSets.Length];
|
||||
for (var i = 0; i < asc.Preset.AttributeSets.Length; i++)
|
||||
attrSetTypes[i] = GAttrSetLib.AttrSetTypeDict[asc.Preset.AttributeSets[i]];
|
||||
return attrSetTypes;
|
||||
}
|
||||
|
||||
public static GameplayTag[] PresetBaseTags(this AbilitySystemComponent asc)
|
||||
{
|
||||
if (asc.Preset == null) return null;
|
||||
return asc.Preset.BaseTags;
|
||||
}
|
||||
|
||||
public static void InitWithPreset(this AbilitySystemComponent asc, int level, AbilitySystemComponentPreset preset = null)
|
||||
{
|
||||
if (preset != null) asc.SetPreset(preset);
|
||||
if (asc.Preset == null) return;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if (asc.Preset.BaseAbilities != null && asc.Preset.BaseAbilities.Any(x => x == null))
|
||||
{
|
||||
Debug.LogWarning($"BaseAbilities contains null in preset: {asc.Preset.name}");
|
||||
}
|
||||
#endif
|
||||
|
||||
asc.Init(asc.PresetBaseTags(), asc.PresetAttributeSetTypes(), asc.Preset.BaseAbilities, level);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
///////////////////////////////////
|
||||
//// This is a generated file. ////
|
||||
//// Do not modify it. ////
|
||||
///////////////////////////////////
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace GAS.Runtime
|
||||
{
|
||||
public static class GAbilityLib
|
||||
{
|
||||
public struct AbilityInfo
|
||||
{
|
||||
public string Name;
|
||||
public string AssetPath;
|
||||
public Type AbilityClassType;
|
||||
}
|
||||
|
||||
public static AbilityInfo JisolDemo1 = new AbilityInfo { Name = "JisolDemo1", AssetPath = "Assets/Scripts/GASSamples/GAS/Config/GameplayAbilityLib/JisolDemo1.asset",AbilityClassType = typeof(GAS.Runtime.TimelineAbility) };
|
||||
|
||||
|
||||
public static Dictionary<string, AbilityInfo> AbilityMap = new Dictionary<string, AbilityInfo>
|
||||
{
|
||||
["JisolDemo1"] = JisolDemo1,
|
||||
};
|
||||
}
|
||||
}
|
@@ -9,13 +9,15 @@ namespace GAS.Runtime
|
||||
{
|
||||
public static class GAttrLib
|
||||
{
|
||||
/// <summary>血量</summary>
|
||||
/// <summary>
|
||||
/// 血量
|
||||
/// </summary>
|
||||
public const string HP = "HP";
|
||||
|
||||
// For facilitating the creation of a Value Dropdown in the editor.
|
||||
public static readonly IReadOnlyList<string> AttributeNames = new List<string>
|
||||
public static List<string> AttributeNames = new List<string>()
|
||||
{
|
||||
HP,
|
||||
"HP",
|
||||
};
|
||||
}
|
||||
}
|
@@ -5,7 +5,7 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using JNGame.Math;
|
||||
using GAS.General;
|
||||
|
||||
namespace GAS.Runtime
|
||||
{
|
||||
@@ -13,15 +13,25 @@ namespace GAS.Runtime
|
||||
{
|
||||
#region HP
|
||||
|
||||
/// <summary>血量</summary>
|
||||
public AttributeBase HP { get; } = new("AS_BaseAttribute", "HP", new LFloat(true,0), LFloat.MinValue, LFloat.MaxValue, CalculateMode.Stacking, (SupportedOperation)31);
|
||||
private AttributeBase _HP = new AttributeBase("AS_BaseAttribute.HP","AS_BaseAttribute", "HP");
|
||||
|
||||
public void InitHP(LFloat value) => HP.Init(value);
|
||||
public void SetCurrentHP(LFloat value) => HP.SetCurrentValue(value);
|
||||
public void SetBaseHP(LFloat value) => HP.SetBaseValue(value);
|
||||
public void SetMinHP(LFloat value) => HP.SetMinValue(value);
|
||||
public void SetMaxHP(LFloat value) => HP.SetMaxValue(value);
|
||||
public void SetMinMaxHP(LFloat min, LFloat max) => HP.SetMinMaxValue(min, max);
|
||||
public AttributeBase HP => _HP;
|
||||
|
||||
public void InitHP(int value)
|
||||
{
|
||||
_HP.SetBaseValue(value);
|
||||
_HP.SetCurrentValue(value);
|
||||
}
|
||||
|
||||
public void SetCurrentHP(int value)
|
||||
{
|
||||
_HP.SetCurrentValue(value);
|
||||
}
|
||||
|
||||
public void SetBaseHP(int value)
|
||||
{
|
||||
_HP.SetBaseValue(value);
|
||||
}
|
||||
|
||||
#endregion HP
|
||||
|
||||
@@ -32,7 +42,7 @@ namespace GAS.Runtime
|
||||
switch (key)
|
||||
{
|
||||
case "HP":
|
||||
return HP;
|
||||
return _HP;
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -47,30 +57,37 @@ namespace GAS.Runtime
|
||||
public override void SetOwner(AbilitySystemComponent owner)
|
||||
{
|
||||
_owner = owner;
|
||||
HP.SetOwner(owner);
|
||||
_HP.SetOwner(owner);
|
||||
}
|
||||
|
||||
public static class Lookup
|
||||
{
|
||||
public const string HP = "AS_BaseAttribute.HP";
|
||||
}
|
||||
public static readonly string SetName = "AS_BaseAttribute";
|
||||
}
|
||||
|
||||
public static class GAttrSetLib
|
||||
{
|
||||
public static readonly IReadOnlyDictionary<string, Type> AttrSetTypeDict = new Dictionary<string, Type>
|
||||
public static readonly Dictionary<string, Type> AttrSetTypeDict = new Dictionary<string, Type>()
|
||||
{
|
||||
{ "BaseAttribute", typeof(AS_BaseAttribute) },
|
||||
};
|
||||
|
||||
public static readonly IReadOnlyDictionary<Type, string> TypeToName = new Dictionary<Type, string>
|
||||
public static readonly Dictionary<Type, string> TypeToName = new Dictionary<Type, string>
|
||||
{
|
||||
{ typeof(AS_BaseAttribute), nameof(AS_BaseAttribute) },
|
||||
};
|
||||
|
||||
public static readonly IReadOnlyList<string> AttributeFullNames = new List<string>
|
||||
public static void RecycleSetInstance(object obj)
|
||||
{
|
||||
ObjectPool.Instance.Recycle(obj);
|
||||
}
|
||||
|
||||
public static List<string> AttributeFullNames = new List<string>()
|
||||
{
|
||||
"AS_BaseAttribute.HP",
|
||||
};
|
||||
|
||||
}
|
||||
}
|
@@ -9,13 +9,10 @@ namespace GAS.Runtime
|
||||
{
|
||||
public static class GTagLib
|
||||
{
|
||||
/// <summary>Buff</summary>
|
||||
public static GameplayTag Buff { get; } = new("Buff");
|
||||
public static GameplayTag Buff { get; } = new GameplayTag("Buff");
|
||||
public static GameplayTag DeBuff { get; } = new GameplayTag("DeBuff");
|
||||
|
||||
/// <summary>DeBuff</summary>
|
||||
public static GameplayTag DeBuff { get; } = new("DeBuff");
|
||||
|
||||
public static readonly IReadOnlyDictionary<string, GameplayTag> TagMap = new Dictionary<string, GameplayTag>
|
||||
public static Dictionary<string, GameplayTag> TagMap = new Dictionary<string, GameplayTag>
|
||||
{
|
||||
["Buff"] = Buff,
|
||||
["DeBuff"] = DeBuff,
|
||||
|
8
JNFrame2/Assets/Scripts/GASSamples/Scripts/GenCode.meta
Normal file
8
JNFrame2/Assets/Scripts/GASSamples/Scripts/GenCode.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9387cf448fb43604cb2dfdcc3253d15c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,37 @@
|
||||
|
||||
// auto generate by tools, DO NOT Modify it!!!
|
||||
|
||||
using GAS.Runtime;
|
||||
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
/// <summary>
|
||||
/// 游戏业务逻辑扩展的AbilityTask枚举
|
||||
/// </summary>
|
||||
public enum EnumGameAbilityTaskType
|
||||
{
|
||||
OngoingAbility_Debug = 2001,
|
||||
|
||||
}
|
||||
|
||||
#region AbilityTask构造工厂方法注册
|
||||
|
||||
public partial class GASInjector
|
||||
{
|
||||
private partial void InternalAbilityTaskInject()
|
||||
{
|
||||
AbilityTaskFactory.Register((ushort)EnumGameAbilityTaskType.OngoingAbility_Debug, () => new JNGame.GAS.OngoingAbility_Debug());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region AbilityTask枚举ID自动生成
|
||||
|
||||
public partial class OngoingAbility_Debug { public override ushort TypeId => (ushort)EnumGameAbilityTaskType.OngoingAbility_Debug; }
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a829f1acecbd5d348800bcbf18fb138e
|
||||
guid: 1fd4c18a2f24eae47b7e42b7f7fcda3f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
@@ -0,0 +1,29 @@
|
||||
|
||||
// auto generate by tools, DO NOT Modify it!!!
|
||||
|
||||
using GAS.Runtime;
|
||||
using JNGame.Serialization;
|
||||
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
public partial class OngoingAbility_Debug
|
||||
{
|
||||
public override void Serialize(Serializer writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(start);
|
||||
writer.Write(end);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(Deserializer reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
start = reader.ReadLVector3();
|
||||
end = reader.ReadLVector3();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 79aaab94f725e0347b32b6383dc6361e
|
||||
guid: f70b80baa6bca6e4b8eed71c9017d0f1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
@@ -0,0 +1,18 @@
|
||||
|
||||
// auto generate by tools, DO NOT Modify it!!!
|
||||
|
||||
using GAS.Runtime;
|
||||
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
#region GE索引自动导出
|
||||
|
||||
public static class GELib
|
||||
{
|
||||
public static readonly string GE_Player = "GE_Player";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dca9b0820869ddf429ec8559295b6c26
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,34 @@
|
||||
|
||||
// auto generate by tools, DO NOT Modify it!!!
|
||||
|
||||
using GAS.Runtime;
|
||||
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
/// <summary>
|
||||
/// 游戏业务逻辑扩展的MMC枚举
|
||||
/// </summary>
|
||||
public enum EnumGameMMCType
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#region MMC构造工厂方法注册
|
||||
|
||||
public partial class GASInjector
|
||||
{
|
||||
private partial void InternalMMCInject()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region MMC枚举ID自动生成
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b43e28b924bc24248904d6aa73813db9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,6 @@
|
||||
|
||||
// auto generate by tools, DO NOT Modify it!!!
|
||||
|
||||
using GAS.Runtime;
|
||||
using JNGame.Serialization;
|
||||
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91b69023dfa368446b0b0469ca71c69c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,34 @@
|
||||
|
||||
// auto generate by tools, DO NOT Modify it!!!
|
||||
|
||||
using GAS.Runtime;
|
||||
|
||||
namespace JNGame.GAS
|
||||
{
|
||||
/// <summary>
|
||||
/// 游戏业务逻辑扩展的TargetCatcher枚举
|
||||
/// </summary>
|
||||
public enum EnumGameTargetCatcherType
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#region TargetCatcher构造工厂方法注册
|
||||
|
||||
public partial class GASInjector
|
||||
{
|
||||
private partial void InternalTargetCatcherInject()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region TargetCatcher枚举ID自动生成
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 568f0beefef0c124e9894c8f19934559
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user