做不出来
This commit is contained in:
@@ -6,13 +6,27 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace Cielonos.MainGame.Characters.AI
|
namespace Cielonos.MainGame.Characters.AI
|
||||||
{
|
{
|
||||||
|
public enum AttributeCompareMode
|
||||||
|
{
|
||||||
|
Value,
|
||||||
|
Percentage
|
||||||
|
}
|
||||||
|
|
||||||
[Category("Cielonos")]
|
[Category("Cielonos")]
|
||||||
[Description("检查一个属性是否满足条件")]
|
[Description("检查一个属性是否满足条件")]
|
||||||
public class CheckAttribute : AutomataConditionalBase
|
public class CheckAttribute : AutomataConditionalBase
|
||||||
{
|
{
|
||||||
private AttributeSubmodule attributeSm;
|
private AttributeSubmodule attributeSm;
|
||||||
|
|
||||||
|
[Tooltip("检查的属性名,例如 Health")]
|
||||||
public string attributeName;
|
public string attributeName;
|
||||||
|
|
||||||
|
[Tooltip("比较模式:数值或百分比")]
|
||||||
|
public AttributeCompareMode compareMode = AttributeCompareMode.Value;
|
||||||
|
|
||||||
|
[Tooltip("百分比比较时作为分母的属性名。留空时默认使用 Maximum + attributeName (例如 MaximumHealth)")]
|
||||||
|
public string percentBaseAttribute;
|
||||||
|
|
||||||
public bool isBiggerThan;
|
public bool isBiggerThan;
|
||||||
public SharedVariable<float> biggerThanValue;
|
public SharedVariable<float> biggerThanValue;
|
||||||
public bool isSmallerThan;
|
public bool isSmallerThan;
|
||||||
@@ -30,18 +44,32 @@ namespace Cielonos.MainGame.Characters.AI
|
|||||||
public override TaskStatus OnUpdate()
|
public override TaskStatus OnUpdate()
|
||||||
{
|
{
|
||||||
float attributeValue = attributeSm[attributeName];
|
float attributeValue = attributeSm[attributeName];
|
||||||
|
|
||||||
|
float compareBiggerValue = biggerThanValue.Value;
|
||||||
|
float compareSmallerValue = smallerThanValue.Value;
|
||||||
|
float compareEqualValue = equalValue.Value;
|
||||||
|
|
||||||
|
if (compareMode == AttributeCompareMode.Percentage)
|
||||||
|
{
|
||||||
|
string baseAttr = string.IsNullOrEmpty(percentBaseAttribute) ? "Maximum" + attributeName : percentBaseAttribute;
|
||||||
|
float baseValue = attributeSm[baseAttr];
|
||||||
|
// 使用逆运算进行比较,防止分母为 0 导致浮点数异常
|
||||||
|
compareBiggerValue = baseValue * compareBiggerValue;
|
||||||
|
compareSmallerValue = baseValue * compareSmallerValue;
|
||||||
|
compareEqualValue = baseValue * compareEqualValue;
|
||||||
|
}
|
||||||
|
|
||||||
if (isBiggerThan && attributeValue <= biggerThanValue.Value)
|
if (isBiggerThan && attributeValue <= compareBiggerValue)
|
||||||
{
|
{
|
||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isSmallerThan && attributeValue >= smallerThanValue.Value)
|
if (isSmallerThan && attributeValue >= compareSmallerValue)
|
||||||
{
|
{
|
||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isEqual && Mathf.Abs(attributeValue - equalValue.Value) > tolerance)
|
if (isEqual && Mathf.Abs(attributeValue - compareEqualValue) > tolerance)
|
||||||
{
|
{
|
||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
using Opsive.Shared.Editor.UIElements;
|
||||||
|
using Opsive.Shared.Editor.UIElements.Controls;
|
||||||
|
using Opsive.Shared.Editor.UIElements.Controls.Types;
|
||||||
|
using Cielonos.MainGame.Characters.AI;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Characters.AI.Editor
|
||||||
|
{
|
||||||
|
[ControlType(typeof(CheckAttribute))]
|
||||||
|
public class CheckAttributeControl : TypeControlBase
|
||||||
|
{
|
||||||
|
public override bool UseLabel => false;
|
||||||
|
|
||||||
|
protected override VisualElement GetControl(TypeControlInput input)
|
||||||
|
{
|
||||||
|
var task = input.Value as CheckAttribute;
|
||||||
|
if (task == null) return new Label("[CheckAttribute] 节点引用无效");
|
||||||
|
|
||||||
|
var container = new VisualElement();
|
||||||
|
|
||||||
|
var baseAttrContainer = new VisualElement();
|
||||||
|
|
||||||
|
// 动态显示隐藏逻辑
|
||||||
|
Action updateVisibilities = () => {
|
||||||
|
if (task.compareMode == AttributeCompareMode.Percentage)
|
||||||
|
{
|
||||||
|
baseAttrContainer.style.display = DisplayStyle.Flex;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
baseAttrContainer.style.display = DisplayStyle.None;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 1. 添加常规控制字段
|
||||||
|
AddField(input, task, "attributeName", container);
|
||||||
|
AddField(input, task, "compareMode", container, updateVisibilities);
|
||||||
|
|
||||||
|
// 2. 百分比分母属性配置字段
|
||||||
|
AddField(input, task, "percentBaseAttribute", baseAttrContainer);
|
||||||
|
container.Add(baseAttrContainer);
|
||||||
|
|
||||||
|
// 3. 比较判断及比较值字段
|
||||||
|
AddField(input, task, "isBiggerThan", container);
|
||||||
|
AddField(input, task, "biggerThanValue", container);
|
||||||
|
AddField(input, task, "isSmallerThan", container);
|
||||||
|
AddField(input, task, "smallerThanValue", container);
|
||||||
|
AddField(input, task, "isEqual", container);
|
||||||
|
AddField(input, task, "equalValue", container);
|
||||||
|
|
||||||
|
// 4. 初始化可见性
|
||||||
|
updateVisibilities();
|
||||||
|
|
||||||
|
return container;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddField(TypeControlInput input, CheckAttribute task, string fieldName, VisualElement container, Action postChangeAction = null)
|
||||||
|
{
|
||||||
|
FieldInspectorView.AddField(input.UnityObject, task, fieldName, container, (object newValue) =>
|
||||||
|
{
|
||||||
|
if (newValue != null)
|
||||||
|
{
|
||||||
|
if (newValue is CheckAttribute)
|
||||||
|
{
|
||||||
|
// Opsive 通过底层 Binding 更新了该 Task 对象,无需手动赋值
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FieldInfo fieldInfo = typeof(CheckAttribute).GetField(fieldName);
|
||||||
|
if (fieldInfo != null)
|
||||||
|
{
|
||||||
|
if (fieldInfo.FieldType.IsEnum)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fieldInfo.SetValue(task, Enum.ToObject(fieldInfo.FieldType, newValue));
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
fieldInfo.SetValue(task, newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fieldInfo.SetValue(task, newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
input.OnChangeEvent(task);
|
||||||
|
postChangeAction?.Invoke();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f22bb5b924e17b245a8eb0201de79c84
|
||||||
@@ -16,12 +16,14 @@ namespace Cielonos.MainGame.Characters.AI
|
|||||||
public string tagPrefix = "EnemyAttack";
|
public string tagPrefix = "EnemyAttack";
|
||||||
|
|
||||||
private MusicBeatSystem _beatSystem;
|
private MusicBeatSystem _beatSystem;
|
||||||
|
private ILocalRhythmTracker _localTracker;
|
||||||
private BeatMarker _lastTriggeredBeat;
|
private BeatMarker _lastTriggeredBeat;
|
||||||
|
|
||||||
public override void OnAwake()
|
public override void OnAwake()
|
||||||
{
|
{
|
||||||
base.OnAwake();
|
base.OnAwake();
|
||||||
_beatSystem = CombatManager.GetCombatSystem<MusicBeatSystem>();
|
_beatSystem = CombatManager.GetCombatSystem<MusicBeatSystem>();
|
||||||
|
_localTracker = gameObject.GetComponent<ILocalRhythmTracker>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnStart()
|
public override void OnStart()
|
||||||
@@ -31,12 +33,29 @@ namespace Cielonos.MainGame.Characters.AI
|
|||||||
|
|
||||||
public override TaskStatus OnUpdate()
|
public override TaskStatus OnUpdate()
|
||||||
{
|
{
|
||||||
if (_beatSystem == null || !_beatSystem.IsActive || _beatSystem.CurrentBeatData == null)
|
MusicBeatData activeData = null;
|
||||||
|
float currentSongTime = 0f;
|
||||||
|
bool isActive = false;
|
||||||
|
|
||||||
|
if (_localTracker != null && _localTracker.CurrentBeatData != null)
|
||||||
|
{
|
||||||
|
activeData = _localTracker.CurrentBeatData;
|
||||||
|
currentSongTime = _localTracker.CurrentSongTime;
|
||||||
|
isActive = _localTracker.IsPlaying;
|
||||||
|
}
|
||||||
|
else if (_beatSystem != null && _beatSystem.IsActive && _beatSystem.CurrentBeatData != null)
|
||||||
|
{
|
||||||
|
activeData = _beatSystem.CurrentBeatData;
|
||||||
|
currentSongTime = _beatSystem.CurrentSongTime;
|
||||||
|
isActive = _beatSystem.IsPlaying;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isActive || activeData == null)
|
||||||
{
|
{
|
||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
BeatMarker targetBeat = FindNextMatchingBeat();
|
BeatMarker targetBeat = FindNextMatchingBeat(activeData, currentSongTime);
|
||||||
if (targetBeat == null)
|
if (targetBeat == null)
|
||||||
{
|
{
|
||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
@@ -48,7 +67,7 @@ namespace Cielonos.MainGame.Characters.AI
|
|||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
float timeUntilBeat = targetBeat.time - _beatSystem.CurrentSongTime;
|
float timeUntilBeat = targetBeat.time - currentSongTime;
|
||||||
|
|
||||||
// Check if we are within the lead time window
|
// Check if we are within the lead time window
|
||||||
if (timeUntilBeat <= leadTime)
|
if (timeUntilBeat <= leadTime)
|
||||||
@@ -60,10 +79,9 @@ namespace Cielonos.MainGame.Characters.AI
|
|||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
private BeatMarker FindNextMatchingBeat()
|
private BeatMarker FindNextMatchingBeat(MusicBeatData activeData, float currentTime)
|
||||||
{
|
{
|
||||||
float currentTime = _beatSystem.CurrentSongTime;
|
var markers = activeData.beatMarkers;
|
||||||
var markers = _beatSystem.CurrentBeatData.beatMarkers;
|
|
||||||
|
|
||||||
if (markers == null) return null;
|
if (markers == null) return null;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,182 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-8864857977784516041
|
||||||
|
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: 1aad7ba1072fa344088a099ea9469a38, type: 3}
|
||||||
|
m_Name: C1_Axe_ComboAttackD1_StartRepeat
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.FunctionalAnimation.FuncAnimData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: interactions
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.List`1[[System.String,
|
||||||
|
mscorlib]], mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: variableCollection
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|SLSUtilities.FunctionalAnimation.VariableCollection, SLSUtilities
|
||||||
|
- Name: variables
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
parentCollection: {fileID: 11400000, guid: da26255b2c8e9df48ae3c5981c33e4a5, type: 2}
|
||||||
|
timeMode: 1
|
||||||
|
animationClip: {fileID: 8196660163291425863}
|
||||||
|
animInfo:
|
||||||
|
animationName: ComboAttackD1_StartRepeat
|
||||||
|
stateName: ComboAttackD1
|
||||||
|
useRootMotion: 1
|
||||||
|
tags: []
|
||||||
|
disruptionType: 500
|
||||||
|
overridePlaySpeed: 1
|
||||||
|
overrideStartFrame: 0
|
||||||
|
isAffectedBySpeedMultiplier: 1
|
||||||
|
description:
|
||||||
|
intervals:
|
||||||
|
- intervalType: 10
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 0.23333333}
|
||||||
|
- intervalType: 11
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.4166666}
|
||||||
|
- intervalType: 20
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.23333333, y: 0.4}
|
||||||
|
- intervalType: 30
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.8666667, y: 1.4166666}
|
||||||
|
- intervalType: 31
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 1.3333334, y: 1.4166666}
|
||||||
|
- intervalType: 40
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.4166666}
|
||||||
|
eventCollection:
|
||||||
|
animEvents:
|
||||||
|
- triggerTime: 0
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222592
|
||||||
|
- triggerTime: 0.2
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780313481511104
|
||||||
|
- triggerTime: 0.2
|
||||||
|
isEnd: 1
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222593
|
||||||
|
- triggerTime: 0.23333333
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780280937644792
|
||||||
|
startEvents: []
|
||||||
|
disruptionEvents: []
|
||||||
|
updateEvents: []
|
||||||
|
updateUntilEvents: []
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 6270780280937644792
|
||||||
|
type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimInvokePreloadFunction0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
functionKey: GenerateSlash
|
||||||
|
parameters:
|
||||||
|
rid: 6270780379257111011
|
||||||
|
- rid: 6270780313481511104
|
||||||
|
type: {class: PlaySoundFX, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimPlaySoundFX0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
soundID: 2165898653
|
||||||
|
advancedSettings: 0
|
||||||
|
attachToBodyPart: 0
|
||||||
|
attachToMainBodyPart: 1
|
||||||
|
mainBodyPart: 0
|
||||||
|
customBodyPart:
|
||||||
|
positionOffset: {x: 0, y: 0, z: 0}
|
||||||
|
- rid: 6270780379257111011
|
||||||
|
type: {class: CustomFunction/PC_StringString, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities}
|
||||||
|
data:
|
||||||
|
str0: ComboAttackD1
|
||||||
|
str1: NormalSlash
|
||||||
|
- rid: 6270780425114222592
|
||||||
|
type: {class: SetBreakthroughResistance, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isEnabling: 1
|
||||||
|
applyFx: 1
|
||||||
|
getFromBehaviorTree: 1
|
||||||
|
breakthroughableType: 30
|
||||||
|
detailedSettings: 0
|
||||||
|
outlineWidth: 0.05
|
||||||
|
outlineFadeDuration: 0.1
|
||||||
|
- rid: 6270780425114222593
|
||||||
|
type: {class: SetBreakthroughResistance, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isEnabling: 0
|
||||||
|
applyFx: 1
|
||||||
|
getFromBehaviorTree: 1
|
||||||
|
breakthroughableType: 30
|
||||||
|
detailedSettings: 0
|
||||||
|
outlineWidth: 0.05
|
||||||
|
outlineFadeDuration: 0.1
|
||||||
--- !u!114 &11400000
|
--- !u!114 &11400000
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -143,6 +320,205 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
str0: ComboAttackD1
|
str0: ComboAttackD1
|
||||||
str1: NormalSlash
|
str1: NormalSlash
|
||||||
|
--- !u!114 &6773794008009253255
|
||||||
|
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: 1aad7ba1072fa344088a099ea9469a38, type: 3}
|
||||||
|
m_Name: C1_Axe_ComboAttackD1_Repeat
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.FunctionalAnimation.FuncAnimData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: interactions
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.List`1[[System.String,
|
||||||
|
mscorlib]], mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: variableCollection
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|SLSUtilities.FunctionalAnimation.VariableCollection, SLSUtilities
|
||||||
|
- Name: variables
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
parentCollection: {fileID: 11400000, guid: da26255b2c8e9df48ae3c5981c33e4a5, type: 2}
|
||||||
|
timeMode: 1
|
||||||
|
animationClip: {fileID: 8196660163291425863}
|
||||||
|
animInfo:
|
||||||
|
animationName: ComboAttackD1_Repeat
|
||||||
|
stateName: ComboAttackD1
|
||||||
|
useRootMotion: 1
|
||||||
|
tags: []
|
||||||
|
disruptionType: 500
|
||||||
|
overridePlaySpeed: 1
|
||||||
|
overrideStartFrame: 0
|
||||||
|
isAffectedBySpeedMultiplier: 1
|
||||||
|
description:
|
||||||
|
intervals:
|
||||||
|
- intervalType: 10
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 0.23333333}
|
||||||
|
- intervalType: 11
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.4166666}
|
||||||
|
- intervalType: 20
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.23333333, y: 0.4}
|
||||||
|
- intervalType: 30
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.8666667, y: 1.4166666}
|
||||||
|
- intervalType: 31
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 1.3333334, y: 1.4166666}
|
||||||
|
- intervalType: 40
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.4166666}
|
||||||
|
eventCollection:
|
||||||
|
animEvents:
|
||||||
|
- triggerTime: 0
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114223022
|
||||||
|
- triggerTime: 0
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222594
|
||||||
|
- triggerTime: 0.2
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780313481511104
|
||||||
|
- triggerTime: 0.2
|
||||||
|
isEnd: 1
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222595
|
||||||
|
- triggerTime: 0.23333333
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780280937644792
|
||||||
|
- triggerTime: 0.8666667
|
||||||
|
isEnd: 1
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114223023
|
||||||
|
startEvents: []
|
||||||
|
disruptionEvents: []
|
||||||
|
updateEvents: []
|
||||||
|
updateUntilEvents: []
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 6270780280937644792
|
||||||
|
type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimInvokePreloadFunction0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
functionKey: GenerateSlash
|
||||||
|
parameters:
|
||||||
|
rid: 6270780379257111011
|
||||||
|
- rid: 6270780313481511104
|
||||||
|
type: {class: PlaySoundFX, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimPlaySoundFX0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
soundID: 2165898653
|
||||||
|
advancedSettings: 0
|
||||||
|
attachToBodyPart: 0
|
||||||
|
attachToMainBodyPart: 1
|
||||||
|
mainBodyPart: 0
|
||||||
|
customBodyPart:
|
||||||
|
positionOffset: {x: 0, y: 0, z: 0}
|
||||||
|
- rid: 6270780379257111011
|
||||||
|
type: {class: CustomFunction/PC_StringString, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities}
|
||||||
|
data:
|
||||||
|
str0: ComboAttackD1
|
||||||
|
str1: NormalSlash
|
||||||
|
- rid: 6270780425114222594
|
||||||
|
type: {class: SetFuncAnimSpeed, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 1
|
||||||
|
isOnce: 1
|
||||||
|
applyMode: 0
|
||||||
|
getFromBehaviorTree: 1
|
||||||
|
speedVariableName: FuncAnimSpeed
|
||||||
|
targetSpeed: 1
|
||||||
|
- rid: 6270780425114222595
|
||||||
|
type: {class: SetFuncAnimSpeed, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 1
|
||||||
|
isOnce: 1
|
||||||
|
applyMode: 0
|
||||||
|
getFromBehaviorTree: 0
|
||||||
|
speedVariableName: FuncAnimSpeed
|
||||||
|
targetSpeed: 1
|
||||||
|
- rid: 6270780425114223022
|
||||||
|
type: {class: SetRootMotionMultipliers, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isSet: 1
|
||||||
|
getFromBehaviorTree: 0
|
||||||
|
getFromVariableCollection: 0
|
||||||
|
customMultiplier: {x: 1, y: 1, z: 2}
|
||||||
|
- rid: 6270780425114223023
|
||||||
|
type: {class: SetRootMotionMultipliers, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isSet: 0
|
||||||
|
getFromBehaviorTree: 0
|
||||||
|
getFromVariableCollection: 0
|
||||||
|
customMultiplier: {x: 1, y: 1, z: 2}
|
||||||
--- !u!74 &8196660163291425863
|
--- !u!74 &8196660163291425863
|
||||||
AnimationClip:
|
AnimationClip:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -1,5 +1,204 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-6033049029608556655
|
||||||
|
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: 1aad7ba1072fa344088a099ea9469a38, type: 3}
|
||||||
|
m_Name: C1_Axe_ComboAttackD2_Repeat
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.FunctionalAnimation.FuncAnimData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: interactions
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.List`1[[System.String,
|
||||||
|
mscorlib]], mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: variableCollection
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|SLSUtilities.FunctionalAnimation.VariableCollection, SLSUtilities
|
||||||
|
- Name: variables
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
parentCollection: {fileID: 11400000, guid: da26255b2c8e9df48ae3c5981c33e4a5, type: 2}
|
||||||
|
timeMode: 1
|
||||||
|
animationClip: {fileID: -4212037451894899950}
|
||||||
|
animInfo:
|
||||||
|
animationName: ComboAttackD2_Repeat
|
||||||
|
stateName: ComboAttackD2
|
||||||
|
useRootMotion: 1
|
||||||
|
tags: []
|
||||||
|
disruptionType: 500
|
||||||
|
overridePlaySpeed: 1
|
||||||
|
overrideStartFrame: 0
|
||||||
|
isAffectedBySpeedMultiplier: 1
|
||||||
|
description:
|
||||||
|
intervals:
|
||||||
|
- intervalType: 10
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 0.28333333}
|
||||||
|
- intervalType: 11
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.0333333}
|
||||||
|
- intervalType: 20
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.28333333, y: 0.6}
|
||||||
|
- intervalType: 30
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.6, y: 1.0333333}
|
||||||
|
- intervalType: 31
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.98333335, y: 1.0333333}
|
||||||
|
- intervalType: 40
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.0333333}
|
||||||
|
eventCollection:
|
||||||
|
animEvents:
|
||||||
|
- triggerTime: 0
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222596
|
||||||
|
- triggerTime: 0
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114223024
|
||||||
|
- triggerTime: 0.23333333
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780313481511105
|
||||||
|
- triggerTime: 0.23333333
|
||||||
|
isEnd: 1
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222597
|
||||||
|
- triggerTime: 0.28333333
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780280937644794
|
||||||
|
- triggerTime: 0.6
|
||||||
|
isEnd: 1
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114223025
|
||||||
|
startEvents: []
|
||||||
|
disruptionEvents: []
|
||||||
|
updateEvents: []
|
||||||
|
updateUntilEvents: []
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 6270780280937644794
|
||||||
|
type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimInvokePreloadFunction0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
functionKey: GenerateSlash
|
||||||
|
parameters:
|
||||||
|
rid: 6270780379257111012
|
||||||
|
- rid: 6270780313481511105
|
||||||
|
type: {class: PlaySoundFX, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimPlaySoundFX0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
soundID: 2165898652
|
||||||
|
advancedSettings: 0
|
||||||
|
attachToBodyPart: 0
|
||||||
|
attachToMainBodyPart: 1
|
||||||
|
mainBodyPart: 0
|
||||||
|
customBodyPart:
|
||||||
|
positionOffset: {x: 0, y: 0, z: 0}
|
||||||
|
- rid: 6270780379257111012
|
||||||
|
type: {class: CustomFunction/PC_StringString, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities}
|
||||||
|
data:
|
||||||
|
str0: ComboAttackD2
|
||||||
|
str1: NormalSlash
|
||||||
|
- rid: 6270780425114222596
|
||||||
|
type: {class: SetFuncAnimSpeed, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 1
|
||||||
|
isOnce: 1
|
||||||
|
applyMode: 0
|
||||||
|
getFromBehaviorTree: 1
|
||||||
|
speedVariableName: FuncAnimSpeed
|
||||||
|
targetSpeed: 1
|
||||||
|
- rid: 6270780425114222597
|
||||||
|
type: {class: SetFuncAnimSpeed, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 1
|
||||||
|
isOnce: 1
|
||||||
|
applyMode: 0
|
||||||
|
getFromBehaviorTree: 0
|
||||||
|
speedVariableName: FuncAnimSpeed
|
||||||
|
targetSpeed: 1
|
||||||
|
- rid: 6270780425114223024
|
||||||
|
type: {class: SetRootMotionMultipliers, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isSet: 1
|
||||||
|
getFromBehaviorTree: 0
|
||||||
|
getFromVariableCollection: 0
|
||||||
|
customMultiplier: {x: 1, y: 1, z: 2}
|
||||||
|
- rid: 6270780425114223025
|
||||||
|
type: {class: SetRootMotionMultipliers, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isSet: 0
|
||||||
|
getFromBehaviorTree: 0
|
||||||
|
getFromVariableCollection: 0
|
||||||
|
customMultiplier: {x: 1, y: 1, z: 2}
|
||||||
--- !u!74 &-4212037451894899950
|
--- !u!74 &-4212037451894899950
|
||||||
AnimationClip:
|
AnimationClip:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -259544,3 +259544,180 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
str0: ComboAttackD3
|
str0: ComboAttackD3
|
||||||
str1: NormalSlash
|
str1: NormalSlash
|
||||||
|
--- !u!114 &3370236320669330750
|
||||||
|
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: 1aad7ba1072fa344088a099ea9469a38, type: 3}
|
||||||
|
m_Name: C1_Axe_ComboAttackD3_Forced
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.FunctionalAnimation.FuncAnimData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: interactions
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.List`1[[System.String,
|
||||||
|
mscorlib]], mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: variableCollection
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|SLSUtilities.FunctionalAnimation.VariableCollection, SLSUtilities
|
||||||
|
- Name: variables
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
parentCollection: {fileID: 11400000, guid: da26255b2c8e9df48ae3c5981c33e4a5, type: 2}
|
||||||
|
timeMode: 1
|
||||||
|
animationClip: {fileID: -7235782993381636300}
|
||||||
|
animInfo:
|
||||||
|
animationName: ComboAttackD3_Forced
|
||||||
|
stateName: ComboAttackD3
|
||||||
|
useRootMotion: 1
|
||||||
|
tags: []
|
||||||
|
disruptionType: 500
|
||||||
|
overridePlaySpeed: 1
|
||||||
|
overrideStartFrame: 0
|
||||||
|
isAffectedBySpeedMultiplier: 1
|
||||||
|
description:
|
||||||
|
intervals:
|
||||||
|
- intervalType: 10
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 0.53333336}
|
||||||
|
- intervalType: 11
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.8}
|
||||||
|
- intervalType: 20
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0.53333336, y: 1}
|
||||||
|
- intervalType: 30
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 1.7, y: 1.8}
|
||||||
|
- intervalType: 31
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 1.7, y: 1.8}
|
||||||
|
- intervalType: 40
|
||||||
|
intervalName:
|
||||||
|
timeRange: {x: 0, y: 1.8}
|
||||||
|
eventCollection:
|
||||||
|
animEvents:
|
||||||
|
- triggerTime: 0
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222598
|
||||||
|
- triggerTime: 0.5
|
||||||
|
isEnd: 1
|
||||||
|
payload:
|
||||||
|
rid: 6270780425114222599
|
||||||
|
- triggerTime: 0.5
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780313481511106
|
||||||
|
- triggerTime: 0.53333336
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 6270780356262101376
|
||||||
|
startEvents: []
|
||||||
|
disruptionEvents: []
|
||||||
|
updateEvents: []
|
||||||
|
updateUntilEvents: []
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 6270780313481511106
|
||||||
|
type: {class: PlaySoundFX, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName: AnimPlaySoundFX0
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
soundID: 2165898655
|
||||||
|
advancedSettings: 0
|
||||||
|
attachToBodyPart: 0
|
||||||
|
attachToMainBodyPart: 1
|
||||||
|
mainBodyPart: 0
|
||||||
|
customBodyPart:
|
||||||
|
positionOffset: {x: 0, y: 0, z: 0}
|
||||||
|
- rid: 6270780356262101376
|
||||||
|
type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
functionKey: GenerateSlash
|
||||||
|
parameters:
|
||||||
|
rid: 6270780379257111013
|
||||||
|
- rid: 6270780379257111013
|
||||||
|
type: {class: CustomFunction/PC_StringString, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities}
|
||||||
|
data:
|
||||||
|
str0: ComboAttackD3_Danger
|
||||||
|
str1: DangerSlash
|
||||||
|
- rid: 6270780425114222598
|
||||||
|
type: {class: SetBreakthroughResistance, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isEnabling: 1
|
||||||
|
applyFx: 1
|
||||||
|
getFromBehaviorTree: 1
|
||||||
|
breakthroughableType: 30
|
||||||
|
detailedSettings: 0
|
||||||
|
outlineWidth: 0.05
|
||||||
|
outlineFadeDuration: 0.1
|
||||||
|
- rid: 6270780425114222599
|
||||||
|
type: {class: SetBreakthroughResistance, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
eventName:
|
||||||
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
|
isEnabling: 0
|
||||||
|
applyFx: 1
|
||||||
|
getFromBehaviorTree: 1
|
||||||
|
breakthroughableType: 30
|
||||||
|
detailedSettings: 0
|
||||||
|
outlineWidth: 0.05
|
||||||
|
outlineFadeDuration: 0.1
|
||||||
|
|||||||
@@ -97704,7 +97704,7 @@ MonoBehaviour:
|
|||||||
type: {class: EnergyRecovery/Factory, ns: Cielonos.MainGame.Buffs.Character, asm: Assembly-CSharp}
|
type: {class: EnergyRecovery/Factory, ns: Cielonos.MainGame.Buffs.Character, asm: Assembly-CSharp}
|
||||||
data:
|
data:
|
||||||
mode: 0
|
mode: 0
|
||||||
recoveryPerSecond: 10
|
recoveryPerSecond: 30
|
||||||
targetPercentage: 1
|
targetPercentage: 1
|
||||||
duration: 5
|
duration: 5
|
||||||
- rid: 6270780300272075555
|
- rid: 6270780300272075555
|
||||||
|
|||||||
@@ -6529,12 +6529,12 @@ MonoBehaviour:
|
|||||||
m_Values: 506c6179657202ffffffff
|
m_Values: 506c6179657202ffffffff
|
||||||
m_UnityObjects: []
|
m_UnityObjects: []
|
||||||
m_Version: 3.4
|
m_Version: 3.4
|
||||||
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.String,
|
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.Int32,
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
|
||||||
m_ValueHashes:
|
m_ValueHashes:
|
||||||
m_LongValueHashes: 0d00eb254f8d1b29baa620a07799d549a996976a4a64278901112428f48d1b29
|
m_LongValueHashes: 0d00eb254f8d1b29baa620a07799d549a996976a4a642789ae5e548f62aa191a
|
||||||
m_ValuePositions: 00000000050000000500000006000000
|
m_ValuePositions: 00000000050000000500000006000000
|
||||||
m_Values: 537461676502537461676530
|
m_Values: 53746167650200000000
|
||||||
m_UnityObjects: []
|
m_UnityObjects: []
|
||||||
m_Version: 3.4
|
m_Version: 3.4
|
||||||
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.Single,
|
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.Single,
|
||||||
@@ -6557,8 +6557,8 @@ MonoBehaviour:
|
|||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
|
||||||
m_ValueHashes:
|
m_ValueHashes:
|
||||||
m_LongValueHashes: 0d00eb254f8d1b29baa620a07799d549a996976a4a642789ae5e548f62aa191a
|
m_LongValueHashes: 0d00eb254f8d1b29baa620a07799d549a996976a4a642789ae5e548f62aa191a
|
||||||
m_ValuePositions: 000000000b0000000b0000000c000000
|
m_ValuePositions: 00000000130000001300000014000000
|
||||||
m_Values: 537472616665436f756e740200000000
|
m_Values: 436f6d626f41747461636b445f5265706561740203000000
|
||||||
m_UnityObjects: []
|
m_UnityObjects: []
|
||||||
m_Version: 3.4
|
m_Version: 3.4
|
||||||
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.Single,
|
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.Single,
|
||||||
@@ -6585,6 +6585,14 @@ MonoBehaviour:
|
|||||||
m_Values: 4a756d704c616e64506f736974696f6e02000000000000000000000000
|
m_Values: 4a756d704c616e64506f736974696f6e02000000000000000000000000
|
||||||
m_UnityObjects: []
|
m_UnityObjects: []
|
||||||
m_Version: 3.4
|
m_Version: 3.4
|
||||||
|
- m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[System.Single,
|
||||||
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
|
||||||
|
m_ValueHashes:
|
||||||
|
m_LongValueHashes: 0d00eb254f8d1b29baa620a07799d549a996976a4a64278938358727f48d1b29
|
||||||
|
m_ValuePositions: 000000000d0000000d0000000e000000
|
||||||
|
m_Values: 46756e63416e696d5370656564020000803f
|
||||||
|
m_UnityObjects: []
|
||||||
|
m_Version: 3.4
|
||||||
m_DisabledEventNodesData: []
|
m_DisabledEventNodesData: []
|
||||||
m_DisabledLogicNodesData: []
|
m_DisabledLogicNodesData: []
|
||||||
m_UniqueID: -725615956
|
m_UniqueID: -725615956
|
||||||
|
|||||||
@@ -460,3 +460,7 @@ MonoBehaviour:
|
|||||||
- {fileID: -404931579243840764, guid: 4c2244d2870dc6146a8f475dc07c5cba, type: 2}
|
- {fileID: -404931579243840764, guid: 4c2244d2870dc6146a8f475dc07c5cba, type: 2}
|
||||||
- {fileID: 1280299250270033502, guid: 4c2244d2870dc6146a8f475dc07c5cba, type: 2}
|
- {fileID: 1280299250270033502, guid: 4c2244d2870dc6146a8f475dc07c5cba, type: 2}
|
||||||
- {fileID: 8539772392443263223, guid: aa8061539461c8b4895a9cb3971996e6, type: 2}
|
- {fileID: 8539772392443263223, guid: aa8061539461c8b4895a9cb3971996e6, type: 2}
|
||||||
|
- {fileID: 6773794008009253255, guid: c15a76ef628a7f946b0762817d90738d, type: 2}
|
||||||
|
- {fileID: -8864857977784516041, guid: c15a76ef628a7f946b0762817d90738d, type: 2}
|
||||||
|
- {fileID: -6033049029608556655, guid: 35a97a359a00c4a4cb3a8b7d35a77294, type: 2}
|
||||||
|
- {fileID: 3370236320669330750, guid: ad241d5f9bd11a44ca3a57713f94fe5b, type: 2}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -39,7 +39,7 @@ MonoBehaviour:
|
|||||||
Assembly-CSharp]], SoftCircuits.OrderedDictionary
|
Assembly-CSharp]], SoftCircuits.OrderedDictionary
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 12
|
Entry: 12
|
||||||
Data: 22
|
Data: 23
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data: System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib],[Cielonos.MainGame.VFXUnit,
|
Data: System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib],[Cielonos.MainGame.VFXUnit,
|
||||||
@@ -1892,6 +1892,92 @@ MonoBehaviour:
|
|||||||
- Name:
|
- Name:
|
||||||
Entry: 8
|
Entry: 8
|
||||||
Data:
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data: System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib],[Cielonos.MainGame.VFXUnit,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 1
|
||||||
|
Data: ComboAttackD3_Danger
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data: 41|Cielonos.MainGame.VFXUnit, Assembly-CSharp
|
||||||
|
- Name: mainVFX
|
||||||
|
Entry: 10
|
||||||
|
Data: 1
|
||||||
|
- Name: muzzleVFX
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: hitVFX
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: otherVFXList
|
||||||
|
Entry: 7
|
||||||
|
Data: 42|System.Collections.Generic.List`1[[UnityEngine.GameObject, UnityEngine.CoreModule]],
|
||||||
|
mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: localPosition
|
||||||
|
Entry: 7
|
||||||
|
Data: UnityEngine.Vector3, UnityEngine.CoreModule
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 2
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: localEulerAngles
|
||||||
|
Entry: 7
|
||||||
|
Data: UnityEngine.Vector3, UnityEngine.CoreModule
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 30
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 90
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: localScale
|
||||||
|
Entry: 7
|
||||||
|
Data: UnityEngine.Vector3, UnityEngine.CoreModule
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 4
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: keepLocalTransform
|
||||||
|
Entry: 5
|
||||||
|
Data: false
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 13
|
Entry: 13
|
||||||
Data:
|
Data:
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ MonoBehaviour:
|
|||||||
SerializationNodes: []
|
SerializationNodes: []
|
||||||
parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2}
|
parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2}
|
||||||
feedbackName: PerfectDodge
|
feedbackName: PerfectDodge
|
||||||
|
limitPlay: 1
|
||||||
|
minPlayInterval: 0
|
||||||
defaultTimeSettings:
|
defaultTimeSettings:
|
||||||
timeScaleType: 1
|
timeScaleType: 1
|
||||||
applyDynamicTimeScale: 1
|
applyDynamicTimeScale: 1
|
||||||
@@ -302,8 +304,8 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapMin: 0
|
remapMin: 0
|
||||||
remapMax: 0.35
|
remapMax: 0.4
|
||||||
relativeToInitial: 1
|
relativeToInitial: 0
|
||||||
modifyCenter: 0
|
modifyCenter: 0
|
||||||
center: {x: 0.5, y: 0.5}
|
center: {x: 0.5, y: 0.5}
|
||||||
centerCurve:
|
centerCurve:
|
||||||
@@ -530,8 +532,8 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapMin: 0
|
remapMin: 0
|
||||||
remapMax: 0.5
|
remapMax: 0.15
|
||||||
relativeToInitial: 1
|
relativeToInitial: 0
|
||||||
modifyContrast: 0
|
modifyContrast: 0
|
||||||
contrastChannel:
|
contrastChannel:
|
||||||
curve:
|
curve:
|
||||||
@@ -624,8 +626,8 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapMin: 0
|
remapMin: 0
|
||||||
remapMax: 0.5
|
remapMax: 0.1
|
||||||
relativeToInitial: 1
|
relativeToInitial: 0
|
||||||
modifyHue: 0
|
modifyHue: 0
|
||||||
hueChannel:
|
hueChannel:
|
||||||
curve:
|
curve:
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ MonoBehaviour:
|
|||||||
Data: MaximumEnergy
|
Data: MaximumEnergy
|
||||||
- Name: $v
|
- Name: $v
|
||||||
Entry: 4
|
Entry: 4
|
||||||
Data: 100
|
Data: 200
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 8
|
Entry: 8
|
||||||
Data:
|
Data:
|
||||||
|
|||||||
@@ -25655,7 +25655,7 @@ GameObject:
|
|||||||
- component: {fileID: 1536303496917099469}
|
- component: {fileID: 1536303496917099469}
|
||||||
- component: {fileID: 6474474775010451008}
|
- component: {fileID: 6474474775010451008}
|
||||||
- component: {fileID: 3076448345094423208}
|
- component: {fileID: 3076448345094423208}
|
||||||
- component: {fileID: 5609946589003138262}
|
- component: {fileID: 5281373495459994503}
|
||||||
m_Layer: 6
|
m_Layer: 6
|
||||||
m_Name: Player
|
m_Name: Player
|
||||||
m_TagString: Player
|
m_TagString: Player
|
||||||
@@ -26628,22 +26628,23 @@ MonoBehaviour:
|
|||||||
SerializationNodes: []
|
SerializationNodes: []
|
||||||
owner: {fileID: 7378959262877032094}
|
owner: {fileID: 7378959262877032094}
|
||||||
feedbackDataCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2}
|
feedbackDataCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2}
|
||||||
--- !u!208 &5609946589003138262
|
--- !u!114 &5281373495459994503
|
||||||
NavMeshObstacle:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 5700186425729751587}
|
m_GameObject: {fileID: 5700186425729751587}
|
||||||
m_Enabled: 0
|
m_Enabled: 1
|
||||||
serializedVersion: 3
|
m_EditorHideFlags: 0
|
||||||
m_Shape: 0
|
m_Script: {fileID: 11500000, guid: 757d4da67572fb847bf547e39d362e9e, type: 3}
|
||||||
m_Extents: {x: 0.2, y: 1, z: 0.2}
|
m_Name:
|
||||||
m_MoveThreshold: 0.1
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.AfterImageGenerator
|
||||||
m_Carve: 0
|
afterImageMaterial: {fileID: 2100000, guid: cf1f43aea12d7284686f68a7ee1883bd, type: 2}
|
||||||
m_CarveOnlyStationary: 1
|
afterImageDuration: 0.3
|
||||||
m_Center: {x: 0, y: 1, z: 0}
|
spawnMode: 1
|
||||||
m_TimeToStationary: 0.5
|
spawnInterval: 0.1
|
||||||
|
spawnDistance: 5
|
||||||
--- !u!1 &5737680314834722954
|
--- !u!1 &5737680314834722954
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ MonoBehaviour:
|
|||||||
clips:
|
clips:
|
||||||
- clipName:
|
- clipName:
|
||||||
startTime: 0
|
startTime: 0
|
||||||
duration: 0.1
|
duration: 0.2
|
||||||
overrideTimeSettings: 0
|
overrideTimeSettings: 0
|
||||||
timeSettings:
|
timeSettings:
|
||||||
timeScaleType: 1
|
timeScaleType: 1
|
||||||
@@ -48,7 +48,7 @@ MonoBehaviour:
|
|||||||
clips:
|
clips:
|
||||||
- clipName:
|
- clipName:
|
||||||
startTime: 0
|
startTime: 0
|
||||||
duration: 0.02
|
duration: 0.15
|
||||||
overrideTimeSettings: 0
|
overrideTimeSettings: 0
|
||||||
timeSettings:
|
timeSettings:
|
||||||
timeScaleType: 1
|
timeScaleType: 1
|
||||||
@@ -69,13 +69,13 @@ MonoBehaviour:
|
|||||||
time: 0
|
time: 0
|
||||||
value: 0
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 8
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0
|
inWeight: 0
|
||||||
outWeight: 0
|
outWeight: 0
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0.5
|
time: 0.12
|
||||||
value: 1
|
value: 1
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@@ -83,10 +83,19 @@ MonoBehaviour:
|
|||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0
|
inWeight: 0
|
||||||
outWeight: 0
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.5
|
||||||
|
value: 0.12
|
||||||
|
inSlope: -0.6
|
||||||
|
outSlope: -0.3
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1
|
time: 1
|
||||||
value: 0
|
value: 0
|
||||||
inSlope: 0
|
inSlope: -0.1
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
@@ -98,7 +107,7 @@ MonoBehaviour:
|
|||||||
remapMin: 0
|
remapMin: 0
|
||||||
remapMax: 1
|
remapMax: 1
|
||||||
relativeToInitial: 1
|
relativeToInitial: 1
|
||||||
amplitude: {x: 0.15586397, y: 0.010554084, z: 0.089414984}
|
amplitude: {x: 0.07899045, y: 0.16085954, z: 0.01687365}
|
||||||
directionSettings:
|
directionSettings:
|
||||||
affectedByCameraDirection: 0
|
affectedByCameraDirection: 0
|
||||||
affectedByCharacterDirection: 1
|
affectedByCharacterDirection: 1
|
||||||
@@ -132,9 +141,9 @@ MonoBehaviour:
|
|||||||
type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
data:
|
data:
|
||||||
globalChannel:
|
globalChannel:
|
||||||
active: 1
|
active: 0
|
||||||
mode: 0
|
mode: 0
|
||||||
fixedValue: 0.1
|
fixedValue: 0
|
||||||
curve:
|
curve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@@ -170,7 +179,7 @@ MonoBehaviour:
|
|||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapZero: 0
|
remapZero: 0
|
||||||
remapOne: 1
|
remapOne: 1
|
||||||
advancedSettings: 0
|
advancedSettings: 1
|
||||||
playerChannel:
|
playerChannel:
|
||||||
active: 0
|
active: 0
|
||||||
mode: 0
|
mode: 0
|
||||||
@@ -289,7 +298,7 @@ MonoBehaviour:
|
|||||||
remapZero: 0
|
remapZero: 0
|
||||||
remapOne: 1
|
remapOne: 1
|
||||||
nonPlayerChannel:
|
nonPlayerChannel:
|
||||||
active: 0
|
active: 1
|
||||||
mode: 0
|
mode: 0
|
||||||
fixedValue: 0
|
fixedValue: 0
|
||||||
curve:
|
curve:
|
||||||
|
|||||||
@@ -44,26 +44,79 @@ MonoBehaviour:
|
|||||||
rid: 6270780233564029066
|
rid: 6270780233564029066
|
||||||
- clipName:
|
- clipName:
|
||||||
startTime: 0.5
|
startTime: 0.5
|
||||||
duration: 1
|
duration: 1.25
|
||||||
overrideTimeSettings: 0
|
overrideTimeSettings: 0
|
||||||
timeSettings:
|
timeSettings:
|
||||||
timeScaleType: 1
|
timeScaleType: 1
|
||||||
applyDynamicTimeScale: 1
|
applyDynamicTimeScale: 1
|
||||||
action:
|
action:
|
||||||
rid: 6270780233564029164
|
rid: 6270780233564029164
|
||||||
|
- clipName:
|
||||||
|
startTime: 0
|
||||||
|
duration: 0.4
|
||||||
|
overrideTimeSettings: 0
|
||||||
|
timeSettings:
|
||||||
|
timeScaleType: 1
|
||||||
|
applyDynamicTimeScale: 1
|
||||||
|
action:
|
||||||
|
rid: 6270780439043244252
|
||||||
|
- clipName:
|
||||||
|
startTime: 0
|
||||||
|
duration: 0.4
|
||||||
|
overrideTimeSettings: 0
|
||||||
|
timeSettings:
|
||||||
|
timeScaleType: 1
|
||||||
|
applyDynamicTimeScale: 1
|
||||||
|
action:
|
||||||
|
rid: 6270780441720520898
|
||||||
|
- clipName:
|
||||||
|
startTime: 0.5
|
||||||
|
duration: 1.25
|
||||||
|
overrideTimeSettings: 0
|
||||||
|
timeSettings:
|
||||||
|
timeScaleType: 1
|
||||||
|
applyDynamicTimeScale: 1
|
||||||
|
action:
|
||||||
|
rid: 6270780437544567698
|
||||||
- trackName: Time
|
- trackName: Time
|
||||||
mute: 0
|
mute: 0
|
||||||
solo: 0
|
solo: 0
|
||||||
clips:
|
clips:
|
||||||
- clipName:
|
- clipName:
|
||||||
startTime: 0
|
startTime: 0
|
||||||
duration: 0.5
|
duration: 1.35
|
||||||
overrideTimeSettings: 0
|
overrideTimeSettings: 0
|
||||||
timeSettings:
|
timeSettings:
|
||||||
timeScaleType: 1
|
timeScaleType: 1
|
||||||
applyDynamicTimeScale: 1
|
applyDynamicTimeScale: 1
|
||||||
action:
|
action:
|
||||||
rid: 1359146284165628324
|
rid: 1359146284165628324
|
||||||
|
- trackName: Postprocessing
|
||||||
|
mute: 0
|
||||||
|
solo: 0
|
||||||
|
clips:
|
||||||
|
- clipName:
|
||||||
|
startTime: 0.5
|
||||||
|
duration: 1.3
|
||||||
|
overrideTimeSettings: 0
|
||||||
|
timeSettings:
|
||||||
|
timeScaleType: 1
|
||||||
|
applyDynamicTimeScale: 1
|
||||||
|
action:
|
||||||
|
rid: 6270780437544567555
|
||||||
|
- clipName:
|
||||||
|
startTime: 0.5
|
||||||
|
duration: 1.3
|
||||||
|
overrideTimeSettings: 0
|
||||||
|
timeSettings:
|
||||||
|
timeScaleType: 1
|
||||||
|
applyDynamicTimeScale: 1
|
||||||
|
action:
|
||||||
|
rid: 6270780437544567603
|
||||||
|
- trackName: New Track
|
||||||
|
mute: 0
|
||||||
|
solo: 0
|
||||||
|
clips: []
|
||||||
references:
|
references:
|
||||||
version: 2
|
version: 2
|
||||||
RefIds:
|
RefIds:
|
||||||
@@ -295,7 +348,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapMin: 0
|
remapMin: 0
|
||||||
remapMax: -10
|
remapMax: -5
|
||||||
relativeToInitial: 1
|
relativeToInitial: 1
|
||||||
- rid: 6270780233564029164
|
- rid: 6270780233564029164
|
||||||
type: {class: CameraFieldOfViewAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
type: {class: CameraFieldOfViewAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
@@ -324,7 +377,7 @@ MonoBehaviour:
|
|||||||
outWeight: 0
|
outWeight: 0
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1
|
time: 1
|
||||||
value: 0.25
|
value: 0.2
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@@ -334,6 +387,554 @@ MonoBehaviour:
|
|||||||
m_PreInfinity: 2
|
m_PreInfinity: 2
|
||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapMin: -10
|
remapMin: -5
|
||||||
remapMax: 30
|
remapMax: 20
|
||||||
relativeToInitial: 1
|
relativeToInitial: 1
|
||||||
|
- rid: 6270780437544567555
|
||||||
|
type: {class: ChromaticAberrationAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
intensityCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 8
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.12
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.5
|
||||||
|
value: 0.12
|
||||||
|
inSlope: -0.6
|
||||||
|
outSlope: -0.3
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -0.1
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 0.3
|
||||||
|
relativeToInitial: 1
|
||||||
|
modifyCenter: 0
|
||||||
|
centerCurve:
|
||||||
|
curveX:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
curveY:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: {x: 0, y: 0}
|
||||||
|
remapMax: {x: 1, y: 1}
|
||||||
|
relativeToInitial: 0
|
||||||
|
modifyJitter: 0
|
||||||
|
jitterCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.5
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 0.5
|
||||||
|
relativeToInitial: 1
|
||||||
|
- rid: 6270780437544567603
|
||||||
|
type: {class: RadialBlurAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
intensityCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 8
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.12
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.5
|
||||||
|
value: 0.12
|
||||||
|
inSlope: -0.6
|
||||||
|
outSlope: -0.3
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: -0.1
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 0.3
|
||||||
|
relativeToInitial: 1
|
||||||
|
modifyCenter: 0
|
||||||
|
center: {x: 0.5, y: 0.5}
|
||||||
|
- rid: 6270780437544567698
|
||||||
|
type: {class: CameraOrbitAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
enableInFreeLook: 1
|
||||||
|
enableInLockTarget: 1
|
||||||
|
enableYaw: 0
|
||||||
|
yawMode: 0
|
||||||
|
horizontalCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 2
|
||||||
|
outSlope: 2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 0
|
||||||
|
relativeToInitial: 1
|
||||||
|
endHorizontalValue: 0
|
||||||
|
yawEaseCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
shortestPath: 0
|
||||||
|
enablePitch: 1
|
||||||
|
pitchMode: 0
|
||||||
|
verticalCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.5
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 10
|
||||||
|
relativeToInitial: 1
|
||||||
|
endVerticalValue: 0
|
||||||
|
pitchEaseCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
- rid: 6270780439043244252
|
||||||
|
type: {class: CameraOrbitAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
enableInFreeLook: 1
|
||||||
|
enableInLockTarget: 0
|
||||||
|
enableYaw: 1
|
||||||
|
yawMode: 1
|
||||||
|
horizontalCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 2
|
||||||
|
outSlope: 2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 0
|
||||||
|
relativeToInitial: 1
|
||||||
|
endHorizontalValue: 0
|
||||||
|
yawEaseCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
shortestPath: 1
|
||||||
|
enablePitch: 1
|
||||||
|
pitchMode: 1
|
||||||
|
verticalCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 10
|
||||||
|
relativeToInitial: 1
|
||||||
|
endVerticalValue: 10
|
||||||
|
pitchEaseCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
- rid: 6270780441720520898
|
||||||
|
type: {class: CameraOrbitAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp}
|
||||||
|
data:
|
||||||
|
enableInFreeLook: 0
|
||||||
|
enableInLockTarget: 1
|
||||||
|
enableYaw: 0
|
||||||
|
yawMode: 1
|
||||||
|
horizontalCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 2
|
||||||
|
outSlope: 2
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 0
|
||||||
|
relativeToInitial: 1
|
||||||
|
endHorizontalValue: 0
|
||||||
|
yawEaseCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
shortestPath: 1
|
||||||
|
enablePitch: 1
|
||||||
|
pitchMode: 0
|
||||||
|
verticalCurve:
|
||||||
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
remapMin: 0
|
||||||
|
remapMax: 10
|
||||||
|
relativeToInitial: 1
|
||||||
|
endVerticalValue: 10
|
||||||
|
pitchEaseCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
|||||||
@@ -82,18 +82,18 @@ MonoBehaviour:
|
|||||||
timeRange: {x: 0, y: 1.7666667}
|
timeRange: {x: 0, y: 1.7666667}
|
||||||
eventCollection:
|
eventCollection:
|
||||||
animEvents:
|
animEvents:
|
||||||
- triggerTime: 0.28333333
|
- triggerTime: 0.3
|
||||||
isEnd: 0
|
isEnd: 0
|
||||||
payload:
|
payload:
|
||||||
rid: 7925884888616796160
|
rid: 7925884888616796160
|
||||||
- triggerTime: 0.35000002
|
- triggerTime: 0.33333334
|
||||||
isEnd: 0
|
|
||||||
payload:
|
|
||||||
rid: 5837938710664445952
|
|
||||||
- triggerTime: 0.35
|
|
||||||
isEnd: 0
|
isEnd: 0
|
||||||
payload:
|
payload:
|
||||||
rid: 7925884888616796161
|
rid: 7925884888616796161
|
||||||
|
- triggerTime: 0.35
|
||||||
|
isEnd: 0
|
||||||
|
payload:
|
||||||
|
rid: 5837938710664445952
|
||||||
startEvents: []
|
startEvents: []
|
||||||
disruptionEvents: []
|
disruptionEvents: []
|
||||||
updateEvents: []
|
updateEvents: []
|
||||||
@@ -106,6 +106,7 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
eventName: AnimInvokePreloadFunction0
|
eventName: AnimInvokePreloadFunction0
|
||||||
mute: 0
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
functionKey: GenerateHeavySlash
|
functionKey: GenerateHeavySlash
|
||||||
parameters:
|
parameters:
|
||||||
rid: 7925884802887581996
|
rid: 7925884802887581996
|
||||||
@@ -119,6 +120,7 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
eventName: AnimPlaySoundFX0
|
eventName: AnimPlaySoundFX0
|
||||||
mute: 0
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
soundID: 1368798889
|
soundID: 1368798889
|
||||||
advancedSettings: 0
|
advancedSettings: 0
|
||||||
attachToBodyPart: 0
|
attachToBodyPart: 0
|
||||||
@@ -131,6 +133,7 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
eventName: AnimInvokePreloadFunction1
|
eventName: AnimInvokePreloadFunction1
|
||||||
mute: 0
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
functionKey: Swing
|
functionKey: Swing
|
||||||
parameters:
|
parameters:
|
||||||
rid: 7925884888616796162
|
rid: 7925884888616796162
|
||||||
|
|||||||
@@ -94583,15 +94583,15 @@ MonoBehaviour:
|
|||||||
timeRange: {x: 0, y: 1.25}
|
timeRange: {x: 0, y: 1.25}
|
||||||
eventCollection:
|
eventCollection:
|
||||||
animEvents:
|
animEvents:
|
||||||
- triggerTime: 0.1
|
- triggerTime: 0.13333334
|
||||||
isEnd: 0
|
isEnd: 0
|
||||||
payload:
|
payload:
|
||||||
rid: 7925884888616796321
|
rid: 7925884888616796321
|
||||||
- triggerTime: 0.16666667
|
- triggerTime: 0.18333334
|
||||||
isEnd: 0
|
isEnd: 0
|
||||||
payload:
|
payload:
|
||||||
rid: 5837938710664445962
|
rid: 5837938710664445962
|
||||||
- triggerTime: 0.16666667
|
- triggerTime: 0.18333334
|
||||||
isEnd: 0
|
isEnd: 0
|
||||||
payload:
|
payload:
|
||||||
rid: 7925884888616796322
|
rid: 7925884888616796322
|
||||||
@@ -94607,6 +94607,7 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
eventName: AnimInvokePreloadFunction0
|
eventName: AnimInvokePreloadFunction0
|
||||||
mute: 0
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
functionKey: GenerateHeavySlash
|
functionKey: GenerateHeavySlash
|
||||||
parameters:
|
parameters:
|
||||||
rid: 7925884802887581998
|
rid: 7925884802887581998
|
||||||
@@ -94620,6 +94621,7 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
eventName:
|
eventName:
|
||||||
mute: 0
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
soundID: 1368798889
|
soundID: 1368798889
|
||||||
advancedSettings: 0
|
advancedSettings: 0
|
||||||
attachToBodyPart: 0
|
attachToBodyPart: 0
|
||||||
@@ -94632,6 +94634,7 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
eventName:
|
eventName:
|
||||||
mute: 0
|
mute: 0
|
||||||
|
isOnce: 1
|
||||||
functionKey: Swing
|
functionKey: Swing
|
||||||
parameters:
|
parameters:
|
||||||
rid: 7925884888616796323
|
rid: 7925884888616796323
|
||||||
|
|||||||
@@ -20,40 +20,28 @@ MonoBehaviour:
|
|||||||
- {fileID: 21300000, guid: 134a11a29150c8b4ea4388d55c2a4781, type: 3}
|
- {fileID: 21300000, guid: 134a11a29150c8b4ea4388d55c2a4781, type: 3}
|
||||||
- {fileID: 21300000, guid: 02a988d1e31d7d343b2c66a3074253d2, type: 3}
|
- {fileID: 21300000, guid: 02a988d1e31d7d343b2c66a3074253d2, type: 3}
|
||||||
- {fileID: 21300000, guid: c81554475de282344ac1c69f8d0b88fa, type: 3}
|
- {fileID: 21300000, guid: c81554475de282344ac1c69f8d0b88fa, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 1a5ee70a92b78554ba51c2a0e769fb6f, type: 3}
|
||||||
SerializedBytesString:
|
SerializedBytesString:
|
||||||
Prefab: {fileID: 0}
|
Prefab: {fileID: 0}
|
||||||
PrefabModificationsReferencedUnityObjects: []
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
PrefabModifications: []
|
PrefabModifications: []
|
||||||
SerializationNodes:
|
SerializationNodes:
|
||||||
- Name: functionUnits
|
- Name: functionUnitList
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Inventory.FunctionData+FunctionUnit,
|
Data: 0|System.Collections.Generic.List`1[[Cielonos.MainGame.Inventory.FunctionData+FunctionUnit,
|
||||||
Assembly-CSharp]], mscorlib
|
Assembly-CSharp]], mscorlib
|
||||||
- Name: comparer
|
|
||||||
Entry: 7
|
|
||||||
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
|
||||||
mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 12
|
Entry: 12
|
||||||
Data: 4
|
Data: 4
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data:
|
Data: 1|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
||||||
- Name: $k
|
|
||||||
Entry: 1
|
|
||||||
Data: LightAttack
|
|
||||||
- Name: $v
|
|
||||||
Entry: 7
|
|
||||||
Data: 2|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
- Name: parentData
|
||||||
Entry: 10
|
Entry: 10
|
||||||
Data: 0
|
Data: 0
|
||||||
- Name: unitName
|
- Name: unitName
|
||||||
Entry: 6
|
Entry: 1
|
||||||
Data:
|
Data: LightAttack
|
||||||
- Name: shownInUI
|
- Name: shownInUI
|
||||||
Entry: 5
|
Entry: 5
|
||||||
Data: false
|
Data: false
|
||||||
@@ -65,13 +53,10 @@ MonoBehaviour:
|
|||||||
Data: 1
|
Data: 1
|
||||||
- Name: operation
|
- Name: operation
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data: 3|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
Data: 2|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 12
|
Entry: 12
|
||||||
Data: 1
|
Data: 0
|
||||||
- Name:
|
|
||||||
Entry: 1
|
|
||||||
Data: LMB
|
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 13
|
Entry: 13
|
||||||
Data:
|
Data:
|
||||||
@@ -80,7 +65,7 @@ MonoBehaviour:
|
|||||||
Data:
|
Data:
|
||||||
- Name: tags
|
- Name: tags
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data: 4|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
Data: 3|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 12
|
Entry: 12
|
||||||
Data: 0
|
Data: 0
|
||||||
@@ -108,24 +93,15 @@ MonoBehaviour:
|
|||||||
- Name:
|
- Name:
|
||||||
Entry: 8
|
Entry: 8
|
||||||
Data:
|
Data:
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data:
|
Data: 4|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
||||||
- Name: $k
|
|
||||||
Entry: 1
|
|
||||||
Data: HeavyAttack
|
|
||||||
- Name: $v
|
|
||||||
Entry: 7
|
|
||||||
Data: 5|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
- Name: parentData
|
||||||
Entry: 10
|
Entry: 10
|
||||||
Data: 0
|
Data: 0
|
||||||
- Name: unitName
|
- Name: unitName
|
||||||
Entry: 6
|
Entry: 1
|
||||||
Data:
|
Data: HeavyAttack
|
||||||
- Name: shownInUI
|
- Name: shownInUI
|
||||||
Entry: 5
|
Entry: 5
|
||||||
Data: true
|
Data: true
|
||||||
@@ -136,6 +112,18 @@ MonoBehaviour:
|
|||||||
Entry: 10
|
Entry: 10
|
||||||
Data: 2
|
Data: 2
|
||||||
- Name: operation
|
- Name: operation
|
||||||
|
Entry: 7
|
||||||
|
Data: 5|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: tags
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data: 6|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
Data: 6|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
- Name:
|
- Name:
|
||||||
@@ -147,21 +135,9 @@ MonoBehaviour:
|
|||||||
- Name:
|
- Name:
|
||||||
Entry: 8
|
Entry: 8
|
||||||
Data:
|
Data:
|
||||||
- Name: tags
|
|
||||||
Entry: 7
|
|
||||||
Data: 7|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: energyCost
|
- Name: energyCost
|
||||||
Entry: 4
|
Entry: 4
|
||||||
Data: 10
|
Data: 20
|
||||||
- Name: ammoCost
|
- Name: ammoCost
|
||||||
Entry: 3
|
Entry: 3
|
||||||
Data: 0
|
Data: 0
|
||||||
@@ -177,93 +153,15 @@ MonoBehaviour:
|
|||||||
- Name:
|
- Name:
|
||||||
Entry: 8
|
Entry: 8
|
||||||
Data:
|
Data:
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data:
|
Data: 7|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
||||||
- Name: $k
|
|
||||||
Entry: 1
|
|
||||||
Data: Block
|
|
||||||
- Name: $v
|
|
||||||
Entry: 7
|
|
||||||
Data: 8|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
- Name: parentData
|
||||||
Entry: 10
|
Entry: 10
|
||||||
Data: 0
|
Data: 0
|
||||||
- Name: unitName
|
- Name: unitName
|
||||||
Entry: 6
|
|
||||||
Data:
|
|
||||||
- Name: shownInUI
|
|
||||||
Entry: 5
|
|
||||||
Data: false
|
|
||||||
- Name: isMain
|
|
||||||
Entry: 5
|
|
||||||
Data: false
|
|
||||||
- Name: icon
|
|
||||||
Entry: 6
|
|
||||||
Data:
|
|
||||||
- Name: operation
|
|
||||||
Entry: 7
|
|
||||||
Data: 9|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: tags
|
|
||||||
Entry: 7
|
|
||||||
Data: 10|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: energyCost
|
|
||||||
Entry: 4
|
|
||||||
Data: 0
|
|
||||||
- Name: ammoCost
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldown
|
|
||||||
Entry: 4
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldownLowerLimit
|
|
||||||
Entry: 4
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldownReductionType
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 7
|
|
||||||
Data:
|
|
||||||
- Name: $k
|
|
||||||
Entry: 1
|
Entry: 1
|
||||||
Data: DisruptionAttack
|
Data: DisruptionAttack
|
||||||
- Name: $v
|
|
||||||
Entry: 7
|
|
||||||
Data: 11|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
|
||||||
Entry: 10
|
|
||||||
Data: 0
|
|
||||||
- Name: unitName
|
|
||||||
Entry: 6
|
|
||||||
Data:
|
|
||||||
- Name: shownInUI
|
- Name: shownInUI
|
||||||
Entry: 5
|
Entry: 5
|
||||||
Data: true
|
Data: true
|
||||||
@@ -274,90 +172,83 @@ MonoBehaviour:
|
|||||||
Entry: 10
|
Entry: 10
|
||||||
Data: 3
|
Data: 3
|
||||||
- Name: operation
|
- Name: operation
|
||||||
Entry: 6
|
Entry: 7
|
||||||
|
Data: 8|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: tags
|
||||||
|
Entry: 7
|
||||||
|
Data: 9|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 1
|
||||||
|
- Name:
|
||||||
|
Entry: 1
|
||||||
|
Data: Disruption
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: energyCost
|
||||||
|
Entry: 4
|
||||||
|
Data: 40
|
||||||
|
- Name: ammoCost
|
||||||
|
Entry: 3
|
||||||
|
Data: 0
|
||||||
|
- Name: cooldown
|
||||||
|
Entry: 4
|
||||||
|
Data: 5
|
||||||
|
- Name: cooldownLowerLimit
|
||||||
|
Entry: 4
|
||||||
|
Data: 1
|
||||||
|
- Name: cooldownReductionType
|
||||||
|
Entry: 3
|
||||||
|
Data: 1
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data: 10|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
||||||
|
- Name: parentData
|
||||||
|
Entry: 10
|
||||||
|
Data: 0
|
||||||
|
- Name: unitName
|
||||||
|
Entry: 1
|
||||||
|
Data: UltimateAttack
|
||||||
|
- Name: shownInUI
|
||||||
|
Entry: 5
|
||||||
|
Data: true
|
||||||
|
- Name: isMain
|
||||||
|
Entry: 5
|
||||||
|
Data: false
|
||||||
|
- Name: icon
|
||||||
|
Entry: 10
|
||||||
|
Data: 4
|
||||||
|
- Name: operation
|
||||||
|
Entry: 7
|
||||||
|
Data: 11|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
Data:
|
Data:
|
||||||
- Name: tags
|
- Name: tags
|
||||||
Entry: 7
|
Entry: 7
|
||||||
Data: 12|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
Data: 12|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 1
|
|
||||||
- Name:
|
|
||||||
Entry: 1
|
|
||||||
Data: Disruption
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: energyCost
|
|
||||||
Entry: 4
|
|
||||||
Data: 25
|
|
||||||
- Name: ammoCost
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldown
|
|
||||||
Entry: 4
|
|
||||||
Data: 4
|
|
||||||
- Name: cooldownLowerLimit
|
|
||||||
Entry: 4
|
|
||||||
Data: 1
|
|
||||||
- Name: cooldownReductionType
|
|
||||||
Entry: 3
|
|
||||||
Data: 1
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: functionUnitList
|
|
||||||
Entry: 7
|
|
||||||
Data: 13|System.Collections.Generic.List`1[[Cielonos.MainGame.Inventory.FunctionData+FunctionUnit,
|
|
||||||
Assembly-CSharp]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 3
|
|
||||||
- Name:
|
|
||||||
Entry: 7
|
|
||||||
Data: 14|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
|
||||||
Entry: 10
|
|
||||||
Data: 0
|
|
||||||
- Name: unitName
|
|
||||||
Entry: 1
|
|
||||||
Data: LightAttack
|
|
||||||
- Name: shownInUI
|
|
||||||
Entry: 5
|
|
||||||
Data: false
|
|
||||||
- Name: isMain
|
|
||||||
Entry: 5
|
|
||||||
Data: true
|
|
||||||
- Name: icon
|
|
||||||
Entry: 10
|
|
||||||
Data: 1
|
|
||||||
- Name: operation
|
|
||||||
Entry: 7
|
|
||||||
Data: 15|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: tags
|
|
||||||
Entry: 7
|
|
||||||
Data: 16|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 12
|
Entry: 12
|
||||||
Data: 0
|
Data: 0
|
||||||
@@ -369,139 +260,16 @@ MonoBehaviour:
|
|||||||
Data:
|
Data:
|
||||||
- Name: energyCost
|
- Name: energyCost
|
||||||
Entry: 4
|
Entry: 4
|
||||||
Data: 0
|
Data: 200
|
||||||
- Name: ammoCost
|
- Name: ammoCost
|
||||||
Entry: 3
|
Entry: 3
|
||||||
Data: 0
|
Data: 0
|
||||||
- Name: cooldown
|
- Name: cooldown
|
||||||
Entry: 4
|
Entry: 4
|
||||||
Data: 0
|
Data: 30
|
||||||
- Name: cooldownLowerLimit
|
- Name: cooldownLowerLimit
|
||||||
Entry: 4
|
Entry: 4
|
||||||
Data: 0
|
Data: 5
|
||||||
- Name: cooldownReductionType
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 7
|
|
||||||
Data: 17|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
|
||||||
Entry: 10
|
|
||||||
Data: 0
|
|
||||||
- Name: unitName
|
|
||||||
Entry: 1
|
|
||||||
Data: HeavyAttack
|
|
||||||
- Name: shownInUI
|
|
||||||
Entry: 5
|
|
||||||
Data: true
|
|
||||||
- Name: isMain
|
|
||||||
Entry: 5
|
|
||||||
Data: false
|
|
||||||
- Name: icon
|
|
||||||
Entry: 10
|
|
||||||
Data: 2
|
|
||||||
- Name: operation
|
|
||||||
Entry: 7
|
|
||||||
Data: 18|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: tags
|
|
||||||
Entry: 7
|
|
||||||
Data: 19|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: energyCost
|
|
||||||
Entry: 4
|
|
||||||
Data: 10
|
|
||||||
- Name: ammoCost
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldown
|
|
||||||
Entry: 4
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldownLowerLimit
|
|
||||||
Entry: 4
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldownReductionType
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 7
|
|
||||||
Data: 20|Cielonos.MainGame.Inventory.FunctionData+FunctionUnit, Assembly-CSharp
|
|
||||||
- Name: parentData
|
|
||||||
Entry: 10
|
|
||||||
Data: 0
|
|
||||||
- Name: unitName
|
|
||||||
Entry: 1
|
|
||||||
Data: DisruptionAttack
|
|
||||||
- Name: shownInUI
|
|
||||||
Entry: 5
|
|
||||||
Data: true
|
|
||||||
- Name: isMain
|
|
||||||
Entry: 5
|
|
||||||
Data: false
|
|
||||||
- Name: icon
|
|
||||||
Entry: 10
|
|
||||||
Data: 3
|
|
||||||
- Name: operation
|
|
||||||
Entry: 7
|
|
||||||
Data: 21|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 0
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: tags
|
|
||||||
Entry: 7
|
|
||||||
Data: 22|System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib
|
|
||||||
- Name:
|
|
||||||
Entry: 12
|
|
||||||
Data: 1
|
|
||||||
- Name:
|
|
||||||
Entry: 1
|
|
||||||
Data: Disruption
|
|
||||||
- Name:
|
|
||||||
Entry: 13
|
|
||||||
Data:
|
|
||||||
- Name:
|
|
||||||
Entry: 8
|
|
||||||
Data:
|
|
||||||
- Name: energyCost
|
|
||||||
Entry: 4
|
|
||||||
Data: 25
|
|
||||||
- Name: ammoCost
|
|
||||||
Entry: 3
|
|
||||||
Data: 0
|
|
||||||
- Name: cooldown
|
|
||||||
Entry: 4
|
|
||||||
Data: 4
|
|
||||||
- Name: cooldownLowerLimit
|
|
||||||
Entry: 4
|
|
||||||
Data: 1
|
|
||||||
- Name: cooldownReductionType
|
- Name: cooldownReductionType
|
||||||
Entry: 3
|
Entry: 3
|
||||||
Data: 1
|
Data: 1
|
||||||
|
|||||||
@@ -14810,7 +14810,7 @@ ParticleSystem:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 8478999951687931086}
|
m_GameObject: {fileID: 8478999951687931086}
|
||||||
serializedVersion: 8
|
serializedVersion: 8
|
||||||
lengthInSec: 2
|
lengthInSec: 3
|
||||||
simulationSpeed: 1
|
simulationSpeed: 1
|
||||||
stopAction: 2
|
stopAction: 2
|
||||||
cullingMode: 3
|
cullingMode: 3
|
||||||
@@ -14900,8 +14900,17 @@ ParticleSystem:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1
|
time: 0.333
|
||||||
value: 1
|
value: 0.75
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.667
|
||||||
|
value: 0.5
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ MonoBehaviour:
|
|||||||
_entries:
|
_entries:
|
||||||
- attributeKey: EnergyRegeneration
|
- attributeKey: EnergyRegeneration
|
||||||
useManualInput: 0
|
useManualInput: 0
|
||||||
attributeValue: 5
|
attributeValue: 0
|
||||||
- attributeKey: ProjectileSpeedMultiplier
|
- attributeKey: ProjectileSpeedMultiplier
|
||||||
useManualInput: 0
|
useManualInput: 0
|
||||||
attributeValue: 0
|
attributeValue: 0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: ea59304bd6636124c9a296ea675969ca
|
guid: 61a30061e98f68b4d90a25dfdf9a71f7
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
%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: fd6893a98c17a0e47af8bd555a67190b, type: 3}
|
||||||
|
m_Name: PhotonWarper_ContentData
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Characters.Inventory.ContentData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: itemClass
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.RuntimeType, mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 1
|
||||||
|
Data: Cielonos.MainGame.Inventory.Collections.PhotonWarper, Assembly-CSharp
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: descriptions
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.List`1[[Cielonos.MainGame.Inventory.ItemDescription,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 1
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|Cielonos.MainGame.Inventory.ItemDescription, Assembly-CSharp
|
||||||
|
- Name: descriptionKey
|
||||||
|
Entry: 1
|
||||||
|
Data: PhotonWarper_Desc0
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: dropSettings
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Single,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
itemType: 2
|
||||||
|
itemRarity: 2
|
||||||
|
tags: []
|
||||||
|
institutions: []
|
||||||
|
displayNameKey: PhotonWarper_Name
|
||||||
|
itemIcon: {fileID: 21300000, guid: a685aa7ba5f7a074f8a84237bbab1032, type: 3}
|
||||||
|
dropWeight: 0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0e73088a59b887d4aa0f3a058a74311d
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -8520,8 +8520,8 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
m_AnchoredPosition: {x: -240, y: 75}
|
m_AnchoredPosition: {x: -324.99994, y: 75}
|
||||||
m_SizeDelta: {x: 400, y: 100}
|
m_SizeDelta: {x: 570, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &7087868270379682592
|
--- !u!114 &7087868270379682592
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -10038,9 +10038,9 @@ RectTransform:
|
|||||||
- {fileID: 7286294122572708171}
|
- {fileID: 7286294122572708171}
|
||||||
m_Father: {fileID: 8357199957943875432}
|
m_Father: {fileID: 8357199957943875432}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 350, y: 50.00001}
|
m_AnchoredPosition: {x: -50, y: 0}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &8326351958938395691
|
--- !u!222 &8326351958938395691
|
||||||
|
|||||||
@@ -144,4 +144,6 @@ MonoBehaviour:
|
|||||||
value: "\u6FC0\u60C5\u503C\u4FDD\u6301\u65F6\u957F"
|
value: "\u6FC0\u60C5\u503C\u4FDD\u6301\u65F6\u957F"
|
||||||
- key: CognitiveBurdenGainRate
|
- key: CognitiveBurdenGainRate
|
||||||
value: "\u8BA4\u77E5\u8D1F\u62C5\u589E\u52A0\u901F\u7387"
|
value: "\u8BA4\u77E5\u8D1F\u62C5\u589E\u52A0\u901F\u7387"
|
||||||
|
- key: EnergyGainByAttack
|
||||||
|
value: "\u6bcf\u6b21\u653b\u51fb\u83b7\u5f97\u7684\u80fd\u91cf"
|
||||||
keyColumnWidth: 0.5
|
keyColumnWidth: 0.5
|
||||||
|
|||||||
117
Assets/Resources/Items/PassiveEquipment/PhotonWarper.prefab
Normal file
117
Assets/Resources/Items/PassiveEquipment/PhotonWarper.prefab
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &182282813408128073
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2148451936723058358}
|
||||||
|
- component: {fileID: 8580310856626090508}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: PhotonWarper
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &2148451936723058358
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 182282813408128073}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &8580310856626090508
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 182282813408128073}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 3ca70fc0fb31f3b4e82f0842a8744722, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Inventory.Collections.PhotonWarper
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: passiveAttributeSm
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: comboSm
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: functionSm
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: ammoSm
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: overloadSm
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: auraSm
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: viewObjects
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Inventory.ItemViewObject,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 0
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name: hostType
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|System.RuntimeType, mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 1
|
||||||
|
Data: Cielonos.MainGame.Inventory.Collections.Polychrome, Assembly-CSharp
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
fullBodyFuncAnims: {fileID: 0}
|
||||||
|
upperBodyFuncAnims: {fileID: 0}
|
||||||
|
contentData: {fileID: 11400000, guid: 0e73088a59b887d4aa0f3a058a74311d, type: 2}
|
||||||
|
viewObjectData: {fileID: 0}
|
||||||
|
vfxData: {fileID: 0}
|
||||||
|
passiveAttributeData: {fileID: 0}
|
||||||
|
upgradeData: {fileID: 0}
|
||||||
|
comboData: {fileID: 0}
|
||||||
|
attackData: {fileID: 0}
|
||||||
|
functionData: {fileID: 0}
|
||||||
|
ammoData: {fileID: 0}
|
||||||
|
blockData: {fileID: 0}
|
||||||
|
overloadData: {fileID: 0}
|
||||||
|
feedbackSc: {fileID: 0}
|
||||||
|
extenders: []
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5669674cc0dd09a4e9d98d75627db818
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -338,14 +338,6 @@ PrefabInstance:
|
|||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 2910240209130646481, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
objectReference: {fileID: 2910240209130646481, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
||||||
- target: {fileID: 2910240209130646481, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.PrefabModifications.Array.size
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2910240209130646481, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[0]'
|
|
||||||
value: '"path":"inputActions","value":null'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3076448345094423208, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
- target: {fileID: 3076448345094423208, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
@@ -378,150 +370,6 @@ PrefabInstance:
|
|||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
objectReference: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.size
|
|
||||||
value: 22
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.PrefabModifications.Array.size
|
|
||||||
value: 16
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[0]'
|
|
||||||
value: '"path":"cameraFovSm","value":{"$id":0,"$type":"Cielonos.MainGame.Characters.CameraFovSubmodule,
|
|
||||||
Assembly-CSharp","owner":$eref:0,"baseFov":30,"minFov":30,"maxFov":40,"speedThreshold":0.1,"maxSpeedThreshold":10,"fovChangeSpeed":5,"useSmoothTransition":true}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[1]'
|
|
||||||
value: '"path":"cameraFovSm.baseFov","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",30}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[2]'
|
|
||||||
value: '"path":"cameraFovSm.fovChangeSpeed","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",5}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[3]'
|
|
||||||
value: '"path":"cameraFovSm.maxFov","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",40}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[4]'
|
|
||||||
value: '"path":"cameraFovSm.maxSpeedThreshold","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",10}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[5]'
|
|
||||||
value: '"path":"cameraFovSm.minFov","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",30}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[6]'
|
|
||||||
value: '"path":"cameraFovSm.speedThreshold","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",0.1}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[7]'
|
|
||||||
value: '"path":"cameraFovSm.useSmoothTransition","value":{"$id":0,"$type":"System.Boolean,
|
|
||||||
mscorlib",true}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[8]'
|
|
||||||
value: '"path":"cameraRotationSm","value":{"$id":0,"$type":"Cielonos.MainGame.Characters.CameraRotationSubmodule,
|
|
||||||
Assembly-CSharp","owner":$eref:0,"cinemachineTargetYaw":0,"cinemachineEndLockYaw":0,"cinemachineTargetPitch":0,"topClamp":70,"bottomClamp":-30,"lockCameraPosition":false,"recenterSmoothTime":0.1}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[9]'
|
|
||||||
value: '"path":"cameraRotationSm.bottomClamp","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",-30}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.ReferencedUnityObjects.Array.size
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[10]'
|
|
||||||
value: '"path":"cameraRotationSm.cinemachineEndLockYaw","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",0}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[11]'
|
|
||||||
value: '"path":"cameraRotationSm.cinemachineTargetPitch","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",0}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[12]'
|
|
||||||
value: '"path":"cameraRotationSm.cinemachineTargetYaw","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",0}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[13]'
|
|
||||||
value: '"path":"cameraRotationSm.lockCameraPosition","value":{"$id":0,"$type":"System.Boolean,
|
|
||||||
mscorlib",false}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[14]'
|
|
||||||
value: '"path":"cameraRotationSm.recenterSmoothTime","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",0.1}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModifications.Array.data[15]'
|
|
||||||
value: '"path":"cameraRotationSm.topClamp","value":{"$id":0,"$type":"System.Single,
|
|
||||||
mscorlib",70}'
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[0].Data
|
|
||||||
value: 0|Cielonos.MainGame.Characters.CameraFovSubmodule, Assembly-CSharp
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[1].Data
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[1].Name
|
|
||||||
value: owner
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[2].Data
|
|
||||||
value: 30
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[2].Name
|
|
||||||
value: baseFov
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[3].Data
|
|
||||||
value: 30
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[3].Name
|
|
||||||
value: minFov
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[0].Entry
|
|
||||||
value: 7
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[1].Entry
|
|
||||||
value: 10
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[2].Entry
|
|
||||||
value: 4
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.SerializationNodes.Array.data[3].Entry
|
|
||||||
value: 4
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: serializationData.PrefabModificationsReferencedUnityObjects.Array.size
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
propertyPath: 'serializationData.PrefabModificationsReferencedUnityObjects.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 944214295}
|
|
||||||
- target: {fileID: 4516458514668677450, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
- target: {fileID: 4516458514668677450, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
@@ -637,6 +485,7 @@ GameObject:
|
|||||||
- component: {fileID: 157462161}
|
- component: {fileID: 157462161}
|
||||||
- component: {fileID: 157462158}
|
- component: {fileID: 157462158}
|
||||||
- component: {fileID: 157462162}
|
- component: {fileID: 157462162}
|
||||||
|
- component: {fileID: 157462170}
|
||||||
- component: {fileID: 157462167}
|
- component: {fileID: 157462167}
|
||||||
m_Layer: 6
|
m_Layer: 6
|
||||||
m_Name: LockTargetCamera
|
m_Name: LockTargetCamera
|
||||||
@@ -954,17 +803,19 @@ MonoBehaviour:
|
|||||||
initialDistance: 0
|
initialDistance: 0
|
||||||
minDistance: 1
|
minDistance: 1
|
||||||
maxDistance: 30
|
maxDistance: 30
|
||||||
--- !u!114 &241802217 stripped
|
--- !u!114 &157462170
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 5028739538227162509, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabInstance: {fileID: 1281532227}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 157462138}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 6049e0c150d7aee499adfa1f56e8e02f, type: 3}
|
m_Script: {fileID: 11500000, guid: 646548dbf6035f04a8a01e875996d327, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::SupportEquipmentIcon
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.CameraOrbitShaker
|
||||||
|
targetReference: {fileID: 0}
|
||||||
--- !u!1 &262479544
|
--- !u!1 &262479544
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1195,6 +1046,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 450053456}
|
- component: {fileID: 450053456}
|
||||||
- component: {fileID: 450053457}
|
- component: {fileID: 450053457}
|
||||||
|
- component: {fileID: 450053458}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: MusicBeatSystem
|
m_Name: MusicBeatSystem
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -1229,18 +1081,53 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 21df832e7a88f7f4986d6f527fd864e5, type: 3}
|
m_Script: {fileID: 11500000, guid: 21df832e7a88f7f4986d6f527fd864e5, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatSystem
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatSystem
|
||||||
testData: {fileID: 11400000, guid: 4ab8425d4ccf05646a7447e09ef6b3b9, type: 2}
|
musicSegmentSwitchGroup: MB_CieIFD_Segs
|
||||||
--- !u!114 &511442726 stripped
|
segmentMappings:
|
||||||
|
- segmentName: Func_00
|
||||||
|
beatData: {fileID: 11400000, guid: 119d0222713540649bc507c5436fc808, type: 2}
|
||||||
|
- segmentName: Func_01
|
||||||
|
beatData: {fileID: 11400000, guid: 73c0bfd6deca2494d871db60f90c7924, type: 2}
|
||||||
|
- segmentName: Func_02
|
||||||
|
beatData: {fileID: 11400000, guid: 23d5a38a23454ab47afb0c9dcd8089f7, type: 2}
|
||||||
|
- segmentName: Func_03
|
||||||
|
beatData: {fileID: 11400000, guid: f9d2c5b5062107a4cabd67723cdc58eb, type: 2}
|
||||||
|
- segmentName: Back_00
|
||||||
|
beatData: {fileID: 11400000, guid: d6c3f7ba9c0b0b84e8e7953111e59b0d, type: 2}
|
||||||
|
- segmentName: Back_01
|
||||||
|
beatData: {fileID: 11400000, guid: ed1413903caf9d84a986254048ff5f1e, type: 2}
|
||||||
|
- segmentName: Back_02
|
||||||
|
beatData: {fileID: 11400000, guid: 6b565265535aa2943981ecc325e52b51, type: 2}
|
||||||
|
--- !u!114 &450053458
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 2154299553211569819, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabInstance: {fileID: 1281532227}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 0}
|
m_GameObject: {fileID: 450053455}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 6049e0c150d7aee499adfa1f56e8e02f, type: 3}
|
m_Script: {fileID: 11500000, guid: 2d333c7739ebda943914444d847d66bc, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::SupportEquipmentIcon
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.CombatMusicController
|
||||||
|
beatSystem: {fileID: 450053457}
|
||||||
|
bgmMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
bgmSegments:
|
||||||
|
- Back_00
|
||||||
|
- Back_01
|
||||||
|
- Back_02
|
||||||
|
functionalMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
initialSegment: Func_00
|
||||||
|
functionalSegments:
|
||||||
|
- Func_00
|
||||||
|
- Func_01
|
||||||
|
- Func_02
|
||||||
|
- Func_03
|
||||||
--- !u!1 &543212259
|
--- !u!1 &543212259
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1747,17 +1634,6 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.RGBSplitGlitchShaker
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.RGBSplitGlitchShaker
|
||||||
minIntensity: 0
|
minIntensity: 0
|
||||||
maxIntensity: 1
|
maxIntensity: 1
|
||||||
--- !u!114 &944214295 stripped
|
|
||||||
MonoBehaviour:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 3696367176792392455, guid: 53773a8bcc5c5044cb612ff2f3d26445, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 77766290}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 2695c3d1dac1e3f41ad1fa636abfc61c, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Characters.PlayerViewSubcontroller
|
|
||||||
--- !u!1 &998525393
|
--- !u!1 &998525393
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2029,30 +1905,10 @@ PrefabInstance:
|
|||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 360293270494209936, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
objectReference: {fileID: 360293270494209936, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: icons.Array.size
|
|
||||||
value: 4
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: 'icons.Array.data[0]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 511442726}
|
|
||||||
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: 'icons.Array.data[1]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 1324611050}
|
|
||||||
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: 'icons.Array.data[2]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 241802217}
|
|
||||||
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: 'icons.Array.data[3]'
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 2024606706}
|
|
||||||
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
- target: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 543331040624686385, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
- target: {fileID: 625934186408939588, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
- target: {fileID: 625934186408939588, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
@@ -2177,14 +2033,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2653567886949691119, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: m_Camera
|
|
||||||
value:
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2653567886949691119, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
propertyPath: m_RenderMode
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2678525974325827399, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
- target: {fileID: 2678525974325827399, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@@ -2297,6 +2145,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4168592049600209084, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 4168592049600209084, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
- target: {fileID: 4205156158204918835, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
- target: {fileID: 4205156158204918835, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@@ -2357,10 +2209,10 @@ PrefabInstance:
|
|||||||
propertyPath: serializationData.Prefab
|
propertyPath: serializationData.Prefab
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 4653095618228866530, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
objectReference: {fileID: 4653095618228866530, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
- target: {fileID: 4929958268890936545, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
- target: {fileID: 4681294058024593394, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
propertyPath: serializationData.Prefab
|
propertyPath: m_Material
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 4929958268890936545, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5007144075851904984, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
- target: {fileID: 5007144075851904984, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@@ -2690,17 +2542,6 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
||||||
--- !u!114 &1324611050 stripped
|
|
||||||
MonoBehaviour:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 7959003991005870515, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 1281532227}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6049e0c150d7aee499adfa1f56e8e02f, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::SupportEquipmentIcon
|
|
||||||
--- !u!1 &1326061663
|
--- !u!1 &1326061663
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3673,17 +3514,107 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||||
--- !u!114 &2024606706 stripped
|
--- !u!1001 &2060635368
|
||||||
MonoBehaviour:
|
PrefabInstance:
|
||||||
m_CorrespondingSourceObject: {fileID: 6383683588789850800, guid: e4911dd2252584c4288663091951fbde, type: 3}
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabInstance: {fileID: 1281532227}
|
serializedVersion: 2
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_Modification:
|
||||||
m_GameObject: {fileID: 0}
|
serializedVersion: 3
|
||||||
m_Enabled: 1
|
m_TransformParent: {fileID: 0}
|
||||||
m_EditorHideFlags: 0
|
m_Modifications:
|
||||||
m_Script: {fileID: 11500000, guid: 6049e0c150d7aee499adfa1f56e8e02f, type: 3}
|
- target: {fileID: 1774990771147236543, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
m_Name:
|
propertyPath: serializationData.Prefab
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::SupportEquipmentIcon
|
value:
|
||||||
|
objectReference: {fileID: 1774990771147236543, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 8.01507
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 32.30276
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2133564591478665939, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5212989462573265379, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 5212989462573265379, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 5800076552395684805, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 5800076552395684805, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 5939359819209479986, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 5939359819209479986, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 6684559350107322796, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: IFD1_Test
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6684559350107322796, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7904741896890373676, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 7904741896890373676, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 7978058000175536055, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 7978058000175536055, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 8177632493477416817, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 8177632493477416817, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 8472447120408354108, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 8472447120408354108, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 9034993183191678318, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 9034993183191678318, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
- target: {fileID: 9076759118203499736, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
propertyPath: serializationData.Prefab
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 9076759118203499736, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: ce47cab4037a84341806935fc84af6f5, type: 3}
|
||||||
--- !u!1 &1026287626352280
|
--- !u!1 &1026287626352280
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -34782,6 +34713,7 @@ GameObject:
|
|||||||
- component: {fileID: 6231509679067270567}
|
- component: {fileID: 6231509679067270567}
|
||||||
- component: {fileID: 6231509679067270565}
|
- component: {fileID: 6231509679067270565}
|
||||||
- component: {fileID: 6231509679067270570}
|
- component: {fileID: 6231509679067270570}
|
||||||
|
- component: {fileID: 6231509679067270576}
|
||||||
- component: {fileID: 6231509679067270572}
|
- component: {fileID: 6231509679067270572}
|
||||||
- component: {fileID: 6231509679067270571}
|
- component: {fileID: 6231509679067270571}
|
||||||
- component: {fileID: 6231509679067270573}
|
- component: {fileID: 6231509679067270573}
|
||||||
@@ -35245,6 +35177,19 @@ MonoBehaviour:
|
|||||||
initialDistance: 0
|
initialDistance: 0
|
||||||
minDistance: 1
|
minDistance: 1
|
||||||
maxDistance: 30
|
maxDistance: 30
|
||||||
|
--- !u!114 &6231509679067270576
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4058222402463592529}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 646548dbf6035f04a8a01e875996d327, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.CameraOrbitShaker
|
||||||
|
targetReference: {fileID: 0}
|
||||||
--- !u!1 &6777559908503999311
|
--- !u!1 &6777559908503999311
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -35525,3 +35470,4 @@ SceneRoots:
|
|||||||
- {fileID: 224869677581971294}
|
- {fileID: 224869677581971294}
|
||||||
- {fileID: 395567637}
|
- {fileID: 395567637}
|
||||||
- {fileID: 2016313870}
|
- {fileID: 2016313870}
|
||||||
|
- {fileID: 2060635368}
|
||||||
|
|||||||
@@ -3491,6 +3491,76 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 6723170924934990600, guid: 164c8f63bdf82e24db0ac98a3319b299, type: 3}
|
m_CorrespondingSourceObject: {fileID: 6723170924934990600, guid: 164c8f63bdf82e24db0ac98a3319b299, type: 3}
|
||||||
m_PrefabInstance: {fileID: 79666324}
|
m_PrefabInstance: {fileID: 79666324}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!21 &81079940
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Override
|
||||||
|
m_Shader: {fileID: 4800000, guid: a3a3bc8785681554d9558e2ea68f100e, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs: []
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AdvancedCat: 1
|
||||||
|
- _Banner: 1
|
||||||
|
- _DirectionalCat: 1
|
||||||
|
- _DirectionalFalloff: 2
|
||||||
|
- _DirectionalIntensity: 1
|
||||||
|
- _FarDistanceHeight: 0
|
||||||
|
- _FarDistanceOffset: 0
|
||||||
|
- _FogAxisMode: 1
|
||||||
|
- _FogCameraMode: 0
|
||||||
|
- _FogCat: 1
|
||||||
|
- _FogColorDuo: 1
|
||||||
|
- _FogDistanceEnd: 100
|
||||||
|
- _FogDistanceFalloff: 2
|
||||||
|
- _FogDistanceStart: 0
|
||||||
|
- _FogHeightEnd: 100
|
||||||
|
- _FogHeightFalloff: 2
|
||||||
|
- _FogHeightStart: 0
|
||||||
|
- _FogIntensity: 1
|
||||||
|
- _FogLayersMode: 0
|
||||||
|
- _IsHeightFogPreset: 1
|
||||||
|
- _IsHeightFogShader: 1
|
||||||
|
- _JitterIntensity: 1
|
||||||
|
- _NoiseCat: 1
|
||||||
|
- _NoiseDistanceEnd: 50
|
||||||
|
- _NoiseIntensity: 1
|
||||||
|
- _NoiseMax: 1
|
||||||
|
- _NoiseMin: 0
|
||||||
|
- _NoiseModeBlend: 1
|
||||||
|
- _NoiseScale: 30
|
||||||
|
- _SkyboxCat: 1
|
||||||
|
- _SkyboxFogBottom: 0
|
||||||
|
- _SkyboxFogFalloff: 1
|
||||||
|
- _SkyboxFogFill: 1
|
||||||
|
- _SkyboxFogHeight: 1
|
||||||
|
- _SkyboxFogIntensity: 1
|
||||||
|
- _SkyboxFogOffset: 0
|
||||||
|
m_Colors:
|
||||||
|
- _DirectionalColor: {r: 1, g: 0.7793103, b: 0.5, a: 1}
|
||||||
|
- _DirectionalDir: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
- _FogAxisOption: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
- _FogColorEnd: {r: 0.8862745, g: 1.443137, b: 2, a: 1}
|
||||||
|
- _FogColorStart: {r: 0.4411765, g: 0.722515, b: 1, a: 1}
|
||||||
|
- _NoiseSpeed: {r: 0.5, g: 0, b: 0.5, a: 0}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
--- !u!1001 &84893583
|
--- !u!1001 &84893583
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3897,59 +3967,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 4686737730012956267, guid: 1770049d60eea7748a1ce645f35860f5, type: 3}
|
m_CorrespondingSourceObject: {fileID: 4686737730012956267, guid: 1770049d60eea7748a1ce645f35860f5, type: 3}
|
||||||
m_PrefabInstance: {fileID: 88426456}
|
m_PrefabInstance: {fileID: 88426456}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!21 &92100263
|
|
||||||
Material:
|
|
||||||
serializedVersion: 8
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: Height Fog Global
|
|
||||||
m_Shader: {fileID: 4800000, guid: 3a7ef1b66bafb7a448a880ef76d2e6e6, type: 3}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _RECEIVESHADOWS_OFF
|
|
||||||
- _SURFACE_TYPE_TRANSPARENT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- unity_Lightmaps:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- unity_LightmapsInd:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- unity_ShadowMasks:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _AddPrecomputedVelocity: 1
|
|
||||||
- _AlphaCutoff: 0.5
|
|
||||||
- _Banner: 1
|
|
||||||
- _FogCameraMode: 0
|
|
||||||
- _HeightFogGlobal: 1
|
|
||||||
- _IsHeightFogShader: 1
|
|
||||||
- _QueueControl: -1
|
|
||||||
- _QueueOffset: 0
|
|
||||||
- _ReceiveShadows: 0
|
|
||||||
- _XRMotionVectorsPass: 1
|
|
||||||
m_Colors:
|
|
||||||
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
--- !u!1001 &95287198
|
--- !u!1001 &95287198
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -11176,7 +11193,7 @@ MonoBehaviour:
|
|||||||
renderPriority: 1
|
renderPriority: 1
|
||||||
manualPositionAndScale: 0
|
manualPositionAndScale: 0
|
||||||
styledSpace0: 0
|
styledSpace0: 0
|
||||||
overrideMaterial: {fileID: 714252121}
|
overrideMaterial: {fileID: 81079940}
|
||||||
overrideCamToVolumeDistance: 1
|
overrideCamToVolumeDistance: 1
|
||||||
overrideVolumeDistanceFade: 0
|
overrideVolumeDistanceFade: 0
|
||||||
version: 0
|
version: 0
|
||||||
@@ -11213,7 +11230,7 @@ MeshRenderer:
|
|||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 92100263}
|
- {fileID: 548879684}
|
||||||
m_StaticBatchInfo:
|
m_StaticBatchInfo:
|
||||||
firstSubMesh: 0
|
firstSubMesh: 0
|
||||||
subMeshCount: 0
|
subMeshCount: 0
|
||||||
@@ -21479,6 +21496,59 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 566263727790293698, guid: 69eb67dd465e20c499c94cb59df05f1e, type: 3}
|
m_CorrespondingSourceObject: {fileID: 566263727790293698, guid: 69eb67dd465e20c499c94cb59df05f1e, type: 3}
|
||||||
m_PrefabInstance: {fileID: 547348405}
|
m_PrefabInstance: {fileID: 547348405}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!21 &548879684
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Height Fog Global
|
||||||
|
m_Shader: {fileID: 4800000, guid: 3a7ef1b66bafb7a448a880ef76d2e6e6, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords:
|
||||||
|
- _RECEIVESHADOWS_OFF
|
||||||
|
- _SURFACE_TYPE_TRANSPARENT
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AddPrecomputedVelocity: 1
|
||||||
|
- _AlphaCutoff: 0.5
|
||||||
|
- _Banner: 1
|
||||||
|
- _FogCameraMode: 0
|
||||||
|
- _HeightFogGlobal: 1
|
||||||
|
- _IsHeightFogShader: 1
|
||||||
|
- _QueueControl: -1
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 0
|
||||||
|
- _XRMotionVectorsPass: 1
|
||||||
|
m_Colors:
|
||||||
|
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
--- !u!1001 &549251144
|
--- !u!1001 &549251144
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -27693,76 +27763,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 3976107212598331440, guid: 104122f3f2f69fd439c957cf274c53b5, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3976107212598331440, guid: 104122f3f2f69fd439c957cf274c53b5, type: 3}
|
||||||
m_PrefabInstance: {fileID: 713508835}
|
m_PrefabInstance: {fileID: 713508835}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!21 &714252121
|
|
||||||
Material:
|
|
||||||
serializedVersion: 8
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: Override
|
|
||||||
m_Shader: {fileID: 4800000, guid: a3a3bc8785681554d9558e2ea68f100e, type: 3}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs: []
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _AdvancedCat: 1
|
|
||||||
- _Banner: 1
|
|
||||||
- _DirectionalCat: 1
|
|
||||||
- _DirectionalFalloff: 2
|
|
||||||
- _DirectionalIntensity: 1
|
|
||||||
- _FarDistanceHeight: 0
|
|
||||||
- _FarDistanceOffset: 0
|
|
||||||
- _FogAxisMode: 1
|
|
||||||
- _FogCameraMode: 0
|
|
||||||
- _FogCat: 1
|
|
||||||
- _FogColorDuo: 1
|
|
||||||
- _FogDistanceEnd: 100
|
|
||||||
- _FogDistanceFalloff: 2
|
|
||||||
- _FogDistanceStart: 0
|
|
||||||
- _FogHeightEnd: 100
|
|
||||||
- _FogHeightFalloff: 2
|
|
||||||
- _FogHeightStart: 0
|
|
||||||
- _FogIntensity: 1
|
|
||||||
- _FogLayersMode: 0
|
|
||||||
- _IsHeightFogPreset: 1
|
|
||||||
- _IsHeightFogShader: 1
|
|
||||||
- _JitterIntensity: 1
|
|
||||||
- _NoiseCat: 1
|
|
||||||
- _NoiseDistanceEnd: 50
|
|
||||||
- _NoiseIntensity: 1
|
|
||||||
- _NoiseMax: 1
|
|
||||||
- _NoiseMin: 0
|
|
||||||
- _NoiseModeBlend: 1
|
|
||||||
- _NoiseScale: 30
|
|
||||||
- _SkyboxCat: 1
|
|
||||||
- _SkyboxFogBottom: 0
|
|
||||||
- _SkyboxFogFalloff: 1
|
|
||||||
- _SkyboxFogFill: 1
|
|
||||||
- _SkyboxFogHeight: 1
|
|
||||||
- _SkyboxFogIntensity: 1
|
|
||||||
- _SkyboxFogOffset: 0
|
|
||||||
m_Colors:
|
|
||||||
- _DirectionalColor: {r: 1, g: 0.7793103, b: 0.5, a: 1}
|
|
||||||
- _DirectionalDir: {r: 0, g: 0, b: 0, a: 0}
|
|
||||||
- _FogAxisOption: {r: 0, g: 0, b: 0, a: 0}
|
|
||||||
- _FogColorEnd: {r: 0.8862745, g: 1.443137, b: 2, a: 1}
|
|
||||||
- _FogColorStart: {r: 0.4411765, g: 0.722515, b: 1, a: 1}
|
|
||||||
- _NoiseSpeed: {r: 0.5, g: 0, b: 0.5, a: 0}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
--- !u!1001 &718460387
|
--- !u!1001 &718460387
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -29814,6 +29814,90 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 2496640218509504062, guid: 5cc1e44d740d85448a03f813736b2e2a, type: 3}
|
m_CorrespondingSourceObject: {fileID: 2496640218509504062, guid: 5cc1e44d740d85448a03f813736b2e2a, type: 3}
|
||||||
m_PrefabInstance: {fileID: 776832273}
|
m_PrefabInstance: {fileID: 776832273}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &778782227
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 778782231}
|
||||||
|
- component: {fileID: 778782230}
|
||||||
|
- component: {fileID: 778782229}
|
||||||
|
- component: {fileID: 778782228}
|
||||||
|
m_Layer: 16
|
||||||
|
m_Name: Plane (1)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 2147483647
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &778782228
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778782227}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.AI.Navigation::Unity.AI.Navigation.NavMeshModifier
|
||||||
|
m_SerializedVersion: 0
|
||||||
|
m_OverrideArea: 0
|
||||||
|
m_Area: 0
|
||||||
|
m_OverrideGenerateLinks: 0
|
||||||
|
m_GenerateLinks: 0
|
||||||
|
m_IgnoreFromBuild: 0
|
||||||
|
m_ApplyToChildren: 1
|
||||||
|
m_AffectedAgents: ffffffff
|
||||||
|
--- !u!64 &778782229
|
||||||
|
MeshCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778782227}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 5
|
||||||
|
m_Convex: 0
|
||||||
|
m_CookingOptions: 30
|
||||||
|
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!33 &778782230
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778782227}
|
||||||
|
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!4 &778782231
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778782227}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -3, y: 0, z: 20}
|
||||||
|
m_LocalScale: {x: 2.5, y: 1, z: 14}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &780276748
|
--- !u!1001 &780276748
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -38524,7 +38608,6 @@ GameObject:
|
|||||||
- component: {fileID: 1037211790}
|
- component: {fileID: 1037211790}
|
||||||
- component: {fileID: 1037211789}
|
- component: {fileID: 1037211789}
|
||||||
- component: {fileID: 1037211788}
|
- component: {fileID: 1037211788}
|
||||||
- component: {fileID: 1037211791}
|
|
||||||
m_Layer: 16
|
m_Layer: 16
|
||||||
m_Name: Plane
|
m_Name: Plane
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -38626,26 +38709,6 @@ MeshFilter:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1037211786}
|
m_GameObject: {fileID: 1037211786}
|
||||||
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
--- !u!114 &1037211791
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1037211786}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.AI.Navigation::Unity.AI.Navigation.NavMeshModifier
|
|
||||||
m_SerializedVersion: 0
|
|
||||||
m_OverrideArea: 0
|
|
||||||
m_Area: 0
|
|
||||||
m_OverrideGenerateLinks: 0
|
|
||||||
m_GenerateLinks: 0
|
|
||||||
m_IgnoreFromBuild: 0
|
|
||||||
m_ApplyToChildren: 1
|
|
||||||
m_AffectedAgents: ffffffff
|
|
||||||
--- !u!1001 &1037710885
|
--- !u!1001 &1037710885
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -81623,6 +81686,7 @@ SceneRoots:
|
|||||||
- {fileID: 1250221113}
|
- {fileID: 1250221113}
|
||||||
- {fileID: 1325107959}
|
- {fileID: 1325107959}
|
||||||
- {fileID: 1037211787}
|
- {fileID: 1037211787}
|
||||||
|
- {fileID: 778782231}
|
||||||
- {fileID: 2116107454}
|
- {fileID: 2116107454}
|
||||||
- {fileID: 7641099}
|
- {fileID: 7641099}
|
||||||
- {fileID: 1928710091}
|
- {fileID: 1928710091}
|
||||||
|
|||||||
Binary file not shown.
@@ -12029,7 +12029,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: be9dc56d305de9a43b44e6f120dafaba, type: 3}
|
m_Script: {fileID: 11500000, guid: be9dc56d305de9a43b44e6f120dafaba, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: JeffGrawAssets.FlexibleUI.Runtime::JeffGrawAssets.FlexibleUI.BlurredImage
|
m_EditorClassIdentifier: JeffGrawAssets.FlexibleUI.Runtime::JeffGrawAssets.FlexibleUI.BlurredImage
|
||||||
m_Material: {fileID: 1206265238}
|
m_Material: {fileID: 2074090474}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
@@ -12909,6 +12909,7 @@ GameObject:
|
|||||||
- component: {fileID: 1180602445}
|
- component: {fileID: 1180602445}
|
||||||
- component: {fileID: 1180602444}
|
- component: {fileID: 1180602444}
|
||||||
- component: {fileID: 1180602443}
|
- component: {fileID: 1180602443}
|
||||||
|
- component: {fileID: 1180602453}
|
||||||
- component: {fileID: 1180602442}
|
- component: {fileID: 1180602442}
|
||||||
m_Layer: 6
|
m_Layer: 6
|
||||||
m_Name: FreeLookCamera
|
m_Name: FreeLookCamera
|
||||||
@@ -13242,6 +13243,18 @@ MonoBehaviour:
|
|||||||
BarrelClipping: 0.25
|
BarrelClipping: 0.25
|
||||||
Anamorphism: 0
|
Anamorphism: 0
|
||||||
BlendHint: 0
|
BlendHint: 0
|
||||||
|
--- !u!114 &1180602453
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1180602440}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 646548dbf6035f04a8a01e875996d327, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.CameraOrbitShaker
|
||||||
--- !u!64 &1183298190
|
--- !u!64 &1183298190
|
||||||
MeshCollider:
|
MeshCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -13264,45 +13277,6 @@ MeshCollider:
|
|||||||
m_Convex: 0
|
m_Convex: 0
|
||||||
m_CookingOptions: 30
|
m_CookingOptions: 30
|
||||||
m_Mesh: {fileID: -1238218227891777710, guid: 4670d7300b19ab2488569fc7d78777c3, type: 3}
|
m_Mesh: {fileID: -1238218227891777710, guid: 4670d7300b19ab2488569fc7d78777c3, type: 3}
|
||||||
--- !u!21 &1206265238
|
|
||||||
Material:
|
|
||||||
serializedVersion: 8
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: DefaultBlurredImage
|
|
||||||
m_Shader: {fileID: 4800000, guid: 0bc497fc7237fb94a98a758638ed8902, type: 3}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _MainTex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _ColorMask: 15
|
|
||||||
- _Stencil: 0
|
|
||||||
- _StencilComp: 8
|
|
||||||
- _StencilOp: 0
|
|
||||||
- _StencilReadMask: 255
|
|
||||||
- _StencilWriteMask: 255
|
|
||||||
- _UseUIAlphaClip: 0
|
|
||||||
m_Colors: []
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
--- !u!64 &1249394586
|
--- !u!64 &1249394586
|
||||||
MeshCollider:
|
MeshCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -23913,6 +23887,7 @@ GameObject:
|
|||||||
- component: {fileID: 1732605705}
|
- component: {fileID: 1732605705}
|
||||||
- component: {fileID: 1732605704}
|
- component: {fileID: 1732605704}
|
||||||
- component: {fileID: 1732605703}
|
- component: {fileID: 1732605703}
|
||||||
|
- component: {fileID: 1732605712}
|
||||||
- component: {fileID: 1732605702}
|
- component: {fileID: 1732605702}
|
||||||
- component: {fileID: 1732605701}
|
- component: {fileID: 1732605701}
|
||||||
m_Layer: 6
|
m_Layer: 6
|
||||||
@@ -24216,6 +24191,18 @@ MonoBehaviour:
|
|||||||
BarrelClipping: 0.25
|
BarrelClipping: 0.25
|
||||||
Anamorphism: 0
|
Anamorphism: 0
|
||||||
BlendHint: 0
|
BlendHint: 0
|
||||||
|
--- !u!114 &1732605712
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1732605699}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 646548dbf6035f04a8a01e875996d327, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.CameraOrbitShaker
|
||||||
--- !u!64 &1740534019
|
--- !u!64 &1740534019
|
||||||
MeshCollider:
|
MeshCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -35088,6 +35075,45 @@ MeshCollider:
|
|||||||
m_Convex: 0
|
m_Convex: 0
|
||||||
m_CookingOptions: 30
|
m_CookingOptions: 30
|
||||||
m_Mesh: {fileID: -1238218227891777710, guid: 4670d7300b19ab2488569fc7d78777c3, type: 3}
|
m_Mesh: {fileID: -1238218227891777710, guid: 4670d7300b19ab2488569fc7d78777c3, type: 3}
|
||||||
|
--- !u!21 &2074090474
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: DefaultBlurredImage
|
||||||
|
m_Shader: {fileID: 4800000, guid: 0bc497fc7237fb94a98a758638ed8902, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _ColorMask: 15
|
||||||
|
- _Stencil: 0
|
||||||
|
- _StencilComp: 8
|
||||||
|
- _StencilOp: 0
|
||||||
|
- _StencilReadMask: 255
|
||||||
|
- _StencilWriteMask: 255
|
||||||
|
- _UseUIAlphaClip: 0
|
||||||
|
m_Colors: []
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
--- !u!114 &2077005366 stripped
|
--- !u!114 &2077005366 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 308137261287821655, guid: ecb1618ff7104834cbe3f31bdc6b24a4, type: 3}
|
m_CorrespondingSourceObject: {fileID: 308137261287821655, guid: ecb1618ff7104834cbe3f31bdc6b24a4, type: 3}
|
||||||
|
|||||||
@@ -126,5 +126,7 @@ namespace Cielonos.MainGame
|
|||||||
public const string PassionKeepDuration = "PassionKeepDuration";
|
public const string PassionKeepDuration = "PassionKeepDuration";
|
||||||
/// <summary> 认知负担增加速率 </summary>
|
/// <summary> 认知负担增加速率 </summary>
|
||||||
public const string CognitiveBurdenGainRate = "CognitiveBurdenGainRate";
|
public const string CognitiveBurdenGainRate = "CognitiveBurdenGainRate";
|
||||||
|
/// <summary> 每次攻击获得的能量 </summary>
|
||||||
|
public const string EnergyGainByAttack = "EnergyGainByAttack";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,26 +160,26 @@ namespace Cielonos.MainGame
|
|||||||
#region TimeSubmodule
|
#region TimeSubmodule
|
||||||
public T SetTimeSubmodule<T>(float lifeTime) where T : AttackAreaBase
|
public T SetTimeSubmodule<T>(float lifeTime) where T : AttackAreaBase
|
||||||
{
|
{
|
||||||
timeSm = new TimeSubmodule(this, lifeTime);
|
float graceBefore = targetFractions.Contains(Fraction.Player) ? 0.1f : 0f;
|
||||||
|
timeSm = new TimeSubmodule(this, lifeTime, 0f, 0.04f, null, null, graceBefore);
|
||||||
return this as T;
|
return this as T;
|
||||||
}
|
}
|
||||||
|
|
||||||
public T SetTimeSubmodule<T>(float lifeTime, float delayTime, float enableTime = 0.04f,
|
|
||||||
Action enableAction = null, Action timeOutAction = null) where T : AttackAreaBase
|
|
||||||
{
|
|
||||||
timeSm = new TimeSubmodule(this, lifeTime, delayTime, enableTime, enableAction, timeOutAction);
|
|
||||||
return this as T;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 设置带反应 grace window 的时间子模块。graceBefore/graceAfter 为 0 时行为与无 grace window 一致。
|
/// 设置带反应 grace window 的时间子模块。graceBefore 为 0 时行为与无 grace window 一致。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public T SetTimeSubmodule<T>(float lifeTime, float delayTime, float enableTime,
|
public T SetTimeSubmodule<T>(float lifeTime, float delayTime, float enableTime = 0.04f,
|
||||||
Action enableAction, Action timeOutAction, float graceBefore) where T : AttackAreaBase
|
Action enableAction = null, Action timeOutAction = null, float graceBefore = -1f) where T : AttackAreaBase
|
||||||
{
|
{
|
||||||
|
if (graceBefore < 0f)
|
||||||
|
{
|
||||||
|
graceBefore = targetFractions.Contains(Fraction.Player) ? 0.1f : 0f;
|
||||||
|
}
|
||||||
|
|
||||||
timeSm = new TimeSubmodule(this, lifeTime, delayTime, enableTime, enableAction, timeOutAction, graceBefore);
|
timeSm = new TimeSubmodule(this, lifeTime, delayTime, enableTime, enableAction, timeOutAction, graceBefore);
|
||||||
return this as T;
|
return this as T;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region HitSubmodule
|
#region HitSubmodule
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ namespace Cielonos.MainGame
|
|||||||
{
|
{
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
if (!isEnabling || currentHitIndex >= originalHitCount - 1 || attackArea.timeSm.delayTime > 0)
|
if (!isEnabling || currentHitIndex >= originalHitCount || attackArea.timeSm.delayTime > 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -134,7 +134,7 @@ namespace Cielonos.MainGame
|
|||||||
currentHitIndex++;
|
currentHitIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentHitIndex >= originalHitCount - 1)
|
if (currentHitIndex >= originalHitCount)
|
||||||
{
|
{
|
||||||
attackArea.isEnabling = false;
|
attackArea.isEnabling = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,11 +57,11 @@ namespace Cielonos.MainGame
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.reactionGraceBefore = 0.1f;
|
this.reactionGraceBefore = 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TimeSubmodule(AttackAreaBase attackArea, float lifeTime, float delayTime, float enableTime,
|
public TimeSubmodule(AttackAreaBase attackArea, float lifeTime, float delayTime, float enableTime,
|
||||||
Action enableAction, Action timeOutAction, float graceBefore = 0.1f) : base(attackArea)
|
Action enableAction, Action timeOutAction, float graceBefore = 0f) : base(attackArea)
|
||||||
{
|
{
|
||||||
this.isEnabling = true;
|
this.isEnabling = true;
|
||||||
this.lifeTime = lifeTime;
|
this.lifeTime = lifeTime;
|
||||||
@@ -118,6 +118,14 @@ namespace Cielonos.MainGame
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 过渡帧桥接:delay 刚结束(delayTime 被扣至 <=0),但 enable 阶段尚未在下一帧
|
||||||
|
// 的 timeSm.Update() 中激活。此帧 isEnabling 为 false 且 delayTime 不再 >0,
|
||||||
|
// 若不补此条件会导致 1 帧的反应窗口真空,玩家的完美闪避/格挡可能被跳过。
|
||||||
|
if (reactionGraceBefore > 0f && delayTime <= 0f && !hasInvokedEnableAction)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace Cielonos.MainGame.Buffs.Character
|
|||||||
private bool _markSpawned = false;
|
private bool _markSpawned = false;
|
||||||
private VFXObject _markVFX;
|
private VFXObject _markVFX;
|
||||||
|
|
||||||
public CowardicePenalty(float thresholdDuration = 20f, float recoveryPerSecond = 20f)
|
public CowardicePenalty(float thresholdDuration = 30f, float recoveryPerSecond = 20f)
|
||||||
{
|
{
|
||||||
Initialize(BuffType.Neutral, BuffDispelLevel.Undispellable);
|
Initialize(BuffType.Neutral, BuffDispelLevel.Undispellable);
|
||||||
contentSubmodule = new ContentSubmodule(this);
|
contentSubmodule = new ContentSubmodule(this);
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using Cielonos.MainGame;
|
||||||
using Cielonos.MainGame.Characters;
|
using Cielonos.MainGame.Characters;
|
||||||
using SLSUtilities.FunctionalAnimation;
|
using SLSUtilities.FunctionalAnimation;
|
||||||
using SLSUtilities.WwiseAssistance;
|
using SLSUtilities.WwiseAssistance;
|
||||||
@@ -81,8 +82,8 @@ namespace Cielonos.MainGame.Buffs.Character
|
|||||||
|
|
||||||
protected override void OnProgressComplete()
|
protected override void OnProgressComplete()
|
||||||
{
|
{
|
||||||
float freezeDuration = 3f * sourceCharacter.attributeSm["NegativeEffectDealtDurationMultiplier"]
|
float freezeDuration = 3f * sourceCharacter.attributeSm[CharacterAttribute.NegativeBuffDealtDurationMultiplier]
|
||||||
* attachedCharacter.attributeSm["NegativeEffectTakenDurationMultiplier"];
|
* attachedCharacter.attributeSm[CharacterAttribute.NegativeBuffReceivedDurationMultiplier];
|
||||||
new Freeze(freezeDuration).Apply(attachedCharacter, sourceCharacter);
|
new Freeze(freezeDuration).Apply(attachedCharacter, sourceCharacter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Cielonos.MainGame;
|
||||||
|
using Cielonos.MainGame.Characters;
|
||||||
using SLSUtilities.General;
|
using SLSUtilities.General;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@@ -81,8 +83,8 @@ namespace Cielonos.MainGame.Buffs.Character
|
|||||||
|
|
||||||
protected override void OnProbabilityComplete()
|
protected override void OnProbabilityComplete()
|
||||||
{
|
{
|
||||||
float duration = 3f * sourceCharacter.attributeSm["NegativeEffectDealtDurationMultiplier"]
|
float duration = 3f * sourceCharacter.attributeSm[CharacterAttribute.NegativeBuffDealtDurationMultiplier]
|
||||||
* attachedCharacter.attributeSm["NegativeEffectTakenDurationMultiplier"];
|
* attachedCharacter.attributeSm[CharacterAttribute.NegativeBuffReceivedDurationMultiplier];
|
||||||
new Weak(duration).Apply(attachedCharacter, sourceCharacter);
|
new Weak(duration).Apply(attachedCharacter, sourceCharacter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ namespace Cielonos.MainGame.Characters
|
|||||||
{
|
{
|
||||||
selfTimeSm?.SetUp(this);
|
selfTimeSm?.SetUp(this);
|
||||||
|
|
||||||
|
Action<AttackAreaBase, CharacterBase, Attack.Result> onAttackHit = OnAttackHitRecoverEnergy;
|
||||||
|
eventSm.onFinishAttack.Add("AttackEnergyGain", onAttackHit.ToPrioritized());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void Update()
|
protected virtual void Update()
|
||||||
@@ -263,11 +264,11 @@ namespace Cielonos.MainGame.Characters
|
|||||||
|
|
||||||
public virtual void RecoverEnergy(float energyAmount, bool spawnText = true)
|
public virtual void RecoverEnergy(float energyAmount, bool spawnText = true)
|
||||||
{
|
{
|
||||||
if (energyAmount <= 0) return;
|
if (Mathf.Abs(energyAmount) < 1e-5f) return;
|
||||||
if (!attributeSm.Has(CharacterAttribute.Energy) || !attributeSm.Has(CharacterAttribute.MaximumEnergy)) return;
|
if (!attributeSm.Has(CharacterAttribute.Energy) || !attributeSm.Has(CharacterAttribute.MaximumEnergy)) return;
|
||||||
|
|
||||||
attributeSm[CharacterAttribute.Energy] += energyAmount;
|
attributeSm[CharacterAttribute.Energy] += energyAmount;
|
||||||
attributeSm[CharacterAttribute.Energy] = Mathf.Min(attributeSm[CharacterAttribute.Energy], attributeSm[CharacterAttribute.MaximumEnergy]);
|
attributeSm[CharacterAttribute.Energy] = Mathf.Clamp(attributeSm[CharacterAttribute.Energy], 0f, attributeSm[CharacterAttribute.MaximumEnergy]);
|
||||||
|
|
||||||
if (spawnText)
|
if (spawnText)
|
||||||
{
|
{
|
||||||
@@ -279,6 +280,18 @@ namespace Cielonos.MainGame.Characters
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnAttackHitRecoverEnergy(AttackAreaBase area, CharacterBase target, Attack.Result result)
|
||||||
|
{
|
||||||
|
if (attributeSm.Has(CharacterAttribute.EnergyGainByAttack))
|
||||||
|
{
|
||||||
|
float energyGain = attributeSm[CharacterAttribute.EnergyGainByAttack];
|
||||||
|
if (Mathf.Abs(energyGain) > 1e-5f)
|
||||||
|
{
|
||||||
|
RecoverEnergy(energyGain, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 对角色施加韧性削减。适用于常规攻击造成的削韧。
|
/// 对角色施加韧性削减。适用于常规攻击造成的削韧。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ namespace Cielonos.MainGame.Characters
|
|||||||
float currentMaxAngle = state.isWeak ? maxShakeAngle * weakShakeMultiplier : maxShakeAngle;
|
float currentMaxAngle = state.isWeak ? maxShakeAngle * weakShakeMultiplier : maxShakeAngle;
|
||||||
|
|
||||||
// ③ 高频正弦波,三轴不同频率 + 骨骼唯一种子
|
// ③ 高频正弦波,三轴不同频率 + 骨骼唯一种子
|
||||||
float t = Time.time * shakeFrequency;
|
float t = deltaTime * shakeFrequency;
|
||||||
float aX = currentMaxAngle * p * Mathf.Sin(t + state.seedX);
|
float aX = currentMaxAngle * p * Mathf.Sin(t + state.seedX);
|
||||||
float aY = currentMaxAngle * p * Mathf.Sin(t * 1.3f + state.seedY);
|
float aY = currentMaxAngle * p * Mathf.Sin(t * 1.3f + state.seedY);
|
||||||
float aZ = currentMaxAngle * p * Mathf.Sin(t * 0.7f + state.seedZ);
|
float aZ = currentMaxAngle * p * Mathf.Sin(t * 0.7f + state.seedZ);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: b1411cf077280a2408226bd1dde33d10
|
guid: 9af2cadfa58fe0443a1272f0e8521c3d
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -1,8 +1,11 @@
|
|||||||
|
using System;
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using SLSUtilities.General;
|
using SLSUtilities.General;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.AI;
|
||||||
using UnityEngine.Serialization;
|
using UnityEngine.Serialization;
|
||||||
|
using Cielonos.MainGame.Effects;
|
||||||
|
|
||||||
namespace Cielonos.MainGame.Characters
|
namespace Cielonos.MainGame.Characters
|
||||||
{
|
{
|
||||||
@@ -48,7 +51,7 @@ namespace Cielonos.MainGame.Characters
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SmartTurnToTarget(CharacterBase target, float maxTurnAngle = 360f)
|
public void SmartTurnToTarget(CharacterBase target, float maxTurnAngle = 360f, bool isInstant = false)
|
||||||
{
|
{
|
||||||
Vector3 directionToTarget = (target.CenterPoint.position - owner.CenterPoint.position).Flatten();
|
Vector3 directionToTarget = (target.CenterPoint.position - owner.CenterPoint.position).Flatten();
|
||||||
if (directionToTarget.sqrMagnitude < 0.001f) return;
|
if (directionToTarget.sqrMagnitude < 0.001f) return;
|
||||||
@@ -68,7 +71,8 @@ namespace Cielonos.MainGame.Characters
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
float duration = Mathf.Lerp(0.1f, 0.2f, (absAngle - 45f) / 135f);
|
float duration = Mathf.Lerp(0.1f, 0.2f, (absAngle - 45f) / 135f);
|
||||||
owner.transform.DORotateQuaternion(Quaternion.LookRotation(directionToTarget), duration).Play();
|
if(!isInstant) owner.transform.DORotateQuaternion(Quaternion.LookRotation(directionToTarget), duration).Play();
|
||||||
|
else owner.transform.rotation = Quaternion.LookRotation(directionToTarget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,4 +188,5 @@ namespace Cielonos.MainGame.Characters
|
|||||||
ByMovement,
|
ByMovement,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.AI;
|
||||||
|
using Cielonos.MainGame.Effects;
|
||||||
|
using SLSUtilities.General;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Characters
|
||||||
|
{
|
||||||
|
public partial class MovementSubcontrollerBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 根据目标敌人的碰撞体边缘,计算不产生重叠/挤压的安全折跃落脚点。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="target">折跃目标</param>
|
||||||
|
/// <param name="stopDistance">目标表面前的停止缓冲距离(默认为 1.0f)</param>
|
||||||
|
/// <returns>安全世界坐标</returns>
|
||||||
|
public Vector3 GetSafePositionNearTarget(CharacterBase target, float stopDistance = 1.0f)
|
||||||
|
{
|
||||||
|
if (target == null)
|
||||||
|
{
|
||||||
|
return owner.transform.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 selfPos = owner.transform.position;
|
||||||
|
Vector3 targetPos = target.transform.position;
|
||||||
|
|
||||||
|
// 计算平面方向向量
|
||||||
|
Vector3 dir = (targetPos - selfPos).Flatten();
|
||||||
|
if (dir.sqrMagnitude < 0.001f)
|
||||||
|
{
|
||||||
|
dir = owner.transform.forward;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dir.Normalize();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取双方的碰撞半径(如果有 CharacterController)
|
||||||
|
float selfRadius = 0.5f;
|
||||||
|
float targetRadius = 0.5f;
|
||||||
|
|
||||||
|
if (owner.collisionSc != null && owner.collisionSc.characterController != null)
|
||||||
|
{
|
||||||
|
selfRadius = owner.collisionSc.characterController.radius;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var cc = owner.GetComponent<CharacterController>();
|
||||||
|
if (cc != null) selfRadius = cc.radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target.collisionSc != null && target.collisionSc.characterController != null)
|
||||||
|
{
|
||||||
|
targetRadius = target.collisionSc.characterController.radius;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var cc = target.GetComponent<CharacterController>();
|
||||||
|
if (cc != null) targetRadius = cc.radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 安全距离 = 双方半径之和 + 额外的缓冲停止距离
|
||||||
|
float safeDistance = selfRadius + targetRadius + stopDistance;
|
||||||
|
|
||||||
|
// 目标点位于:目标中心 沿着 玩家至目标的方向 往回拉 safeDistance 距离
|
||||||
|
Vector3 finalDest = targetPos - dir * safeDistance;
|
||||||
|
|
||||||
|
// 保持 Y 轴与目标地面或自身对齐(避免陷地或腾空)
|
||||||
|
finalDest.y = targetPos.y;
|
||||||
|
|
||||||
|
return finalDest;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 瞬移/闪现至目标位置(支持高速移动过程)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="destination">目标位置</param>
|
||||||
|
/// <param name="duration">移动时间(秒)。若为 0 则为即时瞬移</param>
|
||||||
|
/// <param name="onComplete">瞬移完成后(或即时瞬移时)的回调函数,可用于生成 VFX/音效</param>
|
||||||
|
public void Teleport(Vector3 destination, float duration, Action onComplete = null)
|
||||||
|
{
|
||||||
|
// 1. 进行 NavMesh 采样验证(寻找最近的可行进点)
|
||||||
|
Vector3 validDestination = destination;
|
||||||
|
if (NavMesh.SamplePosition(destination, out NavMeshHit hit, 5.0f, NavMesh.AllAreas))
|
||||||
|
{
|
||||||
|
validDestination = hit.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 如果是即时瞬移(duration <= 0)
|
||||||
|
if (duration <= 0f)
|
||||||
|
{
|
||||||
|
PerformMove(validDestination);
|
||||||
|
onComplete?.Invoke();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 带有延迟/移动过程的瞬移
|
||||||
|
// 记录起始点
|
||||||
|
Vector3 startPos = owner.transform.position;
|
||||||
|
|
||||||
|
// 赋予无敌状态(防受击)
|
||||||
|
owner.statusSm.AddStatus(StatusType.Invincible, duration);
|
||||||
|
|
||||||
|
// 锁定移动和旋转输入(使用高优先级 99 隔离普通移动控制)
|
||||||
|
canMove.Modify(false, 99);
|
||||||
|
canRotate.Modify(false, 99);
|
||||||
|
|
||||||
|
// 开启残影生成(位移开始时生成单个残影)
|
||||||
|
var afterImageGen = owner.GetComponent<AfterImageGenerator>();
|
||||||
|
if (afterImageGen != null)
|
||||||
|
{
|
||||||
|
afterImageGen.CreateAfterImageSnapshot();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取并临时关闭物理/寻路组件,避免移动中碰撞卡顿或位置拉回
|
||||||
|
var agent = owner.GetComponent<NavMeshAgent>();
|
||||||
|
bool wasAgentActive = agent != null && agent.isActiveAndEnabled;
|
||||||
|
if (wasAgentActive)
|
||||||
|
{
|
||||||
|
agent.enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var cc = owner.collisionSc != null ? owner.collisionSc.characterController : null;
|
||||||
|
bool wasCcActive = cc != null && cc.enabled;
|
||||||
|
if (wasCcActive)
|
||||||
|
{
|
||||||
|
cc.enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var rb = owner.collisionSc != null ? owner.collisionSc.mainRigidbody : null;
|
||||||
|
bool wasRbKinematic = rb != null && rb.isKinematic;
|
||||||
|
if (rb != null)
|
||||||
|
{
|
||||||
|
rb.isKinematic = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用本地计时器,更新过程中的插值位移
|
||||||
|
float elapsed = 0f;
|
||||||
|
owner.selfTimeSm.AddLocalTimer(duration,
|
||||||
|
onComplete: () =>
|
||||||
|
{
|
||||||
|
// 确保移动完毕并最终强制对齐
|
||||||
|
owner.transform.position = validDestination;
|
||||||
|
|
||||||
|
// 恢复组件状态
|
||||||
|
if (rb != null)
|
||||||
|
{
|
||||||
|
rb.isKinematic = wasRbKinematic;
|
||||||
|
}
|
||||||
|
if (cc != null && wasCcActive)
|
||||||
|
{
|
||||||
|
cc.enabled = true;
|
||||||
|
}
|
||||||
|
if (agent != null && wasAgentActive)
|
||||||
|
{
|
||||||
|
agent.enabled = true;
|
||||||
|
agent.Warp(validDestination);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解锁移动和旋转输入
|
||||||
|
canMove.Modify(true, 99);
|
||||||
|
canRotate.Modify(true, 99);
|
||||||
|
|
||||||
|
// 触发完成回调
|
||||||
|
onComplete?.Invoke();
|
||||||
|
},
|
||||||
|
onUpdate: () =>
|
||||||
|
{
|
||||||
|
elapsed += DeltaTime;
|
||||||
|
float t = Mathf.Clamp01(elapsed / duration);
|
||||||
|
Vector3 currentPos = Vector3.Lerp(startPos, validDestination, t);
|
||||||
|
|
||||||
|
// 平滑设置物理和变换位置
|
||||||
|
if (rb != null)
|
||||||
|
{
|
||||||
|
rb.position = currentPos;
|
||||||
|
}
|
||||||
|
owner.transform.position = currentPos;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 底层物理突变移动处理
|
||||||
|
/// </summary>
|
||||||
|
private void PerformMove(Vector3 targetPos)
|
||||||
|
{
|
||||||
|
var agent = owner.GetComponent<NavMeshAgent>();
|
||||||
|
if (agent != null && agent.isActiveAndEnabled)
|
||||||
|
{
|
||||||
|
agent.Warp(targetPos);
|
||||||
|
}
|
||||||
|
else if (owner.collisionSc != null)
|
||||||
|
{
|
||||||
|
if (owner.collisionSc.useCharacterController && owner.collisionSc.characterController != null)
|
||||||
|
{
|
||||||
|
owner.collisionSc.characterController.enabled = false;
|
||||||
|
owner.transform.position = targetPos;
|
||||||
|
owner.collisionSc.characterController.enabled = true;
|
||||||
|
}
|
||||||
|
else if (owner.collisionSc.mainRigidbody != null)
|
||||||
|
{
|
||||||
|
owner.collisionSc.mainRigidbody.position = targetPos;
|
||||||
|
owner.transform.position = targetPos;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
owner.transform.position = targetPos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
owner.transform.position = targetPos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5d9130106184f0142a4fdf38d6a574e6
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using Cielonos.MainGame.Effects;
|
||||||
using Cielonos.MainGame.Effects.Feedback;
|
using Cielonos.MainGame.Effects.Feedback;
|
||||||
using SLSUtilities.General;
|
using SLSUtilities.General;
|
||||||
using Unity.Mathematics;
|
using Unity.Mathematics;
|
||||||
@@ -31,7 +32,7 @@ namespace Cielonos.MainGame.Characters
|
|||||||
player.landMovementSc.TurnToDirection(direction, 0f);
|
player.landMovementSc.TurnToDirection(direction, 0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player.eventSm is PlayerEventSubmodule playerEventSm)
|
if(player.eventSm is PlayerEventSubmodule playerEventSm)
|
||||||
{
|
{
|
||||||
foreach(var action in playerEventSm.onDodgeAttempt.Values) action.Invoke(success);
|
foreach(var action in playerEventSm.onDodgeAttempt.Values) action.Invoke(success);
|
||||||
|
|||||||
@@ -40,10 +40,11 @@ namespace Cielonos.MainGame.Characters
|
|||||||
{
|
{
|
||||||
backpackSm.ObtainItem<Polychrome>();
|
backpackSm.ObtainItem<Polychrome>();
|
||||||
backpackSm.ObtainItem<FutureWand>();
|
backpackSm.ObtainItem<FutureWand>();
|
||||||
|
backpackSm.ObtainItem<DualHarmony>();
|
||||||
backpackSm.ObtainItem<Ascension>();
|
backpackSm.ObtainItem<Ascension>();
|
||||||
backpackSm.ObtainItem<Passion>();
|
backpackSm.ObtainItem<Passion>();
|
||||||
backpackSm.ObtainItem<ThermalDetonator>();
|
backpackSm.ObtainItem<ThermalDetonator>();
|
||||||
backpackSm.ObtainItem<SpatialWarpCaliper>();
|
backpackSm.ObtainItem<PhotonWarper>();
|
||||||
|
|
||||||
foreach (MainWeaponBase mainWeapon in backpackSm.mainWeapons)
|
foreach (MainWeaponBase mainWeapon in backpackSm.mainWeapons)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Cielonos.MainGame;
|
||||||
using Cielonos.MainGame.Buffs.Character;
|
using Cielonos.MainGame.Buffs.Character;
|
||||||
using Cielonos.MainGame.Effects.Feedback;
|
using Cielonos.MainGame.Effects.Feedback;
|
||||||
using Cielonos.MainGame.UI;
|
using Cielonos.MainGame.UI;
|
||||||
@@ -197,9 +198,34 @@ namespace Cielonos.MainGame.Characters
|
|||||||
|
|
||||||
public override void RecoverEnergy(float energyAmount, bool spawnText = true)
|
public override void RecoverEnergy(float energyAmount, bool spawnText = true)
|
||||||
{
|
{
|
||||||
if (energyAmount <= 0) return;
|
if (Mathf.Abs(energyAmount) < 1e-5f) return;
|
||||||
|
|
||||||
AddEnergy(energyAmount);
|
if (energyAmount > 0)
|
||||||
|
{
|
||||||
|
float current = attributeSm[CharacterAttribute.Energy];
|
||||||
|
float max = attributeSm[CharacterAttribute.MaximumEnergy];
|
||||||
|
float availableSpace = max - current;
|
||||||
|
|
||||||
|
if (energyAmount > availableSpace)
|
||||||
|
{
|
||||||
|
attributeSm[CharacterAttribute.Energy] = max;
|
||||||
|
|
||||||
|
float conversionRate =
|
||||||
|
attributeSm.Has(CharacterAttribute.OverloadConversionRate) ?
|
||||||
|
attributeSm[CharacterAttribute.OverloadConversionRate] : 1f;
|
||||||
|
float overflowEnergy = (energyAmount - availableSpace) * conversionRate;
|
||||||
|
DistributeOverloadEnergy(overflowEnergy);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
attributeSm[CharacterAttribute.Energy] += energyAmount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
attributeSm[CharacterAttribute.Energy] += energyAmount;
|
||||||
|
attributeSm[CharacterAttribute.Energy] = Mathf.Max(0, attributeSm[CharacterAttribute.Energy]);
|
||||||
|
}
|
||||||
|
|
||||||
if (spawnText)
|
if (spawnText)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,40 +24,7 @@ namespace Cielonos.MainGame.Characters
|
|||||||
RecoverEnergy(energyRegenRate, false);
|
RecoverEnergy(energyRegenRate, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 增减能量值,正值为增加(溢出部分按 OverloadConversionRate 转换为过载能量),负值为消耗。
|
|
||||||
/// UI 更新和 onEnergyChanged 事件由属性值变更回调自动触发。
|
|
||||||
/// </summary>
|
|
||||||
public void AddEnergy(float amount)
|
|
||||||
{
|
|
||||||
if (amount == 0) return;
|
|
||||||
|
|
||||||
if (amount > 0)
|
|
||||||
{
|
|
||||||
float current = attributeSm[CharacterAttribute.Energy];
|
|
||||||
float max = attributeSm[CharacterAttribute.MaximumEnergy];
|
|
||||||
float availableSpace = max - current;
|
|
||||||
|
|
||||||
if (amount > availableSpace)
|
|
||||||
{
|
|
||||||
attributeSm[CharacterAttribute.Energy] = max;
|
|
||||||
|
|
||||||
float conversionRate = attributeSm.Has(CharacterAttribute.OverloadConversionRate) ? attributeSm[CharacterAttribute.OverloadConversionRate] : 1f;
|
|
||||||
float overflowEnergy = (amount - availableSpace) * conversionRate;
|
|
||||||
DistributeOverloadEnergy(overflowEnergy);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
attributeSm[CharacterAttribute.Energy] += amount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
attributeSm[CharacterAttribute.Energy] += amount;
|
|
||||||
attributeSm[CharacterAttribute.Energy] = Mathf.Max(0, attributeSm[CharacterAttribute.Energy]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DistributeOverloadEnergy(float totalOverflowAmount)
|
private void DistributeOverloadEnergy(float totalOverflowAmount)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using UnityEngine.UI;
|
|||||||
using SLSUtilities.General;
|
using SLSUtilities.General;
|
||||||
using Unity.Cinemachine;
|
using Unity.Cinemachine;
|
||||||
using Ease = DG.Tweening.Ease;
|
using Ease = DG.Tweening.Ease;
|
||||||
|
using Cielonos.MainGame.Effects.Feedback;
|
||||||
|
|
||||||
namespace Cielonos.MainGame.Characters
|
namespace Cielonos.MainGame.Characters
|
||||||
{
|
{
|
||||||
@@ -44,6 +45,7 @@ namespace Cielonos.MainGame.Characters
|
|||||||
// 用于存储独立的摄像机平滑旋转状态,防止跟随 Transform 的跳变
|
// 用于存储独立的摄像机平滑旋转状态,防止跟随 Transform 的跳变
|
||||||
private float currentYaw;
|
private float currentYaw;
|
||||||
private float currentPitch;
|
private float currentPitch;
|
||||||
|
private bool wasShakingLastFrame;
|
||||||
|
|
||||||
private Tweener iconTween;
|
private Tweener iconTween;
|
||||||
|
|
||||||
@@ -117,9 +119,29 @@ namespace Cielonos.MainGame.Characters
|
|||||||
|
|
||||||
// 【2】接管并强制控制 OrbitalFollow 的轨道位置
|
// 【2】接管并强制控制 OrbitalFollow 的轨道位置
|
||||||
var orbitalFollow = viewSc.lockingTargetCamera.GetComponent<CinemachineOrbitalFollow>();
|
var orbitalFollow = viewSc.lockingTargetCamera.GetComponent<CinemachineOrbitalFollow>();
|
||||||
// 直接强制摄像机在水平和垂直轨道上移动
|
|
||||||
orbitalFollow.HorizontalAxis.Value = currentYaw;
|
float horizontalOffset = 0f;
|
||||||
orbitalFollow.VerticalAxis.Value = currentPitch;
|
float verticalOffset = 0f;
|
||||||
|
var orbitShaker = viewSc.lockingTargetCamera.GetComponent<CameraOrbitShaker>();
|
||||||
|
bool isOrbitActive = orbitShaker != null && orbitShaker.enabled && orbitShaker.HasActiveShakes;
|
||||||
|
|
||||||
|
if (isOrbitActive)
|
||||||
|
{
|
||||||
|
horizontalOffset = orbitShaker.CurrentHorizontalOffset;
|
||||||
|
verticalOffset = orbitShaker.CurrentVerticalOffset;
|
||||||
|
wasShakingLastFrame = true;
|
||||||
|
}
|
||||||
|
else if (wasShakingLastFrame)
|
||||||
|
{
|
||||||
|
// 刚结束大招回旋的帧:将相机的最终物理轴值写入内部状态,防止数值突变
|
||||||
|
currentYaw = orbitalFollow.HorizontalAxis.Value;
|
||||||
|
currentPitch = orbitalFollow.VerticalAxis.Value;
|
||||||
|
wasShakingLastFrame = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 直接强制摄像机在水平和垂直轨道上移动(包含大招/反馈的 Orbit 回旋偏差量)
|
||||||
|
orbitalFollow.HorizontalAxis.Value = currentYaw + horizontalOffset;
|
||||||
|
orbitalFollow.VerticalAxis.Value = currentPitch + verticalOffset;
|
||||||
|
|
||||||
float OF_Fade = camLockData.orbitalFollowFadeCurve.Evaluate(Mathf.Clamp01((horizontalDistance - camLockData.orbitalFollowFadeDistanceRange.x) /
|
float OF_Fade = camLockData.orbitalFollowFadeCurve.Evaluate(Mathf.Clamp01((horizontalDistance - camLockData.orbitalFollowFadeDistanceRange.x) /
|
||||||
(camLockData.orbitalFollowFadeDistanceRange.y - camLockData.orbitalFollowFadeDistanceRange.x)));
|
(camLockData.orbitalFollowFadeDistanceRange.y - camLockData.orbitalFollowFadeDistanceRange.x)));
|
||||||
@@ -226,6 +248,7 @@ namespace Cielonos.MainGame.Characters
|
|||||||
this.isLocking = false;
|
this.isLocking = false;
|
||||||
this.isAutoRotate = false;
|
this.isAutoRotate = false;
|
||||||
viewSc.stateDrivenCamera.GetComponent<Animator>().SetBool("isLockTarget", false);
|
viewSc.stateDrivenCamera.GetComponent<Animator>().SetBool("isLockTarget", false);
|
||||||
|
viewSc.currentCamera = viewSc.freeLookCamera; // 核心修复:更新当前相机引用为自由相机
|
||||||
|
|
||||||
Transform oldTargetPoint = targetPoint;
|
Transform oldTargetPoint = targetPoint;
|
||||||
this.lockTarget = null;
|
this.lockTarget = null;
|
||||||
|
|||||||
8
Assets/Scripts/MainGame/Effects/AfterImage.meta
Normal file
8
Assets/Scripts/MainGame/Effects/AfterImage.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ea89affa681d8784eb0146116baeae51
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using Cielonos.MainGame.Characters;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Effects
|
||||||
|
{
|
||||||
|
public enum AfterImageSpawnMode
|
||||||
|
{
|
||||||
|
TimeInterval,
|
||||||
|
DistanceInterval
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 残影发生器,挂载在角色身上,用于在高速移动时动态生成姿态残影。
|
||||||
|
/// </summary>
|
||||||
|
public class AfterImageGenerator : MonoBehaviour
|
||||||
|
{
|
||||||
|
private CharacterBase character;
|
||||||
|
private List<SkinnedMeshRenderer> skinnedRenderers = new List<SkinnedMeshRenderer>();
|
||||||
|
private bool isSpawning = false;
|
||||||
|
private float timer;
|
||||||
|
private Vector3 lastSpawnPos;
|
||||||
|
|
||||||
|
[Header("AfterImage Settings")]
|
||||||
|
[Tooltip("残影所使用的菲涅尔发光材质")]
|
||||||
|
public Material afterImageMaterial;
|
||||||
|
[Tooltip("单个残影的持续消失时间(秒)")]
|
||||||
|
public float afterImageDuration = 0.3f;
|
||||||
|
|
||||||
|
[Tooltip("残影生成模式:时间间隔 或 距离间隔")]
|
||||||
|
public AfterImageSpawnMode spawnMode = AfterImageSpawnMode.TimeInterval;
|
||||||
|
|
||||||
|
[Tooltip("生成残影的时间间隔(秒,TimeInterval 模式)")]
|
||||||
|
public float spawnInterval = 0.03f;
|
||||||
|
[Tooltip("生成残影的距离间隔(米,DistanceInterval 模式)")]
|
||||||
|
public float spawnDistance = 0.8f;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
character = GetComponent<CharacterBase>();
|
||||||
|
GetComponentsInChildren(true, skinnedRenderers);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartSpawning()
|
||||||
|
{
|
||||||
|
isSpawning = true;
|
||||||
|
timer = 0f; // 时间模式下启动时立即生成一个
|
||||||
|
lastSpawnPos = transform.position; // 距离模式下重置起始点
|
||||||
|
|
||||||
|
if (spawnMode == AfterImageSpawnMode.DistanceInterval)
|
||||||
|
{
|
||||||
|
CreateAfterImageSnapshot(); // 距离模式启动时也立即生成第一个
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StopSpawning()
|
||||||
|
{
|
||||||
|
isSpawning = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Dynamic Configuration APIs
|
||||||
|
|
||||||
|
public void SetSpawnMode(AfterImageSpawnMode mode) => spawnMode = mode;
|
||||||
|
public void SetSpawnInterval(float interval) => spawnInterval = interval;
|
||||||
|
public void SetSpawnDistance(float distance) => spawnDistance = distance;
|
||||||
|
public void SetAfterImageDuration(float duration) => afterImageDuration = duration;
|
||||||
|
public void SetMaterial(Material mat) => afterImageMaterial = mat;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (!isSpawning || character == null) return;
|
||||||
|
|
||||||
|
if (spawnMode == AfterImageSpawnMode.TimeInterval)
|
||||||
|
{
|
||||||
|
timer -= character.selfTimeSm.DeltaTime;
|
||||||
|
if (timer <= 0f)
|
||||||
|
{
|
||||||
|
CreateAfterImageSnapshot();
|
||||||
|
timer = spawnInterval;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (spawnMode == AfterImageSpawnMode.DistanceInterval)
|
||||||
|
{
|
||||||
|
Vector3 currentPos = transform.position;
|
||||||
|
float dist = Vector3.Distance(lastSpawnPos, currentPos);
|
||||||
|
if (dist >= spawnDistance)
|
||||||
|
{
|
||||||
|
CreateAfterImageSnapshot();
|
||||||
|
lastSpawnPos = currentPos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 手动生成一个当前姿态的残影
|
||||||
|
/// </summary>
|
||||||
|
public void CreateAfterImageSnapshot()
|
||||||
|
{
|
||||||
|
if (afterImageMaterial == null) return;
|
||||||
|
|
||||||
|
// 创建残影根容器
|
||||||
|
GameObject afterImageObj = new GameObject($"{gameObject.name}_AfterImage");
|
||||||
|
|
||||||
|
List<MeshFilter> filters = new List<MeshFilter>();
|
||||||
|
List<MeshRenderer> renderers = new List<MeshRenderer>();
|
||||||
|
|
||||||
|
foreach (var skinnedRenderer in skinnedRenderers)
|
||||||
|
{
|
||||||
|
// 仅烘焙当前处于显示状态的蒙皮部件
|
||||||
|
if (skinnedRenderer == null || !skinnedRenderer.gameObject.activeInHierarchy || !skinnedRenderer.enabled)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// 创建对应蒙皮部件的静态 Mesh 副本
|
||||||
|
GameObject subObj = new GameObject(skinnedRenderer.name);
|
||||||
|
subObj.transform.SetParent(afterImageObj.transform);
|
||||||
|
subObj.transform.position = skinnedRenderer.transform.position;
|
||||||
|
subObj.transform.rotation = skinnedRenderer.transform.rotation;
|
||||||
|
subObj.transform.localScale = skinnedRenderer.transform.lossyScale;
|
||||||
|
|
||||||
|
// 烘焙蒙皮网格的当前姿态
|
||||||
|
Mesh bakedMesh = new Mesh();
|
||||||
|
skinnedRenderer.BakeMesh(bakedMesh);
|
||||||
|
|
||||||
|
MeshFilter filter = subObj.AddComponent<MeshFilter>();
|
||||||
|
filter.mesh = bakedMesh;
|
||||||
|
filters.Add(filter);
|
||||||
|
|
||||||
|
MeshRenderer renderer = subObj.AddComponent<MeshRenderer>();
|
||||||
|
renderers.Add(renderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有成功烘焙出任何网格,直接销毁根容器
|
||||||
|
if (filters.Count == 0)
|
||||||
|
{
|
||||||
|
Destroy(afterImageObj);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化渐隐控制
|
||||||
|
AfterImageItem afterImageItem = afterImageObj.AddComponent<AfterImageItem>();
|
||||||
|
afterImageItem.Initialize(filters.ToArray(), renderers.ToArray(), afterImageMaterial, afterImageDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 757d4da67572fb847bf547e39d362e9e
|
||||||
57
Assets/Scripts/MainGame/Effects/AfterImage/AfterImageItem.cs
Normal file
57
Assets/Scripts/MainGame/Effects/AfterImage/AfterImageItem.cs
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Effects
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 单个残影个体生命周期与渐隐控制器。
|
||||||
|
/// </summary>
|
||||||
|
public class AfterImageItem : MonoBehaviour
|
||||||
|
{
|
||||||
|
private MeshRenderer[] renderers;
|
||||||
|
private MaterialPropertyBlock propBlock;
|
||||||
|
private float fadeSpeed;
|
||||||
|
private float currentFade = 1f;
|
||||||
|
|
||||||
|
public void Initialize(MeshFilter[] filters, MeshRenderer[] renderers, Material afterImageMat, float duration)
|
||||||
|
{
|
||||||
|
this.renderers = renderers;
|
||||||
|
this.fadeSpeed = 1f / duration;
|
||||||
|
this.propBlock = new MaterialPropertyBlock();
|
||||||
|
|
||||||
|
foreach (var renderer in renderers)
|
||||||
|
{
|
||||||
|
if (renderer != null)
|
||||||
|
{
|
||||||
|
renderer.sharedMaterial = afterImageMat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
currentFade -= Time.deltaTime * fadeSpeed;
|
||||||
|
if (currentFade <= 0f)
|
||||||
|
{
|
||||||
|
// 必须手动销毁运行时烘焙出的 Mesh 资源,防止显存泄漏 (GC 不会自动回收 BakeMesh 产生的网格)
|
||||||
|
foreach (var filter in GetComponentsInChildren<MeshFilter>())
|
||||||
|
{
|
||||||
|
if (filter != null && filter.sharedMesh != null)
|
||||||
|
{
|
||||||
|
Destroy(filter.sharedMesh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Destroy(gameObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
propBlock.SetFloat("_Fade", currentFade);
|
||||||
|
foreach (var renderer in renderers)
|
||||||
|
{
|
||||||
|
if (renderer != null)
|
||||||
|
{
|
||||||
|
renderer.SetPropertyBlock(propBlock);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e3cb1f0acf837a945ab000963b8c1541
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
using System;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using SLSUtilities.Feedback;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Effects.Feedback
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 摄像机轨道旋转反馈动作,通过 CameraOrbitEvent 触发 CameraOrbitShaker。
|
||||||
|
/// 支持两种模式:
|
||||||
|
/// - Additive:曲线值作为偏移量叠加到初始角度上
|
||||||
|
/// - TargetValue:从当前值平滑运动到指定的目标角度
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
[FeedbackActionColor(0.3f, 0.7f, 0.95f)]
|
||||||
|
public class CameraOrbitAction : CinemachineActionBase
|
||||||
|
{
|
||||||
|
public override string DisplayName => "Camera Orbit";
|
||||||
|
|
||||||
|
public enum OrbitMode
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 曲线输出值作为角度偏移量,叠加到触发时的初始角度上。
|
||||||
|
/// </summary>
|
||||||
|
Additive,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 类似 DoTween:指定目标角度 (endValue),通过缓动曲线从当前位置平滑运动到目标。
|
||||||
|
/// </summary>
|
||||||
|
TargetValue
|
||||||
|
}
|
||||||
|
|
||||||
|
[TitleGroup("生效相机设置")]
|
||||||
|
[LabelText("在 FreeLook (自由视角) 相机下生效")]
|
||||||
|
public bool enableInFreeLook = true;
|
||||||
|
|
||||||
|
[LabelText("在 LockTarget (锁定视角) 相机下生效")]
|
||||||
|
public bool enableInLockTarget = true;
|
||||||
|
|
||||||
|
// ===== 水平公转设置 (Yaw) =====
|
||||||
|
[TitleGroup("水平公转设置 (Yaw)")]
|
||||||
|
[LabelText("启用水平公转")]
|
||||||
|
public bool enableYaw = true;
|
||||||
|
|
||||||
|
[LabelText("水平公转模式")]
|
||||||
|
[ShowIf("enableYaw")]
|
||||||
|
public OrbitMode yawMode = OrbitMode.Additive;
|
||||||
|
|
||||||
|
// Yaw Additive 参数
|
||||||
|
[LabelText("水平公转曲线 (Yaw)")]
|
||||||
|
[ShowIf("@enableYaw && yawMode == OrbitMode.Additive")]
|
||||||
|
public FloatCurveChannel horizontalCurve = FloatCurveChannel.CreateDefault(0f, 360f);
|
||||||
|
|
||||||
|
// Yaw TargetValue 参数
|
||||||
|
[LabelText("目标角度 (Yaw)")]
|
||||||
|
[Tooltip("目标水平公转角度。0° = 玩家正面,180° = 玩家背面。可以超过 360°。")]
|
||||||
|
[ShowIf("@enableYaw && yawMode == OrbitMode.TargetValue")]
|
||||||
|
public float endHorizontalValue = 0f;
|
||||||
|
|
||||||
|
[LabelText("缓动曲线 (Yaw)")]
|
||||||
|
[Tooltip("水平公转缓动曲线:归一化时间 [0,1] 映射到插值进度 [0,1]。")]
|
||||||
|
[ShowIf("@enableYaw && yawMode == OrbitMode.TargetValue")]
|
||||||
|
[ShakeCurvePreset]
|
||||||
|
public AnimationCurve yawEaseCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
|
||||||
|
|
||||||
|
[LabelText("使用最短路径")]
|
||||||
|
[Tooltip("开启时,相机会选择最近的旋转方向移向目标角度(防止 360 度穿帮旋转);关闭时,将按照绝对数值插值。")]
|
||||||
|
[ShowIf("@enableYaw && yawMode == OrbitMode.TargetValue")]
|
||||||
|
public bool shortestPath = true;
|
||||||
|
|
||||||
|
|
||||||
|
// ===== 垂直公转设置 (Pitch) =====
|
||||||
|
[TitleGroup("垂直公转设置 (Pitch)")]
|
||||||
|
[LabelText("启用垂直公转")]
|
||||||
|
public bool enablePitch = true;
|
||||||
|
|
||||||
|
[LabelText("垂直公转模式")]
|
||||||
|
[ShowIf("enablePitch")]
|
||||||
|
public OrbitMode pitchMode = OrbitMode.Additive;
|
||||||
|
|
||||||
|
// Pitch Additive 参数
|
||||||
|
[LabelText("垂直公转曲线 (Pitch)")]
|
||||||
|
[ShowIf("@enablePitch && pitchMode == OrbitMode.Additive")]
|
||||||
|
public FloatCurveChannel verticalCurve = FloatCurveChannel.CreateDefault(0f, 0f);
|
||||||
|
|
||||||
|
// Pitch TargetValue 参数
|
||||||
|
[LabelText("目标角度 (Pitch)")]
|
||||||
|
[Tooltip("目标垂直公转角度。硬锁相机下为相对锁定仰角的偏移量;自由相机下为绝对仰角。")]
|
||||||
|
[ShowIf("@enablePitch && pitchMode == OrbitMode.TargetValue")]
|
||||||
|
public float endVerticalValue = 0f;
|
||||||
|
|
||||||
|
[LabelText("缓动曲线 (Pitch)")]
|
||||||
|
[Tooltip("垂直公转缓动曲线:归一化时间 [0,1] 映射到插值进度 [0,1]。")]
|
||||||
|
[ShowIf("@enablePitch && pitchMode == OrbitMode.TargetValue")]
|
||||||
|
[ShakeCurvePreset]
|
||||||
|
public AnimationCurve pitchEaseCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
|
||||||
|
|
||||||
|
|
||||||
|
protected override void TriggerEvent(FeedbackContext context)
|
||||||
|
{
|
||||||
|
CameraOrbitEvent.Trigger(context, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void StopEvent(FeedbackContext context)
|
||||||
|
{
|
||||||
|
CameraOrbitEvent.Trigger(context, this, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Validate(out string error)
|
||||||
|
{
|
||||||
|
error = null;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 085667c17a7812b4ca6e0a4e53d7957d
|
||||||
@@ -0,0 +1,326 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using SLSUtilities.Feedback;
|
||||||
|
using Unity.Cinemachine;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Effects.Feedback
|
||||||
|
{
|
||||||
|
public class CameraOrbitShakeInstance : ShakeInstanceBase
|
||||||
|
{
|
||||||
|
// Yaw 设置
|
||||||
|
public bool enableYaw;
|
||||||
|
public CameraOrbitAction.OrbitMode yawMode;
|
||||||
|
public FloatCurveChannel horizontalCurve;
|
||||||
|
public float startHorizontalValue;
|
||||||
|
public float worldEndHorizontalValue;
|
||||||
|
public AnimationCurve yawEaseCurve;
|
||||||
|
|
||||||
|
// Pitch 设置
|
||||||
|
public bool enablePitch;
|
||||||
|
public CameraOrbitAction.OrbitMode pitchMode;
|
||||||
|
public FloatCurveChannel verticalCurve;
|
||||||
|
public float startVerticalValue;
|
||||||
|
public float worldEndVerticalValue;
|
||||||
|
public AnimationCurve pitchEaseCurve;
|
||||||
|
|
||||||
|
public CameraOrbitShakeInstance(FeedbackTimeSettings timeSettings, IFeedbackTimeProvider timeProvider,
|
||||||
|
CameraOrbitAction action, float startH, float startV, float worldEndH, float worldEndV, float duration)
|
||||||
|
: base(timeSettings, timeProvider, duration)
|
||||||
|
{
|
||||||
|
this.enableYaw = action.enableYaw;
|
||||||
|
this.yawMode = action.yawMode;
|
||||||
|
this.horizontalCurve = action.horizontalCurve;
|
||||||
|
this.startHorizontalValue = startH;
|
||||||
|
this.worldEndHorizontalValue = worldEndH;
|
||||||
|
this.yawEaseCurve = action.yawEaseCurve;
|
||||||
|
|
||||||
|
this.enablePitch = action.enablePitch;
|
||||||
|
this.pitchMode = action.pitchMode;
|
||||||
|
this.verticalCurve = action.verticalCurve;
|
||||||
|
this.startVerticalValue = startV;
|
||||||
|
this.worldEndVerticalValue = worldEndV;
|
||||||
|
this.pitchEaseCurve = action.pitchEaseCurve;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 在 TargetValue 模式下,根据归一化时间计算当前水平角度。
|
||||||
|
/// </summary>
|
||||||
|
public float EvaluateHorizontal(float normalizedTime)
|
||||||
|
{
|
||||||
|
if (yawMode == CameraOrbitAction.OrbitMode.Additive)
|
||||||
|
{
|
||||||
|
return horizontalCurve.Evaluate(normalizedTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
float t = yawEaseCurve != null ? yawEaseCurve.Evaluate(Mathf.Clamp01(normalizedTime)) : normalizedTime;
|
||||||
|
return Mathf.LerpUnclamped(startHorizontalValue, worldEndHorizontalValue, t);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 在 TargetValue 模式下,根据归一化时间计算当前垂直角度。
|
||||||
|
/// </summary>
|
||||||
|
public float EvaluateVertical(float normalizedTime)
|
||||||
|
{
|
||||||
|
if (pitchMode == CameraOrbitAction.OrbitMode.Additive)
|
||||||
|
{
|
||||||
|
return verticalCurve.Evaluate(normalizedTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
float t = pitchEaseCurve != null ? pitchEaseCurve.Evaluate(Mathf.Clamp01(normalizedTime)) : normalizedTime;
|
||||||
|
return Mathf.LerpUnclamped(startVerticalValue, worldEndVerticalValue, t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct CameraOrbitEvent
|
||||||
|
{
|
||||||
|
private static event ShakeDelegate OnEvent;
|
||||||
|
|
||||||
|
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
|
||||||
|
private static void RuntimeInitialization() { OnEvent = null; }
|
||||||
|
|
||||||
|
public delegate void ShakeDelegate(
|
||||||
|
FeedbackContext feedbackContext,
|
||||||
|
CameraOrbitAction action,
|
||||||
|
bool stop
|
||||||
|
);
|
||||||
|
|
||||||
|
public static void Register(ShakeDelegate callback) { OnEvent += callback; }
|
||||||
|
public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; }
|
||||||
|
|
||||||
|
public static void Trigger(
|
||||||
|
FeedbackContext feedbackContext,
|
||||||
|
CameraOrbitAction action,
|
||||||
|
bool stop = false)
|
||||||
|
{
|
||||||
|
OnEvent?.Invoke(feedbackContext, action, stop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[AddComponentMenu("Cielonos/Feedback Shakers/Camera Orbit Shaker")]
|
||||||
|
[RequireComponent(typeof(CinemachineCamera))]
|
||||||
|
[RequireComponent(typeof(CinemachineOrbitalFollow))]
|
||||||
|
public class CameraOrbitShaker : MonoBehaviour
|
||||||
|
{
|
||||||
|
private CinemachineCamera _camera;
|
||||||
|
private CinemachineOrbitalFollow _orbitalFollow;
|
||||||
|
private CinemachineInputAxisController _inputController;
|
||||||
|
|
||||||
|
[Tooltip("目标参考的 Transform。当 CameraOrbitAction 处于 TargetValue 模式时,将以此为基准转换 endHorizontalValue 为世界空间角度。" +
|
||||||
|
"如果为空,则默认使用 MainGameManager.Player.transform,若仍为空则回退到相机的 Follow 目标。")]
|
||||||
|
[SerializeField] private Transform targetReference;
|
||||||
|
|
||||||
|
private float _baseHorizontalValue;
|
||||||
|
private float _baseVerticalValue;
|
||||||
|
private bool _hasBaseValuesCaptured;
|
||||||
|
|
||||||
|
private readonly List<CameraOrbitShakeInstance> _activeShakes = new List<CameraOrbitShakeInstance>();
|
||||||
|
|
||||||
|
public float CurrentHorizontalOffset { get; private set; }
|
||||||
|
public float CurrentVerticalOffset { get; private set; }
|
||||||
|
public bool HasActiveShakes => _activeShakes.Count > 0;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_camera = GetComponent<CinemachineCamera>();
|
||||||
|
_orbitalFollow = GetComponent<CinemachineOrbitalFollow>();
|
||||||
|
_inputController = GetComponent<CinemachineInputAxisController>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
CameraOrbitEvent.Register(OnShakeEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
CameraOrbitEvent.Unregister(OnShakeEvent);
|
||||||
|
StopAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (_orbitalFollow == null) return;
|
||||||
|
|
||||||
|
if (_activeShakes.Count == 0)
|
||||||
|
{
|
||||||
|
CurrentHorizontalOffset = 0f;
|
||||||
|
CurrentVerticalOffset = 0f;
|
||||||
|
|
||||||
|
if (_hasBaseValuesCaptured)
|
||||||
|
{
|
||||||
|
// 所有 Shake 结束:恢复玩家输入控制器
|
||||||
|
if (_inputController != null && !_inputController.enabled)
|
||||||
|
{
|
||||||
|
_inputController.enabled = true;
|
||||||
|
}
|
||||||
|
_hasBaseValuesCaptured = false;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 首次触发时捕获当前相机角度作为基准
|
||||||
|
if (!_hasBaseValuesCaptured)
|
||||||
|
{
|
||||||
|
_baseHorizontalValue = _orbitalFollow.HorizontalAxis.Value;
|
||||||
|
_baseVerticalValue = _orbitalFollow.VerticalAxis.Value;
|
||||||
|
_hasBaseValuesCaptured = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 区分模式与轨道进行独立计算
|
||||||
|
float finalHorizontal = _baseHorizontalValue;
|
||||||
|
float finalVertical = _baseVerticalValue;
|
||||||
|
|
||||||
|
for (int i = _activeShakes.Count - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
CameraOrbitShakeInstance shake = _activeShakes[i];
|
||||||
|
shake.Tick();
|
||||||
|
float normalizedTime = shake.timer / shake.duration;
|
||||||
|
|
||||||
|
// 独立水平轴计算
|
||||||
|
if (shake.enableYaw)
|
||||||
|
{
|
||||||
|
if (shake.yawMode == CameraOrbitAction.OrbitMode.Additive)
|
||||||
|
{
|
||||||
|
finalHorizontal += shake.EvaluateHorizontal(normalizedTime);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
finalHorizontal = shake.EvaluateHorizontal(normalizedTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 独立垂直轴计算
|
||||||
|
if (shake.enablePitch)
|
||||||
|
{
|
||||||
|
if (shake.pitchMode == CameraOrbitAction.OrbitMode.Additive)
|
||||||
|
{
|
||||||
|
finalVertical += shake.EvaluateVertical(normalizedTime);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
finalVertical = shake.EvaluateVertical(normalizedTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shake.IsFinished)
|
||||||
|
{
|
||||||
|
_activeShakes.RemoveAt(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 管理玩家输入控制器状态(有任何活跃 Orbit Shake 时必定禁用输入)
|
||||||
|
if (_inputController != null && _inputController.enabled)
|
||||||
|
{
|
||||||
|
_inputController.enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算提供给锁锁相机的当前偏差量
|
||||||
|
CurrentHorizontalOffset = finalHorizontal - _baseHorizontalValue;
|
||||||
|
CurrentVerticalOffset = finalVertical - _baseVerticalValue;
|
||||||
|
|
||||||
|
// 检查当前是否在使用锁定相机的硬锁状态,若是,则由 LockTargetSubmodule 接管赋值,避免冲突
|
||||||
|
bool isLocking = MainGameManager.Player != null &&
|
||||||
|
MainGameManager.Player.viewSc.lockTargetModule != null &&
|
||||||
|
MainGameManager.Player.viewSc.lockTargetModule.isUsingLockTargetCamera &&
|
||||||
|
gameObject == MainGameManager.Player.viewSc.lockingTargetCamera.gameObject;
|
||||||
|
|
||||||
|
if (!isLocking)
|
||||||
|
{
|
||||||
|
// 非锁定状态下直接赋值
|
||||||
|
_orbitalFollow.HorizontalAxis.Value = finalHorizontal;
|
||||||
|
_orbitalFollow.VerticalAxis.Value = finalVertical;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnShakeEvent(
|
||||||
|
FeedbackContext feedbackContext,
|
||||||
|
CameraOrbitAction action,
|
||||||
|
bool stop)
|
||||||
|
{
|
||||||
|
if (stop) { StopAll(); return; }
|
||||||
|
|
||||||
|
// 仅在当前组件附加的虚拟相机是当前激活相机时,才响应 Orbit 动作,防止后台相机数据被污染
|
||||||
|
bool isActiveCamera = MainGameManager.Player != null &&
|
||||||
|
MainGameManager.Player.viewSc.currentCamera != null &&
|
||||||
|
gameObject == MainGameManager.Player.viewSc.currentCamera.gameObject;
|
||||||
|
|
||||||
|
if (!isActiveCamera) return;
|
||||||
|
|
||||||
|
// 检查当前是否在使用锁定相机的硬锁状态
|
||||||
|
bool isLocking = MainGameManager.Player != null &&
|
||||||
|
MainGameManager.Player.viewSc.lockTargetModule != null &&
|
||||||
|
MainGameManager.Player.viewSc.lockTargetModule.isUsingLockTargetCamera &&
|
||||||
|
gameObject == MainGameManager.Player.viewSc.lockingTargetCamera.gameObject;
|
||||||
|
|
||||||
|
// 根据当前相机状态与配置决定是否生效
|
||||||
|
if (isLocking && !action.enableInLockTarget) return;
|
||||||
|
if (!isLocking && !action.enableInFreeLook) return;
|
||||||
|
|
||||||
|
// 获取当前轴值作为 TargetValue 模式的起始值
|
||||||
|
float currentH = _orbitalFollow != null ? _orbitalFollow.HorizontalAxis.Value : 0f;
|
||||||
|
float currentV = _orbitalFollow != null ? _orbitalFollow.VerticalAxis.Value : 0f;
|
||||||
|
|
||||||
|
// 解析水平目标值与垂直目标值
|
||||||
|
float worldEndH = currentH;
|
||||||
|
float worldEndV = action.endVerticalValue;
|
||||||
|
|
||||||
|
// 水平 (Yaw) 解析
|
||||||
|
if (action.enableYaw && action.yawMode == CameraOrbitAction.OrbitMode.TargetValue)
|
||||||
|
{
|
||||||
|
Transform reference = targetReference != null ? targetReference : (MainGameManager.Player != null ? MainGameManager.Player.transform : _camera?.Follow);
|
||||||
|
float playerYaw = reference != null ? reference.eulerAngles.y : 0f;
|
||||||
|
float targetAngle = playerYaw + action.endHorizontalValue;
|
||||||
|
|
||||||
|
if (action.shortestPath)
|
||||||
|
{
|
||||||
|
worldEndH = currentH + Mathf.DeltaAngle(currentH, targetAngle);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
worldEndH = targetAngle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 垂直 (Pitch) 解析
|
||||||
|
if (action.enablePitch && action.pitchMode == CameraOrbitAction.OrbitMode.TargetValue)
|
||||||
|
{
|
||||||
|
if (isLocking)
|
||||||
|
{
|
||||||
|
// 硬锁相机下,垂直仰角(Pitch)的 TargetValue 是相对于触发时的基准仰角的相对偏移
|
||||||
|
worldEndV = currentV + action.endVerticalValue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
worldEndV = action.endVerticalValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var instance = new CameraOrbitShakeInstance(
|
||||||
|
feedbackContext.timeSettings,
|
||||||
|
feedbackContext.player.TimeProvider,
|
||||||
|
action,
|
||||||
|
currentH,
|
||||||
|
currentV,
|
||||||
|
worldEndH,
|
||||||
|
worldEndV,
|
||||||
|
feedbackContext.duration
|
||||||
|
);
|
||||||
|
_activeShakes.Add(instance);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StopAll()
|
||||||
|
{
|
||||||
|
_activeShakes.Clear();
|
||||||
|
if (_hasBaseValuesCaptured && _orbitalFollow != null)
|
||||||
|
{
|
||||||
|
_orbitalFollow.HorizontalAxis.Value = _baseHorizontalValue;
|
||||||
|
_orbitalFollow.VerticalAxis.Value = _baseVerticalValue;
|
||||||
|
}
|
||||||
|
if (_inputController != null)
|
||||||
|
{
|
||||||
|
_inputController.enabled = true;
|
||||||
|
}
|
||||||
|
_hasBaseValuesCaptured = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 646548dbf6035f04a8a01e875996d327
|
||||||
8
Assets/Scripts/MainGame/Effects/Ghost.meta
Normal file
8
Assets/Scripts/MainGame/Effects/Ghost.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: be266a922a64f794d9b0b85a84e87c4c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame.Inventory.Collections
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 光子折跃器 / Photon Warper
|
||||||
|
/// Polychrome的扩展器,若敌人在2米之外,重攻击(AttackRA)在起手(Startup)结束时折跃至其身前2米。
|
||||||
|
/// </summary>
|
||||||
|
public class PhotonWarper : ExtenderBase
|
||||||
|
{
|
||||||
|
public override void OnObtained()
|
||||||
|
{
|
||||||
|
hostType = typeof(Polychrome);
|
||||||
|
base.OnObtained();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3ca70fc0fb31f3b4e82f0842a8744722
|
||||||
@@ -1,15 +1,12 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using ChocDino.UIFX;
|
|
||||||
using Cielonos.MainGame.Buffs.Character;
|
|
||||||
using Cielonos.MainGame.Characters;
|
using Cielonos.MainGame.Characters;
|
||||||
using Cielonos.MainGame.Effects.Feedback;
|
using Cielonos.MainGame.Effects.Feedback;
|
||||||
|
using Cielonos.MainGame.FunctionalAnimation;
|
||||||
using Cielonos.MainGame.UI;
|
using Cielonos.MainGame.UI;
|
||||||
using SLSUtilities.Feedback;
|
using SLSUtilities.Feedback;
|
||||||
using SLSUtilities.General;
|
using SLSUtilities.General;
|
||||||
using SLSUtilities.FunctionalAnimation;
|
using SLSUtilities.FunctionalAnimation;
|
||||||
using SLSUtilities.WwiseAssistance;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.InputSystem;
|
|
||||||
|
|
||||||
namespace Cielonos.MainGame.Inventory.Collections
|
namespace Cielonos.MainGame.Inventory.Collections
|
||||||
{
|
{
|
||||||
@@ -27,12 +24,19 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
functionSm?.Update(player.selfTimeSm.DeltaTime);
|
functionSm?.Update(player.selfTimeSm.DeltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Keyboard.current.xKey.wasPressedThisFrame)
|
/*if (Keyboard.current.xKey.wasPressedThisFrame)
|
||||||
{
|
{
|
||||||
SetBlock();
|
SetBlock();
|
||||||
player.reactionSc.blockSm.GetBlockSource("Polychrome_Block").PerfectBlock(null, player.CenterPosition + player.transform.forward);
|
player.reactionSc.blockSm.GetBlockSource("Polychrome_Block").PerfectBlock(null, player.CenterPosition + player.transform.forward);
|
||||||
RemoveBlock();
|
RemoveBlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Keyboard.current.zKey.wasPressedThisFrame)
|
||||||
|
{
|
||||||
|
player.reactionSc.dodgeSm.ApplyDodge(DodgeSource.Default(player));
|
||||||
|
player.reactionSc.dodgeSm.GetCurrentDodgeSource()?.PerfectDodge(null);
|
||||||
|
player.reactionSc.dodgeSm.RemoveDodge("DefaultDodge");
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnEquipped()
|
public override void OnEquipped()
|
||||||
@@ -174,16 +178,6 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryPlayParryAttack(Enemy parryTarget, List<Enemy> availableEnemies)
|
|
||||||
{
|
|
||||||
if (parryTarget != null && !availableEnemies.Contains(parryTarget))
|
|
||||||
{
|
|
||||||
float distance = Vector3.Distance(player.transform.position.Flatten(), parryTarget.transform.position.Flatten());
|
|
||||||
return PlayTargetedAnimation(distance > 2f ? "DodgeParryAttack" : "BlockParryAttack", parryTarget);
|
|
||||||
}
|
|
||||||
return PlayTargetedAnimation("BlockParryAttack");
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnSecondaryPress()
|
public override void OnSecondaryPress()
|
||||||
{
|
{
|
||||||
if (player.statusSm.HasStatus(StatusType.Stun))
|
if (player.statusSm.HasStatus(StatusType.Stun))
|
||||||
@@ -236,7 +230,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.inputSc.IsHoldingSpecialA)
|
if (player.inputSc.IsHoldingSpecialB)
|
||||||
{
|
{
|
||||||
if (functionSm["DisruptionAttack"].IsAvailable())
|
if (functionSm["DisruptionAttack"].IsAvailable())
|
||||||
{
|
{
|
||||||
@@ -274,11 +268,51 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
|
|
||||||
if (functionSm["HeavyAttack"].IsAvailable())
|
if (functionSm["HeavyAttack"].IsAvailable())
|
||||||
{
|
{
|
||||||
Enemy target = CombatManager.EnemySm.GetBestEnemy(availableEnemies);
|
//Enemy target = CombatManager.EnemySm.GetBestEnemy(availableEnemies);
|
||||||
|
Enemy nt = CombatManager.EnemySm.GetBestEnemy(CombatManager.EnemySm.GetEnemiesInRadius(player.transform.position, 15));
|
||||||
string nextNodeName = comboSm.main.GetNextNodeName("R");
|
string nextNodeName = comboSm.main.GetNextNodeName("R");
|
||||||
bool keepAdsorption = nextNodeName is "RC";
|
bool keepAdsorption = nextNodeName is "RC";
|
||||||
if (PlayTargetedAnimation("Attack" + nextNodeName, target, 1f, keepAdsorption))
|
|
||||||
|
bool shouldWarp = false;
|
||||||
|
Vector3 targetPos = Vector3.zero;
|
||||||
|
if (nt != null && nextNodeName == "RA" && HasExtender<PhotonWarper>())
|
||||||
{
|
{
|
||||||
|
nextNodeName = "RB";
|
||||||
|
float distance = Vector3.Distance(player.transform.position, nt.transform.position);
|
||||||
|
if (distance > 2f)
|
||||||
|
{
|
||||||
|
shouldWarp = true;
|
||||||
|
player.movementSc.SmartTurnToTarget(nt, 360, true);
|
||||||
|
targetPos = player.movementSc.GetSafePositionNearTarget(nt, 1.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nt != null && (shouldWarp || nextNodeName is "RC"))
|
||||||
|
{
|
||||||
|
player.movementSc.SmartTurnToTarget(nt, 360, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PlayTargetedAnimation("Attack" + nextNodeName, nt, 1f, keepAdsorption))
|
||||||
|
{
|
||||||
|
if (shouldWarp)
|
||||||
|
{
|
||||||
|
var interval = fullBodyFuncAnimSm.currentData.Interval(IntervalType.Startup);
|
||||||
|
float warpDuration = fullBodyFuncAnimSm.GetIntervalScaledDuration(IntervalType.Startup);
|
||||||
|
fullBodyFuncAnimSm.currentRuntimeFuncAnim.AddAnimEvent(interval.StartTime, new SetFuncAnimSpeed()
|
||||||
|
{
|
||||||
|
applyMode = SetFuncAnimSpeed.SpeedApplyMode.Override,
|
||||||
|
getFromBehaviorTree = false,
|
||||||
|
targetSpeed = 1f
|
||||||
|
});
|
||||||
|
fullBodyFuncAnimSm.currentRuntimeFuncAnim.AddAnimEvent(interval.EndTime, new SetFuncAnimSpeed()
|
||||||
|
{
|
||||||
|
applyMode = SetFuncAnimSpeed.SpeedApplyMode.Override,
|
||||||
|
getFromBehaviorTree = false,
|
||||||
|
targetSpeed = 1f
|
||||||
|
});
|
||||||
|
player.movementSc.Teleport(targetPos, warpDuration);
|
||||||
|
}
|
||||||
|
|
||||||
float totalTime = fullBodyFuncAnimSm.GetIntervalScaledDuration(IntervalType.Startup) - 0.2f;
|
float totalTime = fullBodyFuncAnimSm.GetIntervalScaledDuration(IntervalType.Startup) - 0.2f;
|
||||||
CombatManager.EnemySm.activeEnemiesList.ForEach(enemy =>
|
CombatManager.EnemySm.activeEnemiesList.ForEach(enemy =>
|
||||||
{
|
{
|
||||||
@@ -288,8 +322,28 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
functionSm["HeavyAttack"].Execute();
|
functionSm["HeavyAttack"].Execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
bool TryPlayParryAttack(Enemy parryTarget, List<Enemy> enemies)
|
||||||
|
{
|
||||||
|
if (parryTarget != null && !enemies.Contains(parryTarget))
|
||||||
|
{
|
||||||
|
float distance = Vector3.Distance(player.transform.position.Flatten(), parryTarget.transform.position.Flatten());
|
||||||
|
return PlayTargetedAnimation(distance > 2f ? "DodgeParryAttack" : "BlockParryAttack", parryTarget);
|
||||||
|
}
|
||||||
|
return PlayTargetedAnimation("BlockParryAttack");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnSpecialAPress()
|
||||||
|
{
|
||||||
|
if (functionSm["UltimateAttack"].IsAvailable())
|
||||||
|
{
|
||||||
|
PlayTargetedAnimation("UltimateAttack");
|
||||||
|
functionSm["UltimateAttack"].Execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnSpecialCPress()
|
public override void OnSpecialCPress()
|
||||||
{
|
{
|
||||||
comboSm.main.Reset();
|
comboSm.main.Reset();
|
||||||
@@ -314,11 +368,6 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
|
|
||||||
player.selfTimeSm.AddLocalTimer(0.04f, () => RemoveBlock());
|
player.selfTimeSm.AddLocalTimer(0.04f, () => RemoveBlock());
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnSpecialBPress()
|
|
||||||
{
|
|
||||||
PlayTargetedAnimation("UltimateAttack");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public partial class Polychrome
|
public partial class Polychrome
|
||||||
@@ -400,27 +449,4 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// =================================================================
|
|
||||||
// 以下为已废弃的 ExtraUIContainer 相关代码 / Deprecated ExtraUIContainer Codes
|
|
||||||
// =================================================================
|
|
||||||
/*
|
|
||||||
public partial class Polychrome
|
|
||||||
{
|
|
||||||
private PolychromeExtraUIContainer ExtraUIContainer => extraUIContainer as PolychromeExtraUIContainer;
|
|
||||||
|
|
||||||
// OnEquipped:
|
|
||||||
// extraUIContainer = Instantiate(extraUIContainerPrefab, PlayerCanvas.MainWeaponUIArea.transform).GetComponent<MainWeaponExtraUIContainer>();
|
|
||||||
// extraUIContainer.mainWeapon = this;
|
|
||||||
|
|
||||||
// OnUnequipped:
|
|
||||||
// Destroy(extraUIContainer.gameObject);
|
|
||||||
|
|
||||||
// UpdateVisuals:
|
|
||||||
// if (ExtraUIContainer != null)
|
|
||||||
// {
|
|
||||||
// ExtraUIContainer.SetStars(level);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
@@ -1,13 +1,5 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using ChocDino.UIFX;
|
|
||||||
using Cielonos.MainGame.Buffs.Character;
|
|
||||||
using Cielonos.MainGame.Characters;
|
using Cielonos.MainGame.Characters;
|
||||||
using Cielonos.MainGame.Effects.Feedback;
|
using Cielonos.MainGame.Effects.Feedback;
|
||||||
using Cielonos.MainGame.UI;
|
|
||||||
using SLSUtilities.Feedback;
|
|
||||||
using SLSUtilities.General;
|
|
||||||
using SLSUtilities.FunctionalAnimation;
|
|
||||||
using SLSUtilities.WwiseAssistance;
|
using SLSUtilities.WwiseAssistance;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Random = UnityEngine.Random;
|
using Random = UnityEngine.Random;
|
||||||
@@ -114,11 +106,9 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
|
|
||||||
slash.Initialize<NormalArea>(player, this, Fraction.Enemy)
|
slash.Initialize<NormalArea>(player, this, Fraction.Enemy)
|
||||||
.SetAttackSubmodule<NormalArea>(attackUnit)
|
.SetAttackSubmodule<NormalArea>(attackUnit)
|
||||||
.SetTimeSubmodule<NormalArea>(2f, 0f, 0.22f)
|
.SetTimeSubmodule<NormalArea>(2f, 0.02f, 0.24f)
|
||||||
.SetHitSubmodule<NormalArea>(0.07f, 3);
|
.SetHitSubmodule<NormalArea>(0.07f, 3);
|
||||||
|
|
||||||
slash.SetImpulseSubmodule(1f).WithRepulsion(5f);
|
|
||||||
|
|
||||||
slash.hitSm.AddHitSound(AK.EVENTS.POLYCHROME_HEAVYATTACKLHIT)
|
slash.hitSm.AddHitSound(AK.EVENTS.POLYCHROME_HEAVYATTACKLHIT)
|
||||||
.AddHitEvent((enemy, hitPosition) =>
|
.AddHitEvent((enemy, hitPosition) =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
using System;
|
||||||
using Cielonos.MainGame.Characters;
|
using Cielonos.MainGame.Characters;
|
||||||
|
using SLSUtilities.General;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Cielonos.MainGame.Inventory.Collections
|
namespace Cielonos.MainGame.Inventory.Collections
|
||||||
@@ -8,7 +10,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
/// - 提供与激情系统等级相关的属性加成。
|
/// - 提供与激情系统等级相关的属性加成。
|
||||||
/// - 加成效果根据激情等级逐级递增,最高可达 SSS 级别。
|
/// - 加成效果根据激情等级逐级递增,最高可达 SSS 级别。
|
||||||
/// 具体效果如下:
|
/// 具体效果如下:
|
||||||
/// - C级:+4 能量回复,+0 攻击获得能量,0% 攻击速度,0% 暴击率,0% 受到的最终伤害倍率
|
/// - C级:+3 能量回复,+0 攻击获得能量,0% 攻击速度,0% 暴击率,0% 受到的最终伤害倍率
|
||||||
/// - B级:+2 能量回复,+0 攻击获得能量,1% 攻击速度,2% 暴击率,0% 受到的最终伤害倍率
|
/// - B级:+2 能量回复,+0 攻击获得能量,1% 攻击速度,2% 暴击率,0% 受到的最终伤害倍率
|
||||||
/// - A级:+1 能量回复,+0 攻击获得能量,2% 攻击速度,4% 暴击率,0% 受到的最终伤害倍率
|
/// - A级:+1 能量回复,+0 攻击获得能量,2% 攻击速度,4% 暴击率,0% 受到的最终伤害倍率
|
||||||
/// - S级:+0 能量回复,+1 攻击获得能量,3% 攻击速度,6% 暴击率,5% 受到的最终伤害倍率
|
/// - S级:+0 能量回复,+1 攻击获得能量,3% 攻击速度,6% 暴击率,5% 受到的最终伤害倍率
|
||||||
@@ -38,8 +40,8 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
|
|
||||||
public override void OnDiscarded()
|
public override void OnDiscarded()
|
||||||
{
|
{
|
||||||
base.OnDiscarded();
|
|
||||||
_passionSystem.OnLevelChanged -= Refresh;
|
_passionSystem.OnLevelChanged -= Refresh;
|
||||||
|
base.OnDiscarded();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Refresh(int oldLevel, int newLevel)
|
private void Refresh(int oldLevel, int newLevel)
|
||||||
@@ -51,6 +53,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
private void UpdateAttributes()
|
private void UpdateAttributes()
|
||||||
{
|
{
|
||||||
passiveAttributeSm.charAttrNumericChange[CharacterAttribute.EnergyRegeneration] = GetEnergyRegen();
|
passiveAttributeSm.charAttrNumericChange[CharacterAttribute.EnergyRegeneration] = GetEnergyRegen();
|
||||||
|
passiveAttributeSm.charAttrNumericChange[CharacterAttribute.EnergyGainByAttack] = GetEnergyGainByAttack();
|
||||||
passiveAttributeSm.chaAttrPercentageChangeOfAccumulation[CharacterAttribute.AttackSpeed] = GetAttackSpeed();
|
passiveAttributeSm.chaAttrPercentageChangeOfAccumulation[CharacterAttribute.AttackSpeed] = GetAttackSpeed();
|
||||||
passiveAttributeSm.charAttrNumericChange[CharacterAttribute.CriticalAttackChance] = GetCriticalAttackChance();
|
passiveAttributeSm.charAttrNumericChange[CharacterAttribute.CriticalAttackChance] = GetCriticalAttackChance();
|
||||||
passiveAttributeSm.chaAttrPercentageChangeOfMultiplication[CharacterAttribute.FinalDamageReceivedMultiplier] = GetFinalDamageReceivedMultiplier();
|
passiveAttributeSm.chaAttrPercentageChangeOfMultiplication[CharacterAttribute.FinalDamageReceivedMultiplier] = GetFinalDamageReceivedMultiplier();
|
||||||
@@ -63,7 +66,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
|||||||
{
|
{
|
||||||
return PassionLevel switch
|
return PassionLevel switch
|
||||||
{
|
{
|
||||||
0 => 4.0f, // C-Rank
|
0 => 3.0f, // C-Rank
|
||||||
1 => 2.0f, // B-Rank
|
1 => 2.0f, // B-Rank
|
||||||
2 => 1.0f, // A-Rank
|
2 => 1.0f, // A-Rank
|
||||||
_ => 0.0f // S, SS, SSS (Ranks 3, 4, 5)
|
_ => 0.0f // S, SS, SSS (Ranks 3, 4, 5)
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Back_00
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: d65f536d666aec348baa6c8fe6a0844a, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 11.346
|
||||||
|
beatMarkers: []
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d6c3f7ba9c0b0b84e8e7953111e59b0d
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Back_01
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 53d01043d863483429cc2d9809876da4, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 11.031
|
||||||
|
beatMarkers: []
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ed1413903caf9d84a986254048ff5f1e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Back_02
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 801b89ad79583d84291be4be2c5e9949, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 16.052
|
||||||
|
beatMarkers: []
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6b565265535aa2943981ecc325e52b51
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Func_00
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: a585ced711c602c4297ec117c32e24b9, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 4.016
|
||||||
|
beatMarkers:
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- Normal
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 3
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 119d0222713540649bc507c5436fc808
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Func_01
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: a7ff460b65cb2334ab875d06bcc2373d, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 4.013
|
||||||
|
beatMarkers:
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- Normal
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 3
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 73c0bfd6deca2494d871db60f90c7924
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Func_02
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: e75aa8581e5c3814ca3874c1ac80d6d1, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 4.013
|
||||||
|
beatMarkers:
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- Normal
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 3
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 23d5a38a23454ab47afb0c9dcd8089f7
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
%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: 1bbb15cae81a83543bbc5da32d7a03b1, type: 3}
|
||||||
|
m_Name: CieIFD_Func_03
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.MusicBeatData
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes: []
|
||||||
|
musicSwitch:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
groupIdInternal: 0
|
||||||
|
groupGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: ef14fc900d426df4699b590122abc7bf, type: 2}
|
||||||
|
musicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 490938cc29815d54498a3ff46a7b7078, type: 2}
|
||||||
|
stopMusicEvent:
|
||||||
|
idInternal: 0
|
||||||
|
valueGuidInternal:
|
||||||
|
WwiseObjectReference: {fileID: 11400000, guid: 55dc807cde468a0429fb934d73c29793, type: 2}
|
||||||
|
bpm: 240
|
||||||
|
beatsPerBar: 8
|
||||||
|
audioStartOffset: 0
|
||||||
|
totalDuration: 4.349
|
||||||
|
beatMarkers:
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 2
|
||||||
|
tags:
|
||||||
|
- Normal
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 3
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f9d2c5b5062107a4cabd67723cdc58eb
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,421 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 战斗音乐控制器,负责处理功能音乐的无缝随机切换,以及并行的 BGM 音轨按小节边界起播/停止。
|
||||||
|
/// </summary>
|
||||||
|
[AddComponentMenu("Cielonos/Rhythm/CombatMusicController")]
|
||||||
|
public class CombatMusicController : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("System References")]
|
||||||
|
[Tooltip("全局节拍战斗系统的引用")]
|
||||||
|
public MusicBeatSystem beatSystem;
|
||||||
|
|
||||||
|
[Header("BGM Settings")]
|
||||||
|
[Tooltip("播放背景音乐 Switch 容器的 Wwise Event")]
|
||||||
|
public AK.Wwise.Event bgmMusicEvent;
|
||||||
|
|
||||||
|
[Tooltip("所有可用的背景音乐 Wwise Segment 名称 (对应 Wwise 中的 Switch 值)")]
|
||||||
|
public List<string> bgmSegments = new List<string>
|
||||||
|
{
|
||||||
|
"Back_00",
|
||||||
|
"Back_01",
|
||||||
|
"Back_02"
|
||||||
|
};
|
||||||
|
|
||||||
|
[Header("Functional Music Settings")]
|
||||||
|
[Tooltip("播放功能音乐 Switch 容器的 Wwise Event")]
|
||||||
|
public AK.Wwise.Event functionalMusicEvent;
|
||||||
|
|
||||||
|
[Tooltip("初始播放的音乐片段 Switch 名称")]
|
||||||
|
public string initialSegment = "Func_00";
|
||||||
|
|
||||||
|
[Tooltip("所有可用的功能音乐 Wwise Segment 名称 (对应 Wwise 中的 Switch 值)")]
|
||||||
|
public List<string> functionalSegments = new List<string>
|
||||||
|
{
|
||||||
|
"Func_00",
|
||||||
|
"Func_01",
|
||||||
|
"Func_02",
|
||||||
|
"Func_03"
|
||||||
|
};
|
||||||
|
|
||||||
|
// 运行时 BGM 状态跟踪字典
|
||||||
|
private readonly Dictionary<string, bool> bgmTargetStates = new Dictionary<string, bool>();
|
||||||
|
private readonly Dictionary<string, bool> bgmIsPlaying = new Dictionary<string, bool>();
|
||||||
|
private readonly Dictionary<string, uint> bgmPlayingIDs = new Dictionary<string, uint>();
|
||||||
|
private readonly Dictionary<string, GameObject> bgmGameObjects = new Dictionary<string, GameObject>();
|
||||||
|
|
||||||
|
// 等待下一个全局 PrepareNext 边界才起播的 BGM 片段队列
|
||||||
|
private readonly HashSet<string> pendingBgmStarts = new HashSet<string>();
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
// 初始化每个 BGM 段落的运行状态与子 GameObject
|
||||||
|
foreach (var seg in bgmSegments)
|
||||||
|
{
|
||||||
|
bgmTargetStates[seg] = false;
|
||||||
|
bgmIsPlaying[seg] = false;
|
||||||
|
bgmPlayingIDs[seg] = 0;
|
||||||
|
|
||||||
|
// 为每个 BGM 片段创建独立的子 GameObject,以便并行播放和接收独立的节拍回调
|
||||||
|
GameObject go = new GameObject($"BGM_Layer_{seg}");
|
||||||
|
go.transform.SetParent(transform);
|
||||||
|
bgmGameObjects[seg] = go;
|
||||||
|
|
||||||
|
// 在节拍注册表中注册此子物体
|
||||||
|
MusicBeatSystem.RegisterRhythmGameObject(go);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
if (beatSystem == null)
|
||||||
|
{
|
||||||
|
beatSystem = GetComponent<MusicBeatSystem>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (beatSystem != null)
|
||||||
|
{
|
||||||
|
beatSystem.OnPrepareNextSegment += DecideNextSegment;
|
||||||
|
beatSystem.OnUserCueReceived += HandleTrackUserCue;
|
||||||
|
beatSystem.OnGlobalPrepareNext += OnGlobalPrepareNextFired;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
if (beatSystem != null)
|
||||||
|
{
|
||||||
|
beatSystem.OnPrepareNextSegment -= DecideNextSegment;
|
||||||
|
beatSystem.OnUserCueReceived -= HandleTrackUserCue;
|
||||||
|
beatSystem.OnGlobalPrepareNext -= OnGlobalPrepareNextFired;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
// 释放所有动态创建的子 GameObject
|
||||||
|
foreach (var pair in bgmGameObjects)
|
||||||
|
{
|
||||||
|
if (pair.Value != null)
|
||||||
|
{
|
||||||
|
MusicBeatSystem.UnregisterRhythmGameObject(pair.Value);
|
||||||
|
Destroy(pair.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#region BGM Inspector Controls
|
||||||
|
|
||||||
|
[Button("Play/Stop Back_00 (8 Bars)")]
|
||||||
|
public void ToggleBack_00() => ToggleBgmTrack("Back_00");
|
||||||
|
|
||||||
|
[Button("Play/Stop Back_01 (8 Bars)")]
|
||||||
|
public void ToggleBack_01() => ToggleBgmTrack("Back_01");
|
||||||
|
|
||||||
|
[Button("Play/Stop Back_02 (16 Bars)")]
|
||||||
|
public void ToggleBack_02() => ToggleBgmTrack("Back_02");
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region BGM Implementation
|
||||||
|
|
||||||
|
private void ToggleBgmTrack(string segmentName)
|
||||||
|
{
|
||||||
|
if (!bgmTargetStates.ContainsKey(segmentName)) return;
|
||||||
|
|
||||||
|
bgmTargetStates[segmentName] = !bgmTargetStates[segmentName];
|
||||||
|
Debug.Log($"[CombatMusicController] Toggle BGM Segment '{segmentName}': Target state is now {bgmTargetStates[segmentName]}");
|
||||||
|
|
||||||
|
if (bgmTargetStates[segmentName])
|
||||||
|
{
|
||||||
|
// 确保 beatSystem 已激活(用于接收 PrepareNext 通知)
|
||||||
|
if (beatSystem != null && !beatSystem.IsActive)
|
||||||
|
{
|
||||||
|
beatSystem.Activate(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bgmIsPlaying[segmentName] && !pendingBgmStarts.Contains(segmentName))
|
||||||
|
{
|
||||||
|
// 如果没有任何音乐在播放或排队,立即起播(第一次)
|
||||||
|
// 否则,排入队列等待下一个全局 PrepareNext 边界对齐
|
||||||
|
if (!AnyBgmPlaying() && !AnyBgmPending())
|
||||||
|
{
|
||||||
|
Debug.Log($"[CombatMusicController] No music playing, starting BGM '{segmentName}' immediately.");
|
||||||
|
StartBgmImmediately(segmentName);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pendingBgmStarts.Add(segmentName);
|
||||||
|
Debug.Log($"[CombatMusicController] BGM '{segmentName}' queued, will start at next PrepareNext boundary.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 取消播放:从待播队列中移除(如果还没起播)
|
||||||
|
pendingBgmStarts.Remove(segmentName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool AnyBgmPlaying()
|
||||||
|
{
|
||||||
|
foreach (var pair in bgmIsPlaying)
|
||||||
|
{
|
||||||
|
if (pair.Value) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool AnyBgmPending()
|
||||||
|
{
|
||||||
|
return pendingBgmStarts.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当全局主音乐(Func 轨)的 PrepareNext 到达时,将所有等待中的 BGM 片段一起起播。
|
||||||
|
/// Wwise 引擎会将它们精确对齐到 Exit Cue 边界!
|
||||||
|
/// </summary>
|
||||||
|
private void OnGlobalPrepareNextFired()
|
||||||
|
{
|
||||||
|
if (pendingBgmStarts.Count == 0) return;
|
||||||
|
|
||||||
|
var toStart = new List<string>(pendingBgmStarts);
|
||||||
|
pendingBgmStarts.Clear();
|
||||||
|
|
||||||
|
uint callbackFlags = (uint)(
|
||||||
|
AkCallbackType.AK_MusicSyncBeat |
|
||||||
|
AkCallbackType.AK_MusicSyncEntry |
|
||||||
|
AkCallbackType.AK_MusicSyncUserCue |
|
||||||
|
AkCallbackType.AK_EndOfEvent
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach (var seg in toStart)
|
||||||
|
{
|
||||||
|
if (!bgmTargetStates.ContainsKey(seg) || !bgmTargetStates[seg]) continue;
|
||||||
|
if (bgmIsPlaying[seg]) continue;
|
||||||
|
|
||||||
|
bgmIsPlaying[seg] = true;
|
||||||
|
AkUnitySoundEngine.SetSwitch(beatSystem.musicSegmentSwitchGroup, seg, bgmGameObjects[seg]);
|
||||||
|
|
||||||
|
uint newID = bgmMusicEvent.Post(
|
||||||
|
bgmGameObjects[seg],
|
||||||
|
callbackFlags,
|
||||||
|
beatSystem.OnWwiseMusicCallback,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
|
||||||
|
if (newID != 0)
|
||||||
|
{
|
||||||
|
bgmPlayingIDs[seg] = newID;
|
||||||
|
Debug.Log($"[CombatMusicController] BGM '{seg}' started at PrepareNext boundary. ID={newID}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bgmIsPlaying[seg] = false;
|
||||||
|
Debug.LogError($"[CombatMusicController] Failed to post BGM event for '{seg}'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartBgmImmediately(string segmentName)
|
||||||
|
{
|
||||||
|
if (bgmMusicEvent == null || !bgmMusicEvent.IsValid())
|
||||||
|
{
|
||||||
|
Debug.LogError($"[CombatMusicController] Cannot play BGM: Event is invalid.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GameObject go = bgmGameObjects[segmentName];
|
||||||
|
uint callbackFlags = (uint)(
|
||||||
|
AkCallbackType.AK_MusicSyncBeat |
|
||||||
|
AkCallbackType.AK_MusicSyncEntry |
|
||||||
|
AkCallbackType.AK_MusicSyncUserCue |
|
||||||
|
AkCallbackType.AK_EndOfEvent
|
||||||
|
);
|
||||||
|
|
||||||
|
// 设置 Wwise Switch 以让此子物体播放当前 segment 音频
|
||||||
|
AkUnitySoundEngine.SetSwitch(beatSystem.musicSegmentSwitchGroup, segmentName, go);
|
||||||
|
|
||||||
|
uint playingID = bgmMusicEvent.Post(
|
||||||
|
go,
|
||||||
|
callbackFlags,
|
||||||
|
beatSystem.OnWwiseMusicCallback,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
|
||||||
|
if (playingID != 0)
|
||||||
|
{
|
||||||
|
bgmIsPlaying[segmentName] = true;
|
||||||
|
bgmPlayingIDs[segmentName] = playingID;
|
||||||
|
Debug.Log($"[CombatMusicController] Posted BGM Event for '{segmentName}' immediately on '{go.name}', playingID={playingID}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleTrackUserCue(uint playingID, string cueName)
|
||||||
|
{
|
||||||
|
// 查找是哪个 BGM 片段触发的回调
|
||||||
|
string triggeringSegment = null;
|
||||||
|
foreach (var pair in bgmPlayingIDs)
|
||||||
|
{
|
||||||
|
if (pair.Value == playingID)
|
||||||
|
{
|
||||||
|
triggeringSegment = pair.Key;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (triggeringSegment == null) return;
|
||||||
|
|
||||||
|
if (cueName == "PrepareNext")
|
||||||
|
{
|
||||||
|
uint callbackFlags = (uint)(
|
||||||
|
AkCallbackType.AK_MusicSyncBeat |
|
||||||
|
AkCallbackType.AK_MusicSyncEntry |
|
||||||
|
AkCallbackType.AK_MusicSyncUserCue |
|
||||||
|
AkCallbackType.AK_EndOfEvent
|
||||||
|
);
|
||||||
|
|
||||||
|
// 1. 如果该 BGM 被要求继续播放,由于 Wwise 可能没有配置原生循环,
|
||||||
|
// 我们在 PrepareNext 时刻(提前)再次 Post Event,让 Wwise 引擎将其调度到下一个 Exit 点无缝衔接起播!
|
||||||
|
if (bgmTargetStates[triggeringSegment])
|
||||||
|
{
|
||||||
|
uint newID = bgmMusicEvent.Post(
|
||||||
|
bgmGameObjects[triggeringSegment],
|
||||||
|
callbackFlags,
|
||||||
|
beatSystem.OnWwiseMusicCallback,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
|
||||||
|
if (newID != 0)
|
||||||
|
{
|
||||||
|
bgmPlayingIDs[triggeringSegment] = newID;
|
||||||
|
Debug.Log($"[CombatMusicController] Loop transition: Re-posted Event for BGM '{triggeringSegment}'. New ID: {newID}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 如果被要求停止,我们什么都不做,让当前片段自然播放完毕并触发 EndOfEvent 即可。
|
||||||
|
|
||||||
|
// 2. 检查是否有排队等待播放的其他 BGM 片段。
|
||||||
|
// 同样在此时刻 Post 它们,Wwise 引擎会自动将它们与当前音频的小节边界完美对齐!
|
||||||
|
foreach (var seg in bgmSegments)
|
||||||
|
{
|
||||||
|
if (seg != triggeringSegment && bgmTargetStates[seg] && !bgmIsPlaying[seg])
|
||||||
|
{
|
||||||
|
bgmIsPlaying[seg] = true;
|
||||||
|
|
||||||
|
// 确保对应的 GameObject Switch 正确
|
||||||
|
AkUnitySoundEngine.SetSwitch(beatSystem.musicSegmentSwitchGroup, seg, bgmGameObjects[seg]);
|
||||||
|
|
||||||
|
uint newSegID = bgmMusicEvent.Post(
|
||||||
|
bgmGameObjects[seg],
|
||||||
|
callbackFlags,
|
||||||
|
beatSystem.OnWwiseMusicCallback,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
|
||||||
|
if (newSegID != 0)
|
||||||
|
{
|
||||||
|
bgmPlayingIDs[seg] = newSegID;
|
||||||
|
Debug.Log($"[CombatMusicController] Queued start: Posted Event for BGM '{seg}' during PrepareNext. ID: {newSegID}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (cueName == "EndOfEvent")
|
||||||
|
{
|
||||||
|
// 注意:由于我们在 PrepareNext 处更新了 bgmPlayingIDs,
|
||||||
|
// 此时旧的 playingID 已经与字典中的不匹配了,所以旧事件的 EndOfEvent 会在上面的循环中返回 null 并忽略!
|
||||||
|
// 只有真正停止播放(未更新 ID)的 EndOfEvent 才会走到这里,实现完美的状态清理!
|
||||||
|
bgmIsPlaying[triggeringSegment] = false;
|
||||||
|
bgmPlayingIDs[triggeringSegment] = 0;
|
||||||
|
Debug.Log($"[CombatMusicController] BGM Segment '{triggeringSegment}' terminated naturally in Wwise (EndOfEvent).");
|
||||||
|
|
||||||
|
if (!AnyBgmPlaying())
|
||||||
|
{
|
||||||
|
bool queuedBgmStarted = false;
|
||||||
|
foreach (var seg in bgmSegments)
|
||||||
|
{
|
||||||
|
if (bgmTargetStates[seg] && !bgmIsPlaying[seg])
|
||||||
|
{
|
||||||
|
Debug.Log($"[CombatMusicController] Starting queued BGM '{seg}' since all others stopped.");
|
||||||
|
if (beatSystem != null && !beatSystem.IsActive)
|
||||||
|
{
|
||||||
|
beatSystem.Activate(null);
|
||||||
|
}
|
||||||
|
StartBgmImmediately(seg);
|
||||||
|
queuedBgmStarted = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!queuedBgmStarted && beatSystem != null && beatSystem.IsActive)
|
||||||
|
{
|
||||||
|
beatSystem.Deactivate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (cueName.StartsWith("Entry_"))
|
||||||
|
{
|
||||||
|
bgmIsPlaying[triggeringSegment] = true;
|
||||||
|
Debug.Log($"[CombatMusicController] BGM Segment '{triggeringSegment}' entered and is now running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Functional Music Implementation
|
||||||
|
|
||||||
|
[Button("Play Functional Music")]
|
||||||
|
public void PlayFunctionalMusic()
|
||||||
|
{
|
||||||
|
if (beatSystem == null)
|
||||||
|
{
|
||||||
|
beatSystem = GetComponent<MusicBeatSystem>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (beatSystem != null)
|
||||||
|
{
|
||||||
|
beatSystem.Activate(functionalMusicEvent, initialSegment);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogError("[CombatMusicController] Cannot play: MusicBeatSystem reference is missing.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string DecideNextSegment(GameObject targetGO, string currentSegmentName)
|
||||||
|
{
|
||||||
|
if (beatSystem == null || targetGO != beatSystem.gameObject)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (functionalSegments == null || functionalSegments.Count == 0)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
List<string> candidates = new List<string>(functionalSegments);
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(currentSegmentName))
|
||||||
|
{
|
||||||
|
candidates.Remove(currentSegmentName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (candidates.Count > 0)
|
||||||
|
{
|
||||||
|
int randomIndex = UnityEngine.Random.Range(0, candidates.Count);
|
||||||
|
string selectedSegment = candidates[randomIndex];
|
||||||
|
|
||||||
|
Debug.Log($"[CombatMusicController] Transition Decision: GameObject '{targetGO.name}' currently playing '{currentSegmentName}', selected next: '{selectedSegment}'");
|
||||||
|
return selectedSegment;
|
||||||
|
}
|
||||||
|
|
||||||
|
return functionalSegments[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2d333c7739ebda943914444d847d66bc
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Cielonos.MainGame
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 挂载在敌人等 GameObject 上的局部节奏追踪组件,用来追踪该物体上独立播放的 Wwise Segment。
|
||||||
|
/// </summary>
|
||||||
|
[AddComponentMenu("Cielonos/Rhythm/LocalRhythmTracker")]
|
||||||
|
public class LocalRhythmTracker : MonoBehaviour, ILocalRhythmTracker
|
||||||
|
{
|
||||||
|
public MusicBeatData CurrentBeatData { get; private set; }
|
||||||
|
public float CurrentSongTime { get; private set; }
|
||||||
|
public bool IsPlaying { get; private set; }
|
||||||
|
|
||||||
|
private float pendingSyncTime = -1f;
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
// 自动将自身注册到全局物体映射表中,使 Wwise 回调能识别此 GameObject
|
||||||
|
MusicBeatSystem.RegisterRhythmGameObject(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
MusicBeatSystem.UnregisterRhythmGameObject(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnSegmentTransitioned(MusicBeatData localBeatData)
|
||||||
|
{
|
||||||
|
CurrentBeatData = localBeatData;
|
||||||
|
CurrentSongTime = localBeatData != null ? localBeatData.audioStartOffset : 0f;
|
||||||
|
IsPlaying = localBeatData != null;
|
||||||
|
pendingSyncTime = -1f;
|
||||||
|
Debug.Log($"[LocalRhythmTracker] Segment transitioned on '{gameObject.name}' to '{localBeatData?.name}'");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReceiveSyncBeat(float musicPositionSec, float beatDuration)
|
||||||
|
{
|
||||||
|
float offset = CurrentBeatData != null ? CurrentBeatData.audioStartOffset : 0f;
|
||||||
|
pendingSyncTime = musicPositionSec + offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (CurrentBeatData == null) return;
|
||||||
|
|
||||||
|
if (pendingSyncTime >= 0f)
|
||||||
|
{
|
||||||
|
CurrentSongTime = pendingSyncTime;
|
||||||
|
pendingSyncTime = -1f;
|
||||||
|
IsPlaying = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsPlaying)
|
||||||
|
{
|
||||||
|
CurrentSongTime += Time.deltaTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 59460bbbea550b04ba6b882bfd02692b
|
||||||
@@ -7,6 +7,27 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace Cielonos.MainGame
|
namespace Cielonos.MainGame
|
||||||
{
|
{
|
||||||
|
[System.Serializable]
|
||||||
|
public struct SegmentDataMapping
|
||||||
|
{
|
||||||
|
[Tooltip("Wwise 中 Music Segment 的名称 (例如 BGM_Intensity_01)")]
|
||||||
|
public string segmentName;
|
||||||
|
[Tooltip("对应的 Unity MusicBeatData 谱面数据")]
|
||||||
|
public MusicBeatData beatData;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 局部节拍追踪器接口,用于接收物体上局部播放的音乐片段切换事件
|
||||||
|
/// </summary>
|
||||||
|
public interface ILocalRhythmTracker
|
||||||
|
{
|
||||||
|
void OnSegmentTransitioned(MusicBeatData localBeatData);
|
||||||
|
void ReceiveSyncBeat(float musicPositionSec, float beatDuration);
|
||||||
|
bool IsPlaying { get; }
|
||||||
|
float CurrentSongTime { get; }
|
||||||
|
MusicBeatData CurrentBeatData { get; }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 音乐节拍战斗系统。激活时覆盖 BackgroundMusicManager 播放对应 BGM,
|
/// 音乐节拍战斗系统。激活时覆盖 BackgroundMusicManager 播放对应 BGM,
|
||||||
/// 通过 Wwise AK_MusicSyncBeat 回调 + MusicBeatData 谱面进行双轨节拍追踪,
|
/// 通过 Wwise AK_MusicSyncBeat 回调 + MusicBeatData 谱面进行双轨节拍追踪,
|
||||||
@@ -71,6 +92,19 @@ namespace Cielonos.MainGame
|
|||||||
[ShowInInspector, ReadOnly]
|
[ShowInInspector, ReadOnly]
|
||||||
public float CurrentBPM { get; private set; }
|
public float CurrentBPM { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前播放的 Wwise Segment 名称 (例如 Func_00)
|
||||||
|
/// </summary>
|
||||||
|
[ShowInInspector, ReadOnly]
|
||||||
|
public string CurrentWwiseSegmentName { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前小节内的拍号(1-based)。由 Wwise MusicSyncBeat 回调每拍递增,在 Entry 时归 1。
|
||||||
|
/// 例如 4/4 拍时值为 1~4 循环。
|
||||||
|
/// </summary>
|
||||||
|
[ShowInInspector, ReadOnly]
|
||||||
|
public int CurrentBarBeat { get; private set; } = 1;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Events
|
#region Events
|
||||||
@@ -95,6 +129,18 @@ namespace Cielonos.MainGame
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event Action OnDeactivated;
|
public event Action OnDeactivated;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当收到任何 Wwise User Cue 时触发。
|
||||||
|
/// 参数:1. playingID, 2. cueName。
|
||||||
|
/// </summary>
|
||||||
|
public event Action<uint, string> OnUserCueReceived;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当全局主音乐(MusicBeatSystem 自身 GameObject)收到 PrepareNext Cue 时触发。
|
||||||
|
/// BGM 系统可以监听此事件,在音乐边界精确地起播 Back 音轨。
|
||||||
|
/// </summary>
|
||||||
|
public event Action OnGlobalPrepareNext;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Private Fields
|
#region Private Fields
|
||||||
@@ -104,6 +150,11 @@ namespace Cielonos.MainGame
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private int nextBeatIndex;
|
private int nextBeatIndex;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 由 MusicSyncBeat 回调累计的原始拍号计数(每个 Entry 时清零),用于推算 CurrentBarBeat
|
||||||
|
/// </summary>
|
||||||
|
private int rawBeatCount;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Wwise 播放实例 ID
|
/// Wwise 播放实例 ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -120,21 +171,47 @@ namespace Cielonos.MainGame
|
|||||||
[ShowInInspector]
|
[ShowInInspector]
|
||||||
private volatile float pendingSyncTime = -1f;
|
private volatile float pendingSyncTime = -1f;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Wwise 回调报告的 beatDuration(秒),用于反推实际 BPM
|
|
||||||
/// </summary>
|
|
||||||
[ShowInInspector]
|
[ShowInInspector]
|
||||||
private volatile float pendingBeatDuration = -1f;
|
private volatile float pendingBeatDuration = -1f;
|
||||||
|
|
||||||
|
[Header("Dynamic Music Configurations")]
|
||||||
|
[Tooltip("Wwise 中控制音乐片段切换的 Switch Group 名称")]
|
||||||
|
public string musicSegmentSwitchGroup = "Music_Segment";
|
||||||
|
|
||||||
|
[Tooltip("Wwise 音乐片段与 Unity 谱面资产的映射表")]
|
||||||
|
public List<SegmentDataMapping> segmentMappings = new List<SegmentDataMapping>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当音乐运行到 PrepareNext 标记时触发。
|
||||||
|
/// 参数:1. 触发该事件的 GameObject,2. 当前播放的片段名称。
|
||||||
|
/// 返回值:下一个要播放的片段名(Switch 值)。
|
||||||
|
/// </summary>
|
||||||
|
public event Func<GameObject, string, string> OnPrepareNextSegment;
|
||||||
|
|
||||||
|
private struct PendingCallbackData
|
||||||
|
{
|
||||||
|
public enum Type { Entry, Prepare, BeatSync }
|
||||||
|
public Type callbackType;
|
||||||
|
public GameObject targetGO;
|
||||||
|
public string segmentName;
|
||||||
|
public float musicPositionSec;
|
||||||
|
public float beatDuration;
|
||||||
|
public uint playingID;
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly List<PendingCallbackData> pendingCallbacks = new List<PendingCallbackData>();
|
||||||
|
private readonly object callbackLock = new object();
|
||||||
|
|
||||||
|
private static readonly List<GameObject> activeRhythmGameObjects = new List<GameObject>();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Lifecycle
|
#region Lifecycle
|
||||||
|
|
||||||
public MusicBeatData testData;
|
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
bgmManager = AudioManager.Instance.backgroundMusicManager;
|
bgmManager = AudioManager.Instance.backgroundMusicManager;
|
||||||
|
RegisterRhythmGameObject(gameObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
@@ -144,6 +221,9 @@ namespace Cielonos.MainGame
|
|||||||
// 处理 Wwise 回调带来的时间校准
|
// 处理 Wwise 回调带来的时间校准
|
||||||
ProcessPendingSync();
|
ProcessPendingSync();
|
||||||
|
|
||||||
|
// 处理 Entry/Prepare 等回调队列事件
|
||||||
|
ProcessPendingCallbacks();
|
||||||
|
|
||||||
if (!IsPlaying) return;
|
if (!IsPlaying) return;
|
||||||
|
|
||||||
// 推进音乐时间
|
// 推进音乐时间
|
||||||
@@ -155,6 +235,7 @@ namespace Cielonos.MainGame
|
|||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
|
UnregisterRhythmGameObject(gameObject);
|
||||||
if (IsActive)
|
if (IsActive)
|
||||||
{
|
{
|
||||||
Deactivate();
|
Deactivate();
|
||||||
@@ -165,61 +246,60 @@ namespace Cielonos.MainGame
|
|||||||
|
|
||||||
#region Activate / Deactivate
|
#region Activate / Deactivate
|
||||||
|
|
||||||
[Button("Activate Test Data")]
|
[Button("Play Music")]
|
||||||
public void Activate()
|
public void Activate()
|
||||||
{
|
{
|
||||||
if (testData != null)
|
var controller = GetComponent<CombatMusicController>();
|
||||||
|
if (controller != null)
|
||||||
{
|
{
|
||||||
Activate(testData);
|
controller.PlayFunctionalMusic();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.LogWarning("[MusicBeatSystem] No test data assigned for activation");
|
Debug.LogWarning("[MusicBeatSystem] No CombatMusicController or testData found to play music.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 激活节拍系统:加载谱面、覆盖 BGM、注册 Wwise 回调
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="beatData">要加载的谱面数据</param>
|
|
||||||
public void Activate(MusicBeatData beatData)
|
|
||||||
{
|
|
||||||
if (beatData == null)
|
|
||||||
{
|
|
||||||
Debug.LogError("[MusicBeatSystem] Activate failed: beatData is null");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 激活节拍系统:使用 Wwise 事件和初始 Switch 直接启动动态音乐流程
|
||||||
|
/// </summary>
|
||||||
|
public void Activate(AK.Wwise.Event wwiseEvent, string initialSwitch = null)
|
||||||
|
{
|
||||||
if (IsActive)
|
if (IsActive)
|
||||||
{
|
{
|
||||||
Deactivate();
|
Deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure beat markers are sorted before starting tracking
|
CurrentBeatData = null;
|
||||||
beatData.SortBeats();
|
CurrentBPM = 240f; // 默认临时 BPM,直到 Entry Cue 触发表格映射替换
|
||||||
|
|
||||||
CurrentBeatData = beatData;
|
|
||||||
CurrentBPM = beatData.bpm;
|
|
||||||
CurrentSongTime = 0f;
|
CurrentSongTime = 0f;
|
||||||
nextBeatIndex = 0;
|
nextBeatIndex = 0;
|
||||||
IsPlaying = false;
|
IsPlaying = false;
|
||||||
IsActive = true;
|
IsActive = true;
|
||||||
|
|
||||||
// 覆盖 BackgroundMusicManager:先停止当前 BGM,再标记覆盖
|
// 覆盖 BackgroundMusicManager
|
||||||
if (bgmManager != null)
|
if (bgmManager != null)
|
||||||
{
|
{
|
||||||
bgmManager.StopMusic();
|
bgmManager.StopMusic();
|
||||||
bgmManager.SetOverride(true);
|
bgmManager.SetOverride(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在 MusicBeatSystem 自身的 gameObject 上播放节拍音乐
|
if (wwiseEvent != null && wwiseEvent.IsValid())
|
||||||
// 与 BackgroundMusicManager 的 gameObject 隔离,避免 Stop Event 作用域冲突
|
|
||||||
if (beatData.musicEvent != null && beatData.musicEvent.IsValid())
|
|
||||||
{
|
{
|
||||||
uint callbackFlags = (uint)(AkCallbackType.AK_MusicSyncBeat | AkCallbackType.AK_EndOfEvent);
|
uint callbackFlags = (uint)(
|
||||||
beatData.musicSwitch.SetValue(gameObject); // 设置 Switch 以选择正确的音乐变体
|
AkCallbackType.AK_MusicSyncBeat |
|
||||||
|
AkCallbackType.AK_MusicSyncEntry |
|
||||||
|
AkCallbackType.AK_MusicSyncUserCue |
|
||||||
|
AkCallbackType.AK_EndOfEvent
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(initialSwitch))
|
||||||
|
{
|
||||||
|
AkUnitySoundEngine.SetSwitch(musicSegmentSwitchGroup, initialSwitch, gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
PlayerCanvas.CombatSystemsUIArea.beatTimelineUI.Initialize(this);
|
PlayerCanvas.CombatSystemsUIArea.beatTimelineUI.Initialize(this);
|
||||||
wwisePlayingID = beatData.musicEvent.Post(
|
wwisePlayingID = wwiseEvent.Post(
|
||||||
gameObject,
|
gameObject,
|
||||||
callbackFlags,
|
callbackFlags,
|
||||||
OnWwiseMusicCallback,
|
OnWwiseMusicCallback,
|
||||||
@@ -228,24 +308,19 @@ namespace Cielonos.MainGame
|
|||||||
|
|
||||||
if (wwisePlayingID == 0)
|
if (wwisePlayingID == 0)
|
||||||
{
|
{
|
||||||
Debug.LogWarning("[MusicBeatSystem] Wwise Post returned playingID 0, music may not play. " +
|
Debug.LogWarning("[MusicBeatSystem] Wwise Post returned playingID 0 for dynamic music event");
|
||||||
"Check: 1) musicEvent references a Music type (not Sound SFX) " +
|
|
||||||
"2) SoundBank is loaded 3) gameObject is active");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Log($"[MusicBeatSystem] Activated with '{beatData.name}', playingID={wwisePlayingID}, " +
|
Debug.Log($"[MusicBeatSystem] Activated dynamic music flow with Event: '{wwiseEvent.Name}', playingID={wwisePlayingID}");
|
||||||
$"posting on GameObject '{gameObject.name}'");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 无 Wwise Event 时,使用纯谱面模式(仅基于 deltaTime 和谱面数据)
|
Debug.LogWarning("[MusicBeatSystem] No valid Wwise Event provided for dynamic music activation");
|
||||||
Debug.LogWarning("[MusicBeatSystem] No valid Wwise Event on beatData, running in offline mode");
|
|
||||||
IsPlaying = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OnActivated?.Invoke(beatData);
|
OnActivated?.Invoke(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -261,7 +336,8 @@ namespace Cielonos.MainGame
|
|||||||
nextBeatIndex = 0;
|
nextBeatIndex = 0;
|
||||||
pendingSyncTime = -1f;
|
pendingSyncTime = -1f;
|
||||||
pendingBeatDuration = -1f;
|
pendingBeatDuration = -1f;
|
||||||
|
CurrentWwiseSegmentName = null;
|
||||||
|
|
||||||
// 停止 MusicBeatSystem 自己 Post 的节拍音乐
|
// 停止 MusicBeatSystem 自己 Post 的节拍音乐
|
||||||
if (wwisePlayingID != 0)
|
if (wwisePlayingID != 0)
|
||||||
{
|
{
|
||||||
@@ -421,8 +497,11 @@ namespace Cielonos.MainGame
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Wwise 音乐回调处理器(可能在非主线程调用)
|
/// Wwise 音乐回调处理器(可能在非主线程调用)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void OnWwiseMusicCallback(object in_cookie, AkCallbackType in_type, AkCallbackInfo in_info)
|
internal void OnWwiseMusicCallback(object in_cookie, AkCallbackType in_type, AkCallbackInfo in_info)
|
||||||
{
|
{
|
||||||
|
GameObject go = GetGameObjectFromWwiseId(in_info.gameObjID);
|
||||||
|
if (go == null) go = gameObject;
|
||||||
|
|
||||||
if (in_type == AkCallbackType.AK_MusicSyncBeat)
|
if (in_type == AkCallbackType.AK_MusicSyncBeat)
|
||||||
{
|
{
|
||||||
if (in_info is AkMusicSyncCallbackInfo syncInfo)
|
if (in_info is AkMusicSyncCallbackInfo syncInfo)
|
||||||
@@ -431,19 +510,73 @@ namespace Cielonos.MainGame
|
|||||||
// segmentInfo_iCurrentPosition 是当前 segment 内的播放位置(毫秒)
|
// segmentInfo_iCurrentPosition 是当前 segment 内的播放位置(毫秒)
|
||||||
float musicPositionSec = syncInfo.segmentInfo_iCurrentPosition / 1000f;
|
float musicPositionSec = syncInfo.segmentInfo_iCurrentPosition / 1000f;
|
||||||
float beatDuration = syncInfo.segmentInfo_fBeatDuration;
|
float beatDuration = syncInfo.segmentInfo_fBeatDuration;
|
||||||
|
|
||||||
// 将校准数据传递到主线程处理
|
if (go == gameObject)
|
||||||
pendingSyncTime = musicPositionSec + CurrentBeatData.audioStartOffset;
|
{
|
||||||
pendingBeatDuration = beatDuration;
|
// 将校准数据传递到主线程处理 (防空保护)
|
||||||
|
float offset = CurrentBeatData != null ? CurrentBeatData.audioStartOffset : 0f;
|
||||||
|
pendingSyncTime = musicPositionSec + offset;
|
||||||
|
pendingBeatDuration = beatDuration;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lock (callbackLock)
|
||||||
|
{
|
||||||
|
pendingCallbacks.Add(new PendingCallbackData
|
||||||
|
{
|
||||||
|
callbackType = PendingCallbackData.Type.BeatSync,
|
||||||
|
targetGO = go,
|
||||||
|
segmentName = "",
|
||||||
|
musicPositionSec = musicPositionSec,
|
||||||
|
beatDuration = beatDuration
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.LogWarning($"[MusicBeatSystem] Received MusicSync callback with unexpected info type: {in_info.GetType().Name}");
|
Debug.LogWarning($"[MusicBeatSystem] Received MusicSync callback with unexpected info type: {in_info.GetType().Name}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (in_type == AkCallbackType.AK_EndOfEvent)
|
else if (in_type == AkCallbackType.AK_MusicSyncUserCue && in_info is AkMusicSyncCallbackInfo cueInfo)
|
||||||
{
|
{
|
||||||
// 音乐播放结束
|
string cueName = cueInfo.userCueName;
|
||||||
|
lock (callbackLock)
|
||||||
|
{
|
||||||
|
// 所有的 User Cue 都会触发 OnUserCueReceived
|
||||||
|
pendingCallbacks.Add(new PendingCallbackData
|
||||||
|
{
|
||||||
|
callbackType = PendingCallbackData.Type.Prepare,
|
||||||
|
targetGO = go,
|
||||||
|
segmentName = cueName,
|
||||||
|
playingID = cueInfo.playingID
|
||||||
|
});
|
||||||
|
|
||||||
|
// 如果是 Entry_ 开头,则同时触发 Entry 谱面替换逻辑
|
||||||
|
if (!string.IsNullOrEmpty(cueName) && cueName.StartsWith("Entry_"))
|
||||||
|
{
|
||||||
|
string segmentName = cueName.Substring(6);
|
||||||
|
pendingCallbacks.Add(new PendingCallbackData
|
||||||
|
{
|
||||||
|
callbackType = PendingCallbackData.Type.Entry,
|
||||||
|
targetGO = go,
|
||||||
|
segmentName = segmentName
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (in_type == AkCallbackType.AK_EndOfEvent && in_info is AkEventCallbackInfo eventInfo)
|
||||||
|
{
|
||||||
|
lock (callbackLock)
|
||||||
|
{
|
||||||
|
pendingCallbacks.Add(new PendingCallbackData
|
||||||
|
{
|
||||||
|
callbackType = PendingCallbackData.Type.Prepare,
|
||||||
|
targetGO = go,
|
||||||
|
segmentName = "EndOfEvent",
|
||||||
|
playingID = eventInfo.playingID
|
||||||
|
});
|
||||||
|
}
|
||||||
Debug.Log("[MusicBeatSystem] Music playback ended");
|
Debug.Log("[MusicBeatSystem] Music playback ended");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -493,6 +626,163 @@ namespace Cielonos.MainGame
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ProcessPendingCallbacks()
|
||||||
|
{
|
||||||
|
List<PendingCallbackData> localCallbacks = null;
|
||||||
|
|
||||||
|
lock (callbackLock)
|
||||||
|
{
|
||||||
|
if (pendingCallbacks.Count > 0)
|
||||||
|
{
|
||||||
|
localCallbacks = new List<PendingCallbackData>(pendingCallbacks);
|
||||||
|
pendingCallbacks.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (localCallbacks == null) return;
|
||||||
|
|
||||||
|
foreach (var callback in localCallbacks)
|
||||||
|
{
|
||||||
|
if (callback.callbackType == PendingCallbackData.Type.Prepare)
|
||||||
|
{
|
||||||
|
OnUserCueReceived?.Invoke(callback.playingID, callback.segmentName);
|
||||||
|
|
||||||
|
if (callback.segmentName == "PrepareNext" && callback.targetGO == gameObject)
|
||||||
|
{
|
||||||
|
string nextSegment = OnPrepareNextSegment?.Invoke(callback.targetGO, CurrentWwiseSegmentName);
|
||||||
|
if (!string.IsNullOrEmpty(nextSegment))
|
||||||
|
{
|
||||||
|
AkUnitySoundEngine.SetSwitch(musicSegmentSwitchGroup, nextSegment, callback.targetGO);
|
||||||
|
Debug.Log($"[MusicBeatSystem] PrepareNext: transition scheduled on '{callback.targetGO.name}' from '{CurrentWwiseSegmentName}' to '{nextSegment}'");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通知所有订阅者:全局主音乐到达了 PrepareNext 边界
|
||||||
|
OnGlobalPrepareNext?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (callback.callbackType == PendingCallbackData.Type.BeatSync)
|
||||||
|
{
|
||||||
|
var localTracker = callback.targetGO.GetComponent<ILocalRhythmTracker>();
|
||||||
|
if (localTracker != null)
|
||||||
|
{
|
||||||
|
localTracker.ReceiveSyncBeat(callback.musicPositionSec, callback.beatDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (callback.callbackType == PendingCallbackData.Type.Entry)
|
||||||
|
{
|
||||||
|
// Find mapped MusicBeatData
|
||||||
|
MusicBeatData mappedData = null;
|
||||||
|
if (segmentMappings != null)
|
||||||
|
{
|
||||||
|
foreach (var mapping in segmentMappings)
|
||||||
|
{
|
||||||
|
if (mapping.segmentName == callback.segmentName)
|
||||||
|
{
|
||||||
|
mappedData = mapping.beatData;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mappedData != null)
|
||||||
|
{
|
||||||
|
if (callback.targetGO == gameObject)
|
||||||
|
{
|
||||||
|
// Global Master BGM Transition
|
||||||
|
CurrentWwiseSegmentName = callback.segmentName;
|
||||||
|
CurrentBeatData = mappedData;
|
||||||
|
CurrentBPM = mappedData.bpm;
|
||||||
|
CurrentSongTime = mappedData.audioStartOffset;
|
||||||
|
nextBeatIndex = 0;
|
||||||
|
rawBeatCount = 0;
|
||||||
|
CurrentBarBeat = 1;
|
||||||
|
IsPlaying = true;
|
||||||
|
|
||||||
|
// Re-initialize UI
|
||||||
|
PlayerCanvas.CombatSystemsUIArea.beatTimelineUI.Initialize(this);
|
||||||
|
|
||||||
|
Debug.Log($"[MusicBeatSystem] Global Transitioned to Segment: '{callback.segmentName}', BPM={mappedData.bpm}");
|
||||||
|
OnActivated?.Invoke(mappedData);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Local GameObject Segment Transition (e.g. Enemy)
|
||||||
|
var localTracker = callback.targetGO.GetComponent<ILocalRhythmTracker>();
|
||||||
|
if (localTracker != null)
|
||||||
|
{
|
||||||
|
localTracker.OnSegmentTransitioned(mappedData);
|
||||||
|
}
|
||||||
|
Debug.Log($"[MusicBeatSystem] Local Segment Entry: '{callback.segmentName}' on GameObject '{callback.targetGO.name}'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"[MusicBeatSystem] Unmapped segment entry callback: '{callback.segmentName}' on '{callback.targetGO.name}'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RegisterRhythmGameObject(GameObject go)
|
||||||
|
{
|
||||||
|
if (go == null) return;
|
||||||
|
lock (activeRhythmGameObjects)
|
||||||
|
{
|
||||||
|
if (!activeRhythmGameObjects.Contains(go))
|
||||||
|
{
|
||||||
|
activeRhythmGameObjects.Add(go);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UnregisterRhythmGameObject(GameObject go)
|
||||||
|
{
|
||||||
|
if (go == null) return;
|
||||||
|
lock (activeRhythmGameObjects)
|
||||||
|
{
|
||||||
|
activeRhythmGameObjects.Remove(go);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private GameObject GetGameObjectFromWwiseId(ulong gameObjID)
|
||||||
|
{
|
||||||
|
if (gameObjID == (ulong)gameObject.GetInstanceID()) return gameObject;
|
||||||
|
|
||||||
|
lock (activeRhythmGameObjects)
|
||||||
|
{
|
||||||
|
for (int i = activeRhythmGameObjects.Count - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
var go = activeRhythmGameObjects[i];
|
||||||
|
if (go == null)
|
||||||
|
{
|
||||||
|
activeRhythmGameObjects.RemoveAt(i);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ((ulong)go.GetInstanceID() == gameObjID)
|
||||||
|
{
|
||||||
|
return go;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback lookup
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
var objs = FindObjectsByType<AkGameObj>(FindObjectsSortMode.None);
|
||||||
|
#else
|
||||||
|
var objs = FindObjectsOfType<AkGameObj>();
|
||||||
|
#endif
|
||||||
|
foreach (var obj in objs)
|
||||||
|
{
|
||||||
|
if (obj != null && (ulong)obj.gameObject.GetInstanceID() == gameObjID)
|
||||||
|
{
|
||||||
|
RegisterRhythmGameObject(obj.gameObject);
|
||||||
|
return obj.gameObject;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 检查是否到达下一个节拍,触发 onBeat 事件
|
/// 检查是否到达下一个节拍,触发 onBeat 事件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -508,6 +798,11 @@ namespace Cielonos.MainGame
|
|||||||
BeatMarker beat = markers[nextBeatIndex];
|
BeatMarker beat = markers[nextBeatIndex];
|
||||||
nextBeatIndex++;
|
nextBeatIndex++;
|
||||||
|
|
||||||
|
// 更新 CurrentBarBeat(根据 BPM 和小节拍数推算)
|
||||||
|
rawBeatCount++;
|
||||||
|
int beatsPerBar = CurrentBeatData.beatsPerBar > 0 ? CurrentBeatData.beatsPerBar : 4;
|
||||||
|
CurrentBarBeat = ((rawBeatCount - 1) % beatsPerBar) + 1;
|
||||||
|
|
||||||
OnBeat?.Invoke(beat);
|
OnBeat?.Invoke(beat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,40 +43,40 @@ MonoBehaviour:
|
|||||||
- time: 2.5945945
|
- time: 2.5945945
|
||||||
tags:
|
tags:
|
||||||
- EnemyAttack0
|
- EnemyAttack0
|
||||||
barIndex: 4
|
barIndex: 1
|
||||||
beatInBar: 0
|
beatInBar: 0
|
||||||
- time: 2.5945945
|
- time: 2.5945945
|
||||||
tags:
|
tags:
|
||||||
- Normal
|
- Normal
|
||||||
|
barIndex: 1
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 5.189189
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
|
barIndex: 2
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 5.189189
|
||||||
|
tags:
|
||||||
|
- Normal
|
||||||
|
barIndex: 2
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 7.7837834
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
|
barIndex: 3
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 7.7837834
|
||||||
|
tags:
|
||||||
|
- Normal
|
||||||
|
barIndex: 3
|
||||||
|
beatInBar: 0
|
||||||
|
- time: 10.378378
|
||||||
|
tags:
|
||||||
|
- EnemyAttack0
|
||||||
barIndex: 4
|
barIndex: 4
|
||||||
beatInBar: 0
|
beatInBar: 0
|
||||||
- time: 5.189189
|
|
||||||
tags:
|
|
||||||
- EnemyAttack0
|
|
||||||
barIndex: 8
|
|
||||||
beatInBar: 0
|
|
||||||
- time: 5.189189
|
|
||||||
tags:
|
|
||||||
- Normal
|
|
||||||
barIndex: 8
|
|
||||||
beatInBar: 0
|
|
||||||
- time: 7.7837834
|
|
||||||
tags:
|
|
||||||
- EnemyAttack0
|
|
||||||
barIndex: 12
|
|
||||||
beatInBar: 0
|
|
||||||
- time: 7.7837834
|
|
||||||
tags:
|
|
||||||
- Normal
|
|
||||||
barIndex: 12
|
|
||||||
beatInBar: 0
|
|
||||||
- time: 10.378378
|
|
||||||
tags:
|
|
||||||
- EnemyAttack0
|
|
||||||
barIndex: 16
|
|
||||||
beatInBar: 0
|
|
||||||
- time: 10.378378
|
- time: 10.378378
|
||||||
tags:
|
tags:
|
||||||
- Normal
|
- Normal
|
||||||
barIndex: 16
|
barIndex: 4
|
||||||
beatInBar: 0
|
beatInBar: 0
|
||||||
|
|||||||
@@ -51,7 +51,8 @@ namespace SLSUtilities.Feedback
|
|||||||
{
|
{
|
||||||
return new List<string>()
|
return new List<string>()
|
||||||
{
|
{
|
||||||
"Camera", "Time", "Postprocessing", "Audio"
|
"Camera", "Time", "Postprocessing", "Audio",
|
||||||
|
"Backup"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,4 +100,22 @@ namespace SLSUtilities.FunctionalAnimation
|
|||||||
Debug.Log(message);
|
Debug.Log(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 运行时动态注入的行为事件载荷。
|
||||||
|
/// </summary>
|
||||||
|
public class InvokeAction : FuncAnimPayloadBase
|
||||||
|
{
|
||||||
|
private readonly Action action;
|
||||||
|
|
||||||
|
public InvokeAction(Action action)
|
||||||
|
{
|
||||||
|
this.action = action;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Invoke()
|
||||||
|
{
|
||||||
|
action?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
158
Assets/Shaders/MeshShader/AfterImage.mat
Normal file
158
Assets/Shaders/MeshShader/AfterImage.mat
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-7713264467126364908
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||||
|
version: 10
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: AfterImage
|
||||||
|
m_Shader: {fileID: 4800000, guid: 6bb4149b814482242bbe340daf5d82e1, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses:
|
||||||
|
- MOTIONVECTORS
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 04a40b50e9e63ed43af8af28f2ba4f86, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DistortionMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 204e24b3132c6754abe847f62aa2807b, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: ddb7a48c331a2e54c880f46455ec878f, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _NormalMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: c7508900bdef7424e81914281ab7eb9c, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AddPrecomputedVelocity: 0
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _AlphaScale: 0
|
||||||
|
- _AlphaToMask: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BlendModePreserveSpecular: 1
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DistortionStrength: 0.05
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _DstBlendAlpha: 0
|
||||||
|
- _EmissionPower: 1
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _Fade: 1
|
||||||
|
- _FresnelPower: 6
|
||||||
|
- _FresnelScale: 0.5
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Glow: 2
|
||||||
|
- _Metallic: 0
|
||||||
|
- _NormalScale: 0.5
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _RimPower: 3
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _XRMotionVectorsPass: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _DistortionSpeed: {r: 0.01, g: 0.01, b: 0.01, a: 0}
|
||||||
|
- _EmissionColor: {r: 1.9999999, g: 0.49999997, b: 0, a: 1}
|
||||||
|
- _EmissionFlowSpeed: {r: 0.01, g: 0.01, b: 0.01, a: 0}
|
||||||
|
- _FlowSpeed: {r: 0.01, g: 0.01, b: 0.01, a: 0}
|
||||||
|
- _FresnelColor: {r: 1, g: 0.75, b: 0.39999998, a: 1}
|
||||||
|
- _RimColor: {r: 0.5, g: 0.9, b: 1, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
8
Assets/Shaders/MeshShader/AfterImage.mat.meta
Normal file
8
Assets/Shaders/MeshShader/AfterImage.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cf1f43aea12d7284686f68a7ee1883bd
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
96
Assets/Shaders/MeshShader/Afterimage.shader
Normal file
96
Assets/Shaders/MeshShader/Afterimage.shader
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
Shader "Cielonos/MeshEffects/Afterimage"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
[Header(Color Settings)]
|
||||||
|
[HDR] _BaseColor("Base Color", Color) = (0, 0.9, 1, 0.2)
|
||||||
|
[HDR] _RimColor("Rim Color (Fresnel)", Color) = (0.5, 0.9, 1, 1)
|
||||||
|
_RimPower("Rim Power", Range(0.1, 10)) = 3.0
|
||||||
|
_Glow("Glow Intensity", Range(0, 10)) = 2.0
|
||||||
|
|
||||||
|
[Header(Fade Settings)]
|
||||||
|
_Fade("Fade (Alpha)", Range(0, 1)) = 1.0
|
||||||
|
}
|
||||||
|
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
Tags
|
||||||
|
{
|
||||||
|
"RenderType" = "Transparent"
|
||||||
|
"Queue" = "Transparent"
|
||||||
|
"RenderPipeline" = "UniversalPipeline"
|
||||||
|
"IgnoreProjector" = "True"
|
||||||
|
}
|
||||||
|
|
||||||
|
Blend SrcAlpha One
|
||||||
|
ZWrite Off
|
||||||
|
Cull Back
|
||||||
|
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
Name "AfterimagePass"
|
||||||
|
Tags { "LightMode" = "UniversalForward" }
|
||||||
|
|
||||||
|
HLSLPROGRAM
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
#pragma prefer_hlslcc gles
|
||||||
|
#pragma exclude_renderers d3d11_9x
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
|
||||||
|
struct Attributes
|
||||||
|
{
|
||||||
|
float4 positionOS : POSITION;
|
||||||
|
float3 normalOS : NORMAL;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Varyings
|
||||||
|
{
|
||||||
|
float4 positionCS : SV_POSITION;
|
||||||
|
float3 normalWS : TEXCOORD0;
|
||||||
|
float3 viewDirWS : TEXCOORD1;
|
||||||
|
};
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _BaseColor;
|
||||||
|
float4 _RimColor;
|
||||||
|
float _RimPower;
|
||||||
|
float _Glow;
|
||||||
|
float _Fade;
|
||||||
|
CBUFFER_END
|
||||||
|
|
||||||
|
Varyings vert(Attributes input)
|
||||||
|
{
|
||||||
|
Varyings output;
|
||||||
|
|
||||||
|
VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz);
|
||||||
|
output.positionCS = vertexInput.positionCS;
|
||||||
|
|
||||||
|
float3 positionWS = vertexInput.positionWS;
|
||||||
|
output.normalWS = TransformObjectToWorldNormal(input.normalOS);
|
||||||
|
output.viewDirWS = GetWorldSpaceViewDir(positionWS);
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 frag(Varyings input) : SV_Target
|
||||||
|
{
|
||||||
|
float3 normalWS = normalize(input.normalWS);
|
||||||
|
float3 viewDirWS = normalize(input.viewDirWS);
|
||||||
|
|
||||||
|
// Fresnel term
|
||||||
|
float ndotv = dot(normalWS, viewDirWS);
|
||||||
|
float fresnel = pow(1.0 - saturate(ndotv), _RimPower);
|
||||||
|
|
||||||
|
// Color composite
|
||||||
|
float4 color = _BaseColor + _RimColor * fresnel * _Glow;
|
||||||
|
// Fade applied to alpha
|
||||||
|
color.a = (_BaseColor.a + fresnel) * _Fade;
|
||||||
|
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
ENDHLSL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Assets/Shaders/MeshShader/Afterimage.shader.meta
Normal file
9
Assets/Shaders/MeshShader/Afterimage.shader.meta
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6bb4149b814482242bbe340daf5d82e1
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -100,19 +100,21 @@ namespace AK
|
|||||||
|
|
||||||
namespace SWITCHES
|
namespace SWITCHES
|
||||||
{
|
{
|
||||||
namespace MB_MUSIC0_SEGS
|
namespace MB_CIEIFD_SEGS
|
||||||
{
|
{
|
||||||
static const AkUniqueID GROUP = 2217053549U;
|
static const AkUniqueID GROUP = 3976435356U;
|
||||||
|
|
||||||
namespace SWITCH
|
namespace SWITCH
|
||||||
{
|
{
|
||||||
static const AkUniqueID SEG_00 = 3589857915U;
|
static const AkUniqueID BACK_00 = 3171328607U;
|
||||||
static const AkUniqueID SEG_01 = 3589857914U;
|
static const AkUniqueID BACK_01 = 3171328606U;
|
||||||
static const AkUniqueID SEG_02 = 3589857913U;
|
static const AkUniqueID BACK_02 = 3171328605U;
|
||||||
static const AkUniqueID SEG_03 = 3589857912U;
|
static const AkUniqueID FUNC_00 = 2873408850U;
|
||||||
static const AkUniqueID SEG_04 = 3589857919U;
|
static const AkUniqueID FUNC_01 = 2873408851U;
|
||||||
|
static const AkUniqueID FUNC_02 = 2873408848U;
|
||||||
|
static const AkUniqueID FUNC_03 = 2873408849U;
|
||||||
} // namespace SWITCH
|
} // namespace SWITCH
|
||||||
} // namespace MB_MUSIC0_SEGS
|
} // namespace MB_CIEIFD_SEGS
|
||||||
|
|
||||||
namespace MB_SONGS
|
namespace MB_SONGS
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ MonoBehaviour:
|
|||||||
ParentPath: Events\Default Work Unit
|
ParentPath: Events\Default Work Unit
|
||||||
guid: ab81a101c4a54040bbcf2409a4da80f0
|
guid: ab81a101c4a54040bbcf2409a4da80f0
|
||||||
GuidInternal:
|
GuidInternal:
|
||||||
m_lastTime: -8584192207517961063
|
m_lastTime: -8584188551378311721
|
||||||
List:
|
List:
|
||||||
- name: BGM
|
- name: BGM
|
||||||
guid: 98f4fabd74819f4f836cb23e35305794
|
guid: 98f4fabd74819f4f836cb23e35305794
|
||||||
@@ -2545,11 +2545,11 @@ MonoBehaviour:
|
|||||||
ParentPath: Switches\Default Work Unit
|
ParentPath: Switches\Default Work Unit
|
||||||
guid: d4e4d254f7c50a489e9c5d89fd0461b6
|
guid: d4e4d254f7c50a489e9c5d89fd0461b6
|
||||||
GuidInternal:
|
GuidInternal:
|
||||||
m_lastTime: -8584201723261465919
|
m_lastTime: -8584188562346191623
|
||||||
List:
|
List:
|
||||||
- name: MB_Music0_Segs
|
- name: MB_CieIFD_Segs
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
id: 2217053549
|
id: 3976435356
|
||||||
PathAndIcons:
|
PathAndIcons:
|
||||||
- ElementName: Switches
|
- ElementName: Switches
|
||||||
ObjectType: 5
|
ObjectType: 5
|
||||||
@@ -2560,14 +2560,14 @@ MonoBehaviour:
|
|||||||
- ElementName: MusicBeatSystem
|
- ElementName: MusicBeatSystem
|
||||||
ObjectType: 4
|
ObjectType: 4
|
||||||
guid: 9db7c0ad53735d49815dd6ded08184b8
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
- ElementName: MB_Music0_Segs
|
- ElementName: MB_CieIFD_Segs
|
||||||
ObjectType: 11
|
ObjectType: 11
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
Path: Switches\Default Work Unit\MusicBeatSystem\MB_Music0_Segs
|
Path: Switches\Default Work Unit\MusicBeatSystem\MB_CieIFD_Segs
|
||||||
values:
|
values:
|
||||||
- name: Seg_00
|
- name: Back_00
|
||||||
guid: 18c893315ac35c46a5b7c731a4607bd5
|
guid: 18c893315ac35c46a5b7c731a4607bd5
|
||||||
id: 3589857915
|
id: 3171328607
|
||||||
PathAndIcons:
|
PathAndIcons:
|
||||||
- ElementName: Switches
|
- ElementName: Switches
|
||||||
ObjectType: 5
|
ObjectType: 5
|
||||||
@@ -2578,15 +2578,15 @@ MonoBehaviour:
|
|||||||
- ElementName: MusicBeatSystem
|
- ElementName: MusicBeatSystem
|
||||||
ObjectType: 4
|
ObjectType: 4
|
||||||
guid: 9db7c0ad53735d49815dd6ded08184b8
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
- ElementName: MB_Music0_Segs
|
- ElementName: MB_CieIFD_Segs
|
||||||
ObjectType: 11
|
ObjectType: 11
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
- ElementName: Seg_00
|
- ElementName: Back_00
|
||||||
ObjectType: 10
|
ObjectType: 10
|
||||||
guid: 18c893315ac35c46a5b7c731a4607bd5
|
guid: 18c893315ac35c46a5b7c731a4607bd5
|
||||||
- name: Seg_01
|
- name: Back_01
|
||||||
guid: 5905dc1d6a62444ca437345dc1834e07
|
guid: 5905dc1d6a62444ca437345dc1834e07
|
||||||
id: 3589857914
|
id: 3171328606
|
||||||
PathAndIcons:
|
PathAndIcons:
|
||||||
- ElementName: Switches
|
- ElementName: Switches
|
||||||
ObjectType: 5
|
ObjectType: 5
|
||||||
@@ -2597,15 +2597,15 @@ MonoBehaviour:
|
|||||||
- ElementName: MusicBeatSystem
|
- ElementName: MusicBeatSystem
|
||||||
ObjectType: 4
|
ObjectType: 4
|
||||||
guid: 9db7c0ad53735d49815dd6ded08184b8
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
- ElementName: MB_Music0_Segs
|
- ElementName: MB_CieIFD_Segs
|
||||||
ObjectType: 11
|
ObjectType: 11
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
- ElementName: Seg_01
|
- ElementName: Back_01
|
||||||
ObjectType: 10
|
ObjectType: 10
|
||||||
guid: 5905dc1d6a62444ca437345dc1834e07
|
guid: 5905dc1d6a62444ca437345dc1834e07
|
||||||
- name: Seg_02
|
- name: Back_02
|
||||||
guid: 8d3a038d150a2e44b6c449f2f3b44b5f
|
guid: 8d3a038d150a2e44b6c449f2f3b44b5f
|
||||||
id: 3589857913
|
id: 3171328605
|
||||||
PathAndIcons:
|
PathAndIcons:
|
||||||
- ElementName: Switches
|
- ElementName: Switches
|
||||||
ObjectType: 5
|
ObjectType: 5
|
||||||
@@ -2616,34 +2616,15 @@ MonoBehaviour:
|
|||||||
- ElementName: MusicBeatSystem
|
- ElementName: MusicBeatSystem
|
||||||
ObjectType: 4
|
ObjectType: 4
|
||||||
guid: 9db7c0ad53735d49815dd6ded08184b8
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
- ElementName: MB_Music0_Segs
|
- ElementName: MB_CieIFD_Segs
|
||||||
ObjectType: 11
|
ObjectType: 11
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
- ElementName: Seg_02
|
- ElementName: Back_02
|
||||||
ObjectType: 10
|
ObjectType: 10
|
||||||
guid: 8d3a038d150a2e44b6c449f2f3b44b5f
|
guid: 8d3a038d150a2e44b6c449f2f3b44b5f
|
||||||
- name: Seg_03
|
- name: Func_00
|
||||||
guid: c1392212dbd5c444a018980dbc0bac19
|
|
||||||
id: 3589857912
|
|
||||||
PathAndIcons:
|
|
||||||
- ElementName: Switches
|
|
||||||
ObjectType: 5
|
|
||||||
guid: 00000000000000000000000000000000
|
|
||||||
- ElementName: Default Work Unit
|
|
||||||
ObjectType: 12
|
|
||||||
guid: d4e4d254f7c50a489e9c5d89fd0461b6
|
|
||||||
- ElementName: MusicBeatSystem
|
|
||||||
ObjectType: 4
|
|
||||||
guid: 9db7c0ad53735d49815dd6ded08184b8
|
|
||||||
- ElementName: MB_Music0_Segs
|
|
||||||
ObjectType: 11
|
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
|
||||||
- ElementName: Seg_03
|
|
||||||
ObjectType: 10
|
|
||||||
guid: c1392212dbd5c444a018980dbc0bac19
|
|
||||||
- name: Seg_04
|
|
||||||
guid: 7cf717ebd24dff488712cc5ef169322c
|
guid: 7cf717ebd24dff488712cc5ef169322c
|
||||||
id: 3589857919
|
id: 2873408850
|
||||||
PathAndIcons:
|
PathAndIcons:
|
||||||
- ElementName: Switches
|
- ElementName: Switches
|
||||||
ObjectType: 5
|
ObjectType: 5
|
||||||
@@ -2654,12 +2635,69 @@ MonoBehaviour:
|
|||||||
- ElementName: MusicBeatSystem
|
- ElementName: MusicBeatSystem
|
||||||
ObjectType: 4
|
ObjectType: 4
|
||||||
guid: 9db7c0ad53735d49815dd6ded08184b8
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
- ElementName: MB_Music0_Segs
|
- ElementName: MB_CieIFD_Segs
|
||||||
ObjectType: 11
|
ObjectType: 11
|
||||||
guid: 77fed64fa71a00458d6cf705435a0dce
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
- ElementName: Seg_04
|
- ElementName: Func_00
|
||||||
ObjectType: 10
|
ObjectType: 10
|
||||||
guid: 7cf717ebd24dff488712cc5ef169322c
|
guid: 7cf717ebd24dff488712cc5ef169322c
|
||||||
|
- name: Func_01
|
||||||
|
guid: 069a444c8792c640a4804d0dd46fe3b1
|
||||||
|
id: 2873408851
|
||||||
|
PathAndIcons:
|
||||||
|
- ElementName: Switches
|
||||||
|
ObjectType: 5
|
||||||
|
guid: 00000000000000000000000000000000
|
||||||
|
- ElementName: Default Work Unit
|
||||||
|
ObjectType: 12
|
||||||
|
guid: d4e4d254f7c50a489e9c5d89fd0461b6
|
||||||
|
- ElementName: MusicBeatSystem
|
||||||
|
ObjectType: 4
|
||||||
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
|
- ElementName: MB_CieIFD_Segs
|
||||||
|
ObjectType: 11
|
||||||
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
|
- ElementName: Func_01
|
||||||
|
ObjectType: 10
|
||||||
|
guid: 069a444c8792c640a4804d0dd46fe3b1
|
||||||
|
- name: Func_02
|
||||||
|
guid: 9623ba2aabe41f489ed06e76f8b3a4cb
|
||||||
|
id: 2873408848
|
||||||
|
PathAndIcons:
|
||||||
|
- ElementName: Switches
|
||||||
|
ObjectType: 5
|
||||||
|
guid: 00000000000000000000000000000000
|
||||||
|
- ElementName: Default Work Unit
|
||||||
|
ObjectType: 12
|
||||||
|
guid: d4e4d254f7c50a489e9c5d89fd0461b6
|
||||||
|
- ElementName: MusicBeatSystem
|
||||||
|
ObjectType: 4
|
||||||
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
|
- ElementName: MB_CieIFD_Segs
|
||||||
|
ObjectType: 11
|
||||||
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
|
- ElementName: Func_02
|
||||||
|
ObjectType: 10
|
||||||
|
guid: 9623ba2aabe41f489ed06e76f8b3a4cb
|
||||||
|
- name: Func_03
|
||||||
|
guid: b83c0b78e389814ebf7e0ed03feef68d
|
||||||
|
id: 2873408849
|
||||||
|
PathAndIcons:
|
||||||
|
- ElementName: Switches
|
||||||
|
ObjectType: 5
|
||||||
|
guid: 00000000000000000000000000000000
|
||||||
|
- ElementName: Default Work Unit
|
||||||
|
ObjectType: 12
|
||||||
|
guid: d4e4d254f7c50a489e9c5d89fd0461b6
|
||||||
|
- ElementName: MusicBeatSystem
|
||||||
|
ObjectType: 4
|
||||||
|
guid: 9db7c0ad53735d49815dd6ded08184b8
|
||||||
|
- ElementName: MB_CieIFD_Segs
|
||||||
|
ObjectType: 11
|
||||||
|
guid: 77fed64fa71a00458d6cf705435a0dce
|
||||||
|
- ElementName: Func_03
|
||||||
|
ObjectType: 10
|
||||||
|
guid: b83c0b78e389814ebf7e0ed03feef68d
|
||||||
ValueGuids: []
|
ValueGuids: []
|
||||||
ValueIcons: []
|
ValueIcons: []
|
||||||
valuesInternal: []
|
valuesInternal: []
|
||||||
@@ -2736,7 +2774,7 @@ MonoBehaviour:
|
|||||||
m_lastTime: -8584400343805966111
|
m_lastTime: -8584400343805966111
|
||||||
List: []
|
List: []
|
||||||
ExpandedFileSystemItemIds: 0100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d000000110000001600000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000220000002300000024000000250000002700000028000000290000002a0000002b00000030000000310000003200000033000000c2000000c3000000c4000000e8160000e9160000
|
ExpandedFileSystemItemIds: 0100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d000000110000001600000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000220000002300000024000000250000002700000028000000290000002a0000002b00000030000000310000003200000033000000c2000000c3000000c4000000e8160000e9160000
|
||||||
ExpandedWaapiItemIds: 0100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d000000110000001600000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000220000002300000024000000250000002700000028000000290000002a0000002b00000030000000310000003200000033000000c2000000c3000000c4000000e8160000e9160000
|
ExpandedWaapiItemIds: 01000000020000000300000004000000050000000600000008000000090000000a0000000b0000000c0000000d0000001100000014000000150000001600000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000220000002300000024000000250000002700000028000000290000002a0000002b000000300000003100000032000000330000007c000000c2000000c3000000c4000000e8160000e9160000
|
||||||
AutoSyncSelection: 1
|
AutoSyncSelection: 1
|
||||||
autoPopulateEnabled: 1
|
autoPopulateEnabled: 1
|
||||||
currentDataSource: 0
|
currentDataSource: 0
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
%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: d71d875b17e4d794f8327b60c4a8bee4, type: 3}
|
||||||
|
m_Name: 1DDC0559-626A-4C44-A437-345DC1834E07
|
||||||
|
m_EditorClassIdentifier: AK.Wwise.Unity.API.WwiseTypes::WwiseSwitchReference
|
||||||
|
objectName: Back_01
|
||||||
|
id: 3171328606
|
||||||
|
guid: 1DDC0559-626A-4C44-A437-345DC1834E07
|
||||||
|
WwiseSwitchGroupReference: {fileID: 11400000, guid: 4632564681018454c840ddad4dc85c25, type: 2}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 53d01043d863483429cc2d9809876da4
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
%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: d71d875b17e4d794f8327b60c4a8bee4, type: 3}
|
||||||
|
m_Name: 2ABA2396-E4AB-481F-9ED0-6E76F8B3A4CB
|
||||||
|
m_EditorClassIdentifier: AK.Wwise.Unity.API.WwiseTypes::WwiseSwitchReference
|
||||||
|
objectName: Func_02
|
||||||
|
id: 2873408848
|
||||||
|
guid: 2ABA2396-E4AB-481F-9ED0-6E76F8B3A4CB
|
||||||
|
WwiseSwitchGroupReference: {fileID: 11400000, guid: 4632564681018454c840ddad4dc85c25, type: 2}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user