mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-10 11:45:09 +00:00
No way, fireworks is now feature-complete???! he did da impossible PART 2 (#298)
* Started * Added bomb * Just need more explosion types ig * Count ins :D * Remix 5 background * This was painful * Shity particles * particle adjustments * stuff --------- Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
This commit is contained in:
parent
8668122352
commit
e11381bae8
27 changed files with 10028 additions and 4993 deletions
File diff suppressed because it is too large
Load diff
8
Assets/Resources/Prefabs/Games/Fireworks.meta
Normal file
8
Assets/Resources/Prefabs/Games/Fireworks.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 006eaf84a86259e48b408af0e4926e12
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
129
Assets/Resources/Prefabs/Games/Fireworks/Bomb.prefab
Normal file
129
Assets/Resources/Prefabs/Games/Fireworks/Bomb.prefab
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1040251300904117319
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4643646746129784289}
|
||||||
|
- component: {fileID: 5427651764678403995}
|
||||||
|
- component: {fileID: 7261189633897651690}
|
||||||
|
- component: {fileID: 7411221809539012580}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Bomb
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &4643646746129784289
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1040251300904117319}
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 0.8, y: 0.8, z: 1}
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!212 &5427651764678403995
|
||||||
|
SpriteRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1040251300904117319}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 0
|
||||||
|
m_ReceiveShadows: 0
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 0
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 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: 0
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_Sprite: {fileID: 8321705126144521246, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_FlipX: 0
|
||||||
|
m_FlipY: 0
|
||||||
|
m_DrawMode: 0
|
||||||
|
m_Size: {x: 1.56, y: 1.32}
|
||||||
|
m_AdaptiveModeThreshold: 0.5
|
||||||
|
m_SpriteTileMode: 0
|
||||||
|
m_WasSpriteAssigned: 1
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_SpriteSortPoint: 0
|
||||||
|
--- !u!114 &7261189633897651690
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1040251300904117319}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5d25335cea525ce4397a2f83a3050aef, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
inList: 0
|
||||||
|
state:
|
||||||
|
gameObject: {fileID: 0}
|
||||||
|
early: 0
|
||||||
|
perfect: 0
|
||||||
|
late: 0
|
||||||
|
createBeat: 0
|
||||||
|
eligibleHitsList: []
|
||||||
|
aceTimes: 0
|
||||||
|
isEligible: 0
|
||||||
|
triggersAutoplay: 1
|
||||||
|
curve: {fileID: 0}
|
||||||
|
--- !u!95 &7411221809539012580
|
||||||
|
Animator:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1040251300904117319}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Avatar: {fileID: 0}
|
||||||
|
m_Controller: {fileID: 9100000, guid: 2ba86fffdc55cf741a25c12a7842a6d7, type: 2}
|
||||||
|
m_CullingMode: 0
|
||||||
|
m_UpdateMode: 0
|
||||||
|
m_ApplyRootMotion: 0
|
||||||
|
m_LinearVelocityBlending: 0
|
||||||
|
m_WarningMessage:
|
||||||
|
m_HasTransformHierarchy: 1
|
||||||
|
m_AllowConstantClipSamplingOptimization: 1
|
||||||
|
m_KeepAnimatorControllerStateOnDisable: 0
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ee8233cab321ff84c9f139d288111d95
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3633
Assets/Resources/Prefabs/Games/Fireworks/FireworkHolder.prefab
Normal file
3633
Assets/Resources/Prefabs/Games/Fireworks/FireworkHolder.prefab
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8a296700538af8b4cb1dd56a817bf298
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
4866
Assets/Resources/Prefabs/Games/Fireworks/FireworkParticle.prefab
Normal file
4866
Assets/Resources/Prefabs/Games/Fireworks/FireworkParticle.prefab
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2b7f3b3b11d182f48a2ef357c8e876fc
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/Resources/Sfx/games/fireworks/miss.wav
Normal file
BIN
Assets/Resources/Sfx/games/fireworks/miss.wav
Normal file
Binary file not shown.
22
Assets/Resources/Sfx/games/fireworks/miss.wav.meta
Normal file
22
Assets/Resources/Sfx/games/fireworks/miss.wav.meta
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: edae45a80bd260b44914341795bace4a
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 6
|
||||||
|
defaultSettings:
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
preloadAudioData: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,101 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1102 &-5100615410821545032
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: IdleBomb
|
||||||
|
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: d7d7487545cfd0e47ba195dcdd6a5285, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!91 &9100000
|
||||||
|
AnimatorController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Bomb
|
||||||
|
serializedVersion: 5
|
||||||
|
m_AnimatorParameters: []
|
||||||
|
m_AnimatorLayers:
|
||||||
|
- serializedVersion: 5
|
||||||
|
m_Name: Base Layer
|
||||||
|
m_StateMachine: {fileID: 6776942547505405022}
|
||||||
|
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}
|
||||||
|
--- !u!1102 &1659798832726232765
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: ExplodeBomb
|
||||||
|
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: c2ed908cd01823b44ae996171a98e2e0, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1107 &6776942547505405022
|
||||||
|
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: -5100615410821545032}
|
||||||
|
m_Position: {x: 200, y: 0, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: 1659798832726232765}
|
||||||
|
m_Position: {x: 235, y: 65, z: 0}
|
||||||
|
m_ChildStateMachines: []
|
||||||
|
m_AnyStateTransitions: []
|
||||||
|
m_EntryTransitions: []
|
||||||
|
m_StateMachineTransitions: {}
|
||||||
|
m_StateMachineBehaviours: []
|
||||||
|
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||||
|
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||||
|
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||||
|
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||||
|
m_DefaultState: {fileID: -5100615410821545032}
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2ba86fffdc55cf741a25c12a7842a6d7
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 9100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,146 @@
|
||||||
|
%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: ExplodeBomb
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Legacy: 0
|
||||||
|
m_Compressed: 0
|
||||||
|
m_UseHighQualityCurve: 1
|
||||||
|
m_RotationCurves: []
|
||||||
|
m_CompressedRotationCurves: []
|
||||||
|
m_EulerCurves: []
|
||||||
|
m_PositionCurves: []
|
||||||
|
m_ScaleCurves: []
|
||||||
|
m_FloatCurves:
|
||||||
|
- curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 136
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.1
|
||||||
|
value: 0
|
||||||
|
inSlope: Infinity
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 7
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
attribute: m_Color.a
|
||||||
|
path:
|
||||||
|
classID: 212
|
||||||
|
script: {fileID: 0}
|
||||||
|
m_PPtrCurves:
|
||||||
|
- curve:
|
||||||
|
- time: 0
|
||||||
|
value: {fileID: 716307583850843487, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- time: 0.016666668
|
||||||
|
value: {fileID: -2930459412978812549, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- time: 0.033333335
|
||||||
|
value: {fileID: -7951060998399535959, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- time: 0.05
|
||||||
|
value: {fileID: 6521631765723925360, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- time: 0.06666667
|
||||||
|
value: {fileID: -3930173783671174140, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- time: 0.083333336
|
||||||
|
value: {fileID: 4630040311661182356, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
attribute: m_Sprite
|
||||||
|
path:
|
||||||
|
classID: 212
|
||||||
|
script: {fileID: 0}
|
||||||
|
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: 0
|
||||||
|
attribute: 304273561
|
||||||
|
script: {fileID: 0}
|
||||||
|
typeID: 212
|
||||||
|
customType: 0
|
||||||
|
isPPtrCurve: 0
|
||||||
|
- serializedVersion: 2
|
||||||
|
path: 0
|
||||||
|
attribute: 0
|
||||||
|
script: {fileID: 0}
|
||||||
|
typeID: 212
|
||||||
|
customType: 23
|
||||||
|
isPPtrCurve: 1
|
||||||
|
pptrCurveMapping:
|
||||||
|
- {fileID: 716307583850843487, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- {fileID: -2930459412978812549, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- {fileID: -7951060998399535959, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- {fileID: 6521631765723925360, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- {fileID: -3930173783671174140, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
- {fileID: 4630040311661182356, guid: 106ee017e5083fb428d5c224afd8cb96, type: 3}
|
||||||
|
m_AnimationClipSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||||
|
m_AdditiveReferencePoseTime: 0
|
||||||
|
m_StartTime: 0
|
||||||
|
m_StopTime: 0.1
|
||||||
|
m_OrientationOffsetY: 0
|
||||||
|
m_Level: 0
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_HasAdditiveReferencePose: 0
|
||||||
|
m_LoopTime: 0
|
||||||
|
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:
|
||||||
|
- curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 136
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.1
|
||||||
|
value: 0
|
||||||
|
inSlope: Infinity
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 7
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
attribute: m_Color.a
|
||||||
|
path:
|
||||||
|
classID: 212
|
||||||
|
script: {fileID: 0}
|
||||||
|
m_EulerEditorCurves: []
|
||||||
|
m_HasGenericRootTransform: 0
|
||||||
|
m_HasMotionFloatCurves: 0
|
||||||
|
m_Events: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c2ed908cd01823b44ae996171a98e2e0
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 7400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,53 @@
|
||||||
|
%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: IdleBomb
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Legacy: 0
|
||||||
|
m_Compressed: 0
|
||||||
|
m_UseHighQualityCurve: 1
|
||||||
|
m_RotationCurves: []
|
||||||
|
m_CompressedRotationCurves: []
|
||||||
|
m_EulerCurves: []
|
||||||
|
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: []
|
||||||
|
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: []
|
||||||
|
m_EulerEditorCurves: []
|
||||||
|
m_HasGenericRootTransform: 0
|
||||||
|
m_HasMotionFloatCurves: 0
|
||||||
|
m_Events: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d7d7487545cfd0e47ba195dcdd6a5285
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 7400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -14,6 +14,9 @@ TextureImporter:
|
||||||
- first:
|
- first:
|
||||||
213: -3980211991217024205
|
213: -3980211991217024205
|
||||||
second: face_1
|
second: face_1
|
||||||
|
- first:
|
||||||
|
213: -4113892033949338959
|
||||||
|
second: Stars
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 11
|
serializedVersion: 11
|
||||||
mipmaps:
|
mipmaps:
|
||||||
|
@ -109,7 +112,7 @@ TextureImporter:
|
||||||
x: 0
|
x: 0
|
||||||
y: 572
|
y: 572
|
||||||
width: 672
|
width: 672
|
||||||
height: 452
|
height: 49
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
@ -153,7 +156,7 @@ TextureImporter:
|
||||||
width: 266
|
width: 266
|
||||||
height: 376
|
height: 376
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0, y: 0}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
outline: []
|
outline: []
|
||||||
physicsShape: []
|
physicsShape: []
|
||||||
|
@ -174,7 +177,7 @@ TextureImporter:
|
||||||
width: 394
|
width: 394
|
||||||
height: 412
|
height: 412
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0, y: 0}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
outline: []
|
outline: []
|
||||||
physicsShape: []
|
physicsShape: []
|
||||||
|
@ -186,6 +189,27 @@ TextureImporter:
|
||||||
indices:
|
indices:
|
||||||
edges: []
|
edges: []
|
||||||
weights: []
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Stars
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 621
|
||||||
|
width: 672
|
||||||
|
height: 403
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 1b2f320ddf488e6c0800000000000000
|
||||||
|
internalID: -4113892033949338959
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
outline: []
|
outline: []
|
||||||
physicsShape: []
|
physicsShape: []
|
||||||
bones: []
|
bones: []
|
||||||
|
|
|
@ -2,6 +2,8 @@ using HeavenStudio.Util;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using NaughtyBezierCurves;
|
||||||
|
using DG.Tweening;
|
||||||
|
|
||||||
namespace HeavenStudio.Games.Loaders
|
namespace HeavenStudio.Games.Loaders
|
||||||
{
|
{
|
||||||
|
@ -9,8 +11,57 @@ namespace HeavenStudio.Games.Loaders
|
||||||
public static class AgbFireworkLoader
|
public static class AgbFireworkLoader
|
||||||
{
|
{
|
||||||
public static Minigame AddGame(EventCaller eventCaller) {
|
public static Minigame AddGame(EventCaller eventCaller) {
|
||||||
return new Minigame("fireworks", "Fireworks \n<color=#eb5454>[INITIALIZATION ONLY]</color>", "0058CE", false, false, new List<GameAction>()
|
return new Minigame("fireworks", "Fireworks", "0058CE", false, false, new List<GameAction>()
|
||||||
{
|
{
|
||||||
|
new GameAction("firework", "Firework")
|
||||||
|
{
|
||||||
|
preFunction = delegate {var e = eventCaller.currentEntity; Fireworks.PreSpawnFirework(e.beat, false, e["whereToSpawn"], e["toggle"], e["explosionType"]); },
|
||||||
|
defaultLength = 4f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("whereToSpawn", Fireworks.WhereToSpawn.Middle, "Where to spawn?", "Where should the firework spawn?"),
|
||||||
|
new Param("explosionType", Fireworks.ExplosionType.MixedCircular, "Explosion Pattern", "What pattern should the firework explode with?"),
|
||||||
|
new Param("toggle", false, "Practice Count-In", "Should the count-in from the fireworks practice play?")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new GameAction("sparkler", "Sparkler")
|
||||||
|
{
|
||||||
|
preFunction = delegate {var e = eventCaller.currentEntity; Fireworks.PreSpawnFirework(e.beat, true, e["whereToSpawn"], e["toggle"], e["explosionType"]); },
|
||||||
|
defaultLength = 2f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("whereToSpawn", Fireworks.WhereToSpawn.Middle, "Where to spawn?", "Where should the firework spawn?"),
|
||||||
|
new Param("explosionType", Fireworks.ExplosionType.MixedCircular, "Explosion Pattern", "What pattern should the firework explode with?"),
|
||||||
|
new Param("toggle", false, "Practice Count-In", "Should the count-in from the fireworks practice play?")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new GameAction("bomb", "Bomb")
|
||||||
|
{
|
||||||
|
function = delegate {var e = eventCaller.currentEntity; Fireworks.instance.SpawnBomb(e.beat, e["toggle"]); },
|
||||||
|
defaultLength = 3f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("toggle", false, "Practice Count-In", "Should the count-in from the fireworks practice play?")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new GameAction("countIn", "Count-In")
|
||||||
|
{
|
||||||
|
preFunction = delegate {var e = eventCaller.currentEntity; Fireworks.CountIn(e.beat, e["count"]); },
|
||||||
|
defaultLength = 1f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("count", Fireworks.CountInType.CountOne, "Count", "Which count should be said?")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new GameAction("altBG", "Background Appearance")
|
||||||
|
{
|
||||||
|
function = delegate {var e = eventCaller.currentEntity; Fireworks.instance.ChangeBackgroundAppearance(e["toggle"]); },
|
||||||
|
defaultLength = 0.5f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("toggle", true, "Remix 5", "Should the background from Remix 5 tengoku appear?")
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,16 +72,229 @@ namespace HeavenStudio.Games
|
||||||
using Scripts_Fireworks;
|
using Scripts_Fireworks;
|
||||||
public class Fireworks : Minigame
|
public class Fireworks : Minigame
|
||||||
{
|
{
|
||||||
// Start is called before the first frame update
|
public enum ExplosionType
|
||||||
|
{
|
||||||
|
UniformBig = 0,
|
||||||
|
UniformDonut = 1,
|
||||||
|
UniformSwirl = 2,
|
||||||
|
UniformSmile = 3,
|
||||||
|
MixedCircular = 4
|
||||||
|
}
|
||||||
|
public struct QueuedFirework
|
||||||
|
{
|
||||||
|
public float beat;
|
||||||
|
public bool isSparkler;
|
||||||
|
public int whereToSpawn;
|
||||||
|
public bool practice;
|
||||||
|
public int explosionType;
|
||||||
|
}
|
||||||
|
public enum WhereToSpawn
|
||||||
|
{
|
||||||
|
Left = 0,
|
||||||
|
Right = 1,
|
||||||
|
Middle = 2
|
||||||
|
}
|
||||||
|
public enum CountInType
|
||||||
|
{
|
||||||
|
CountOne = 0,
|
||||||
|
CountTwo = 1,
|
||||||
|
CountThree = 2,
|
||||||
|
CountHey = 3
|
||||||
|
}
|
||||||
|
[Header("Components")]
|
||||||
|
[SerializeField] Transform spawnLeft;
|
||||||
|
[SerializeField] Transform spawnRight;
|
||||||
|
[SerializeField] Transform spawnMiddle;
|
||||||
|
[SerializeField] Transform bombSpawn;
|
||||||
|
[SerializeField] Rocket firework;
|
||||||
|
[SerializeField] FireworksBomb bomb;
|
||||||
|
[SerializeField] BezierCurve3D bombCurve;
|
||||||
|
[SerializeField] SpriteRenderer flashWhite;
|
||||||
|
[SerializeField] GameObject faces;
|
||||||
|
[SerializeField] GameObject stars;
|
||||||
|
[Header("Properties")]
|
||||||
|
Tween flashTween;
|
||||||
|
public static List<QueuedFirework> queuedFireworks = new List<QueuedFirework>();
|
||||||
|
|
||||||
|
public static Fireworks instance;
|
||||||
|
|
||||||
|
void OnDestroy()
|
||||||
|
{
|
||||||
|
if (queuedFireworks.Count > 0) queuedFireworks.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
|
instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
var cond = Conductor.instance;
|
||||||
|
|
||||||
|
if (cond.isPlaying && !cond.isPaused)
|
||||||
|
{
|
||||||
|
if (queuedFireworks.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var firework in queuedFireworks)
|
||||||
|
{
|
||||||
|
SpawnFirework(firework.beat, firework.isSparkler, firework.whereToSpawn, firework.practice, firework.explosionType);
|
||||||
|
}
|
||||||
|
queuedFireworks.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ChangeBackgroundAppearance(bool doIt)
|
||||||
|
{
|
||||||
|
faces.SetActive(doIt);
|
||||||
|
stars.SetActive(!doIt);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void CountIn(float beat, int count)
|
||||||
|
{
|
||||||
|
switch (count)
|
||||||
|
{
|
||||||
|
case (int)CountInType.CountOne:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/count1", beat)
|
||||||
|
}, forcePlay: true);
|
||||||
|
break;
|
||||||
|
case (int)CountInType.CountTwo:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/count2", beat)
|
||||||
|
}, forcePlay: true);
|
||||||
|
break;
|
||||||
|
case (int)CountInType.CountThree:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/count3", beat)
|
||||||
|
}, forcePlay: true);
|
||||||
|
break;
|
||||||
|
case (int)CountInType.CountHey:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/countHey", beat)
|
||||||
|
}, forcePlay: true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void PreSpawnFirework(float beat, bool isSparkler, int whereToSpawn, bool practice, int explosionType)
|
||||||
|
{
|
||||||
|
if (isSparkler)
|
||||||
|
{
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/sparkler", beat, 1, 1, false, 0.223f)
|
||||||
|
}, forcePlay: true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/rocket", beat)
|
||||||
|
}, forcePlay: true);
|
||||||
|
}
|
||||||
|
if (GameManager.instance.currentGame == "fireworks")
|
||||||
|
{
|
||||||
|
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||||
|
{
|
||||||
|
new BeatAction.Action(beat, delegate
|
||||||
|
{
|
||||||
|
Fireworks.instance.SpawnFirework(beat, isSparkler, whereToSpawn, practice, explosionType);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
queuedFireworks.Add(new QueuedFirework { beat = beat, isSparkler = isSparkler, whereToSpawn = whereToSpawn, practice = practice, explosionType = explosionType });
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SpawnFirework(float beat, bool isSparkler, int whereToSpawn, bool practice, int explosionType)
|
||||||
|
{
|
||||||
|
if (isSparkler && practice)
|
||||||
|
{
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/practiceHai", beat + 1),
|
||||||
|
}, forcePlay: true);
|
||||||
|
}
|
||||||
|
else if (practice)
|
||||||
|
{
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/practice1", beat),
|
||||||
|
new MultiSound.Sound("fireworks/practice2", beat + 1),
|
||||||
|
new MultiSound.Sound("fireworks/practice3", beat + 2),
|
||||||
|
new MultiSound.Sound("fireworks/practiceHai", beat + 3),
|
||||||
|
}, forcePlay: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
Transform spawnPoint = spawnMiddle;
|
||||||
|
switch (whereToSpawn)
|
||||||
|
{
|
||||||
|
case (int)WhereToSpawn.Left:
|
||||||
|
spawnPoint = spawnLeft;
|
||||||
|
break;
|
||||||
|
case (int)WhereToSpawn.Right:
|
||||||
|
spawnPoint = spawnRight;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
spawnPoint = spawnMiddle;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Rocket spawnedRocket = Instantiate(firework, spawnPoint, false);
|
||||||
|
spawnedRocket.isSparkler = isSparkler;
|
||||||
|
spawnedRocket.Init(beat, explosionType);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SpawnBomb(float beat, bool practice)
|
||||||
|
{
|
||||||
|
Jukebox.PlayOneShotGame("fireworks/bomb");
|
||||||
|
if (practice)
|
||||||
|
{
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("fireworks/practiceHai", beat + 2),
|
||||||
|
}, forcePlay: true);
|
||||||
|
}
|
||||||
|
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||||
|
{
|
||||||
|
new BeatAction.Action(beat + 1, delegate
|
||||||
|
{
|
||||||
|
FireworksBomb spawnedBomb = Instantiate(bomb, bombSpawn, false);
|
||||||
|
spawnedBomb.curve = bombCurve;
|
||||||
|
spawnedBomb.Init(beat + 1);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ChangeFlashColor(Color color, float beats)
|
||||||
|
{
|
||||||
|
var seconds = Conductor.instance.secPerBeat * beats;
|
||||||
|
|
||||||
|
if (flashTween != null)
|
||||||
|
flashTween.Kill(true);
|
||||||
|
|
||||||
|
if (seconds == 0)
|
||||||
|
{
|
||||||
|
flashWhite.color = color;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flashTween = flashWhite.DOColor(color, seconds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FadeFlashColor(Color start, Color end, float beats)
|
||||||
|
{
|
||||||
|
ChangeFlashColor(start, 0f);
|
||||||
|
ChangeFlashColor(end, beats);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
65
Assets/Scripts/Games/Fireworks/FireworksBomb.cs
Normal file
65
Assets/Scripts/Games/Fireworks/FireworksBomb.cs
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using HeavenStudio.Util;
|
||||||
|
using NaughtyBezierCurves;
|
||||||
|
|
||||||
|
namespace HeavenStudio.Games.Scripts_Fireworks
|
||||||
|
{
|
||||||
|
public class FireworksBomb : PlayerActionObject
|
||||||
|
{
|
||||||
|
public BezierCurve3D curve;
|
||||||
|
private bool exploded;
|
||||||
|
private Fireworks game;
|
||||||
|
private float startBeat;
|
||||||
|
private Animator anim;
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
game = Fireworks.instance;
|
||||||
|
anim = GetComponent<Animator>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(float beat)
|
||||||
|
{
|
||||||
|
game.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Just, Out, Out);
|
||||||
|
startBeat = beat;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
var cond = Conductor.instance;
|
||||||
|
if (exploded) return;
|
||||||
|
float flyPos = cond.GetPositionFromBeat(startBeat, 1f);
|
||||||
|
transform.position = curve.GetPoint(flyPos);
|
||||||
|
if (flyPos > 2) Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Just(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
anim.DoScaledAnimationAsync("ExplodeBomb", 0.25f);
|
||||||
|
exploded = true;
|
||||||
|
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||||
|
{
|
||||||
|
new BeatAction.Action(startBeat + 3f, delegate { Destroy(gameObject); })
|
||||||
|
});
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
Jukebox.PlayOneShotGame("fireworks/miss");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Success();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Success()
|
||||||
|
{
|
||||||
|
Jukebox.PlayOneShotGame("fireworks/explodeBomb");
|
||||||
|
game.FadeFlashColor(Color.white, new Color(1, 1, 1, 0), 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Out(PlayerActionEvent caller) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
11
Assets/Scripts/Games/Fireworks/FireworksBomb.cs.meta
Normal file
11
Assets/Scripts/Games/Fireworks/FireworksBomb.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5d25335cea525ce4397a2f83a3050aef
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -8,18 +8,62 @@ namespace HeavenStudio.Games.Scripts_Fireworks
|
||||||
{
|
{
|
||||||
public class Rocket : PlayerActionObject
|
public class Rocket : PlayerActionObject
|
||||||
{
|
{
|
||||||
|
[SerializeField] ParticleSystem particleBarelyEffect;
|
||||||
|
[SerializeField] private List<ParticleSystem> particleEffects = new List<ParticleSystem>();
|
||||||
|
[SerializeField] ParticleSystem selectedParticleEffect;
|
||||||
|
[SerializeField] Animator anim;
|
||||||
public bool isSparkler;
|
public bool isSparkler;
|
||||||
|
private Fireworks game;
|
||||||
|
public float startBeat;
|
||||||
|
private bool exploded;
|
||||||
|
private float startY;
|
||||||
|
|
||||||
// Start is called before the first frame update
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
|
game = Fireworks.instance;
|
||||||
|
startY = transform.position.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(float beat, int explosionToChoose)
|
||||||
|
{
|
||||||
|
startBeat = beat;
|
||||||
|
game.ScheduleInput(beat, isSparkler ? 1f : 3f, InputType.STANDARD_DOWN, Just, Out, Out);
|
||||||
|
anim.DoScaledAnimationAsync(isSparkler ? "Sparkler" : "Rocket", isSparkler ? 1f : 0.5f);
|
||||||
|
selectedParticleEffect = particleEffects[explosionToChoose];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
var cond = Conductor.instance;
|
||||||
|
float normalizedBeat = cond.GetPositionFromBeat(startBeat, isSparkler ? 1f : 3f);
|
||||||
|
if (!exploded && cond.isPlaying && !cond.isPaused)
|
||||||
|
{
|
||||||
|
EasingFunction.Function func = EasingFunction.GetEasingFunction(EasingFunction.Ease.Linear);
|
||||||
|
float newPosY = func(startY, 7f, normalizedBeat * (isSparkler ? 0.5f : 0.4f));
|
||||||
|
transform.position = new Vector3(transform.position.x, newPosY, transform.position.z);
|
||||||
|
}
|
||||||
|
if (normalizedBeat > 3f && !selectedParticleEffect.isPlaying) Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
void Just(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
Jukebox.PlayOneShotGame("fireworks/miss");
|
||||||
|
particleBarelyEffect.Play();
|
||||||
|
anim.gameObject.SetActive(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Success();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Success()
|
||||||
|
{
|
||||||
|
Jukebox.PlayOneShotGame("fireworks/explodeRocket");
|
||||||
|
selectedParticleEffect.Play();
|
||||||
|
anim.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Out(PlayerActionEvent caller) { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
|
@ -1,52 +1,52 @@
|
||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
CRC: 353797687
|
CRC: 3431703811
|
||||||
AssetBundleManifest:
|
AssetBundleManifest:
|
||||||
AssetBundleInfos:
|
AssetBundleInfos:
|
||||||
Info_0:
|
Info_0:
|
||||||
Name: ntridol/common
|
|
||||||
Dependencies: {}
|
|
||||||
Info_1:
|
|
||||||
Name: karate/locale.en
|
|
||||||
Dependencies: {}
|
|
||||||
Info_2:
|
|
||||||
Name: ctrpillow/common
|
Name: ctrpillow/common
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_3:
|
Info_1:
|
||||||
Name: ntridol/locale.jp
|
|
||||||
Dependencies: {}
|
|
||||||
Info_4:
|
|
||||||
Name: ntrsamurai/common
|
|
||||||
Dependencies: {}
|
|
||||||
Info_5:
|
|
||||||
Name: karate/common
|
Name: karate/common
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_6:
|
Info_2:
|
||||||
|
Name: ntrsamurai/common
|
||||||
|
Dependencies: {}
|
||||||
|
Info_3:
|
||||||
|
Name: ctrpillow/locale.jp
|
||||||
|
Dependencies: {}
|
||||||
|
Info_4:
|
||||||
|
Name: ctrcatchy/common
|
||||||
|
Dependencies: {}
|
||||||
|
Info_5:
|
||||||
Name: ntrdj/common
|
Name: ntrdj/common
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
|
Info_6:
|
||||||
|
Name: ntridol/common
|
||||||
|
Dependencies: {}
|
||||||
Info_7:
|
Info_7:
|
||||||
Name: ctrpillow/locale.en
|
Name: ntridol/locale.jp
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_8:
|
Info_8:
|
||||||
Name: ntrcoin/common
|
Name: ntrcoin/common
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_9:
|
Info_9:
|
||||||
Name: ntrsamurai/locale.en
|
Name: karate/locale.en
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_10:
|
Info_10:
|
||||||
Name: ctrpillow/locale.ko
|
Name: ctrpillow/locale.ko
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_11:
|
Info_11:
|
||||||
Name: ctrpillow/locale.jp
|
Name: ctrpillow/locale.en
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_12:
|
Info_12:
|
||||||
Name: ctrcatchy/common
|
Name: ntrsamurai/locale.en
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_13:
|
Info_13:
|
||||||
Name: agbmarcher/locale.en
|
Name: agbmarcher/locale.en
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
Info_14:
|
Info_14:
|
||||||
Name: agbmarcher/locale.jp
|
|
||||||
Dependencies: {}
|
|
||||||
Info_15:
|
|
||||||
Name: agbmarcher/common
|
Name: agbmarcher/common
|
||||||
Dependencies: {}
|
Dependencies: {}
|
||||||
|
Info_15:
|
||||||
|
Name: agbmarcher/locale.jp
|
||||||
|
Dependencies: {}
|
||||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
CRC: 267694931
|
CRC: 1703679742
|
||||||
Hashes:
|
Hashes:
|
||||||
AssetFileHash:
|
AssetFileHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: ac8dfc11a7dd479a544b25bc6e6b152a
|
Hash: cd675f415fa478e57341ee08736f551b
|
||||||
TypeTreeHash:
|
TypeTreeHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 98a6d4eb4172ec02b55d5f14afb2d5a8
|
Hash: 98a6d4eb4172ec02b55d5f14afb2d5a8
|
||||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
||||||
ManifestFileVersion: 0
|
ManifestFileVersion: 0
|
||||||
CRC: 3271251889
|
CRC: 3515263134
|
||||||
Hashes:
|
Hashes:
|
||||||
AssetFileHash:
|
AssetFileHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: fa8f6be17f9cb26e18d3027ce53d73da
|
Hash: ae8587d5871f6e87fe3ef335a91a5dd3
|
||||||
TypeTreeHash:
|
TypeTreeHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 6c542f6873f7e3067be67f888d87c947
|
Hash: 6c542f6873f7e3067be67f888d87c947
|
||||||
|
|
Loading…
Reference in a new issue