2
0
Fork 0

基本投技结构

master
cd 2 years ago
parent 5d519b046b
commit e61898b974

@ -16,7 +16,7 @@ MonoBehaviour:
mIsImporting: 0
mAwaitingModelImport: 0
mAwaitingFragmentsImport: 0
mLastUsedObjectDefinitionHash: 44E5A0A33A25576D336C72A878BDA56E9ADACB4AF2BEEA6CBCB41B5CE3A48506
mLastUsedObjectDefinitionHash: C56D7EF4F39B52D4737E16FEF4DDDE5EAB18AEFDEAFA0D2478B56AB7D7882401
mLastUsedScriptFragmentsHash: 0000000000
mLastUsedPackagesHash: 1177269412
mLastUsedPackagesCount: 1

@ -20,7 +20,7 @@ namespace Articy.Touhou.GlobalVariables
{
[Articy.Unity.ArticyCodeGenerationHashAttribute(638217727802727452)]
[Articy.Unity.ArticyCodeGenerationHashAttribute(638222141002450560)]
public class ArticyScriptFragments : BaseScriptFragments, ISerializationCallbackReceiver
{

@ -488,6 +488,33 @@ namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueShieldParam_02Template : ArticyValue<Articy.Touhou.Templates.ShieldParam_02Template>
{
}
}
namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueEntityHitBoxParamFeature : ArticyValue<Articy.Touhou.Features.EntityHitBoxParamFeature>
{
}
}
namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueShieldParam_02 : ArticyValue<ShieldParam_02>
{
}
}
namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueMonsterTemplate : ArticyValue<Articy.Touhou.Templates.MonsterTemplate>
{
@ -1055,33 +1082,6 @@ namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueShieldParam_02Template : ArticyValue<Articy.Touhou.Templates.ShieldParam_02Template>
{
}
}
namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueEntityHitBoxParamFeature : ArticyValue<Articy.Touhou.Features.EntityHitBoxParamFeature>
{
}
}
namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueShieldParam_02 : ArticyValue<ShieldParam_02>
{
}
}
namespace Articy.Touhou
{
[Serializable()]
public class ArticyValueLocation : ArticyValue<Location>
{

@ -22,7 +22,7 @@ namespace Articy.Touhou
[Serializable()]
[Articy.Unity.ArticyCodeGenerationHashAttribute(638217727671016868)]
[Articy.Unity.ArticyCodeGenerationHashAttribute(638222140788663376)]
public class InputPin : ArticyPrimitive, IInputPin
{

@ -218,6 +218,18 @@ MonoBehaviour:
m_Name: HierarchyManager
m_EditorClassIdentifier:
serializedNodes: []
--- !u!114 &-2710827813016667703
MonoBehaviour:
m_ObjectHideFlags: 3
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: 4488511c690d7d247bc45f2106962d66, type: 3}
m_Name: ArticyScriptFragments
m_EditorClassIdentifier:
--- !u!114 &-2684893655999679043
MonoBehaviour:
m_ObjectHideFlags: 3
@ -420,7 +432,7 @@ MonoBehaviour:
m_Script: {fileID: -1676762633, guid: 23cdf4a0ba64c164d8ffb0c744ae259d, type: 3}
m_Name: ArticyDatabase
m_EditorClassIdentifier:
mHierarchy: {fileID: 7666937796628045154}
mHierarchy: {fileID: 2896495122622374548}
mLocalization: {fileID: -4256971298007036964}
mInternalProject:
mName: touhou
@ -496,8 +508,8 @@ MonoBehaviour:
- "Assets/\u7CBE\u7075\u56FE/\u5B50\u5F39/pt_blue"
- "Assets/\u7CBE\u7075\u56FE/\u5B50\u5F39/pt_red"
- "Assets/\u7CBE\u7075\u56FE/\u4EA4\u4E92\u7269/light1"
mDefaultGlobalVariables: {fileID: -4281757551097325426}
mScriptFragments: {fileID: 3206890002954639375}
mDefaultGlobalVariables: {fileID: 3423444516077795561}
mScriptFragments: {fileID: -2710827813016667703}
mPackages:
- PackageName: gamedata
PackagePath: gamedata
@ -561,6 +573,25 @@ MonoBehaviour:
m_EditorClassIdentifier:
serializedNodes: []
--- !u!114 &2454053542591885956
MonoBehaviour:
m_ObjectHideFlags: 3
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: 1655710724, guid: 23cdf4a0ba64c164d8ffb0c744ae259d, type: 3}
m_Name: HierarchyManager
m_EditorClassIdentifier:
serializedNodes:
- id: 72057594037927937
parent: 0
technicalName: Touhou
articyType: Project
childCount: 0
indexOfFirstChild: 1
--- !u!114 &2896495122622374548
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
@ -605,6 +636,25 @@ MonoBehaviour:
m_Name: ArticyScriptFragments
m_EditorClassIdentifier:
--- !u!114 &3229944495977882605
MonoBehaviour:
m_ObjectHideFlags: 1
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: ab8bedcae6c8fc0448f1b9e7bc8c751a, type: 3}
m_Name: DefaultGlobalVariables
m_EditorClassIdentifier:
BoolVariableCache: []
IntVariableCache: []
StringVariableCache: []
LiveBoolVariableCache: []
LiveIntVariableCache: []
LiveStringVariableCache: []
isInitialized: 1
--- !u!114 &3423444516077795561
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}

