Fan Club: actual functionality (input still bugged)

This commit is contained in:
minenice55 2022-03-15 18:43:13 -04:00
parent 9c640ea3d2
commit b58030e018
38 changed files with 5383 additions and 58 deletions

View File

@ -6327,6 +6327,7 @@ Transform:
- {fileID: 4847749933810664173} - {fileID: 4847749933810664173}
- {fileID: 5352825305120310155} - {fileID: 5352825305120310155}
- {fileID: 2937251253109900352} - {fileID: 2937251253109900352}
- {fileID: 7957844945366866598}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -6348,6 +6349,8 @@ MonoBehaviour:
idolClapEffect: {fileID: 8041535878161199445} idolClapEffect: {fileID: 8041535878161199445}
spectator: {fileID: 3943761683339994363, guid: 6efb7fb84202adb4fb918fdc8ebf5f7b, type: 3} spectator: {fileID: 3943761683339994363, guid: 6efb7fb84202adb4fb918fdc8ebf5f7b, type: 3}
spectatorAnchor: {fileID: 6534207104413303536} spectatorAnchor: {fileID: 6534207104413303536}
hitPrefab: {fileID: 7818400753111446154}
Player: {fileID: 0}
--- !u!1 &5353759269708445841 --- !u!1 &5353759269708445841
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -6884,6 +6887,65 @@ SpriteRenderer:
m_WasSpriteAssigned: 0 m_WasSpriteAssigned: 0
m_MaskInteraction: 0 m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!1 &7818400753111446154
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7957844945366866598}
- component: {fileID: 903356161929600608}
m_Layer: 0
m_Name: ntrIdol_Input
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &7957844945366866598
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7818400753111446154}
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_Children: []
m_Father: {fileID: 3248844209599200740}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &903356161929600608
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7818400753111446154}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4d6294b6066d1254aa9d41878165a68e, type: 3}
m_Name:
m_EditorClassIdentifier:
inList: 0
lastState: 0
state:
gameObject: {fileID: 0}
early: 0
perfect: 0
late: 0
createBeat: 0
eligibleHitsList: []
aceTimes: 0
isEligible: 0
triggersAutoplay: 1
startBeat: 0
toHitBeat: 0
type: 0
doCharge: 0
--- !u!1 &7947334156866227261 --- !u!1 &7947334156866227261
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -1389,6 +1389,7 @@ MonoBehaviour:
eligibleHitsList: [] eligibleHitsList: []
aceTimes: 0 aceTimes: 0
isEligible: 0 isEligible: 0
triggersAutoplay: 1
canKick: 0 canKick: 0
canHighKick: 0 canHighKick: 0
kickLeft: 0 kickLeft: 0
@ -2004,7 +2005,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!4 &6448989353494316845 --- !u!4 &6448989353494316845
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3890,6 +3891,7 @@ MonoBehaviour:
eligibleHitsList: [] eligibleHitsList: []
aceTimes: 0 aceTimes: 0
isEligible: 0 isEligible: 0
triggersAutoplay: 1
canKick: 0 canKick: 0
canHighKick: 0 canHighKick: 0
kickLeft: 0 kickLeft: 0

View File

