VFX Pool, new VFX, small fixes etc
- Исправил мелкие баки в поведенчеких скриптах - Добавил CreatureAnimationEvents.cs для унификации поведения анимационных ивентов игровых сущностей - Добавил VFX для смерти врагов - Добавил пул VFX, пока много багов, UNSTABLE - Настроил исользование пула в анимационных скриптах
This commit is contained in:
parent
ebc768d7e1
commit
92bd2d36b9
18
.idea/.idea.Mario-like platformer/.idea/copilotDiffState.xml
generated
Normal file
18
.idea/.idea.Mario-like platformer/.idea/copilotDiffState.xml
generated
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CopilotDiffPersistence">
|
||||
<option name="pendingDiffs">
|
||||
<map>
|
||||
<entry key="$PROJECT_DIR$/Assets/Scripts/Animations/EnemyAnimationEvents.cs">
|
||||
<value>
|
||||
<PendingDiffInfo>
|
||||
<option name="filePath" value="$PROJECT_DIR$/Assets/Scripts/Animations/EnemyAnimationEvents.cs" />
|
||||
<option name="originalContent" value="using System.Collections; using UnityEngine; using RR.Game2D.Behaviour; using RR.Game2D.Behaviour.ScriptableObjects; using RR.Game2D.Core.Managers; using UnityEngine.VFX; namespace RR.Game2D.Animations { public class EnemyAnimationEvents : MonoBehaviour, CreatureAnimationEvents { [SerializeField] private VisualEffectAsset deathVFX; private SFXAsset _stepSounds; private SFXAsset _hurtSounds; private void Awake() { // Загружаем и кэшируем звуковые эффекты из контроллера врага UpdateSFX(); } public void UpdateSFX() { // Кэшируем ссылки на звуковые эффекты из контроллера врага EnemyController controller = GetComponent<EnemyController>(); _stepSounds = controller.sfxAsset.stepSounds; _hurtSounds = controller.sfxAsset.hurtSounds; } public void OnDeath() { throw new System.NotImplementedException(); } public void OnDeathBegin() { // Проигрываем звук получения урона if (_hurtSounds && _hurtSounds.soundEffects.Length > 0) GameManager.Instance.Audio.PlayRandomSfxAt(_hurtSounds.soundEffects, transform.position); // Переводим врага на слой "No Collision" gameObject.layer = LayerMask.NameToLayer("No Collision"); // Получаем компоненты Rigidbody2D rb = GetComponent<Rigidbody2D>(); Collider2D col = GetComponent<Collider2D>(); EnemyController controller = GetComponent<EnemyController>(); EnemyFireScript fireScript = GetComponent<EnemyFireScript>(); // Отключаем скрипты и коллайдер if (controller) controller.enabled = false; if (fireScript) fireScript.enabled = false; if (col) col.enabled = false; if (!rb) return; // Останавливаем физику rb.linearVelocity = Vector2.zero; rb.bodyType = RigidbodyType2D.Kinematic; } public void OnDeathEnd() { // Уничтожаем врага // Создаем визуальный эффект смерти if (deathVFX) { Collider2D col = GetComponent<Collider2D>(); GameObject vfx = VFXPool.Instance.Get(deathVFX, new Vector3(transform.position.x, col.bounds.center.y, transform.position.z)); vfx.transform.rotation = transform.rotation; VisualEffect visualEffect = vfx.GetComponent<VisualEffect>(); // visualEffect.Play(); VFXPool.Instance.Return(vfx); } Destroy(gameObject); } public void OnStep() { // Проигрываем звук шага if (_stepSounds && _stepSounds.soundEffects.Length > 0) GameManager.Instance.Audio.PlayRandomSfxAt(_stepSounds.soundEffects, transform.position); } public void OnJump() { throw new System.NotImplementedException(); } } }" />
|
||||
<option name="updatedContent" value="using System.Collections; using UnityEngine; using RR.Game2D.Behaviour; using RR.Game2D.Behaviour.ScriptableObjects; using RR.Game2D.Core.Managers; using UnityEngine.VFX; namespace RR.Game2D.Animations { public class EnemyAnimationEvents : MonoBehaviour, CreatureAnimationEvents { [SerializeField] private VisualEffectAsset deathVFX; private SFXAsset _stepSounds; private SFXAsset _hurtSounds; private void Awake() { // Загружаем и кэшируем звуковые эффекты из контроллера врага UpdateSFX(); } public void UpdateSFX() { // Кэшируем ссылки на звуковые эффекты из контроллера врага EnemyController controller = GetComponent<EnemyController>(); _stepSounds = controller.sfxAsset.stepSounds; _hurtSounds = controller.sfxAsset.hurtSounds; } public void OnDeath() { throw new System.NotImplementedException(); } public void OnDeathBegin() { // Проигрываем звук получения урона if (_hurtSounds && _hurtSounds.soundEffects.Length > 0) GameManager.Instance.Audio.PlayRandomSfxAt(_hurtSounds.soundEffects, transform.position); // Переводим врага на слой "No Collision" gameObject.layer = LayerMask.NameToLayer("No Collision"); // Получаем компоненты Rigidbody2D rb = GetComponent<Rigidbody2D>(); Collider2D col = GetComponent<Collider2D>(); EnemyController controller = GetComponent<EnemyController>(); EnemyFireScript fireScript = GetComponent<EnemyFireScript>(); // Отключаем скрипты и коллайдер if (controller) controller.enabled = false; if (fireScript) fireScript.enabled = false; if (col) col.enabled = false; if (!rb) return; // Останавливаем физику rb.linearVelocity = Vector2.zero; rb.bodyType = RigidbodyType2D.Kinematic; } public void OnDeathEnd() { // Уничтожаем врага // Создаем визуальный эффект смерти if (deathVFX) { Collider2D col = GetComponent<Collider2D>(); Vector3 pos = new Vector3(transform.position.x, col ? col.bounds.center.y : transform.position.y, transform.position.z); // Используем Spawn: пул сам реинициализирует, запустит Play() и вернёт объект обратно после таймаута. GameObject vfx = VFXPool.Instance.Spawn(deathVFX, pos); if (vfx) vfx.transform.rotation = transform.rotation; } Destroy(gameObject); } public void OnStep() { // Проигрываем звук шага if (_stepSounds && _stepSounds.soundEffects.Length > 0) GameManager.Instance.Audio.PlayRandomSfxAt(_stepSounds.soundEffects, transform.position); } public void OnJump() { throw new System.NotImplementedException(); } } }" />
|
||||
</PendingDiffInfo>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
@ -5080,7 +5080,7 @@ AnimationClip:
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events:
|
||||
- time: 0.05
|
||||
functionName: Step
|
||||
functionName: OnStep
|
||||
data:
|
||||
objectReferenceParameter: {fileID: 0}
|
||||
floatParameter: 0
|
||||
|
||||
8
Assets/Animations/Entities.meta
Normal file
8
Assets/Animations/Entities.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 838683459b25e314b97f76ce72571c7f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
72
Assets/Animations/Entities/Collectible.controller
Normal file
72
Assets/Animations/Entities/Collectible.controller
Normal file
@ -0,0 +1,72 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-2572949660835535339
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Rotate
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: f5c49de648bf379499b732a8ee530a56, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &-1551021918643888153
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Base Layer
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2572949660835535339}
|
||||
m_Position: {x: 280, y: 110, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||
m_EntryPosition: {x: 300, y: 0, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: -2572949660835535339}
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Collectible
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: -1551021918643888153}
|
||||
m_Mask: {fileID: 0}
|
||||
m_Motions: []
|
||||
m_Behaviours: []
|
||||
m_BlendingMode: 0
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 0
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
8
Assets/Animations/Entities/Collectible.controller.meta
Normal file
8
Assets/Animations/Entities/Collectible.controller.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5dc3990bcb1185e4fb2dfaeb428cc8c8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
249
Assets/Animations/Entities/Rotation.anim
Normal file
249
Assets/Animations/Entities/Rotation.anim
Normal file
@ -0,0 +1,249 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Rotation
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 360, z: 0}
|
||||
outSlope: {x: 0, y: 360, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: {x: 0, y: 180, z: 0}
|
||||
inSlope: {x: -0, y: 360, z: -0}
|
||||
outSlope: {x: 0, y: 360, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: {x: 0, y: 360, z: 0}
|
||||
inSlope: {x: -0, y: 360, z: -0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.2866974, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Sprite
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 850496168
|
||||
attribute: 4
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 4
|
||||
isPPtrCurve: 0
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 1
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.x
|
||||
path: Sprite
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 360
|
||||
outSlope: 360
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 180
|
||||
inSlope: 360
|
||||
outSlope: 360
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 360
|
||||
inSlope: 360
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.2866974
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.y
|
||||
path: Sprite
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
tangentMode: 5
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.z
|
||||
path: Sprite
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
m_EulerEditorCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.x
|
||||
path: Sprite
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.y
|
||||
path: Sprite
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.z
|
||||
path: Sprite
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
8
Assets/Animations/Entities/Rotation.anim.meta
Normal file
8
Assets/Animations/Entities/Rotation.anim.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f5c49de648bf379499b732a8ee530a56
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -3604,7 +3604,7 @@ AnimationClip:
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events:
|
||||
- time: 0
|
||||
functionName: Jump
|
||||
functionName: OnJump
|
||||
data:
|
||||
objectReferenceParameter: {fileID: 0}
|
||||
floatParameter: 0
|
||||
|
||||
@ -76,20 +76,19 @@ AnimatorStateMachine:
|
||||
m_Position: {x: 800, y: 710, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2911048155697096596}
|
||||
m_Position: {x: 240, y: -200, z: 0}
|
||||
m_Position: {x: 240, y: -70, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 8227788254774177026}
|
||||
m_Position: {x: 550, y: 520, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -4830528242049520311}
|
||||
- {fileID: 4425103845641678651}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 260, y: -250, z: 0}
|
||||
m_EntryPosition: {x: 570, y: -250, z: 0}
|
||||
m_ExitPosition: {x: 630, y: 990, z: 0}
|
||||
m_ExitPosition: {x: 330, y: 840, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 8840150632353296388}
|
||||
--- !u!1101 &-4830528242049520311
|
||||
@ -455,31 +454,6 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &4425103845641678651
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Jump
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1536571424612025499}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5790086725413553050
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -505,6 +479,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6452080448237792631
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Jump
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1536571424612025499}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6491802289576890105
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -597,6 +596,7 @@ AnimatorState:
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 6491802289576890105}
|
||||
- {fileID: 6452080448237792631}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
|
||||
@ -7284,14 +7284,14 @@ AnimationClip:
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events:
|
||||
- time: 0.11666667
|
||||
functionName: Step
|
||||
functionName: OnStep
|
||||
data:
|
||||
objectReferenceParameter: {fileID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.45
|
||||
functionName: Step
|
||||
functionName: OnStep
|
||||
data:
|
||||
objectReferenceParameter: {fileID: 0}
|
||||
floatParameter: 0
|
||||
|
||||
1
Assets/Fonts/COPYRIGHT.txt
Normal file
1
Assets/Fonts/COPYRIGHT.txt
Normal file
@ -0,0 +1 @@
|
||||
Copyright 2020 The Darumadrop Project Authors (https://github.com/ManiackersDesign/darumadrop), all rights reserved.
|
||||
7
Assets/Fonts/COPYRIGHT.txt.meta
Normal file
7
Assets/Fonts/COPYRIGHT.txt.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 34dffcc94edc9c34c96f5603ae72fab6
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
10259
Assets/Fonts/DarumadropOne SDF.asset
Normal file
10259
Assets/Fonts/DarumadropOne SDF.asset
Normal file
File diff suppressed because one or more lines are too long
8
Assets/Fonts/DarumadropOne SDF.asset.meta
Normal file
8
Assets/Fonts/DarumadropOne SDF.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ed4ac746fc6d4524bb302464d125dbdd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
91
Assets/Fonts/LICENSE.txt
Normal file
91
Assets/Fonts/LICENSE.txt
Normal file
@ -0,0 +1,91 @@
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
7
Assets/Fonts/LICENSE.txt.meta
Normal file
7
Assets/Fonts/LICENSE.txt.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a89ffe6b9b6778d4b810fc5fca3a9523
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Fonts/dehinted-DarumadropOne.ttf
Normal file
BIN
Assets/Fonts/dehinted-DarumadropOne.ttf
Normal file
Binary file not shown.
21
Assets/Fonts/dehinted-DarumadropOne.ttf.meta
Normal file
21
Assets/Fonts/dehinted-DarumadropOne.ttf.meta
Normal file
@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46b1fbcb60ae4094fa9bb96aeb08461c
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- Darumadrop One
|
||||
fallbackFontReferences: []
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,2 +1,28 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6390a6dcbd9027a4a86259ea81394521
|
||||
guid: 6390a6dcbd9027a4a86259ea81394521
|
||||
labels:
|
||||
- NuGetForUnity
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 3
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@ -1023,6 +1023,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c381ae66536829947bba4f54a4f83f04, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: '::'
|
||||
deathVFX: {fileID: 8926484042661614526, guid: 6c4fdce0f9a1b184d9c3660014bdfdb5, type: 3}
|
||||
--- !u!1 &1000012079282026
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -1692,6 +1692,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c381ae66536829947bba4f54a4f83f04, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::EnemyAnimationEvents
|
||||
deathVFX: {fileID: 8926484042661614526, guid: 6c4fdce0f9a1b184d9c3660014bdfdb5, type: 3}
|
||||
--- !u!1 &1000013442129446
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -404,6 +404,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c381ae66536829947bba4f54a4f83f04, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::EnemyAnimationEvents
|
||||
deathVFX: {fileID: 8926484042661614526, guid: 6c4fdce0f9a1b184d9c3660014bdfdb5, type: 3}
|
||||
--- !u!1 &2349200483123940370
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
47
Assets/Prefabs/Level/VFX Pool.prefab
Normal file
47
Assets/Prefabs/Level/VFX Pool.prefab
Normal file
@ -0,0 +1,47 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7429713493570687711
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6349136321608143537}
|
||||
- component: {fileID: 6733506608336628238}
|
||||
m_Layer: 0
|
||||
m_Name: VFX Pool
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6349136321608143537
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7429713493570687711}
|
||||
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 &6733506608336628238
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7429713493570687711}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac9e1b576ba849b6b501a05bff492df0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::RR.Game2D.Behaviour.VFXPool
|
||||
poolSize: 32
|
||||
7
Assets/Prefabs/Level/VFX Pool.prefab.meta
Normal file
7
Assets/Prefabs/Level/VFX Pool.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a36154b7e6110f9418e9d44b20e0af16
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -82,8 +82,8 @@ Animator:
|
||||
m_GameObject: {fileID: 351781492710161714}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 0}
|
||||
m_CullingMode: 0
|
||||
m_Controller: {fileID: 9100000, guid: 5dc3990bcb1185e4fb2dfaeb428cc8c8, type: 2}
|
||||
m_CullingMode: 2
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
@ -101,7 +101,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 351781492710161714}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bb46007bd79608e4587a7ecfbcc3b237, type: 3}
|
||||
m_Name:
|
||||
@ -137,7 +137,7 @@ GameObject:
|
||||
- component: {fileID: 2113465535973362073}
|
||||
- component: {fileID: 787779534025234403}
|
||||
m_Layer: 0
|
||||
m_Name: Collectibles_01 (1)
|
||||
m_Name: Sprite
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
||||
@ -11,7 +11,7 @@ GameObject:
|
||||
- component: {fileID: 6866002081039623265}
|
||||
- component: {fileID: 3815475667567617876}
|
||||
m_Layer: 0
|
||||
m_Name: Chip_Robotail_0
|
||||
m_Name: Sprite
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
||||
Binary file not shown.
@ -72,7 +72,7 @@ TextureImporter:
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
@ -106,6 +106,19 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
|
||||
@ -72,7 +72,7 @@ TextureImporter:
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
@ -106,6 +106,19 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
|
||||
@ -72,7 +72,7 @@ TextureImporter:
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
@ -106,6 +106,19 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
|
||||
@ -392,6 +392,8 @@ TilemapRenderer:
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
@ -413,6 +415,7 @@ TilemapRenderer:
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
|
||||
@ -9794,6 +9794,126 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4000011826580284, guid: 93b90907e99e38a448aca4707806a9be, type: 3}
|
||||
m_PrefabInstance: {fileID: 2067931930}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &2072045119
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2072045122}
|
||||
- component: {fileID: 2072045121}
|
||||
- component: {fileID: 2072045120}
|
||||
m_Layer: 0
|
||||
m_Name: Visual Effect
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!73398921 &2072045120
|
||||
VFXRenderer:
|
||||
serializedVersion: 1
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2072045119}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!2083052967 &2072045121
|
||||
VisualEffect:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2072045119}
|
||||
m_Enabled: 1
|
||||
m_Asset: {fileID: 8926484042661614526, guid: a832b00b965c1a64f8510aea0beac508, type: 3}
|
||||
m_InitialEventName: OnPlay
|
||||
m_InitialEventNameOverriden: 0
|
||||
m_StartSeed: 0
|
||||
m_ResetSeedOnPlay: 1
|
||||
m_AllowInstancing: 1
|
||||
m_ResourceVersion: 1
|
||||
m_PropertySheet:
|
||||
m_Float:
|
||||
m_Array: []
|
||||
m_Vector2f:
|
||||
m_Array: []
|
||||
m_Vector3f:
|
||||
m_Array: []
|
||||
m_Vector4f:
|
||||
m_Array:
|
||||
- m_Value: {x: 1, y: 0.24644172, z: 0, w: 1}
|
||||
m_Name: ShaderColor
|
||||
m_Overridden: 1
|
||||
m_Uint:
|
||||
m_Array: []
|
||||
m_Int:
|
||||
m_Array: []
|
||||
m_Matrix4x4f:
|
||||
m_Array: []
|
||||
m_AnimationCurve:
|
||||
m_Array: []
|
||||
m_Gradient:
|
||||
m_Array: []
|
||||
m_NamedObject:
|
||||
m_Array: []
|
||||
m_Bool:
|
||||
m_Array: []
|
||||
--- !u!4 &2072045122
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2072045119}
|
||||
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!1001 &2093089358
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -39912,3 +40032,4 @@ SceneRoots:
|
||||
- {fileID: 1826143540}
|
||||
- {fileID: 121068995}
|
||||
- {fileID: 573629650}
|
||||
- {fileID: 2072045122}
|
||||
|
||||
@ -468,6 +468,123 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 86359644}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &118788911
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 118788912}
|
||||
- component: {fileID: 118788914}
|
||||
- component: {fileID: 118788913}
|
||||
m_Layer: 5
|
||||
m_Name: Visual Effect
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &118788912
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 118788911}
|
||||
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: 906938208}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!73398921 &118788913
|
||||
VFXRenderer:
|
||||
serializedVersion: 1
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 118788911}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 4294967295
|
||||
m_RendererPriority: 0
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 981438795
|
||||
m_SortingLayer: 2
|
||||
m_SortingOrder: 0
|
||||
--- !u!2083052967 &118788914
|
||||
VisualEffect:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 118788911}
|
||||
m_Enabled: 1
|
||||
m_Asset: {fileID: 8926484042661614526, guid: a832b00b965c1a64f8510aea0beac508, type: 3}
|
||||
m_InitialEventName: OnPlay
|
||||
m_InitialEventNameOverriden: 0
|
||||
m_StartSeed: 0
|
||||
m_ResetSeedOnPlay: 1
|
||||
m_AllowInstancing: 1
|
||||
m_ResourceVersion: 1
|
||||
m_PropertySheet:
|
||||
m_Float:
|
||||
m_Array: []
|
||||
m_Vector2f:
|
||||
m_Array: []
|
||||
m_Vector3f:
|
||||
m_Array: []
|
||||
m_Vector4f:
|
||||
m_Array: []
|
||||
m_Uint:
|
||||
m_Array: []
|
||||
m_Int:
|
||||
m_Array: []
|
||||
m_Matrix4x4f:
|
||||
m_Array: []
|
||||
m_AnimationCurve:
|
||||
m_Array: []
|
||||
m_Gradient:
|
||||
m_Array: []
|
||||
m_NamedObject:
|
||||
m_Array: []
|
||||
m_Bool:
|
||||
m_Array: []
|
||||
--- !u!1 &122148824
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2125,6 +2242,42 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857663737}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &906938207
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 906938208}
|
||||
m_Layer: 5
|
||||
m_Name: VFX
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &906938208
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 906938207}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -7.352844}
|
||||
m_LocalScale: {x: 0.009076677, y: 0.009076677, z: 0.009076677}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 118788912}
|
||||
m_Father: {fileID: 1388854597}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -959.95465, y: -540.0256}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &925700843
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -3135,7 +3288,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0.31300002}
|
||||
m_AnchoredPosition: {x: -2.4137878, y: 0.44125366}
|
||||
m_AnchoredPosition: {x: -2.4137878, y: 0.44128418}
|
||||
m_SizeDelta: {x: -4.8276, y: 0.8829956}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1291956700
|
||||
@ -3516,6 +3669,7 @@ RectTransform:
|
||||
- {fileID: 2068040773}
|
||||
- {fileID: 1946308721}
|
||||
- {fileID: 1724863672}
|
||||
- {fileID: 906938208}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
|
||||
@ -133192,6 +133192,7 @@ Transform:
|
||||
- {fileID: 94085880}
|
||||
- {fileID: 105165846}
|
||||
- {fileID: 1528420254}
|
||||
- {fileID: 5483544793560561859}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1053518211
|
||||
@ -434084,6 +434085,68 @@ Transform:
|
||||
- {fileID: 4556580432650804423}
|
||||
m_Father: {fileID: 1223969311633890084}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &5483544793560561858
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1053302775}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7429713493570687711, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: VFX Pool
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
--- !u!4 &5483544793560561859 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
m_PrefabInstance: {fileID: 5483544793560561858}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &5546110561414543608
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -22197,6 +22197,7 @@ Transform:
|
||||
- {fileID: 5630309658864172782}
|
||||
- {fileID: 1473792965}
|
||||
- {fileID: 1342984456}
|
||||
- {fileID: 338400549}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!4 &89672781 stripped
|
||||
@ -24779,6 +24780,68 @@ PrefabInstance:
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 6ab87d9d9d9f20e4c86df42ae805f6f4, type: 3}
|
||||
--- !u!1001 &338400548
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 88089423}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 80.39929
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 1.6517899
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -0.19702429
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7429713493570687711, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: VFX Pool
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
--- !u!4 &338400549 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
m_PrefabInstance: {fileID: 338400548}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &352757388 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4535171522523579101, guid: 6ab87d9d9d9f20e4c86df42ae805f6f4, type: 3}
|
||||
|
||||
@ -80325,6 +80325,7 @@ Transform:
|
||||
- {fileID: 5644797161173582377}
|
||||
- {fileID: 963030359}
|
||||
- {fileID: 1411559338}
|
||||
- {fileID: 2029761743}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947091524
|
||||
@ -162656,6 +162657,68 @@ SpriteRenderer:
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1001 &2029761742
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 946646690}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 80.39929
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 3.65179
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7429713493570687711, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: VFX Pool
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
--- !u!4 &2029761743 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6349136321608143537, guid: a36154b7e6110f9418e9d44b20e0af16, type: 3}
|
||||
m_PrefabInstance: {fileID: 2029761742}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &2030188122
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -688,7 +688,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.087757155, y: 0.83626276}
|
||||
m_AnchorMax: {x: 0.9127319, y: 0.9977004}
|
||||
m_AnchoredPosition: {x: -0.93811035, y: 30.999878}
|
||||
m_AnchoredPosition: {x: -0.9375, y: 30.99988}
|
||||
m_SizeDelta: {x: -1101, y: -23}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &93837866
|
||||
@ -1643,7 +1643,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.085, y: 0.17039008}
|
||||
m_AnchorMax: {x: 0.9127319, y: 0.83626276}
|
||||
m_AnchoredPosition: {x: 0.22998047, y: -3}
|
||||
m_AnchoredPosition: {x: 0.23046875, y: -3.0000305}
|
||||
m_SizeDelta: {x: -0.42, y: -14}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &265801314
|
||||
@ -1812,8 +1812,8 @@ MonoBehaviour:
|
||||
m_TargetGraphic: {fileID: 434895586}
|
||||
m_HandleRect: {fileID: 434895585}
|
||||
m_Direction: 2
|
||||
m_Value: 0
|
||||
m_Size: 0.999609
|
||||
m_Value: 1
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
@ -2104,7 +2104,7 @@ MonoBehaviour:
|
||||
m_TargetGraphic: {fileID: 2040132803}
|
||||
m_HandleRect: {fileID: 2040132802}
|
||||
m_Direction: 0
|
||||
m_Value: 1
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
@ -3378,10 +3378,10 @@ RectTransform:
|
||||
- {fileID: 662806478}
|
||||
m_Father: {fileID: 1532558928}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -2.5, y: 0.5}
|
||||
m_SizeDelta: {x: 800, y: 600}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &533613941
|
||||
MonoBehaviour:
|
||||
@ -3928,7 +3928,7 @@ MonoBehaviour:
|
||||
m_StartCorner: 0
|
||||
m_StartAxis: 1
|
||||
m_CellSize: {x: 800, y: 100}
|
||||
m_Spacing: {x: 0, y: 100}
|
||||
m_Spacing: {x: 0, y: 50}
|
||||
m_Constraint: 1
|
||||
m_ConstraintCount: 1
|
||||
--- !u!114 &662806480
|
||||
@ -4142,7 +4142,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.34800002, y: 0.017585823}
|
||||
m_AnchorMax: {x: 0.6518958, y: 0.18448228}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -0.49993896}
|
||||
m_SizeDelta: {x: 0, y: -1}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &683903128
|
||||
@ -4239,6 +4239,42 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 683903126}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &700047461
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 700047462}
|
||||
m_Layer: 5
|
||||
m_Name: VFX
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &700047462
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 700047461}
|
||||
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:
|
||||
- {fileID: 997740367}
|
||||
m_Father: {fileID: 1460883867}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &705422857
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -4322,7 +4358,7 @@ MonoBehaviour:
|
||||
m_HandleRect: {fileID: 1078381204}
|
||||
m_Direction: 2
|
||||
m_Value: 1
|
||||
m_Size: 0.87202483
|
||||
m_Size: 0.84026504
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
@ -5021,7 +5057,7 @@ MonoBehaviour:
|
||||
m_TargetGraphic: {fileID: 1191800952}
|
||||
m_HandleRect: {fileID: 1191800951}
|
||||
m_Direction: 0
|
||||
m_Value: 1
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
@ -6580,6 +6616,123 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 996229917}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &997740366
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 997740367}
|
||||
- component: {fileID: 997740369}
|
||||
- component: {fileID: 997740368}
|
||||
m_Layer: 5
|
||||
m_Name: Visual Effect
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &997740367
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 997740366}
|
||||
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: 700047462}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!73398921 &997740368
|
||||
VFXRenderer:
|
||||
serializedVersion: 1
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 997740366}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 0
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 4294967295
|
||||
m_RendererPriority: 0
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 981438795
|
||||
m_SortingLayer: 2
|
||||
m_SortingOrder: 0
|
||||
--- !u!2083052967 &997740369
|
||||
VisualEffect:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 997740366}
|
||||
m_Enabled: 1
|
||||
m_Asset: {fileID: 8926484042661614526, guid: 6c4fdce0f9a1b184d9c3660014bdfdb5, type: 3}
|
||||
m_InitialEventName: OnPlay
|
||||
m_InitialEventNameOverriden: 0
|
||||
m_StartSeed: 0
|
||||
m_ResetSeedOnPlay: 1
|
||||
m_AllowInstancing: 1
|
||||
m_ResourceVersion: 1
|
||||
m_PropertySheet:
|
||||
m_Float:
|
||||
m_Array: []
|
||||
m_Vector2f:
|
||||
m_Array: []
|
||||
m_Vector3f:
|
||||
m_Array: []
|
||||
m_Vector4f:
|
||||
m_Array: []
|
||||
m_Uint:
|
||||
m_Array: []
|
||||
m_Int:
|
||||
m_Array: []
|
||||
m_Matrix4x4f:
|
||||
m_Array: []
|
||||
m_AnimationCurve:
|
||||
m_Array: []
|
||||
m_Gradient:
|
||||
m_Array: []
|
||||
m_NamedObject:
|
||||
m_Array: []
|
||||
m_Bool:
|
||||
m_Array: []
|
||||
--- !u!1 &1010062389
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -8956,6 +9109,7 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1412406034}
|
||||
- {fileID: 700047462}
|
||||
m_Father: {fileID: 2082092901}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@ -9588,9 +9742,8 @@ GameObject:
|
||||
- component: {fileID: 1532558932}
|
||||
- component: {fileID: 1532558931}
|
||||
- component: {fileID: 1532558930}
|
||||
- component: {fileID: 1532558929}
|
||||
m_Layer: 5
|
||||
m_Name: StatsModal
|
||||
m_Name: StatsPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@ -9609,28 +9762,13 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 533613940}
|
||||
m_Father: {fileID: 2082092901}
|
||||
m_Father: {fileID: 1851115885}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 609, y: 243.75}
|
||||
m_SizeDelta: {x: -1300.9, y: -589.93}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1532558929
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1532558927}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c815924369a0a64458e3c85a564de8b8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::RR.Common.UI.ModalFocusTrap
|
||||
modalRoot: {fileID: 1532558927}
|
||||
firstSelected: {fileID: 0}
|
||||
enforce: 1
|
||||
--- !u!114 &1532558930
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -9675,7 +9813,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0.392}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
@ -11422,7 +11560,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.087757155, y: 0.83626276}
|
||||
m_AnchorMax: {x: 0.9127319, y: 0.9977004}
|
||||
m_AnchoredPosition: {x: -0.93811035, y: 30.999878}
|
||||
m_AnchoredPosition: {x: -0.93847656, y: 30.999878}
|
||||
m_SizeDelta: {x: -1101, y: -23}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1729878442
|
||||
@ -11755,7 +11893,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0.023988165}
|
||||
m_AnchoredPosition: {x: 0, y: -0.00006484985}
|
||||
m_SizeDelta: {x: 0, y: 300}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &1792218764
|
||||
@ -12301,6 +12439,7 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 1994605500}
|
||||
- {fileID: 1200884212}
|
||||
- {fileID: 1532558928}
|
||||
m_Father: {fileID: 2082092901}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@ -13127,7 +13266,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.132, y: 0.21750003}
|
||||
m_AnchorMax: {x: 0.846, y: 0.5}
|
||||
m_AnchoredPosition: {x: -54.5, y: -79.000015}
|
||||
m_AnchoredPosition: {x: -54.5, y: -79.00001}
|
||||
m_SizeDelta: {x: -107, y: -63}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1959311160
|
||||
@ -13604,7 +13743,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.08675437, y: 0}
|
||||
m_AnchorMax: {x: 0.91300005, y: 0.83400005}
|
||||
m_AnchoredPosition: {x: 0.000061035156, y: 75.17999}
|
||||
m_AnchoredPosition: {x: 0, y: 75.17999}
|
||||
m_SizeDelta: {x: 0, y: -150.35}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &2054206197
|
||||
@ -14308,7 +14447,6 @@ RectTransform:
|
||||
- {fileID: 28542763}
|
||||
- {fileID: 1932206569}
|
||||
- {fileID: 1460883867}
|
||||
- {fileID: 1532558928}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
|
||||
12
Assets/Scripts/Animations/CreatureAnimationEvents.cs
Normal file
12
Assets/Scripts/Animations/CreatureAnimationEvents.cs
Normal file
@ -0,0 +1,12 @@
|
||||
namespace RR.Game2D.Animations
|
||||
{
|
||||
public interface CreatureAnimationEvents
|
||||
{
|
||||
void UpdateSFX();
|
||||
void OnDeath();
|
||||
void OnDeathBegin();
|
||||
void OnDeathEnd();
|
||||
void OnStep();
|
||||
void OnJump();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42deb3d471854e348db8310b684d7c06
|
||||
timeCreated: 1764833161
|
||||
@ -1,52 +1,92 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
using RR.Game2D.Behaviour;
|
||||
using RR.Game2D.Behaviour.ScriptableObjects;
|
||||
using RR.Game2D.Core.Managers;
|
||||
using UnityEngine.VFX;
|
||||
|
||||
namespace RR.Game2D.Animations
|
||||
{
|
||||
public class EnemyAnimationEvents : MonoBehaviour
|
||||
public class EnemyAnimationEvents : MonoBehaviour, CreatureAnimationEvents
|
||||
{
|
||||
[SerializeField] private VisualEffectAsset deathVFX;
|
||||
|
||||
private SFXAsset _stepSounds;
|
||||
private SFXAsset _hurtSounds;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// Загружаем и кэшируем звуковые эффекты из контроллера врага
|
||||
UpdateSFX();
|
||||
}
|
||||
|
||||
public void UpdateSFX()
|
||||
{
|
||||
// Кэшируем ссылки на звуковые эффекты из контроллера врага
|
||||
EnemyController controller = GetComponent<EnemyController>();
|
||||
_stepSounds = controller.sfxAsset.stepSounds;
|
||||
_hurtSounds = controller.sfxAsset.hurtSounds;
|
||||
}
|
||||
|
||||
public void OnDeath()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public void OnDeathBegin()
|
||||
{
|
||||
// Проигрывание SFX для получения урона
|
||||
// Проигрываем звук получения урона
|
||||
if (_hurtSounds && _hurtSounds.soundEffects.Length > 0)
|
||||
GameManager.Instance.Audio.PlayRandomSfxAt(_hurtSounds.soundEffects, transform.position);
|
||||
|
||||
// Переводим врага на слой "No Collision"
|
||||
gameObject.layer = LayerMask.NameToLayer("No Collision");
|
||||
|
||||
// Получаем компоненты
|
||||
Rigidbody2D rb = GetComponent<Rigidbody2D>();
|
||||
Collider2D col = GetComponent<Collider2D>();
|
||||
EnemyController controller = GetComponent<EnemyController>();
|
||||
EnemyFireScript fireScript = GetComponent<EnemyFireScript>();
|
||||
|
||||
// Отключаем скрипты и коллайдер
|
||||
if (controller) controller.enabled = false;
|
||||
if (fireScript) fireScript.enabled = false;
|
||||
if (col) col.enabled = false;
|
||||
if (!rb) return;
|
||||
|
||||
// Останавливаем физику
|
||||
rb.linearVelocity = Vector2.zero;
|
||||
rb.bodyType = RigidbodyType2D.Kinematic;
|
||||
}
|
||||
|
||||
public void OnDeathEnd()
|
||||
{
|
||||
// Уничтожаем врага
|
||||
|
||||
// Создаем визуальный эффект смерти
|
||||
if (deathVFX)
|
||||
{
|
||||
Collider2D col = GetComponent<Collider2D>();
|
||||
Vector3 pos = new Vector3(transform.position.x, col ? col.bounds.center.y : transform.position.y, transform.position.z);
|
||||
// Используем Spawn: пул сам реинициализирует, запустит Play() и вернёт объект обратно после таймаута.
|
||||
GameObject vfx = VFXPool.Instance.Spawn(deathVFX, pos);
|
||||
if (vfx) vfx.transform.rotation = transform.rotation;
|
||||
}
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
public void Step()
|
||||
public void OnStep()
|
||||
{
|
||||
// Проигрывание SFX для шага
|
||||
// Проигрываем звук шага
|
||||
if (_stepSounds && _stepSounds.soundEffects.Length > 0)
|
||||
GameManager.Instance.Audio.PlayRandomSfxAt(_stepSounds.soundEffects, transform.position);
|
||||
}
|
||||
|
||||
public void OnJump()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7,7 +7,7 @@ using RR.Game2D.Behaviour.ScriptableObjects;
|
||||
|
||||
namespace RR.Game2D.Animations
|
||||
{
|
||||
public class PlayerAnimationEvents : MonoBehaviour
|
||||
public class PlayerAnimationEvents : MonoBehaviour, CreatureAnimationEvents
|
||||
{
|
||||
private SFXAsset _stepSounds;
|
||||
private SFXAsset _hurtSounds;
|
||||
@ -27,7 +27,7 @@ namespace RR.Game2D.Animations
|
||||
_rb = GetComponent<Rigidbody2D>();
|
||||
}
|
||||
|
||||
private void UpdateSFX()
|
||||
public void UpdateSFX()
|
||||
{
|
||||
PlayerController controller = GetComponent<PlayerController>();
|
||||
_stepSounds = controller.stepSounds;
|
||||
@ -35,6 +35,11 @@ namespace RR.Game2D.Animations
|
||||
_jumpSounds = controller.jumpSounds;
|
||||
}
|
||||
|
||||
public void OnDeath()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public void OnDeathBegin()
|
||||
{
|
||||
if (_hurtSounds && _hurtSounds.soundEffects.Length > 0)
|
||||
@ -44,19 +49,19 @@ namespace RR.Game2D.Animations
|
||||
public void OnDeathEnd()
|
||||
{
|
||||
Animator animator = GetComponent<Animator>();
|
||||
animator.ResetTrigger("Death");
|
||||
// animator.ResetTrigger("Death");
|
||||
gameObject.layer = LayerMask.NameToLayer("Default");
|
||||
_rb.constraints = RigidbodyConstraints2D.FreezeRotation;
|
||||
GameManager.Instance.RespawnPlayer();
|
||||
}
|
||||
|
||||
public void Step()
|
||||
public void OnStep()
|
||||
{
|
||||
if (_stepSounds && _stepSounds.soundEffects.Length > 0)
|
||||
GameManager.Instance.Audio.PlayRandomSfxAt(_stepSounds.soundEffects, transform.position);
|
||||
}
|
||||
|
||||
public void Jump()
|
||||
public void OnJump()
|
||||
{
|
||||
if (_jumpSounds && _jumpSounds.soundEffects.Length > 0)
|
||||
GameManager.Instance.Audio.PlayRandomSfxAt(_jumpSounds.soundEffects, transform.position);
|
||||
|
||||
162
Assets/Scripts/Behaviour/VFXPool.cs
Normal file
162
Assets/Scripts/Behaviour/VFXPool.cs
Normal file
@ -0,0 +1,162 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.VFX;
|
||||
|
||||
namespace RR.Game2D.Behaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// Пул объектов визуальных эффектов для переиспользования VFX и оптимизации производительности.
|
||||
/// </summary>
|
||||
public class VFXPool : MonoBehaviour
|
||||
{
|
||||
public static VFXPool Instance { get; private set; }
|
||||
|
||||
[SerializeField] private int poolSize = 32;
|
||||
[SerializeField] private float defaultLifetime = 2f; // время жизни эффекта по умолчанию (сек)
|
||||
|
||||
private Queue<GameObject> _pool;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// ---- Singleton ----
|
||||
if (Instance != null && Instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
|
||||
Instance = this;
|
||||
// -------------------
|
||||
|
||||
// Инициализируем очередь для хранения свободных VFX объектов
|
||||
_pool = new Queue<GameObject>();
|
||||
|
||||
// Предварительно создаем VFX объекты для пула
|
||||
for (int i = 0; i < poolSize; i++)
|
||||
{
|
||||
GameObject vfxGameObject = new GameObject($"VFX_{i}");
|
||||
vfxGameObject.AddComponent<VisualEffect>();
|
||||
// Созданные объекты сразу не активны в пуле
|
||||
vfxGameObject.SetActive(false);
|
||||
vfxGameObject.transform.SetParent(transform);
|
||||
_pool.Enqueue(vfxGameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
// Если уничтожается текущий активный экземпляр, сбрасываем ссылку
|
||||
if (Instance == this)
|
||||
{
|
||||
Instance = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получить VFX объект из пула (без автоматического запуска)
|
||||
/// </summary>
|
||||
/// <param name="vfxAsset">Ассет визуального эффекта для применения</param>
|
||||
/// <returns>GameObject с компонентом VisualEffect или null, если не удалось получить</returns>
|
||||
public GameObject Get(VisualEffectAsset vfxAsset)
|
||||
{
|
||||
GameObject vfxInstance;
|
||||
|
||||
// Проверяем, есть ли свободные объекты в пуле
|
||||
if (_pool.Count > 0)
|
||||
{
|
||||
vfxInstance = _pool.Dequeue();
|
||||
vfxInstance.SetActive(true);
|
||||
|
||||
VisualEffect currentVFX = vfxInstance.GetComponent<VisualEffect>();
|
||||
// Если текущий ассет не совпадает с запрашиваемым, заменяем его и реинициализируем
|
||||
if (currentVFX.visualEffectAsset != vfxAsset)
|
||||
{
|
||||
currentVFX.Stop();
|
||||
currentVFX.visualEffectAsset = vfxAsset;
|
||||
currentVFX.Reinit();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Пул пуст, создаем новый VFX объект
|
||||
vfxInstance = new GameObject($"VFX_{_pool.Count}");
|
||||
VisualEffect vfx = vfxInstance.AddComponent<VisualEffect>();
|
||||
vfx.visualEffectAsset = vfxAsset;
|
||||
vfxInstance.transform.SetParent(transform);
|
||||
vfxInstance.SetActive(true);
|
||||
}
|
||||
|
||||
// Сбрасываем поворот
|
||||
if (vfxInstance)
|
||||
{
|
||||
vfxInstance.transform.rotation = Quaternion.identity;
|
||||
}
|
||||
|
||||
return vfxInstance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Воспроизвести VFX из пула и автоматически вернуть его позже.
|
||||
/// </summary>
|
||||
/// <param name="vfxAsset">Ассет визуального эффекта</param>
|
||||
/// <param name="position">Позиция для эффекта</param>
|
||||
/// <param name="lifetime">Время жизни эффекта в секундах (если null — будет использовано defaultLifetime)</param>
|
||||
public GameObject Spawn(VisualEffectAsset vfxAsset, Vector3 position, float? lifetime = null)
|
||||
{
|
||||
float life = lifetime ?? defaultLifetime;
|
||||
GameObject vfxInstance = Get(vfxAsset);
|
||||
if (vfxInstance == null) return null;
|
||||
|
||||
vfxInstance.transform.position = position;
|
||||
|
||||
VisualEffect visualEffect = vfxInstance.GetComponent<VisualEffect>();
|
||||
// Удостоверимся, что эффект корректно инициализирован и запущен
|
||||
visualEffect.Reinit();
|
||||
visualEffect.Play();
|
||||
|
||||
// Запускаем корутину, которая вернёт объект в пул после окончания времени жизни
|
||||
StartCoroutine(ReturnAfterCoroutine(vfxInstance, life));
|
||||
|
||||
return vfxInstance;
|
||||
}
|
||||
|
||||
private IEnumerator ReturnAfterCoroutine(GameObject vfxInstance, float seconds)
|
||||
{
|
||||
// Ждём указанное время. Можно заменить на более точный механизм при наличии событий от VFXGraph.
|
||||
yield return new WaitForSeconds(seconds);
|
||||
|
||||
// Перед возвратом уверенно останавливаем эффект
|
||||
var ve = vfxInstance.GetComponent<VisualEffect>();
|
||||
if (ve) ve.Stop();
|
||||
|
||||
// Возвращаем в пул
|
||||
Return(vfxInstance);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Вернуть VFX объект обратно в пул для повторного использования
|
||||
/// </summary>
|
||||
/// <param name="vfxInstance">VFX объект для возврата в пул</param>
|
||||
public void Return(GameObject vfxInstance)
|
||||
{
|
||||
if (vfxInstance == null) return;
|
||||
|
||||
VisualEffect visualEffect = vfxInstance.GetComponent<VisualEffect>();
|
||||
if (visualEffect) visualEffect.Stop();
|
||||
|
||||
// Если пул не переполнен, деактивируем и кладём в очередь
|
||||
if (_pool.Count < poolSize)
|
||||
{
|
||||
vfxInstance.SetActive(false);
|
||||
_pool.Enqueue(vfxInstance);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Пул переполнен, уничтожаем объект
|
||||
Debug.Log("VFX Pool is full, destroying returned VFX instance.");
|
||||
Destroy(vfxInstance);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Behaviour/VFXPool.cs.meta
Normal file
3
Assets/Scripts/Behaviour/VFXPool.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac9e1b576ba849b6b501a05bff492df0
|
||||
timeCreated: 1764841043
|
||||
@ -1,4 +1,5 @@
|
||||
using System.Collections;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.InputSystem;
|
||||
@ -40,7 +41,13 @@ namespace RR.Common.UI
|
||||
if (GameManager.Instance != null)
|
||||
GameManager.Instance.PauseStateChanged -= HandlePauseChanged;
|
||||
}
|
||||
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
// ReSharper disable once EventUnsubscriptionViaAnonymousDelegate
|
||||
if (close) close.action.performed -= _ => GameManager.Instance.TogglePause();
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (resumeButton) resumeButton.onClick.AddListener(OnResumeClicked);
|
||||
@ -48,14 +55,16 @@ namespace RR.Common.UI
|
||||
//if (restartButton) restartButton.onClick.AddListener(OnRestartClicked);
|
||||
|
||||
// Изначально скрыто
|
||||
SetVisible(false, instant: true);
|
||||
SetVisible(false, true);
|
||||
|
||||
if (close) close.action.performed += _ => GameManager.Instance.TogglePause();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (close.action.WasPressedThisFrame() && !GameManager.Instance.IsPaused)
|
||||
GameManager.Instance.TogglePause();
|
||||
}
|
||||
// private void Update()
|
||||
// {
|
||||
// if (close.action.WasPressedThisFrame() && !GameManager.Instance.IsPaused)
|
||||
// GameManager.Instance.TogglePause();
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// Обработка события паузы
|
||||
@ -78,7 +87,7 @@ namespace RR.Common.UI
|
||||
/// Метод для изменения отображения
|
||||
/// </summary>
|
||||
/// <param name="visible">Отображать ли меню паузы</param>
|
||||
/// <param name="instant">Постоянно или нет</param>
|
||||
/// <param name="instant">Мгновенно или нет</param>
|
||||
private void SetVisible(bool visible, bool instant = false)
|
||||
{
|
||||
if (!panel) return;
|
||||
@ -103,7 +112,7 @@ namespace RR.Common.UI
|
||||
/// <param name="cg">Группа холстов</param>
|
||||
/// <param name="target">Целевое значение альфа-канала</param>
|
||||
/// <param name="duration">Продолжительность перехода</param>
|
||||
private IEnumerator Fade(CanvasGroup cg, float target, float duration)
|
||||
private static IEnumerator Fade(CanvasGroup cg, float target, float duration)
|
||||
{
|
||||
float start = cg.alpha;
|
||||
float t = 0f;
|
||||
@ -119,7 +128,7 @@ namespace RR.Common.UI
|
||||
/// <summary>
|
||||
/// Метод для возобновления игры
|
||||
/// </summary>
|
||||
public void OnResumeClicked() => GameManager.Instance.SetPause(false);
|
||||
public static void OnResumeClicked() => GameManager.Instance.TogglePause();
|
||||
|
||||
//public void OnRestartClicked()
|
||||
//{
|
||||
|
||||
2908
Assets/VFX Assets/Clouds_VFX.vfx
Normal file
2908
Assets/VFX Assets/Clouds_VFX.vfx
Normal file
File diff suppressed because it is too large
Load Diff
14
Assets/VFX Assets/Clouds_VFX.vfx.meta
Normal file
14
Assets/VFX Assets/Clouds_VFX.vfx.meta
Normal file
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6c4fdce0f9a1b184d9c3660014bdfdb5
|
||||
VisualEffectImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 1
|
||||
template:
|
||||
name:
|
||||
category:
|
||||
description:
|
||||
icon: {instanceID: 0}
|
||||
thumbnail: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
3349
Assets/VFX Assets/Confetti_VFX.vfx
Normal file
3349
Assets/VFX Assets/Confetti_VFX.vfx
Normal file
File diff suppressed because it is too large
Load Diff
14
Assets/VFX Assets/Confetti_VFX.vfx.meta
Normal file
14
Assets/VFX Assets/Confetti_VFX.vfx.meta
Normal file
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a832b00b965c1a64f8510aea0beac508
|
||||
VisualEffectImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 1
|
||||
template:
|
||||
name:
|
||||
category:
|
||||
description:
|
||||
icon: {instanceID: 0}
|
||||
thumbnail: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -40,7 +40,7 @@ MonoBehaviour:
|
||||
x: 616
|
||||
y: -1434
|
||||
width: 710
|
||||
height: 2410
|
||||
height: 2477
|
||||
--- !u!114 &114350483966674976
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
|
||||
358426
Assets/_Recovery/0.unity
Normal file
358426
Assets/_Recovery/0.unity
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/_Recovery/0.unity.meta
Normal file
7
Assets/_Recovery/0.unity.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb456ced8ebe5c14682d1e8345303da6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
x
Reference in New Issue
Block a user