@ -10,6 +10,7 @@ public class SkillComponent : IComponent
public MetaData<string> SkillId = new MetaData<string>(); //正在释放的技能id
public bool IsRunning; //是否技能释放中
public Vector3 CastDir; //技能释放方向
public int ThrowTarget; //投技目标
public HashSet<Tuple<int, int>> HitSet = new HashSet<Tuple<int, int>>(); //技能命中信息 生命周期为一次技能释放
public Queue<SkillHitInfo> HitInfo = new Queue<SkillHitInfo>(); //技能命中结算队列

@ -9,5 +9,5 @@ public class TimelineComponent : IComponent
public float TimePast;
public double TimeMax;
public bool IsPause;
public bool IsBeThrow;
}

@ -64,6 +64,14 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
SettleShake(hitLevel, entity, target); //抖动
SettleScale(flowSpeed, entity, target); //抖动
SettleGlobalEffect(target, pauseTime); //全局特效
//投技中断
if (!(hitInfo.SkillParam.throwTimeline is null))
{
entity.skill.ThrowTarget = target.ID();
TimelineManager.Instance.RunSkillTimeline(entity, hitInfo.SkillParam.throwTimeline.name);
return true;
}
return !hitInfo.Continue;
}

@ -20,6 +20,8 @@ public class TimelineSystem : IExecuteSystem, IInitializeSystem
continue;
if (!timeline.IsRunning)
continue;
if (timeline.IsBeThrow)
continue;
UpdateCheckEnd(entity);
if (!timeline.IsRunning)
continue;

@ -23,16 +23,6 @@ namespace Game
}
public override void OnStay()
{
// var skill = m_Owner.skill;
// var skillNow = skill.skillNow;
// var skillCfg = Util.GetSkillConfig(skillNow);
// if (skillCfg != null && skillCfg.StanceCache
// && skill.stance != ESkillStance.None
// && skill.stance != ESkillStance.Idle
// && skill.stance != ESkillStance.AirIdle)
// {
// m_Owner.CastShadow(100);
// }
}
public override void OnLeave()
{

@ -104,7 +104,12 @@ namespace Game
{
info.Continue = true;
}
skill.HitInfo.Enqueue(info);
if (!info.SkillParam.isAoe)
{
break;
}
}
}