@ -60,7 +60,7 @@ Transform:
m_LocalScale: {x: 3.8999999, y: 3.8999999, z: 1} m_LocalScale: {x: 3.8999999, y: 3.8999999, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 5716558783764150759} m_Father: {fileID: 5716558783764150759}
m_RootOrder: 1 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5024066029644855064 --- !u!212 &5024066029644855064
SpriteRenderer: SpriteRenderer:
@ -102,7 +102,7 @@ SpriteRenderer:
m_SortingLayerID: 0 m_SortingLayerID: 0
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: -81 m_SortingOrder: -81
m_Sprite: {fileID: 21300000, guid: 3e3f3247174dff640b0c29532ead2ea2, type: 3} m_Sprite: {fileID: 21300000, guid: 18885178757994a4a88e9d1069e6f88b, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0.5803922} m_Color: {r: 1, g: 1, b: 1, a: 0.5803922}
m_FlipX: 0 m_FlipX: 0
m_FlipY: 0 m_FlipY: 0
@ -360,6 +360,7 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: m_Children:
- {fileID: 8300763403773465020}
- {fileID: 7987279439154637720} - {fileID: 7987279439154637720}
- {fileID: 4534279992224304430} - {fileID: 4534279992224304430}
- {fileID: 2237510329105649824} - {fileID: 2237510329105649824}
@ -397,9 +398,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9446bd86cfdf08f4685a84d3c5348781, type: 3} m_Script: {fileID: 11500000, guid: 9446bd86cfdf08f4685a84d3c5348781, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
motionRoot: {fileID: 5186748553521627558}
headRoot: {fileID: 756044304266985371}
animator: {fileID: 5851239690922791261} animator: {fileID: 5851239690922791261}
headAnimator: {fileID: 1809157423920691603} headAnimator: {fileID: 1809157423920691603}
fanClapEffect: {fileID: 7149034128923702682} fanClapEffect: {fileID: 7149034128923702682}
shadow: {fileID: 5337068325991484391}
jumpStartTime: -99
--- !u!210 &4151796234699204600 --- !u!210 &4151796234699204600
SortingGroup: SortingGroup:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -441,7 +446,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 5716558783764150759} m_Father: {fileID: 5716558783764150759}
m_RootOrder: 2 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: -45, y: 90, z: 90} m_LocalEulerAnglesHint: {x: -45, y: 90, z: 90}
--- !u!198 &7149034128923702682 --- !u!198 &7149034128923702682
ParticleSystem: ParticleSystem:
@ -5386,7 +5391,7 @@ Transform:
- {fileID: 630984183189185575} - {fileID: 630984183189185575}
- {fileID: 4468383223722048803} - {fileID: 4468383223722048803}
m_Father: {fileID: 5716558783764150759} m_Father: {fileID: 5716558783764150759}
m_RootOrder: 0 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5336030003049238152 --- !u!1 &5336030003049238152
GameObject: GameObject:
@ -5471,6 +5476,88 @@ SpriteRenderer:
m_WasSpriteAssigned: 1 m_WasSpriteAssigned: 1
m_MaskInteraction: 0 m_MaskInteraction: 0
m_SpriteSortPoint: 0 m_SpriteSortPoint: 0
--- !u!1 &5337068325991484391
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8300763403773465020}
- component: {fileID: 6643832915257615239}
m_Layer: 0
m_Name: fan_Shadow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8300763403773465020
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5337068325991484391}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.4, y: 1.4, z: 1}
m_Children: []
m_Father: {fileID: 5716558783764150759}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &6643832915257615239
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5337068325991484391}
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: -8813925957938695401, guid: 3ceb27c8c676e7a428cf6e15cd11b7ef, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0.7058824}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.61, y: 0.49}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &5338753556039957397 --- !u!1 &5338753556039957397
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 2e673010b3185964d9e047c633e5e704
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: b2757b316cea73045a5d2775c372ef7c
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 398c9dccfbee64b4c9db593756b05ff4
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: ee90e2fed4cc0bf40b69207c78b80af7
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: dd125c4f4bbbd224883dcea14986f4f5
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: e4fd92f798e150e44bab030e0895347c
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: c2a9819b057c17f439d199e31785aad1
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 0c79cb6b4bfd15d43beb6f03d2c4ab21
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:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: fc6643cba339bbe4488108732af0f6ac
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:

View File

@ -1,6 +1,33 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-4217040067753156768 --- !u!1102 &-8493089858171203953
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: FanClapCharge
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -8085249653842851412}
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: 264d16d1959b75047849d2a0957be200, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-8085249653842851412
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@ -9,19 +36,45 @@ AnimatorStateTransition:
m_Name: m_Name:
m_Conditions: [] m_Conditions: []
m_DstStateMachine: {fileID: 0} m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 181574356450407721} m_DstState: {fileID: -5994284990963332137}
m_Solo: 0 m_Solo: 0
m_Mute: 0 m_Mute: 0
m_IsExit: 0 m_IsExit: 0
serializedVersion: 3 serializedVersion: 3
m_TransitionDuration: 0 m_TransitionDuration: 0
m_TransitionOffset: 0 m_TransitionOffset: 0
m_ExitTime: 2.7255502 m_ExitTime: 1.1989686
m_HasExitTime: 1 m_HasExitTime: 1
m_HasFixedDuration: 1 m_HasFixedDuration: 1
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1102 &-5994284990963332137
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: FanCharge
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: ac52489ecaae68d46a72eaf2b2513355, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-3945851103918479888 --- !u!1102 &-3945851103918479888
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@ -32,8 +85,7 @@ AnimatorState:
m_Name: FanClap m_Name: FanClap
m_Speed: 1 m_Speed: 1
m_CycleOffset: 0 m_CycleOffset: 0
m_Transitions: m_Transitions: []
- {fileID: -4217040067753156768}
m_StateMachineBehaviours: [] m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0} m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0 m_IKOnFeet: 0
@ -97,6 +149,32 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &2933966462888194993
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: FanJump
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: 9fcd3979130c40340bd9a1b811691e43, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &3557370305462825195 --- !u!1102 &3557370305462825195
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@ -215,13 +293,22 @@ AnimatorStateMachine:
m_Position: {x: 430, y: 120, z: 0} m_Position: {x: 430, y: 120, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -3945851103918479888} m_State: {fileID: -3945851103918479888}
m_Position: {x: 300, y: 260, z: 0} m_Position: {x: 260, y: 260, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 181574356450407721} m_State: {fileID: 181574356450407721}
m_Position: {x: 600, y: 260, z: 0} m_Position: {x: 470, y: 260, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 8884958142396479101} m_State: {fileID: 8884958142396479101}
m_Position: {x: 635, y: 325, z: 0} m_Position: {x: 260, y: 310, z: 0}
- serializedVersion: 1
m_State: {fileID: -8493089858171203953}
m_Position: {x: 260, y: 360, z: 0}
- serializedVersion: 1
m_State: {fileID: -5994284990963332137}
m_Position: {x: 470, y: 360, z: 0}
- serializedVersion: 1
m_State: {fileID: 2933966462888194993}
m_Position: {x: 505, y: 425, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -1,27 +1,5 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-8544251195951709503
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -4496796211826292596}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.88
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-4496796211826292596 --- !u!1102 &-4496796211826292596
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6
@ -58,8 +36,7 @@ AnimatorState:
m_Name: FanFaceAngry m_Name: FanFaceAngry
m_Speed: 1 m_Speed: 1
m_CycleOffset: 0 m_CycleOffset: 0
m_Transitions: m_Transitions: []
- {fileID: -8544251195951709503}
m_StateMachineBehaviours: [] m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0} m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0 m_IKOnFeet: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: c1f1af1b4d6d15241994cb6659d2cef4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: 18885178757994a4a88e9d1069e6f88b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -19,6 +19,7 @@ namespace HeavenStudio.Games
public ParticleSystem idolClapEffect; public ParticleSystem idolClapEffect;
public GameObject spectator; public GameObject spectator;
public GameObject spectatorAnchor; public GameObject spectatorAnchor;
public GameObject hitPrefab;
// end userdata // end userdata
@ -26,7 +27,7 @@ namespace HeavenStudio.Games
private Animator idolAnimator; private Animator idolAnimator;
//spectators //spectators
private List<GameObject> Spectators; private List<GameObject> Spectators;
private GameObject Player; public NtrIdolFan Player;
//bop-type animations //bop-type animations
public GameEvent bop = new GameEvent(); public GameEvent bop = new GameEvent();
@ -42,7 +43,7 @@ namespace HeavenStudio.Games
} }
const int FAN_COUNT = 12; const int FAN_COUNT = 12;
const float RADIUS = 1.25f; const float RADIUS = 1.3f;
private void Start() private void Start()
{ {
Spectators = new List<GameObject>(); Spectators = new List<GameObject>();
@ -66,7 +67,10 @@ namespace HeavenStudio.Games
mobj.transform.localPosition = new Vector3(spawnPos.x, spawnPos.y, spawnPos.z); mobj.transform.localPosition = new Vector3(spawnPos.x, spawnPos.y, spawnPos.z);
mobj.GetComponent<SortingGroup>().sortingOrder = i + sortOrigin; mobj.GetComponent<SortingGroup>().sortingOrder = i + sortOrigin;
if (i == 3) if (i == 3)
Player = mobj; {
Player = mobj.GetComponent<NtrIdolFan>();
Player.player = true;
}
Spectators.Add(mobj); Spectators.Add(mobj);
//prepare spawn point of next spectator //prepare spawn point of next spectator
@ -80,7 +84,7 @@ namespace HeavenStudio.Games
spawnPos = new Vector3(origin.x, origin.y, origin.z); spawnPos = new Vector3(origin.x, origin.y, origin.z);
spawnPos.x -= RADIUS * 2 * 4 - RADIUS; spawnPos.x -= RADIUS * 2 * 4 - RADIUS;
spawnPos.y -= RADIUS; spawnPos.y -= RADIUS;
spawnPos.z -= RADIUS/4; // spawnPos.z -= RADIUS/4;
} }
} }
} }
@ -90,7 +94,7 @@ namespace HeavenStudio.Games
if (Conductor.instance.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) if (Conductor.instance.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1))
{ {
if (Conductor.instance.songPositionInBeats >= specBop.startBeat && Conductor.instance.songPositionInBeats < specBop.startBeat + specBop.length) if (Conductor.instance.songPositionInBeats >= specBop.startBeat && Conductor.instance.songPositionInBeats < specBop.startBeat + specBop.length)
PlayAnimationAll("FanBeat"); BopAll();
if (Conductor.instance.songPositionInBeats >= response.startBeat && Conductor.instance.songPositionInBeats < response.startBeat + response.length) if (Conductor.instance.songPositionInBeats >= response.startBeat && Conductor.instance.songPositionInBeats < response.startBeat + response.length)
{ {
@ -104,7 +108,7 @@ namespace HeavenStudio.Games
else if (Conductor.instance.songPositionInBeats >= bop.startBeat && Conductor.instance.songPositionInBeats < bop.startBeat + bop.length) else if (Conductor.instance.songPositionInBeats >= bop.startBeat && Conductor.instance.songPositionInBeats < bop.startBeat + bop.length)
{ {
idolAnimator.Play("IdolBeat", 0, 0); idolAnimator.Play("IdolBeat", 0, 0);
PlayAnimationAll("FanBeat"); BopAll();
} }
} }
} }
@ -129,23 +133,44 @@ namespace HeavenStudio.Games
new MultiSound.Sound("fanClub/arisa_hai_3_jp", beat + 2f), new MultiSound.Sound("fanClub/arisa_hai_3_jp", beat + 2f),
}); });
Prepare(beat + 3f);
Prepare(beat + 4f);
Prepare(beat + 5f);
Prepare(beat + 6f);
BeatAction.New(Arisa, new List<BeatAction.Action>() BeatAction.New(Arisa, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolPeace", 0, 0); PlayAnimationAll("FanBeat");}), new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolPeace", 0, 0); BopAll();}),
new BeatAction.Action(beat + 1f, delegate { Arisa.GetComponent<Animator>().Play("IdolPeace", 0, 0); PlayAnimationAll("FanBeat");}), new BeatAction.Action(beat + 1f, delegate { Arisa.GetComponent<Animator>().Play("IdolPeace", 0, 0); BopAll();}),
new BeatAction.Action(beat + 2f, delegate { Arisa.GetComponent<Animator>().Play("IdolPeace", 0, 0); PlayAnimationAll("FanBeat");}), new BeatAction.Action(beat + 2f, delegate { Arisa.GetComponent<Animator>().Play("IdolPeace", 0, 0); BopAll();}),
new BeatAction.Action(beat + 3f, delegate { Arisa.GetComponent<Animator>().Play("IdolPeaceNoSync", 0, 0); PlayAnimationAll("FanPrepare");}), new BeatAction.Action(beat + 3f, delegate { Arisa.GetComponent<Animator>().Play("IdolPeaceNoSync", 0, 0); PlayAnimationAll("FanPrepare"); }),
new BeatAction.Action(beat + 4f, delegate { PlayAnimationAll("FanClap", true);}), new BeatAction.Action(beat + 4f, delegate { PlayOneClap(beat + 4f);}),
new BeatAction.Action(beat + 5f, delegate { PlayAnimationAll("FanClap", true);}), new BeatAction.Action(beat + 5f, delegate { PlayOneClap(beat + 5f);}),
new BeatAction.Action(beat + 6f, delegate { PlayAnimationAll("FanClap", true);}), new BeatAction.Action(beat + 6f, delegate { PlayOneClap(beat + 6f);}),
new BeatAction.Action(beat + 7f, delegate { PlayAnimationAll("FanClap", true);}), new BeatAction.Action(beat + 7f, delegate { PlayOneClap(beat + 7f);}),
});
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("fanClub/crowd_hai_jp", beat + 4f),
new MultiSound.Sound("fanClub/crowd_hai_jp", beat + 5f),
new MultiSound.Sound("fanClub/crowd_hai_jp", beat + 6f),
new MultiSound.Sound("fanClub/crowd_hai_jp", beat + 7f),
}); });
handCrap.length = 4f; handCrap.length = 4f;
handCrap.startBeat = beat + 4f; handCrap.startBeat = beat + 4f;
} }
public static void WarnHai(float beat, int type = 0)
{
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("fanClub/arisa_hai_1_jp", beat),
new MultiSound.Sound("fanClub/arisa_hai_2_jp", beat + 1f),
new MultiSound.Sound("fanClub/arisa_hai_3_jp", beat + 2f),
}, forcePlay:true);
}
const float CALL_LENGTH = 2f; const float CALL_LENGTH = 2f;
public void CallKamone(float beat, int type = 0) public void CallKamone(float beat, int type = 0)
{ {
@ -176,15 +201,52 @@ namespace HeavenStudio.Games
BeatAction.New(Arisa, new List<BeatAction.Action>() BeatAction.New(Arisa, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolCall0", 0, 0); PlayAnimationAll("FanBeat");}), new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolCall0", 0, 0); PlayAnimationAll("FanBeat");}),
new BeatAction.Action(beat + 0.75f, delegate { Arisa.GetComponent<Animator>().Play("IdolCall1", 0, 0); }), new BeatAction.Action(beat + 0.75f, delegate { Arisa.GetComponent<Animator>().Play("IdolCall1", 0, 0); }),
new BeatAction.Action(beat + 1f, delegate { PlayAnimationAll("FanPrepare");}), new BeatAction.Action(beat + 1f, delegate { PlayAnimationAll("FanPrepare"); Prepare(beat + 1f);}),
new BeatAction.Action(beat + 2f, delegate { PlayLongClap(beat + 2f); Prepare(beat + 2.5f);}),
new BeatAction.Action(beat + 3.5f, delegate { PlayOneClap(beat + 3.5f); Prepare(beat + 3f, 2);}),
new BeatAction.Action(beat + 4f, delegate { PlayChargeClap(beat + 4f); Prepare(beat + 4f, 1);}),
new BeatAction.Action(beat + 5f, delegate { PlayJump(beat + 5f);}),
});
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("fanClub/crowd_ka_jp", beat + 2f),
new MultiSound.Sound("fanClub/crowd_mo_jp", beat + 3.5f),
new MultiSound.Sound("fanClub/crowd_ne_jp", beat + 4f),
new MultiSound.Sound("fanClub/crowd_hey_jp", beat + 5f),
}); });
response.length = 4f; response.length = 4f;
response.startBeat = beat + CALL_LENGTH; response.startBeat = beat + CALL_LENGTH;
} }
public static void WarnKamone(float beat, int type = 0)
{
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("fanClub/arisa_ka_jp", beat),
new MultiSound.Sound("fanClub/arisa_mo_jp", beat + 0.5f),
new MultiSound.Sound("fanClub/arisa_ne_jp", beat + 1f),
}, forcePlay:true);
}
public void Prepare(float beat, int type = 0)
{
GameObject hit = Instantiate(hitPrefab);
hit.transform.parent = hitPrefab.transform.parent;
hit.SetActive(true);
NtrIdolInput h = hit.GetComponent<NtrIdolInput>();
h.startBeat = beat;
if (type == 2)
{
h.type = 0;
h.doCharge = true;
}
else
h.type = type;
}
private void PlayAnimationAll(string anim, bool noPlayer = false, bool doForced = false) private void PlayAnimationAll(string anim, bool noPlayer = false, bool doForced = false)
{ {
for (int i = 0; i < Spectators.Count; i++) for (int i = 0; i < Spectators.Count; i++)
@ -197,5 +259,76 @@ namespace HeavenStudio.Games
Spectators[i].GetComponent<Animator>().Play(anim, -1, 0); Spectators[i].GetComponent<Animator>().Play(anim, -1, 0);
} }
} }
private void BopAll(bool noPlayer = false, bool doForced = false)
{
for (int i = 0; i < Spectators.Count; i++)
{
if (i == 3 && noPlayer)
continue;
if (!Spectators[i].GetComponent<Animator>().IsAnimationNotPlaying() && !doForced)
continue;
Spectators[i].GetComponent<NtrIdolFan>().Bop();
}
}
private void PlayOneClap(float beat)
{
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { PlayAnimationAll("FanClap", true, true);}),
new BeatAction.Action(beat + 0.25f, delegate { PlayAnimationAll("FanFree", true);}),
});
}
private void PlayLongClap(float beat)
{
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { PlayAnimationAll("FanClap", true, true);}),
new BeatAction.Action(beat + 1f, delegate { PlayAnimationAll("FanFree", true);}),
});
}
private void PlayChargeClap(float beat)
{
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { PlayAnimationAll("FanClap", true, true);}),
new BeatAction.Action(beat + 0.1f, delegate { PlayAnimationAll("FanClapCharge", true, true);}),
});
}
private void StartJump(int idx, float beat)
{
Spectators[idx].GetComponent<NtrIdolFan>().jumpStartTime = beat;
BeatAction.New(Spectators[idx], new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { Spectators[idx].GetComponent<Animator>().Play("FanJump", -1, 0);}),
new BeatAction.Action(beat + 1f, delegate { Spectators[idx].GetComponent<Animator>().Play("FanPrepare", -1, 0);}),
});
}
private void PlayJump(float beat)
{
for (int i = 0; i < Spectators.Count; i++)
{
if (i == 3)
continue;
StartJump(i, beat);
}
}
public void AngerOnMiss()
{
for (int i = 0; i <= 5; i++)
{
if (i == 3)
continue;
Spectators[i].GetComponent<NtrIdolFan>().MakeAngry(i > 3);
}
}
} }
} }

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using System; using System;
using Starpelly; using Starpelly;
using NaughtyBezierCurves;
using HeavenStudio.Util; using HeavenStudio.Util;
@ -11,16 +12,145 @@ namespace HeavenStudio.Games.Scripts_FanClub
public class NtrIdolFan : MonoBehaviour public class NtrIdolFan : MonoBehaviour
{ {
[Header("References")] [Header("References")]
[SerializeField] private GameObject motionRoot;
[SerializeField] private GameObject headRoot;
public Animator animator; public Animator animator;
public Animator headAnimator; public Animator headAnimator;
public ParticleSystem fanClapEffect; public ParticleSystem fanClapEffect;
public GameObject shadow;
bool player = false; [Header("Properties")]
[NonSerialized] public bool player = false;
[NonSerialized] public bool hitValid = false;
public float jumpStartTime = -99f;
bool stopBeat = false; bool stopBeat = false;
bool stopCharge = false;
bool hasJumped = false;
float clappingStartTime = 0f;
private void Update()
{
var cond = Conductor.instance;
if (player)
{
if (PlayerInput.Pressed())
{
ClapStart(false);
}
if (PlayerInput.Pressing())
{
if (cond.songPositionInBeats > clappingStartTime + 1f && !stopCharge)
{
animator.Play("FanClapCharge", 0, 0);
stopCharge = true;
}
}
if (PlayerInput.PressedUp())
{
if (stopCharge)
{
JumpStart(false);
}
else
{
animator.Play("FanFree", 0, 0);
stopBeat = false;
}
}
}
float jumpPos = cond.GetPositionFromBeat(jumpStartTime, 1f);
if (cond.songPositionInBeats >= jumpStartTime && cond.songPositionInBeats < jumpStartTime + 1f)
{
hasJumped = true;
float yMul = jumpPos * 2f - 1f;
float yWeight = -(yMul*yMul) + 1f;
motionRoot.transform.localPosition = new Vector3(0, 3f * yWeight);
shadow.transform.localScale = new Vector3((1f-yWeight*0.8f) * 1.4f, (1f-yWeight*0.8f) * 1.4f, 1f);
}
else
{
motionRoot.transform.localPosition = new Vector3(0, 0);
shadow.transform.localScale = new Vector3(1.4f, 1.4f, 1f);
if (hasJumped && player)
{
animator.Play("FanPrepare", 0, 0);
stopBeat = false;
}
hasJumped = false;
}
}
public void ClapStart(bool hit, bool force = false, bool doCharge = false, bool fromAutoplay = false)
{
var cond = Conductor.instance;
if (hit)
{
print("HIT");
if (doCharge)
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(cond.songPositionInBeats + 0.1f, delegate {
if (PlayerInput.Pressing() || fromAutoplay)
{
animator.Play("FanClapCharge", 0, 0);
stopCharge = true;
}
}),
});
}
else
{
print("missed");
FanClub.instance.AngerOnMiss();
}
if (fromAutoplay || !force)
{
stopBeat = true;
jumpStartTime = -99f;
animator.Play("FanClap", 0, 0);
Jukebox.PlayOneShotGame("fanClub/play_clap");
Jukebox.PlayOneShotGame("fanClub/crap_impact");
clappingStartTime = cond.songPositionInBeats;
}
if (fromAutoplay && !doCharge)
{
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(cond.songPositionInBeats + 0.1f, delegate {
animator.Play("FanFree", 0, 0);
stopBeat = false;
}),
});
}
}
public void JumpStart(bool hit, bool force = false, bool fromAutoplay = false)
{
var cond = Conductor.instance;
if (hit)
{
print("HIT");
}
else
{
print("missed");
FanClub.instance.AngerOnMiss();
}
if (fromAutoplay || !force)
{
animator.Play("FanJump", 0, 0);
Jukebox.PlayOneShotGame("fanClub/play_jump");
jumpStartTime = cond.songPositionInBeats;
stopCharge = false;
}
}
public void Bop() public void Bop()
{ {
if (animator.IsAnimationNotPlaying() && !stopBeat) if (!stopBeat)
animator.Play("FanBeat", 0, 0); animator.Play("FanBeat", 0, 0);
} }
@ -28,5 +158,14 @@ namespace HeavenStudio.Games.Scripts_FanClub
{ {
fanClapEffect.Play(); fanClapEffect.Play();
} }
public void MakeAngry(bool flip = false)
{
headAnimator.Play("FanFaceAngry", 0, 0);
if (flip)
{
headRoot.transform.localScale = new Vector3(-1f, 1f, 1f);
}
}
} }
} }