@ -0,0 +1,19 @@
using UnityEngine;
namespace Game
{
public class ClipThrowAnimation : TimelineClipBase
{
private ThrowAnimationClip _mRealAsset;
public override void OnEnter()
{
}
public override void OnStay()
{
}
public override void OnLeave()
{
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d1db05a55f3e4555a9840244193a37c2
timeCreated: 1686588836

@ -0,0 +1,42 @@
using UnityEngine;
namespace Game
{
public class ClipThrowControl : TimelineClipBase
{
private ThrowControlClip _mRealAsset;
private GameEntity target;
public override void OnEnter()
{
target = Util.GetEntity(Owner.skill.ThrowTarget);
if (target == null || !target.hasTimeline)
{
BreakSkill();
return;
}
TimelineManager.Instance.EndSkillTimeline(target);
target.timeline.IsRunning = true;
Util.AddStaggerBuff(target.ID(), -1f);
}
public override void OnStay()
{
Util.Print("Throwing target: " + target.ID());
if (!target.hp.IsAlive)
BreakSkill();
}
public override void OnLeave()
{
target.timeline.IsRunning = false;
Util.AddStaggerBuff(target.ID(), 2f);
}
private void BreakSkill()
{
TimelineManager.Instance.EndSkillTimeline(Owner);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 78b8296f774e4bccaa2483ffb246ecd3
timeCreated: 1686588763

@ -26,6 +26,9 @@ namespace Game
Register<GlobalEffectClip, ClipGlobalEffect>();
Register<DodgeClip, ClipDodge>();
Register<LoopInAirClip, ClipLoopInAir>();
Register<ThrowControlClip, ClipThrowControl>();
Register<ThrowAnimationClip, ClipThrowAnimation>();
}
private void Register<T1, T2>() where T2 : TimelineClipBase, new()
{

File diff suppressed because it is too large Load Diff

@ -985,6 +985,7 @@ MonoBehaviour:
flowSpeed: {x: 10, y: 5, z: 0}
flowTime: 5
isFlow: 1
isAoe: 1
damageRate: 1
stunRate: 1
staggerLevel: 2
@ -1000,6 +1001,7 @@ MonoBehaviour:
SizeY: 2.5
Radius: 0
Angle: 0
throwTimeline:
--- !u!114 &5178577764301111608
MonoBehaviour:
m_ObjectHideFlags: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c289f3228d547dc4285b0bd67a1ef3b0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0bd5f8223b563b5478bdf14ef83b5a48
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

@ -621,7 +621,7 @@ MonoBehaviour:
m_Start: 0.3999999999999998
m_ClipIn: 0
m_Asset: {fileID: 2914315655706815150}
m_Duration: 0.050000000000000266
m_Duration: 0.044444444444444675
m_TimeScale: 1
m_ParentTrack: {fileID: -4750574827767443630}
m_EaseInDuration: 0
@ -744,10 +744,10 @@ MonoBehaviour:
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0.26666666666666666
m_Start: 0.36666666666666664
m_ClipIn: 0
m_Asset: {fileID: -4314092720917250239}
m_Duration: 0.08333333333333331
m_Duration: 0.016666666666666663
m_TimeScale: 1
m_ParentTrack: {fileID: -2562766138161925753}
m_EaseInDuration: 0
@ -1098,6 +1098,7 @@ MonoBehaviour:
flowSpeed: {x: 10, y: -10, z: 0}
flowTime: 0
isFlow: 1
isAoe: 1
damageRate: 0.5
stunRate: 0
staggerLevel: 2
@ -1150,6 +1151,7 @@ MonoBehaviour:
flowSpeed: {x: 3, y: -3, z: 0}
flowTime: 0
isFlow: 0
isAoe: 1
damageRate: 0.5
stunRate: 0
staggerLevel: 2

@ -715,6 +715,7 @@ MonoBehaviour:
flowSpeed: {x: 2, y: 1, z: 0}
flowTime: 0
isFlow: 0
isAoe: 1
damageRate: 1
stunRate: 1
staggerLevel: 2

@ -10,6 +10,7 @@ public class AttackBehaviour : PlayableBehaviour
[Rename("强制位移方向")] public Vector3 flowSpeed;
[Rename("强制位移持续时间")] public float flowTime;
[Rename("可以从地面击飞")] public bool isFlow;
[Rename("Aoe")] public bool isAoe = true;
[Rename("伤害修正")] public float damageRate = 1;
[Rename("眩晕修正")] public float stunRate = 1;
[Rename("硬直等级")] public int staggerLevel = 2;
@ -25,6 +26,7 @@ public class AttackBehaviour : PlayableBehaviour
[Rename("宽(格)")] public float SizeY;
[Rename("半径(格)")] public float Radius;
[Rename("角度")] public float Angle;
[Rename("投技时间轴")] public PlayableAsset throwTimeline;
private Shape _shape = null;
private const float ToGridSize = 16f / 64f;

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c252e7c89d1da934193ce77a89444265
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,14 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[Serializable]
public class ThrowAnimationBehaviour : PlayableBehaviour
{
public override void OnPlayableCreate (Playable playable)
{
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2f9ec3a766a22c247867e6a7f598315b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,22 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[Serializable]
public class ThrowAnimationClip : PlayableAsset, ITimelineClipAsset
{
public ThrowAnimationBehaviour template = new ThrowAnimationBehaviour ();
public ClipCaps clipCaps
{
get { return ClipCaps.None; }
}
public override Playable CreatePlayable (PlayableGraph graph, GameObject owner)
{
var playable = ScriptPlayable<ThrowAnimationBehaviour>.Create (graph, template);
ThrowAnimationBehaviour clone = playable.GetBehaviour ();
return playable;
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 78bae8ce336972043abaeef65e7443af
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
public class ThrowAnimationMixerBehaviour : PlayableBehaviour
{
// NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties.
public override void ProcessFrame(Playable playable, FrameData info, object playerData)
{
int inputCount = playable.GetInputCount ();
for (int i = 0; i < inputCount; i++)
{
float inputWeight = playable.GetInputWeight(i);
ScriptPlayable<ThrowAnimationBehaviour> inputPlayable = (ScriptPlayable<ThrowAnimationBehaviour>)playable.GetInput(i);
ThrowAnimationBehaviour input = inputPlayable.GetBehaviour ();
// Use the above variables to process each frame of this playable.
}
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cc8a5c942acc480409ef8e8849552190
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,13 @@
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[TrackColor(0.855f, 0.8623f, 0.87f)]
[TrackClipType(typeof(ThrowAnimationClip))]
public class ThrowAnimationTrack : TrackAsset
{
public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount)
{
return ScriptPlayable<ThrowAnimationMixerBehaviour>.Create (graph, inputCount);
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b4dd54adbc0a78f45b6674f5566db050
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a03c44d38663f6a45af5520cf34b79c6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,14 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[Serializable]
public class ThrowControlBehaviour : PlayableBehaviour
{
public override void OnPlayableCreate (Playable playable)
{
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 672745f2d4c57a34eb604baaefa10d7d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,22 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[Serializable]
public class ThrowControlClip : PlayableAsset, ITimelineClipAsset
{
public ThrowControlBehaviour template = new ThrowControlBehaviour ();
public ClipCaps clipCaps
{
get { return ClipCaps.None; }
}
public override Playable CreatePlayable (PlayableGraph graph, GameObject owner)
{
var playable = ScriptPlayable<ThrowControlBehaviour>.Create (graph, template);
ThrowControlBehaviour clone = playable.GetBehaviour ();
return playable;
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 261b78e85985fcd48ae6db8bba13d01c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
public class ThrowControlMixerBehaviour : PlayableBehaviour
{
// NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties.
public override void ProcessFrame(Playable playable, FrameData info, object playerData)
{
int inputCount = playable.GetInputCount ();
for (int i = 0; i < inputCount; i++)
{
float inputWeight = playable.GetInputWeight(i);
ScriptPlayable<ThrowControlBehaviour> inputPlayable = (ScriptPlayable<ThrowControlBehaviour>)playable.GetInput(i);
ThrowControlBehaviour input = inputPlayable.GetBehaviour ();
// Use the above variables to process each frame of this playable.
}
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2d9a397f6df948f4696f56aa418636e0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,13 @@
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
[TrackColor(0.855f, 0.8623f, 0.87f)]
[TrackClipType(typeof(ThrowControlClip))]
public class ThrowControlTrack : TrackAsset
{
public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount)
{
return ScriptPlayable<ThrowControlMixerBehaviour>.Create (graph, inputCount);
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5191df9514d1e294d942815c7ffc811a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -5,7 +5,7 @@
"set_IncludedNodes": "Settings, Project, GlobalVariables, ObjectDefinitions, Packages, ScriptMethods, Hierarchy, Assets",
"set_UseScriptSupport": "True",
"ExportVersion": "1.2",
"ObjectDefinitionsHash": "44E5A0A33A25576D336C72A878BDA56E9ADACB4AF2BEEA6CBCB41B5CE3A48506",
"ObjectDefinitionsHash": "C56D7EF4F39B52D4737E16FEF4DDDE5EAB18AEFDEAFA0D2478B56AB7D7882401",
"ScriptFragmentsHash": "0000000000"
},
"Project": {
@ -2708,6 +2708,55 @@
]
}
},
{
"Type": "ShieldParam_02",
"Class": "Entity",
"InheritsFrom": "Entity",
"Template": {
"TechnicalName": "ShieldParam_02",
"DisplayName": "受击框参数",
"Features": [
{
"TechnicalName": "EntityHitBoxParam",
"DisplayName": "实体受击框参数",
"Properties": [
{
"Property": "Radius",
"Type": "Int",
"DisplayName": "半径"
},
{
"Property": "Height",
"Type": "Int",
"DisplayName": "高度"
}
],
"Constraints": [
{
"Property": "Radius",
"Type": "Number",
"MinValue": "0",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": "像素"
},
{
"Property": "Height",
"Type": "Number",
"MinValue": "0",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": "像素"
}
]
}
]
}
},
{
"Type": "Monster",
"Class": "Entity",
@ -6145,55 +6194,6 @@
]
}
},
{
"Type": "ShieldParam_02",
"Class": "Entity",
"InheritsFrom": "Entity",
"Template": {
"TechnicalName": "ShieldParam_02",
"DisplayName": "受击框参数",
"Features": [
{
"TechnicalName": "EntityHitBoxParam",
"DisplayName": "实体受击框参数",
"Properties": [
{
"Property": "Radius",
"Type": "Int",
"DisplayName": "半径"
},
{
"Property": "Height",
"Type": "Int",
"DisplayName": "高度"
}
],
"Constraints": [
{
"Property": "Radius",
"Type": "Number",
"MinValue": "0",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": "像素"
},
{
"Property": "Height",
"Type": "Number",
"MinValue": "0",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": "像素"
}
]
}
]
}
},
{
"Type": "Location",
"Class": "Location",
@ -10343,9 +10343,9 @@
"Attachments": [],
"DisplayName": "普通攻击01",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
@ -10405,9 +10405,9 @@
"Attachments": [],
"DisplayName": "普通攻击02",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
@ -10467,9 +10467,9 @@
"Attachments": [],
"DisplayName": "普通攻击03",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
@ -10529,9 +10529,9 @@
"Attachments": [],
"DisplayName": "普通攻击04",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
@ -10591,9 +10591,9 @@
"Attachments": [],
"DisplayName": "普通攻击05",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
@ -10644,6 +10644,68 @@
}
}
},
{
"Type": "SkillMaster",
"Properties": {
"TechnicalName": "Ntt_94006B4B",
"Id": "0x0100000000004C25",
"Parent": "0x01000000000049FA",
"Attachments": [],
"DisplayName": "技能-投技",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
},
"Text": "",
"ExternalId": "",
"Position": {
"x": 230.0,
"y": 474.0
},
"ZIndex": 0.0,
"Size": {
"w": 256.0,
"h": 196.0
},
"PreviewImage": {
"ViewBox": {
"x": 0.0,
"y": 0.0,
"w": 0.0,
"h": 0.0
},
"Mode": "FromAsset",
"Asset": "0x0000000000000000"
},
"ShortId": 2483055435
},
"Template": {
"SkillCombo": {
"StanceStart": 1,
"StanceEnd": 2,
"TriggerType": 1,
"FreeLock": false,
"Weapon": "0x010000000000268E",
"SkillTrigger": []
},
"Skill": {
"Icon": "0x0000000000000000",
"Name": "技能-投技",
"Describe": "",
"Timeline": "skill_hero01_fist_skill01",
"SoundList": [
"0x0100000000001297"
],
"AttackType": 0,
"AttackRangeType": 0,
"AttackInputType": 0,
"AttackRate": 1.0,
"StunRate": 1.0,
"ExecuteRate": 1.0
}
}
},
{
"Type": "SkillMonster",
"Properties": {
@ -13454,6 +13516,92 @@
}
}
},
{
"Type": "ShieldParam_02",
"Properties": {
"TechnicalName": "Ntt_539D980D",
"Id": "0x0100000000004AE8",
"Parent": "0x0100000000004AE6",
"Attachments": [],
"DisplayName": "受击框参数-主角",
"Color": {
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
"Position": {
"x": 411.0,
"y": 223.0
},
"ZIndex": 0.0,
"Size": {
"w": 256.0,
"h": 196.0
},
"PreviewImage": {
"ViewBox": {
"x": 0.0,
"y": 0.0,
"w": 0.0,
"h": 0.0
},
"Mode": "FromAsset",
"Asset": "0x0000000000000000"
},
"ShortId": 1402837005
},
"Template": {
"EntityHitBoxParam": {
"Radius": 10.0,
"Height": 50.0
}
}
},
{
"Type": "ShieldParam_02",
"Properties": {
"TechnicalName": "Ntt_209F3460",
"Id": "0x0100000000004AEC",
"Parent": "0x0100000000004AE6",
"Attachments": [],
"DisplayName": "受击框参数-小型怪",
"Color": {
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
"Position": {
"x": 312.0,
"y": 380.0
},
"ZIndex": 0.0,
"Size": {
"w": 256.0,
"h": 196.0
},
"PreviewImage": {
"ViewBox": {
"x": 0.0,
"y": 0.0,
"w": 0.0,
"h": 0.0
},
"Mode": "FromAsset",
"Asset": "0x0000000000000000"
},
"ShortId": 547304544
},
"Template": {
"EntityHitBoxParam": {
"Radius": 15.0,
"Height": 50.0
}
}
},
{
"Type": "NPC",
"Properties": {
@ -16676,92 +16824,6 @@
}
}
},
{
"Type": "ShieldParam_02",
"Properties": {
"TechnicalName": "Ntt_539D980D",
"Id": "0x0100000000004AE8",
"Parent": "0x0100000000004AE6",
"Attachments": [],
"DisplayName": "受击框参数-主角",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
},
"Text": "",
"ExternalId": "",
"Position": {
"x": 411.0,
"y": 223.0
},
"ZIndex": 0.0,
"Size": {
"w": 256.0,
"h": 196.0
},
"PreviewImage": {
"ViewBox": {
"x": 0.0,
"y": 0.0,
"w": 0.0,
"h": 0.0
},
"Mode": "FromAsset",
"Asset": "0x0000000000000000"
},
"ShortId": 1402837005
},
"Template": {
"EntityHitBoxParam": {
"Radius": 10.0,
"Height": 50.0
}
}
},
{
"Type": "ShieldParam_02",
"Properties": {
"TechnicalName": "Ntt_209F3460",
"Id": "0x0100000000004AEC",
"Parent": "0x0100000000004AE6",
"Attachments": [],
"DisplayName": "受击框参数-小型怪",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
},
"Text": "",
"ExternalId": "",
"Position": {
"x": 312.0,
"y": 380.0
},
"ZIndex": 0.0,
"Size": {
"w": 256.0,
"h": 196.0
},
"PreviewImage": {
"ViewBox": {
"x": 0.0,
"y": 0.0,
"w": 0.0,
"h": 0.0
},
"Mode": "FromAsset",
"Asset": "0x0000000000000000"
},
"ShortId": 547304544
},
"Template": {
"EntityHitBoxParam": {
"Radius": 15.0,
"Height": 50.0
}
}
},
{
"Type": "Asset",
"AssetRef": "Assets/图标/祝福图标/FlameRush.png",
@ -19544,6 +19606,17 @@
"ShortId": 1462582592
}
},
{
"Type": "UserFolder",
"Properties": {
"TechnicalName": "Ufo_54DC4FFB",
"Id": "0x01000000000049FA",
"Parent": "0x01000000000039A8",
"DisplayName": "拳套",
"ExternalId": "",
"ShortId": 1423724539
}
},
{
"Type": "UserFolder",
"Properties": {
@ -19863,6 +19936,17 @@
"ShortId": 1605606182
}
},
{
"Type": "UserFolder",
"Properties": {
"TechnicalName": "Ufo_5E1B6D6F",
"Id": "0x0100000000004AE6",
"Parent": "0x0100000000001B68",
"DisplayName": "受击框参数",
"ExternalId": "",
"ShortId": 1578855791
}
},
{
"Type": "UserFolder",
"Properties": {
@ -20291,28 +20375,6 @@
"ExternalId": "",
"ShortId": 3480970554
}
},
{
"Type": "UserFolder",
"Properties": {
"TechnicalName": "Ufo_54DC4FFB",
"Id": "0x01000000000049FA",
"Parent": "0x01000000000039A8",
"DisplayName": "拳套",
"ExternalId": "",
"ShortId": 1423724539
}
},
{
"Type": "UserFolder",
"Properties": {
"TechnicalName": "Ufo_5E1B6D6F",
"Id": "0x0100000000004AE6",
"Parent": "0x0100000000001B68",
"DisplayName": "受击框参数",
"ExternalId": "",
"ShortId": 1578855791
}
}
]
}
@ -21045,6 +21107,11 @@
"TechnicalName": "Ufo_54DC4FFB",
"Type": "EntitiesUserFolder",
"Children": [
{
"Id": "0x0100000000004C25",
"TechnicalName": "Ntt_94006B4B",
"Type": "Entity"
},
{
"Id": "0x01000000000049FC",
"TechnicalName": "Ntt_2CBD8FD4",

Loading…
Cancel
Save