View File

@ -0,0 +1,86 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HeavenStudio.Util;
namespace HeavenStudio.Games.Scripts_FanClub
{
public class NtrIdolInput : PlayerActionObject
{
public float startBeat;
public int type;
public bool doCharge = false;
private bool hit = false;
private bool hasHit = false;
void Start()
{
PlayerActionInit(gameObject, startBeat);
}
public override void OnAce()
{
Hit(true, type, true);
}
void Update()
{
if (Conductor.instance.GetPositionFromBeat(startBeat, 1.25f) >= 1)
{
FanClub.instance.AngerOnMiss();
CleanUp();
}
if (!hit && Conductor.instance.GetPositionFromBeat(startBeat, 1) >= 1)
{
hit = true;
if (hasHit) CleanUp();
}
float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, 1);
StateCheck(normalizedBeat);
if (PlayerInput.Pressed() && type == 0)
{
if (state.perfect)
{
Hit(true);
} else if (state.notPerfect())
{
Hit(false);
}
}
if (PlayerInput.PressedUp() && type == 1)
{
if (state.perfect)
{
Hit(true, type);
} else if (state.notPerfect())
{
Hit(false, type);
}
}
}
public void Hit(bool _hit, int type = 0, bool fromAutoplay = false)
{
if (!hasHit)
{
if (type == 0)
FanClub.instance.Player.ClapStart(_hit, true, doCharge, fromAutoplay);
else if (type == 1)
FanClub.instance.Player.JumpStart(_hit, true, fromAutoplay);
hasHit = true;
if (hit) CleanUp();
}
}
public void CleanUp()
{
Destroy(gameObject);
}
}
}

View File

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

View File

@ -421,8 +421,13 @@ namespace HeavenStudio
{ {
new GameAction("bop", delegate { FanClub.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true), new GameAction("bop", delegate { FanClub.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true),
// new GameAction("bop (spectators)", delegate { FanClub.instance.SpecBop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true), // new GameAction("bop (spectators)", delegate { FanClub.instance.SpecBop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true),
new GameAction("hais", delegate { FanClub.instance.CallHai(eventCaller.currentEntity.beat); }, 8, false), new GameAction("hais", delegate { FanClub.instance.CallHai(eventCaller.currentEntity.beat); }, 8, false,
new GameAction("kamone", delegate { FanClub.instance.CallKamone(eventCaller.currentEntity.beat); }, 6, false), // TODO: pre-switch cues
inactiveFunction: delegate { FanClub.WarnHai(eventCaller.currentEntity.beat); }),
new GameAction("kamone", delegate { FanClub.instance.CallKamone(eventCaller.currentEntity.beat); }, 6, false,
// TODO: pre-switch cues
inactiveFunction: delegate { FanClub.WarnKamone(eventCaller.currentEntity.beat); }),
// TODO: double clap cue
}), }),
/*new Minigame("spaceDance", "Space Dance", "B888F8", new List<GameAction>() /*new Minigame("spaceDance", "Space Dance", "B888F8", new List<GameAction>()
{ {