Merge branch 'master' into MonkeyWatch
This commit is contained in:
commit
98c367422b
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
|
@ -30,7 +30,7 @@ jobs:
|
|||
android: true
|
||||
dotnet: false
|
||||
haskell: true
|
||||
large-packages: true
|
||||
large-packages: false
|
||||
docker-images: false
|
||||
swap-storage: false
|
||||
|
||||
|
|
|
|||
9
.vscode/extensions.json
vendored
9
.vscode/extensions.json
vendored
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"recommendations": [
|
||||
"ms-dotnettools.csharp",
|
||||
"editorconfig.editorconfig"
|
||||
]
|
||||
"recommendations": [
|
||||
"ms-dotnettools.csharp",
|
||||
"editorconfig.editorconfig",
|
||||
"visualstudiotoolsforunity.vstuc"
|
||||
]
|
||||
}
|
||||
10
.vscode/launch.json
vendored
Normal file
10
.vscode/launch.json
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Attach to Unity",
|
||||
"type": "vstuc",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
||||
107
.vscode/settings.json
vendored
107
.vscode/settings.json
vendored
|
|
@ -1,54 +1,55 @@
|
|||
{
|
||||
"files.exclude": {
|
||||
"**/.DS_Store": true,
|
||||
"**/.git": true,
|
||||
"**/.gitmodules": true,
|
||||
"**/*.booproj": true,
|
||||
"**/*.pidb": true,
|
||||
"**/*.suo": true,
|
||||
"**/*.user": true,
|
||||
"**/*.userprefs": true,
|
||||
"**/*.unityproj": true,
|
||||
"**/*.dll": true,
|
||||
"**/*.exe": true,
|
||||
"**/*.pdf": true,
|
||||
"**/*.mid": true,
|
||||
"**/*.midi": true,
|
||||
"**/*.wav": true,
|
||||
"**/*.gif": true,
|
||||
"**/*.ico": true,
|
||||
"**/*.jpg": true,
|
||||
"**/*.jpeg": true,
|
||||
"**/*.png": true,
|
||||
"**/*.psd": true,
|
||||
"**/*.tga": true,
|
||||
"**/*.tif": true,
|
||||
"**/*.tiff": true,
|
||||
"**/*.3ds": true,
|
||||
"**/*.3DS": true,
|
||||
"**/*.fbx": true,
|
||||
"**/*.FBX": true,
|
||||
"**/*.lxo": true,
|
||||
"**/*.LXO": true,
|
||||
"**/*.ma": true,
|
||||
"**/*.MA": true,
|
||||
"**/*.obj": true,
|
||||
"**/*.OBJ": true,
|
||||
"**/*.asset": true,
|
||||
"**/*.cubemap": true,
|
||||
"**/*.flare": true,
|
||||
"**/*.mat": true,
|
||||
"**/*.meta": true,
|
||||
"**/*.prefab": true,
|
||||
"**/*.unity": true,
|
||||
"build/": true,
|
||||
"Build/": true,
|
||||
"Library/": true,
|
||||
"library/": true,
|
||||
"obj/": true,
|
||||
"Obj/": true,
|
||||
"ProjectSettings/": true,
|
||||
"temp/": true,
|
||||
"Temp/": true
|
||||
}
|
||||
}
|
||||
"files.exclude": {
|
||||
"**/.DS_Store": true,
|
||||
"**/.git": true,
|
||||
"**/.gitmodules": true,
|
||||
"**/*.booproj": true,
|
||||
"**/*.pidb": true,
|
||||
"**/*.suo": true,
|
||||
"**/*.user": true,
|
||||
"**/*.userprefs": true,
|
||||
"**/*.unityproj": true,
|
||||
"**/*.dll": true,
|
||||
"**/*.exe": true,
|
||||
"**/*.pdf": true,
|
||||
"**/*.mid": true,
|
||||
"**/*.midi": true,
|
||||
"**/*.wav": true,
|
||||
"**/*.gif": true,
|
||||
"**/*.ico": true,
|
||||
"**/*.jpg": true,
|
||||
"**/*.jpeg": true,
|
||||
"**/*.png": true,
|
||||
"**/*.psd": true,
|
||||
"**/*.tga": true,
|
||||
"**/*.tif": true,
|
||||
"**/*.tiff": true,
|
||||
"**/*.3ds": true,
|
||||
"**/*.3DS": true,
|
||||
"**/*.fbx": true,
|
||||
"**/*.FBX": true,
|
||||
"**/*.lxo": true,
|
||||
"**/*.LXO": true,
|
||||
"**/*.ma": true,
|
||||
"**/*.MA": true,
|
||||
"**/*.obj": true,
|
||||
"**/*.OBJ": true,
|
||||
"**/*.asset": true,
|
||||
"**/*.cubemap": true,
|
||||
"**/*.flare": true,
|
||||
"**/*.mat": true,
|
||||
"**/*.meta": true,
|
||||
"**/*.prefab": true,
|
||||
"**/*.unity": true,
|
||||
"build/": true,
|
||||
"Build/": true,
|
||||
"Library/": true,
|
||||
"library/": true,
|
||||
"obj/": true,
|
||||
"Obj/": true,
|
||||
"ProjectSettings/": true,
|
||||
"temp/": true,
|
||||
"Temp/": true
|
||||
},
|
||||
"dotnet.defaultSolution": "HeavenStudio.sln"
|
||||
}
|
||||
|
|
@ -200,7 +200,7 @@ namespace UnityBuilderAction
|
|||
dataPath = $"_Data/";
|
||||
break;
|
||||
case BuildTarget.StandaloneOSX:
|
||||
dataPath = $".app/Contents/";
|
||||
dataPath = $".app/Contents/Resources/Data/";
|
||||
break;
|
||||
case BuildTarget.StandaloneLinux64:
|
||||
dataPath = $"_Data/";
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Material:
|
|||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: 89e1b1c005d29cf4598ea861deb35a80, type: 3}
|
||||
m_Texture: {fileID: 2800000, guid: 8b8c8a10edf94ddc8cc4cc4fcd5696a9, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
|
|
|
|||
|
|
@ -11,6 +11,16 @@ PluginImporter:
|
|||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Editor: 0
|
||||
Exclude Linux64: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
|
|
@ -19,9 +29,35 @@ PluginImporter:
|
|||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ PluginImporter:
|
|||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isPreloaded: 1
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
|
|
@ -19,7 +19,7 @@ PluginImporter:
|
|||
Exclude Editor: 0
|
||||
Exclude Linux64: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude Win: 1
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
- first:
|
||||
Any:
|
||||
|
|
@ -31,7 +31,7 @@ PluginImporter:
|
|||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
|
|
@ -49,9 +49,9 @@ PluginImporter:
|
|||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: None
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,11 +6,21 @@ PluginImporter:
|
|||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isPreloaded: 1
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Editor: 0
|
||||
Exclude Linux64: 0
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
|
|
@ -18,10 +28,36 @@ PluginImporter:
|
|||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,63 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c603b06f7fc73b9448935991b913d915
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Editor: 1
|
||||
Exclude Linux64: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 1
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 12b152ed16fe1eb4698be175f621ffe4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1055,15 +1055,17 @@ MonoBehaviour:
|
|||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 50
|
||||
m_enableWordWrapping: 0
|
||||
m_TextWrappingMode: 0
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
|
|
@ -1713,15 +1715,17 @@ MonoBehaviour:
|
|||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 3
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 00000000
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
|
|
@ -2602,15 +2606,17 @@ MonoBehaviour:
|
|||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 3
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
|
|
@ -4187,10 +4193,6 @@ MonoBehaviour:
|
|||
SoundSequences: []
|
||||
EligibleHits: []
|
||||
scheduledInputs: []
|
||||
firstEnable: 0
|
||||
alienSpeakCount: 0
|
||||
translatorSpeakCount: 0
|
||||
hasMissed: 0
|
||||
alien: {fileID: 1725356918350344904}
|
||||
translator: {fileID: 2669316826032871973}
|
||||
missionControl: {fileID: 1703073459706337243}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ Transform:
|
|||
m_LocalPosition: {x: 0.008, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Children:
|
||||
- {fileID: 8730184864405069350}
|
||||
m_Father: {fileID: 1039565176908573975}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -131,7 +132,7 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1456959186295915410}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.006, y: 0.76, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 0.76, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
|
|
@ -687,200 +688,6 @@ SpriteRenderer:
|
|||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &4832125457190649999
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3242105452747297828}
|
||||
- component: {fileID: 7002390330640987317}
|
||||
- component: {fileID: 1328881971056076866}
|
||||
- component: {fileID: 6703009748212989289}
|
||||
m_Layer: 0
|
||||
m_Name: Letter
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3242105452747297828
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4832125457190649999}
|
||||
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: 7248900333300803150}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -0.6749878, y: 3.15}
|
||||
m_SizeDelta: {x: 1, y: 1}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &7002390330640987317
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4832125457190649999}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 0
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: fa00f193fe038984592034ad7d5c2a42, type: 2}
|
||||
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_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 1337
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &1328881971056076866
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4832125457190649999}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text:
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8597c35f18a008c428fc5870aec75766, type: 2}
|
||||
m_sharedMaterial: {fileID: 2100000, guid: fa00f193fe038984592034ad7d5c2a42, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4291690238
|
||||
m_fontColor: {r: 0.99607843, g: 0.99607843, b: 0.8039216, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, type: 2}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 5
|
||||
m_fontSizeBase: 5
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 0
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 7002390330640987317}
|
||||
m_maskType: 0
|
||||
--- !u!95 &6703009748212989289
|
||||
Animator:
|
||||
serializedVersion: 5
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4832125457190649999}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: d962828c1f0c71347992dfc1449f496b, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &6060117916978306099
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -966,6 +773,178 @@ SpriteRenderer:
|
|||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &6119064787687059058
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8730184864405069350}
|
||||
- component: {fileID: 4356944761482350703}
|
||||
- component: {fileID: 7602258254055353506}
|
||||
m_Layer: 0
|
||||
m_Name: Letter
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8730184864405069350
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6119064787687059058}
|
||||
m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4485966734002228350}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -0.718, y: -0}
|
||||
m_SizeDelta: {x: 1, y: 1}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &4356944761482350703
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6119064787687059058}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 0
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: fa00f193fe038984592034ad7d5c2a42, type: 2}
|
||||
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_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 1337
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &7602258254055353506
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6119064787687059058}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text:
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8597c35f18a008c428fc5870aec75766, type: 2}
|
||||
m_sharedMaterial: {fileID: 2100000, guid: fa00f193fe038984592034ad7d5c2a42, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4291690238
|
||||
m_fontColor: {r: 0.99607843, g: 0.99607843, b: 0.8039216, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, type: 2}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 5
|
||||
m_fontSizeBase: 5
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 0
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 4356944761482350703}
|
||||
m_maskType: 0
|
||||
--- !u!1 &6323841328481104373
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1171,7 +1150,6 @@ Transform:
|
|||
m_Children:
|
||||
- {fileID: 8701843541313247389}
|
||||
- {fileID: 7821851253613277009}
|
||||
- {fileID: 3242105452747297828}
|
||||
- {fileID: 862280508089709600}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
|
@ -1191,7 +1169,6 @@ MonoBehaviour:
|
|||
SoundSequences: []
|
||||
EligibleHits: []
|
||||
scheduledInputs: []
|
||||
firstEnable: 0
|
||||
metronomeAnim: {fileID: 4547664343140929301}
|
||||
man: {fileID: 8160414645038680372}
|
||||
blipMaterial: {fileID: 2100000, guid: de6ec7258944d824c85cbcb172095b2a, type: 2}
|
||||
|
|
@ -1201,6 +1178,7 @@ MonoBehaviour:
|
|||
- {fileID: 5137804451209053898}
|
||||
- {fileID: 4164580634482561143}
|
||||
stepIterate: 0
|
||||
stopBlipping: 0
|
||||
--- !u!1 &8412912829583803381
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1318,7 +1296,7 @@ Transform:
|
|||
- {fileID: 4285463118267461702}
|
||||
- {fileID: 1584121333826078951}
|
||||
m_Father: {fileID: 7248900333300803150}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8160414645038680372
|
||||
MonoBehaviour:
|
||||
|
|
@ -1334,13 +1312,13 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
anim: {fileID: 2256168985014220240}
|
||||
blipAnim: {fileID: 1614535701461294964}
|
||||
letterAnim: {fileID: 6703009748212989289}
|
||||
shadows:
|
||||
- {fileID: 8412912829583803381}
|
||||
- {fileID: 2066794384027118212}
|
||||
blipText: {fileID: 1328881971056076866}
|
||||
stepTimes: 0
|
||||
blipText: {fileID: 7602258254055353506}
|
||||
blipSize: 0
|
||||
shouldGrow: 0
|
||||
shouldBlip: 1
|
||||
blipString: M
|
||||
--- !u!1 &8959999179820051615
|
||||
GameObject:
|
||||
|
|
|
|||
BIN
Assets/Resources/Sfx/games/mrUpbeat/1.ogg
Normal file
BIN
Assets/Resources/Sfx/games/mrUpbeat/1.ogg
Normal file
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ca38ae19ffadb9849aa7258a14f14b80
|
||||
guid: 10ae3eeee43650541ab3da886a18d2ab
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 6
|
||||
|
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: agboffbeat/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sfx/games/mrUpbeat/2.ogg
Normal file
BIN
Assets/Resources/Sfx/games/mrUpbeat/2.ogg
Normal file
Binary file not shown.
22
Assets/Resources/Sfx/games/mrUpbeat/2.ogg.meta
Normal file
22
Assets/Resources/Sfx/games/mrUpbeat/2.ogg.meta
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b0956c251e7bf4844b509c5cea2a78ee
|
||||
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:
|
||||
BIN
Assets/Resources/Sfx/games/mrUpbeat/3.ogg
Normal file
BIN
Assets/Resources/Sfx/games/mrUpbeat/3.ogg
Normal file
Binary file not shown.
22
Assets/Resources/Sfx/games/mrUpbeat/3.ogg.meta
Normal file
22
Assets/Resources/Sfx/games/mrUpbeat/3.ogg.meta
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 100f312972af1e94fb49d8454771847d
|
||||
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:
|
||||
BIN
Assets/Resources/Sfx/games/mrUpbeat/4.ogg
Normal file
BIN
Assets/Resources/Sfx/games/mrUpbeat/4.ogg
Normal file
Binary file not shown.
22
Assets/Resources/Sfx/games/mrUpbeat/4.ogg.meta
Normal file
22
Assets/Resources/Sfx/games/mrUpbeat/4.ogg.meta
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 85d95041fe6cb574591a85ce328f9e8b
|
||||
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:
|
||||
BIN
Assets/Resources/Sfx/games/mrUpbeat/a.ogg
Normal file
BIN
Assets/Resources/Sfx/games/mrUpbeat/a.ogg
Normal file
Binary file not shown.
22
Assets/Resources/Sfx/games/mrUpbeat/a.ogg.meta
Normal file
22
Assets/Resources/Sfx/games/mrUpbeat/a.ogg.meta
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 886b16c6dc7442244a74c0391df09616
|
||||
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.
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 099214b717710f8468369d6cfe2f7135
|
||||
guid: 3a883716259b1b54a84e9c2656df7cef
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
@ -1,130 +0,0 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-6973241838888870808
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: StepLeft
|
||||
m_Speed: 0.25
|
||||
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: 37707cc2c2686d94ea12646889996023, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-6675537026643194175
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Nothing
|
||||
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: 0}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-777172598389968400
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: StepRight
|
||||
m_Speed: 0.25
|
||||
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: 1ef687ca3c0e7924b8569974db6ff4dd, 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: LetterAnimator
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: 5570846061059316407}
|
||||
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!1107 &5570846061059316407
|
||||
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: -6675537026643194175}
|
||||
m_Position: {x: 450, y: 30, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -777172598389968400}
|
||||
m_Position: {x: 580, y: 110, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6973241838888870808}
|
||||
m_Position: {x: 320, y: 110, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 470, y: -100, z: 0}
|
||||
m_EntryPosition: {x: 470, y: -40, z: 0}
|
||||
m_ExitPosition: {x: 470, y: -160, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: -6675537026643194175}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d962828c1f0c71347992dfc1449f496b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
%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: LetterStepLeft
|
||||
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: -0.677
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 3.02
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 3.13
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: 3.15
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
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: 0
|
||||
attribute: 1460864421
|
||||
script: {fileID: 0}
|
||||
typeID: 224
|
||||
customType: 28
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 538195251
|
||||
script: {fileID: 0}
|
||||
typeID: 224
|
||||
customType: 28
|
||||
isPPtrCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.033333335
|
||||
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: -0.677
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 3.02
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 3.13
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: 3.15
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
%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: LetterStepRight
|
||||
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: 0.677
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 3.02
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 3.13
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: 3.15
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
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: 0
|
||||
attribute: 1460864421
|
||||
script: {fileID: 0}
|
||||
typeID: 224
|
||||
customType: 28
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 538195251
|
||||
script: {fileID: 0}
|
||||
typeID: 224
|
||||
customType: 28
|
||||
isPPtrCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.033333335
|
||||
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: 0.677
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.x
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 3.02
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 3.13
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: 3.15
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_AnchoredPosition.y
|
||||
path:
|
||||
classID: 224
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1ef687ca3c0e7924b8569974db6ff4dd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8e7e8f5a82a3a134e91c54efd2274ea9
|
||||
guid: 023f89a9d36553343964a9490f348b2e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 47521c369c3ab7849aeb7e479bad21ea
|
||||
guid: 8b05aab803ae3b048bc06d03acdfaeda
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
|
@ -6,7 +6,7 @@ AnimationClip:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Fall
|
||||
m_Name: FallL
|
||||
serializedVersion: 6
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
|
|
@ -15,6 +15,38 @@ AnimationClip:
|
|||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0.556, y: -0.074, z: 0}
|
||||
inSlope: {x: Infinity, y: 0, z: 0}
|
||||
outSlope: {x: Infinity, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Body/FallFX
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 0.76, z: 0}
|
||||
inSlope: {x: Infinity, y: 0, z: 0}
|
||||
outSlope: {x: Infinity, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Body/FallSmear
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
|
|
@ -28,7 +60,7 @@ AnimationClip:
|
|||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
time: 0.033333335
|
||||
value: {x: -0.09, y: 0.43, z: 0}
|
||||
inSlope: {x: Infinity, y: Infinity, z: 0}
|
||||
outSlope: {x: Infinity, y: Infinity, z: 0}
|
||||
|
|
@ -37,7 +69,7 @@ AnimationClip:
|
|||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
time: 0.06666667
|
||||
value: {x: -0.03, y: 0.53, z: 0}
|
||||
inSlope: {x: Infinity, y: Infinity, z: 0}
|
||||
outSlope: {x: 0, y: Infinity, z: 0}
|
||||
|
|
@ -46,7 +78,7 @@ AnimationClip:
|
|||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.05
|
||||
time: 0.1
|
||||
value: {x: -0.03, y: 0.59, z: 0}
|
||||
inSlope: {x: 0, y: Infinity, z: 0}
|
||||
outSlope: {x: 0, y: Infinity, z: 0}
|
||||
|
|
@ -73,35 +105,7 @@ AnimationClip:
|
|||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/FallSmear
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
time: 0.033333335
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
|
|
@ -116,6 +120,34 @@ AnimationClip:
|
|||
path: Body/FallFX
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/FallSmear
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
|
|
@ -139,11 +171,11 @@ AnimationClip:
|
|||
- curve:
|
||||
- time: 0
|
||||
value: {fileID: 910123527689434379, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
- time: 0.016666668
|
||||
value: {fileID: 7267509016467870925, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
- time: 0.033333335
|
||||
value: {fileID: 7267509016467870925, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
- time: 0.06666667
|
||||
value: {fileID: 4385344229349358626, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
- time: 0.05
|
||||
- time: 0.1
|
||||
value: {fileID: -3983884386284601651, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
attribute: m_Sprite
|
||||
path: Body
|
||||
|
|
@ -152,7 +184,7 @@ AnimationClip:
|
|||
- curve:
|
||||
- time: 0
|
||||
value: {fileID: 442070513753258848, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
- time: 0.05
|
||||
- time: 0.1
|
||||
value: {fileID: -1641719250182597347, guid: 2781bda31bd88924b9bc88f6c301b1d9, type: 3}
|
||||
attribute: m_Sprite
|
||||
path: Head
|
||||
|
|
@ -166,7 +198,7 @@ AnimationClip:
|
|||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 130111906
|
||||
path: 3235357039
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
|
|
@ -174,13 +206,27 @@ AnimationClip:
|
|||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 4033203276
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 130111906
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 3235357039
|
||||
attribute: 2086281974
|
||||
script: {fileID: 0}
|
||||
typeID: 1
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 3235357039
|
||||
path: 4033203276
|
||||
attribute: 2086281974
|
||||
script: {fileID: 0}
|
||||
typeID: 1
|
||||
|
|
@ -219,7 +265,7 @@ AnimationClip:
|
|||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.06666667
|
||||
m_StopTime: 0.11666667
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
|
|
@ -240,15 +286,195 @@ AnimationClip:
|
|||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: -0.09
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
time: 0.033333335
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/FallFX
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.556
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path: Body/FallFX
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: -0.074
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path: Body/FallFX
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path: Body/FallFX
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path: Body/FallSmear
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.76
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path: Body/FallSmear
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path: Body/FallSmear
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/FallSmear
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/ShadowFall
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: -0.09
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
|
|
@ -258,6 +484,15 @@ AnimationClip:
|
|||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
value: -0.09
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.06666667
|
||||
value: -0.03
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
|
|
@ -285,7 +520,7 @@ AnimationClip:
|
|||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
time: 0.033333335
|
||||
value: 0.43
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
|
|
@ -294,7 +529,7 @@ AnimationClip:
|
|||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.033333335
|
||||
time: 0.06666667
|
||||
value: 0.53
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
|
|
@ -303,7 +538,7 @@ AnimationClip:
|
|||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.05
|
||||
time: 0.1
|
||||
value: 0.59
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
|
|
@ -337,81 +572,6 @@ AnimationClip:
|
|||
path: Head
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/FallSmear
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 0.016666668
|
||||
value: 0
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/FallFX
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: Infinity
|
||||
outSlope: Infinity
|
||||
tangentMode: 103
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_IsActive
|
||||
path: Body/ShadowFall
|
||||
classID: 1
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 37707cc2c2686d94ea12646889996023
|
||||
guid: 3bb75ec0f8b7eef47a417f368e30abd5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
|
|
@ -1,5 +1,31 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-2844980208113691495
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: FallR
|
||||
m_Speed: 0.25
|
||||
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: 3bb75ec0f8b7eef47a417f368e30abd5, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &-995366258227929513
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
|
|
@ -14,10 +40,13 @@ AnimatorStateMachine:
|
|||
m_Position: {x: 311.5, y: 24.5, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -757977064401545672}
|
||||
m_Position: {x: 330, y: 80, z: 0}
|
||||
m_Position: {x: 310, y: 80, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -718537531738724324}
|
||||
m_Position: {x: 320, y: 140, z: 0}
|
||||
m_Position: {x: 310, y: 140, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2844980208113691495}
|
||||
m_Position: {x: 310, y: 200, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
|
@ -61,7 +90,7 @@ AnimatorState:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Fall
|
||||
m_Name: FallL
|
||||
m_Speed: 0.25
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
|
|
@ -947,6 +947,132 @@ TextureImporter:
|
|||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: mrupbeat_main_15
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 928
|
||||
y: 1283
|
||||
width: 417
|
||||
height: 149
|
||||
alignment: 9
|
||||
pivot: {x: 0.4374075, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 279588cf46a172e438fdcb6721eaa38a
|
||||
internalID: 1416775875
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: mrupbeat_main_16
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 1475
|
||||
y: 1282
|
||||
width: 318
|
||||
height: 136
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 1163c398e23cee64abe8ca3c07071207
|
||||
internalID: -1839074567
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: mrupbeat_main_17
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 926
|
||||
y: 1021
|
||||
width: 426
|
||||
height: 134
|
||||
alignment: 9
|
||||
pivot: {x: 0.42794013, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 9e383c03cc53d554b8edde37818a740b
|
||||
internalID: -2069977234
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: mrupbeat_main_18
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 1471
|
||||
y: 1056
|
||||
width: 428
|
||||
height: 100
|
||||
alignment: 9
|
||||
pivot: {x: 0.43002462, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 6195c95bb9835024e90a4e93653188d1
|
||||
internalID: 442840453
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: mrupbeat_main_19
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 930
|
||||
y: 764
|
||||
width: 414
|
||||
height: 134
|
||||
alignment: 9
|
||||
pivot: {x: 0.42592838, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: adf77e908f878594bb37a7ffa65aaaaa
|
||||
internalID: 1852546927
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: mrupbeat_main_20
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 1471
|
||||
y: 703
|
||||
width: 114
|
||||
height: 59
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 437d1bbfb69a7e64daa7d081727b0d13
|
||||
internalID: 943529457
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
|
|
@ -976,7 +1102,13 @@ TextureImporter:
|
|||
mrupbeat_main_12: -2014763855
|
||||
mrupbeat_main_13: -1248414130
|
||||
mrupbeat_main_14: 1471741028
|
||||
mrupbeat_main_15: 1416775875
|
||||
mrupbeat_main_16: -1839074567
|
||||
mrupbeat_main_17: -2069977234
|
||||
mrupbeat_main_18: 442840453
|
||||
mrupbeat_main_19: 1852546927
|
||||
mrupbeat_main_2: 1848041093
|
||||
mrupbeat_main_20: 943529457
|
||||
mrupbeat_main_3: -1123406618
|
||||
mrupbeat_main_4: 1559131365
|
||||
mrupbeat_main_5: 1603879706
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,8 +1,8 @@
|
|||
using System;
|
||||
|
||||
public static class AppInfo {
|
||||
public const string Version = "0.0.981";
|
||||
public static readonly DateTime Date = new DateTime(2023, 06, 19, 03, 38, 42, 219, DateTimeKind.Utc);
|
||||
public const string Version = "0.0.982";
|
||||
public static readonly DateTime Date = new DateTime(2023, 09, 11, 20, 44, 02, 741, DateTimeKind.Utc);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,25 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
using Starpelly;
|
||||
using Jukebox;
|
||||
using Jukebox.Legacy;
|
||||
using HeavenStudio.Util;
|
||||
|
||||
namespace HeavenStudio
|
||||
{
|
||||
// [RequireComponent(typeof(AudioSource))]
|
||||
public class Conductor : MonoBehaviour
|
||||
{
|
||||
public struct AddedPitchChange
|
||||
{
|
||||
public double time;
|
||||
public float pitch;
|
||||
}
|
||||
|
||||
public List<AddedPitchChange> addedPitchChanges = new List<AddedPitchChange>();
|
||||
|
||||
// Song beats per minute
|
||||
// This is determined by the song you're trying to sync up to
|
||||
public float songBpm;
|
||||
|
|
@ -25,18 +34,19 @@ namespace HeavenStudio
|
|||
|
||||
// Current song position, in seconds
|
||||
private double songPos; // for Conductor use only
|
||||
public float songPosition => (float) songPos;
|
||||
public float songPosition => (float)songPos;
|
||||
public double songPositionAsDouble => songPos;
|
||||
|
||||
// Current song position, in beats
|
||||
public double songPosBeat; // for Conductor use only
|
||||
public float songPositionInBeats => (float) songPosBeat;
|
||||
public float songPositionInBeats => (float)songPosBeat;
|
||||
public double songPositionInBeatsAsDouble => songPosBeat;
|
||||
|
||||
// Current time of the song
|
||||
private double time;
|
||||
double dspTime, lastDspTime;
|
||||
double absTime, lastAbsTime;
|
||||
double dspTime;
|
||||
double absTime, absTimeAdjust;
|
||||
double dspMargin = 128 / 44100.0;
|
||||
|
||||
// the dspTime we started at
|
||||
private double dspStart;
|
||||
|
|
@ -45,6 +55,7 @@ namespace HeavenStudio
|
|||
DateTime startTime;
|
||||
|
||||
//the beat we started at
|
||||
private double startPos;
|
||||
private double startBeat;
|
||||
public double startBeatAsDouble => startBeat;
|
||||
|
||||
|
|
@ -59,7 +70,7 @@ namespace HeavenStudio
|
|||
|
||||
// Conductor is currently playing song
|
||||
public bool isPlaying;
|
||||
|
||||
|
||||
// Conductor is currently paused, but not fully stopped
|
||||
public bool isPaused;
|
||||
|
||||
|
|
@ -79,16 +90,40 @@ namespace HeavenStudio
|
|||
|
||||
public void SetTimelinePitch(float pitch)
|
||||
{
|
||||
if (pitch != 0 && pitch * minigamePitch != SongPitch)
|
||||
{
|
||||
Debug.Log("added pitch change " + pitch * minigamePitch + " at" + absTime);
|
||||
addedPitchChanges.Add(new AddedPitchChange { time = absTime, pitch = pitch * minigamePitch });
|
||||
}
|
||||
|
||||
timelinePitch = pitch;
|
||||
musicSource.pitch = SongPitch;
|
||||
|
||||
}
|
||||
|
||||
public void SetMinigamePitch(float pitch)
|
||||
{
|
||||
if (pitch != 0 && pitch * timelinePitch != SongPitch)
|
||||
{
|
||||
Debug.Log("added pitch change " + pitch * timelinePitch + " at" + absTime);
|
||||
addedPitchChanges.Add(new AddedPitchChange { time = absTime, pitch = pitch * timelinePitch });
|
||||
}
|
||||
|
||||
minigamePitch = pitch;
|
||||
musicSource.pitch = SongPitch;
|
||||
}
|
||||
|
||||
public void SetMinigamePitch(float pitch, double beat)
|
||||
{
|
||||
BeatAction.New( this,
|
||||
new List<BeatAction.Action> {
|
||||
new BeatAction.Action(beat, delegate {
|
||||
SetMinigamePitch(pitch);
|
||||
}),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
instance = this;
|
||||
|
|
@ -97,13 +132,16 @@ namespace HeavenStudio
|
|||
void Start()
|
||||
{
|
||||
musicSource.priority = 0;
|
||||
AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
dspMargin = 2 * (config.dspBufferSize / (double)config.sampleRate);
|
||||
addedPitchChanges.Clear();
|
||||
}
|
||||
|
||||
public void SetBeat(double beat)
|
||||
{
|
||||
var chart = GameManager.instance.Beatmap;
|
||||
double offset = chart.data.offset;
|
||||
double startPos = GetSongPosFromBeat(beat);
|
||||
startPos = GetSongPosFromBeat(beat);
|
||||
|
||||
double dspTime = AudioSettings.dspTime;
|
||||
|
||||
|
|
@ -113,19 +151,29 @@ namespace HeavenStudio
|
|||
SeekMusicToTime(startPos);
|
||||
|
||||
songPosBeat = GetBeatFromSongPos(time);
|
||||
|
||||
|
||||
GameManager.instance.SetCurrentEventToClosest(beat);
|
||||
}
|
||||
|
||||
public void Play(double beat)
|
||||
{
|
||||
if (isPlaying) return;
|
||||
|
||||
if (!isPaused)
|
||||
{
|
||||
AudioConfiguration config = AudioSettings.GetConfiguration();
|
||||
dspMargin = 2 * (config.dspBufferSize / (double)config.sampleRate);
|
||||
addedPitchChanges.Clear();
|
||||
addedPitchChanges.Add(new AddedPitchChange { time = 0, pitch = SongPitch });
|
||||
}
|
||||
|
||||
var chart = GameManager.instance.Beatmap;
|
||||
double offset = chart.data.offset;
|
||||
double dspTime = AudioSettings.dspTime;
|
||||
GameManager.instance.SortEventsList();
|
||||
|
||||
double startPos = GetSongPosFromBeat(beat);
|
||||
dspStart = dspTime;
|
||||
|
||||
startPos = GetSongPosFromBeat(beat);
|
||||
firstBeatOffset = offset;
|
||||
time = startPos;
|
||||
|
||||
|
|
@ -137,24 +185,21 @@ namespace HeavenStudio
|
|||
{
|
||||
musicScheduledTime = dspTime + musicStartDelay / SongPitch;
|
||||
musicScheduledPitch = SongPitch;
|
||||
musicSource.PlayScheduled(musicScheduledTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
musicScheduledTime = dspTime;
|
||||
musicScheduledPitch = SongPitch;
|
||||
|
||||
musicSource.Play();
|
||||
}
|
||||
musicSource.PlayScheduled(musicScheduledTime);
|
||||
}
|
||||
|
||||
songPosBeat = GetBeatFromSongPos(time);
|
||||
startTime = DateTime.Now;
|
||||
lastAbsTime = 0;
|
||||
lastDspTime = AudioSettings.dspTime;
|
||||
dspStart = dspTime;
|
||||
startBeat = songPosBeat;
|
||||
|
||||
|
||||
absTimeAdjust = 0;
|
||||
startTime = DateTime.Now;
|
||||
|
||||
isPlaying = true;
|
||||
isPaused = false;
|
||||
}
|
||||
|
|
@ -170,10 +215,15 @@ namespace HeavenStudio
|
|||
|
||||
public void Stop(double time)
|
||||
{
|
||||
if (absTimeAdjust != 0)
|
||||
{
|
||||
Debug.Log($"Last playthrough had a dsp (audio) drift of {absTimeAdjust}.\nConsider increasing audio buffer size if audio distortion was present.");
|
||||
}
|
||||
this.time = time;
|
||||
|
||||
songPos = time;
|
||||
songPosBeat = 0;
|
||||
absTimeAdjust = 0;
|
||||
|
||||
isPlaying = false;
|
||||
isPaused = false;
|
||||
|
|
@ -181,13 +231,48 @@ namespace HeavenStudio
|
|||
musicSource.Stop();
|
||||
}
|
||||
|
||||
void SeekMusicToTime(double startPos)
|
||||
/// <summary>
|
||||
/// stops playback of the audio without stopping beatkeeping
|
||||
/// </summary>
|
||||
public void StopOnlyAudio()
|
||||
{
|
||||
musicSource.Stop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// fades out the audio over a duration
|
||||
/// </summary>
|
||||
/// <param name="duration">duration of the fade</param>
|
||||
public void FadeOutAudio(float duration)
|
||||
{
|
||||
StartCoroutine(FadeOutAudioCoroutine(duration));
|
||||
}
|
||||
|
||||
IEnumerator FadeOutAudioCoroutine(float duration)
|
||||
{
|
||||
float startVolume = musicSource.volume;
|
||||
float endVolume = 0f;
|
||||
float startTime = Time.time;
|
||||
float endTime = startTime + duration;
|
||||
|
||||
while (Time.time < endTime)
|
||||
{
|
||||
float t = (Time.time - startTime) / duration;
|
||||
musicSource.volume = Mathf.Lerp(startVolume, endVolume, t);
|
||||
yield return null;
|
||||
}
|
||||
|
||||
musicSource.volume = endVolume;
|
||||
StopOnlyAudio();
|
||||
}
|
||||
|
||||
void SeekMusicToTime(double fStartPos)
|
||||
{
|
||||
double offset = GameManager.instance.Beatmap.data.offset;
|
||||
if (musicSource.clip != null && startPos < musicSource.clip.length - offset)
|
||||
if (musicSource.clip != null && fStartPos < musicSource.clip.length - offset)
|
||||
{
|
||||
// https://www.desmos.com/calculator/81ywfok6xk
|
||||
double musicStartDelay = -offset - startPos;
|
||||
double musicStartDelay = -offset - fStartPos;
|
||||
if (musicStartDelay > 0)
|
||||
{
|
||||
musicSource.timeSamples = 0;
|
||||
|
|
@ -195,24 +280,13 @@ namespace HeavenStudio
|
|||
else
|
||||
{
|
||||
int freq = musicSource.clip.frequency;
|
||||
int samples = (int)(freq * (startPos + offset));
|
||||
int samples = (int)(freq * (fStartPos + offset));
|
||||
|
||||
musicSource.timeSamples = samples;
|
||||
}
|
||||
}
|
||||
}
|
||||
double deltaTimeReal { get {
|
||||
double ret = absTime - lastAbsTime;
|
||||
lastAbsTime = absTime;
|
||||
return ret;
|
||||
}}
|
||||
|
||||
double deltaTimeDsp { get {
|
||||
double ret = dspTime - lastDspTime;
|
||||
lastDspTime = dspTime;
|
||||
return ret;
|
||||
}}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (isPlaying)
|
||||
|
|
@ -229,24 +303,54 @@ namespace HeavenStudio
|
|||
musicSource.UnPause();
|
||||
musicScheduledPitch = SongPitch;
|
||||
|
||||
musicScheduledTime = (AudioSettings.dspTime + (-GameManager.instance.Beatmap.data.offset - songPositionAsDouble)/(double)SongPitch);
|
||||
musicScheduledTime = (AudioSettings.dspTime + (-GameManager.instance.Beatmap.data.offset - songPositionAsDouble) / (double)SongPitch);
|
||||
musicSource.SetScheduledStartTime(musicScheduledTime);
|
||||
}
|
||||
}
|
||||
|
||||
absTime = (DateTime.Now - startTime).TotalSeconds;
|
||||
|
||||
//dspTime to sync with audio thread in case of drift
|
||||
dspTime = AudioSettings.dspTime - dspStart;
|
||||
double dt = deltaTimeReal;
|
||||
if (Math.Abs(absTime + absTimeAdjust - dspTime) > dspMargin)
|
||||
{
|
||||
int i = 0;
|
||||
while (Math.Abs(absTime + absTimeAdjust - dspTime) > dspMargin)
|
||||
{
|
||||
i++;
|
||||
absTimeAdjust = (dspTime - absTime + absTimeAdjust) * 0.5;
|
||||
if (i > 8) break;
|
||||
}
|
||||
}
|
||||
|
||||
//todo: dspTime to sync with audio thread in case of drift
|
||||
time = MapTimeToPitchChanges(absTime + absTimeAdjust);
|
||||
|
||||
time += dt * SongPitch;
|
||||
|
||||
songPos = time;
|
||||
songPos = startPos + time;
|
||||
songPosBeat = GetBeatFromSongPos(songPos);
|
||||
}
|
||||
}
|
||||
|
||||
double MapTimeToPitchChanges(double time)
|
||||
{
|
||||
double counter = 0;
|
||||
double lastChangeTime = 0;
|
||||
float pitch = addedPitchChanges[0].pitch;
|
||||
foreach (var pch in addedPitchChanges)
|
||||
{
|
||||
double changeTime = pch.time;
|
||||
if (changeTime > time)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
counter += (changeTime - lastChangeTime) * pitch;
|
||||
lastChangeTime = changeTime;
|
||||
pitch = pch.pitch;
|
||||
}
|
||||
|
||||
counter += (time - lastChangeTime) * pitch;
|
||||
return counter;
|
||||
}
|
||||
|
||||
public void LateUpdate()
|
||||
{
|
||||
|
|
@ -265,7 +369,7 @@ namespace HeavenStudio
|
|||
{
|
||||
if (metronomeSound != null)
|
||||
{
|
||||
metronomeSound.Delete();
|
||||
metronomeSound.Stop();
|
||||
metronomeSound = null;
|
||||
}
|
||||
}
|
||||
|
|
@ -352,53 +456,53 @@ namespace HeavenStudio
|
|||
break;
|
||||
}
|
||||
|
||||
counter += (t.beat - lastTempoChangeBeat) * 60/bpm;
|
||||
counter += (t.beat - lastTempoChangeBeat) * 60 / bpm;
|
||||
bpm = t["tempo"];
|
||||
lastTempoChangeBeat = t.beat;
|
||||
}
|
||||
|
||||
counter += (beat - lastTempoChangeBeat) * 60/bpm;
|
||||
counter += (beat - lastTempoChangeBeat) * 60 / bpm;
|
||||
|
||||
return counter;
|
||||
}
|
||||
|
||||
//thank you @wooningcharithri#7419 for the psuedo-code
|
||||
public double BeatsToSecs(double beats, float bpm)
|
||||
{
|
||||
return beats / bpm * 60f;
|
||||
}
|
||||
public double SecsToBeats(double s, float bpm)
|
||||
{
|
||||
return s / 60f * bpm;
|
||||
}
|
||||
public double BeatsToSecs(double beats, float bpm)
|
||||
{
|
||||
return beats / bpm * 60f;
|
||||
}
|
||||
public double SecsToBeats(double s, float bpm)
|
||||
{
|
||||
return s / 60f * bpm;
|
||||
}
|
||||
|
||||
public double GetBeatFromSongPos(double seconds)
|
||||
{
|
||||
double lastTempoChangeBeat = 0f;
|
||||
double counterSeconds = 0;
|
||||
float lastBpm = 120f;
|
||||
|
||||
foreach (RiqEntity t in GameManager.instance.Beatmap.TempoChanges)
|
||||
{
|
||||
double beatToNext = t.beat - lastTempoChangeBeat;
|
||||
double secToNext = BeatsToSecs(beatToNext, lastBpm);
|
||||
double nextSecs = counterSeconds + secToNext;
|
||||
public double GetBeatFromSongPos(double seconds)
|
||||
{
|
||||
double lastTempoChangeBeat = 0f;
|
||||
double counterSeconds = 0;
|
||||
float lastBpm = 120f;
|
||||
|
||||
if (nextSecs >= seconds)
|
||||
break;
|
||||
|
||||
lastTempoChangeBeat = t.beat;
|
||||
lastBpm = t["tempo"];
|
||||
counterSeconds = nextSecs;
|
||||
}
|
||||
return lastTempoChangeBeat + SecsToBeats(seconds - counterSeconds, lastBpm);
|
||||
foreach (RiqEntity t in GameManager.instance.Beatmap.TempoChanges)
|
||||
{
|
||||
double beatToNext = t.beat - lastTempoChangeBeat;
|
||||
double secToNext = BeatsToSecs(beatToNext, lastBpm);
|
||||
double nextSecs = counterSeconds + secToNext;
|
||||
|
||||
if (nextSecs >= seconds)
|
||||
break;
|
||||
|
||||
lastTempoChangeBeat = t.beat;
|
||||
lastBpm = t["tempo"];
|
||||
counterSeconds = nextSecs;
|
||||
}
|
||||
return lastTempoChangeBeat + SecsToBeats(seconds - counterSeconds, lastBpm);
|
||||
}
|
||||
//
|
||||
|
||||
// convert real seconds to beats
|
||||
public double GetRestFromRealTime(double seconds)
|
||||
{
|
||||
return seconds/pitchedSecPerBeat;
|
||||
return seconds / pitchedSecPerBeat;
|
||||
}
|
||||
|
||||
public void SetBpm(float bpm)
|
||||
|
|
|
|||
|
|
@ -108,6 +108,27 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
|
||||
static bool StringStartsWith(string a, string b)
|
||||
{
|
||||
int aLen = a.Length;
|
||||
int bLen = b.Length;
|
||||
|
||||
int ap = 0; int bp = 0;
|
||||
|
||||
while (ap < aLen && bp < bLen && a [ap] == b [bp])
|
||||
{
|
||||
ap++;
|
||||
bp++;
|
||||
}
|
||||
|
||||
return (bp == bLen);
|
||||
}
|
||||
|
||||
public static bool IsGameSwitch(RiqEntity entity)
|
||||
{
|
||||
return StringStartsWith(entity.datamodel, "gameManager/switchGame");
|
||||
}
|
||||
|
||||
public static List<RiqEntity> GetAllInGameManagerList(string gameName, string[] include)
|
||||
{
|
||||
List<RiqEntity> temp1 = GameManager.instance.Beatmap.Entities.FindAll(c => c.datamodel.Split('/')[0] == gameName);
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ namespace HeavenStudio
|
|||
AudioSource source = Conductor.AddComponent<AudioSource>();
|
||||
Conductor.AddComponent<Conductor>();
|
||||
Conductor.GetComponent<Conductor>().musicSource = source;
|
||||
source.priority = 255;
|
||||
source.outputAudioMixerGroup = Settings.GetMusicMixer();
|
||||
// Conductor.AddComponent<AudioDspTimeKeeper>();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.Collections;
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Pool;
|
||||
|
||||
using Starpelly;
|
||||
using Jukebox;
|
||||
|
|
@ -14,10 +15,13 @@ namespace HeavenStudio
|
|||
{
|
||||
public class GameManager : MonoBehaviour
|
||||
{
|
||||
const int SoundPoolSizeMin = 32;
|
||||
const int SoundPoolSizeMax = 32;
|
||||
|
||||
[Header("Lists")]
|
||||
[NonSerialized] public RiqBeatmap Beatmap = new();
|
||||
private List<GameObject> preloadedGames = new List<GameObject>();
|
||||
[NonSerialized] public List<GameObject> SoundObjects = new List<GameObject>();
|
||||
private List<GameObject> preloadedGames = new();
|
||||
[NonSerialized] public ObjectPool<Sound> SoundObjects;
|
||||
|
||||
[Header("Components")]
|
||||
[NonSerialized] public Camera GameCamera, CursorCam, OverlayCamera, StaticCamera;
|
||||
|
|
@ -34,7 +38,8 @@ namespace HeavenStudio
|
|||
[NonSerialized] public string txt = null;
|
||||
[NonSerialized] public string ext = null;
|
||||
|
||||
[NonSerialized] public int currentEvent, currentTempoEvent, currentVolumeEvent, currentSectionEvent,
|
||||
[NonSerialized]
|
||||
public int currentEvent, currentTempoEvent, currentVolumeEvent, currentSectionEvent,
|
||||
currentPreEvent, currentPreSwitch, currentPreSequence;
|
||||
[NonSerialized] public double endBeat;
|
||||
[NonSerialized] public float startOffset;
|
||||
|
|
@ -49,6 +54,9 @@ namespace HeavenStudio
|
|||
bool AudioLoadDone;
|
||||
bool ChartLoadError;
|
||||
|
||||
List<double> eventBeats, tempoBeats, volumeBeats, sectionBeats;
|
||||
List<RiqEntity> allGameSwitches;
|
||||
|
||||
public event Action<double> onBeatChanged;
|
||||
public event Action<RiqEntity> onSectionChange;
|
||||
|
||||
|
|
@ -109,7 +117,7 @@ namespace HeavenStudio
|
|||
{
|
||||
AudioLoadDone = false;
|
||||
ChartLoadError = false;
|
||||
currentPreEvent= 0;
|
||||
currentPreEvent = 0;
|
||||
currentPreSwitch = 0;
|
||||
currentPreSequence = 0;
|
||||
|
||||
|
|
@ -138,7 +146,9 @@ namespace HeavenStudio
|
|||
|
||||
GoForAPerfect.instance.Disable();
|
||||
/////
|
||||
|
||||
|
||||
SoundObjects = new ObjectPool<Sound>(CreatePooledSound, OnTakePooledSound, OnReturnPooledSound, OnDestroyPooledSound, true, SoundPoolSizeMin, SoundPoolSizeMax);
|
||||
|
||||
|
||||
if (preLoaded)
|
||||
{
|
||||
|
|
@ -154,8 +164,9 @@ namespace HeavenStudio
|
|||
|
||||
if (Beatmap.Entities.Count >= 1)
|
||||
{
|
||||
SetCurrentGame(Beatmap.Entities[0].datamodel.Split(0));
|
||||
SetGame(Beatmap.Entities[0].datamodel.Split(0));
|
||||
string game = Beatmap.Entities[0].datamodel.Split(0);
|
||||
SetCurrentGame(game);
|
||||
SetGame(game);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -168,8 +179,42 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
|
||||
Sound CreatePooledSound()
|
||||
{
|
||||
GameObject oneShot = new GameObject($"Pooled Scheduled Sound");
|
||||
oneShot.transform.SetParent(transform);
|
||||
|
||||
AudioSource audioSource = oneShot.AddComponent<AudioSource>();
|
||||
audioSource.playOnAwake = false;
|
||||
|
||||
Sound snd = oneShot.AddComponent<Sound>();
|
||||
|
||||
oneShot.SetActive(false);
|
||||
|
||||
return snd;
|
||||
}
|
||||
|
||||
// Called when an item is returned to the pool using Release
|
||||
void OnReturnPooledSound(Sound snd)
|
||||
{
|
||||
snd.Stop();
|
||||
}
|
||||
|
||||
// Called when an item is taken from the pool using Get
|
||||
void OnTakePooledSound(Sound snd)
|
||||
{
|
||||
snd.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
// If the pool capacity is reached then any items returned will be destroyed.
|
||||
void OnDestroyPooledSound(Sound snd)
|
||||
{
|
||||
snd.Stop();
|
||||
Destroy(snd.gameObject);
|
||||
}
|
||||
|
||||
public void NewRemix()
|
||||
{
|
||||
{
|
||||
AudioLoadDone = false;
|
||||
Beatmap = new("1", "HeavenStudio");
|
||||
Beatmap.data.properties = Minigames.propertiesModel;
|
||||
|
|
@ -246,8 +291,9 @@ namespace HeavenStudio
|
|||
|
||||
if (Beatmap.Entities.Count >= 1)
|
||||
{
|
||||
SetCurrentGame(Beatmap.Entities[0].datamodel.Split(0));
|
||||
SetGame(Beatmap.Entities[0].datamodel.Split(0));
|
||||
string game = Beatmap.Entities[0].datamodel.Split(0);
|
||||
SetCurrentGame(game);
|
||||
SetGame(game);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -260,7 +306,7 @@ namespace HeavenStudio
|
|||
if (Beatmap.data.riqOrigin != "HeavenStudio")
|
||||
{
|
||||
string origin = Beatmap.data.riqOrigin?.DisplayName() ?? "Unknown Origin";
|
||||
GlobalGameManager.ShowErrorMessage("Warning",
|
||||
GlobalGameManager.ShowErrorMessage("Warning",
|
||||
$"This chart came from\n<alpha=#AA>{origin}</color>\nand uses content not included in Heaven Studio.\n\n<color=\"yellow\">You may be able to edit this chart in Heaven Studio to be used in its original program.</color>");
|
||||
}
|
||||
}
|
||||
|
|
@ -275,7 +321,7 @@ namespace HeavenStudio
|
|||
{
|
||||
SkillStarManager.instance.KillStar();
|
||||
}
|
||||
|
||||
|
||||
if (SkillStarManager.instance.IsEligible && !skillStarCollected && accuracy >= 1f)
|
||||
{
|
||||
if (SkillStarManager.instance.DoStarJust())
|
||||
|
|
@ -287,18 +333,35 @@ namespace HeavenStudio
|
|||
TimingAccuracyDisplay.instance.MakeAccuracyVfx(time, late);
|
||||
}
|
||||
|
||||
static bool StringStartsWith(string a, string b)
|
||||
{
|
||||
int aLen = a.Length;
|
||||
int bLen = b.Length;
|
||||
|
||||
int ap = 0; int bp = 0;
|
||||
|
||||
while (ap < aLen && bp < bLen && a [ap] == b [bp])
|
||||
{
|
||||
ap++;
|
||||
bp++;
|
||||
}
|
||||
|
||||
return (bp == bLen);
|
||||
}
|
||||
|
||||
public void SeekAheadAndPreload(double start, float seekTime = 8f)
|
||||
{
|
||||
List<RiqEntity> entitiesAtSameBeat = ListPool<RiqEntity>.Get();
|
||||
Minigames.Minigame inf;
|
||||
|
||||
//seek ahead to preload games that have assetbundles
|
||||
//check game switches first
|
||||
var gameSwitchs = Beatmap.Entities.FindAll(c => c.datamodel.Split(1) == "switchGame");
|
||||
if (currentPreSwitch < gameSwitchs.Count && currentPreSwitch >= 0)
|
||||
if (currentPreSwitch < allGameSwitches.Count && currentPreSwitch >= 0)
|
||||
{
|
||||
if (start + seekTime >= gameSwitchs[currentPreSwitch].beat)
|
||||
if (start + seekTime >= allGameSwitches[currentPreSwitch].beat)
|
||||
{
|
||||
string gameName = gameSwitchs[currentPreSwitch].datamodel.Split(2);
|
||||
var inf = GetGameInfo(gameName);
|
||||
if (inf != null && inf.usesAssetBundle && !inf.AssetsLoaded)
|
||||
string gameName = allGameSwitches[currentPreSwitch].datamodel.Split('/')[2];
|
||||
inf = GetGameInfo(gameName);
|
||||
if (inf != null && inf.usesAssetBundle && !inf.AssetsLoaded)
|
||||
{
|
||||
Debug.Log($"ASYNC loading assetbundles for game {gameName}");
|
||||
StartCoroutine(inf.LoadCommonAssetBundleAsync());
|
||||
|
|
@ -308,18 +371,23 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
//then check game entities
|
||||
List<double> entities = Beatmap.Entities.Select(c => c.beat).ToList();
|
||||
if (currentPreEvent < Beatmap.Entities.Count && currentPreEvent >= 0)
|
||||
{
|
||||
if (start + seekTime >= entities[currentPreEvent])
|
||||
if (start + seekTime >= eventBeats[currentPreEvent])
|
||||
{
|
||||
var entitiesAtSameBeat = Beatmap.Entities.FindAll(c => c.beat == Beatmap.Entities[currentPreEvent].beat && !EventCaller.FXOnlyGames().Contains(EventCaller.instance.GetMinigame(c.datamodel.Split('/')[0])));
|
||||
foreach (RiqEntity entity in Beatmap.Entities)
|
||||
{
|
||||
if (entity.beat == Beatmap.Entities[currentPreEvent].beat && !EventCaller.FXOnlyGames().Contains(eventCaller.GetMinigame(entity.datamodel.Split('/')[0])))
|
||||
{
|
||||
entitiesAtSameBeat.Add(entity);
|
||||
}
|
||||
}
|
||||
SortEventsByPriority(entitiesAtSameBeat);
|
||||
foreach (RiqEntity entity in entitiesAtSameBeat)
|
||||
{
|
||||
string gameName = entity.datamodel.Split('/')[0];
|
||||
var inf = GetGameInfo(gameName);
|
||||
if (inf != null && inf.usesAssetBundle && !inf.AssetsLoaded)
|
||||
inf = GetGameInfo(gameName);
|
||||
if (inf != null && inf.usesAssetBundle && !inf.AssetsLoaded)
|
||||
{
|
||||
Debug.Log($"ASYNC loading assetbundles for game {gameName}");
|
||||
StartCoroutine(inf.LoadCommonAssetBundleAsync());
|
||||
|
|
@ -329,29 +397,39 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
ListPool<RiqEntity>.Release(entitiesAtSameBeat);
|
||||
}
|
||||
|
||||
public void SeekAheadAndDoPreEvent(double start)
|
||||
{
|
||||
List<double> entities = Beatmap.Entities.Select(c => c.beat).ToList();
|
||||
if (currentPreSequence < Beatmap.Entities.Count && currentPreSequence >= 0)
|
||||
{
|
||||
var seekEntity = Beatmap.Entities[currentPreSequence];
|
||||
List<RiqEntity> entitiesAtSameBeat = ListPool<RiqEntity>.Get();
|
||||
RiqEntity seekEntity = Beatmap.Entities[currentPreSequence];
|
||||
|
||||
float seekTime = EventCaller.instance.GetGameAction(
|
||||
EventCaller.instance.GetMinigame(seekEntity.datamodel.Split(0)), seekEntity.datamodel.Split(1)).preFunctionLength;
|
||||
|
||||
if (start + seekTime >= entities[currentPreSequence])
|
||||
foreach (RiqEntity entity in Beatmap.Entities)
|
||||
{
|
||||
if (entity.beat == seekEntity.beat)
|
||||
{
|
||||
entitiesAtSameBeat.Add(entity);
|
||||
}
|
||||
}
|
||||
SortEventsByPriority(entitiesAtSameBeat);
|
||||
|
||||
string[] seekEntityDatamodel = seekEntity.datamodel.Split('/');
|
||||
|
||||
float seekTime = eventCaller.GetGameAction(
|
||||
eventCaller.GetMinigame(seekEntityDatamodel[0]), seekEntityDatamodel[1]).preFunctionLength;
|
||||
|
||||
if (start + seekTime >= eventBeats[currentPreSequence])
|
||||
{
|
||||
double beat = seekEntity.beat;
|
||||
var entitiesAtSameBeat = Beatmap.Entities.FindAll(c => c.beat == seekEntity.beat);
|
||||
SortEventsByPriority(entitiesAtSameBeat);
|
||||
foreach (RiqEntity entity in entitiesAtSameBeat)
|
||||
{
|
||||
currentPreSequence++;
|
||||
string gameName = entity.datamodel.Split('/')[0];
|
||||
var inf = GetGameInfo(gameName);
|
||||
if (inf != null && inf.usesAssetBundle && inf.AssetsLoaded && !inf.SequencesPreloaded)
|
||||
if (inf != null && inf.usesAssetBundle && inf.AssetsLoaded && !inf.SequencesPreloaded)
|
||||
{
|
||||
Debug.Log($"Preloading game {gameName}");
|
||||
PreloadGameSequences(gameName);
|
||||
|
|
@ -359,6 +437,7 @@ namespace HeavenStudio
|
|||
eventCaller.CallPreEvent(entity);
|
||||
}
|
||||
}
|
||||
ListPool<RiqEntity>.Release(entitiesAtSameBeat);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -369,33 +448,28 @@ namespace HeavenStudio
|
|||
if (!Conductor.instance.isPlaying)
|
||||
return;
|
||||
Conductor cond = Conductor.instance;
|
||||
|
||||
List<double> entities = Beatmap.Entities.Select(c => c.beat).ToList();
|
||||
|
||||
List<double> tempoChanges = Beatmap.TempoChanges.Select(c => c.beat).ToList();
|
||||
if (currentTempoEvent < Beatmap.TempoChanges.Count && currentTempoEvent >= 0)
|
||||
{
|
||||
if (cond.songPositionInBeatsAsDouble >= tempoChanges[currentTempoEvent])
|
||||
if (cond.songPositionInBeatsAsDouble >= tempoBeats[currentTempoEvent])
|
||||
{
|
||||
cond.SetBpm(Beatmap.TempoChanges[currentTempoEvent]["tempo"]);
|
||||
currentTempoEvent++;
|
||||
}
|
||||
}
|
||||
|
||||
List<double> volumeChanges = Beatmap.VolumeChanges.Select(c => c.beat).ToList();
|
||||
if (currentVolumeEvent < Beatmap.VolumeChanges.Count && currentVolumeEvent >= 0)
|
||||
{
|
||||
if (cond.songPositionInBeatsAsDouble >= volumeChanges[currentVolumeEvent])
|
||||
if (cond.songPositionInBeatsAsDouble >= volumeBeats[currentVolumeEvent])
|
||||
{
|
||||
cond.SetVolume(Beatmap.VolumeChanges[currentVolumeEvent]["volume"]);
|
||||
currentVolumeEvent++;
|
||||
}
|
||||
}
|
||||
|
||||
List<double> chartSections = Beatmap.SectionMarkers.Select(c => c.beat).ToList();
|
||||
if (currentSectionEvent < Beatmap.SectionMarkers.Count && currentSectionEvent >= 0)
|
||||
{
|
||||
if (cond.songPositionInBeatsAsDouble >= chartSections[currentSectionEvent])
|
||||
if (cond.songPositionInBeatsAsDouble >= sectionBeats[currentSectionEvent])
|
||||
{
|
||||
Debug.Log("Section " + Beatmap.SectionMarkers[currentSectionEvent]["sectionName"] + " started");
|
||||
currentSection = Beatmap.SectionMarkers[currentSectionEvent];
|
||||
|
|
@ -411,24 +485,39 @@ namespace HeavenStudio
|
|||
float seekTime = 8f;
|
||||
//seek ahead to preload games that have assetbundles
|
||||
SeekAheadAndPreload(cond.songPositionInBeatsAsDouble, seekTime);
|
||||
|
||||
SeekAheadAndDoPreEvent(Conductor.instance.songPositionInBeatsAsDouble);
|
||||
SeekAheadAndDoPreEvent(cond.songPositionInBeatsAsDouble);
|
||||
|
||||
if (currentEvent < Beatmap.Entities.Count && currentEvent >= 0)
|
||||
{
|
||||
if (cond.songPositionInBeatsAsDouble >= entities[currentEvent])
|
||||
if (cond.songPositionInBeatsAsDouble >= eventBeats[currentEvent])
|
||||
{
|
||||
List<RiqEntity> entitiesAtSameBeat = ListPool<RiqEntity>.Get();
|
||||
List<RiqEntity> fxEntities = ListPool<RiqEntity>.Get();
|
||||
|
||||
// allows for multiple events on the same beat to be executed on the same frame, so no more 1-frame delay
|
||||
var entitiesAtSameBeat = Beatmap.Entities.FindAll(c => c.beat == Beatmap.Entities[currentEvent].beat && !EventCaller.FXOnlyGames().Contains(EventCaller.instance.GetMinigame(c.datamodel.Split('/')[0])));
|
||||
var fxEntities = Beatmap.Entities.FindAll(c => c.beat == Beatmap.Entities[currentEvent].beat && EventCaller.FXOnlyGames().Contains(EventCaller.instance.GetMinigame(c.datamodel.Split('/')[0])));
|
||||
using (PooledObject<List<RiqEntity>> pool = ListPool<RiqEntity>.Get(out List<RiqEntity> currentBeatEntities))
|
||||
{
|
||||
currentBeatEntities = Beatmap.Entities.FindAll(c => c.beat == Beatmap.Entities[currentEvent].beat);
|
||||
foreach (RiqEntity entity in currentBeatEntities)
|
||||
{
|
||||
if (EventCaller.FXOnlyGames().Contains(eventCaller.GetMinigame(entity.datamodel.Split('/')[0])))
|
||||
{
|
||||
fxEntities.Add(entity);
|
||||
}
|
||||
else
|
||||
{
|
||||
entitiesAtSameBeat.Add(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SortEventsByPriority(fxEntities);
|
||||
SortEventsByPriority(entitiesAtSameBeat);
|
||||
|
||||
// FX entities should ALWAYS execute before gameplay entities
|
||||
for (int i = 0; i < fxEntities.Count; i++)
|
||||
foreach (RiqEntity entity in fxEntities)
|
||||
{
|
||||
eventCaller.CallEvent(fxEntities[i], true);
|
||||
eventCaller.CallEvent(entity, true);
|
||||
currentEvent++;
|
||||
}
|
||||
|
||||
|
|
@ -447,6 +536,9 @@ namespace HeavenStudio
|
|||
// Thank you to @shshwdr for bring this to my attention
|
||||
currentEvent++;
|
||||
}
|
||||
|
||||
ListPool<RiqEntity>.Release(entitiesAtSameBeat);
|
||||
ListPool<RiqEntity>.Release(fxEntities);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -465,7 +557,8 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
|
||||
private void LateUpdate() {
|
||||
private void LateUpdate()
|
||||
{
|
||||
OverlaysManager.instance.TogleOverlaysVisibility(Editor.Editor.instance == null || Editor.Editor.instance.fullscreen || ((PersistentDataManager.gameSettings.overlaysInEditor) && (!Editor.Editor.instance.fullscreen)) || HeavenStudio.Editor.GameSettings.InPreview);
|
||||
}
|
||||
|
||||
|
|
@ -509,23 +602,24 @@ namespace HeavenStudio
|
|||
yield return new WaitForSeconds(delay);
|
||||
bool paused = Conductor.instance.isPaused;
|
||||
|
||||
Conductor.instance.Play(beat);
|
||||
if (paused)
|
||||
{
|
||||
Util.SoundByte.UnpauseOneShots();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
Conductor.instance.SetBpm(Beatmap.TempoChanges[0]["tempo"]);
|
||||
Conductor.instance.SetVolume(Beatmap.VolumeChanges[0]["volume"]);
|
||||
Conductor.instance.firstBeatOffset = Beatmap.data.offset;
|
||||
SetCurrentEventToClosest(beat);
|
||||
KillAllSounds();
|
||||
}
|
||||
|
||||
Minigame miniGame = currentGameO.GetComponent<Minigame>();
|
||||
if (miniGame != null)
|
||||
miniGame.OnPlay(beat);
|
||||
Minigame miniGame = currentGameO?.GetComponent<Minigame>();
|
||||
if (miniGame != null)
|
||||
miniGame.OnPlay(beat);
|
||||
}
|
||||
|
||||
Conductor.instance.Play(beat);
|
||||
}
|
||||
|
||||
public void Pause()
|
||||
|
|
@ -544,7 +638,6 @@ namespace HeavenStudio
|
|||
Conductor.instance.Stop(beat);
|
||||
SetCurrentEventToClosest(beat);
|
||||
onBeatChanged?.Invoke(beat);
|
||||
KillAllSounds();
|
||||
|
||||
// I feel like I should standardize the names
|
||||
SkillStarManager.instance.KillStar();
|
||||
|
|
@ -555,7 +648,7 @@ namespace HeavenStudio
|
|||
// pass this data to rating screen + stats
|
||||
Debug.Log($"== Playthrough statistics of {Beatmap["remixtitle"]} (played at {System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}) ==");
|
||||
Debug.Log($"Average input offset for playthrough: {averageInputOffset}ms");
|
||||
Debug.Log($"Accuracy for playthrough: {(PlayerAccuracy * 100) : 0.00}");
|
||||
Debug.Log($"Accuracy for playthrough: {(PlayerAccuracy * 100): 0.00}");
|
||||
Debug.Log($"Cleared {clearedSections.FindAll(c => c).Count} sections out of {Beatmap.SectionMarkers.Count}");
|
||||
if (SkillStarManager.instance.IsCollected)
|
||||
Debug.Log($"Skill Star collected");
|
||||
|
|
@ -563,7 +656,8 @@ namespace HeavenStudio
|
|||
Debug.Log($"Skill Star not collected");
|
||||
if (GoForAPerfect.instance.perfect)
|
||||
Debug.Log($"Perfect Clear!");
|
||||
|
||||
|
||||
KillAllSounds();
|
||||
if (playOnStart || restart)
|
||||
{
|
||||
Play(0, restartDelay);
|
||||
|
|
@ -573,12 +667,16 @@ namespace HeavenStudio
|
|||
|
||||
private IEnumerator WaitReadyAndPlayCo(double beat)
|
||||
{
|
||||
WaitUntil yieldOverlays = new WaitUntil(() => OverlaysManager.OverlaysReady);
|
||||
WaitUntil yieldBeatmap = new WaitUntil(() => Beatmap != null && Beatmap.Entities.Count > 0);
|
||||
WaitUntil yieldAudio = new WaitUntil(() => AudioLoadDone || (ChartLoadError && !GlobalGameManager.IsShowingDialog));
|
||||
|
||||
// wait for overlays to be ready
|
||||
yield return new WaitUntil(() => OverlaysManager.OverlaysReady);
|
||||
yield return yieldOverlays;
|
||||
// wait for first game to be loaded
|
||||
yield return new WaitUntil(() => Beatmap != null && Beatmap.Entities.Count > 0);
|
||||
yield return yieldBeatmap;
|
||||
//wait for audio clip to be loaded
|
||||
yield return new WaitUntil(() => AudioLoadDone || (ChartLoadError && !GlobalGameManager.IsShowingDialog));
|
||||
yield return yieldAudio;
|
||||
|
||||
SkillStarManager.instance.KillStar();
|
||||
TimingAccuracyDisplay.instance.StopStarFlash();
|
||||
|
|
@ -588,13 +686,12 @@ namespace HeavenStudio
|
|||
GlobalGameManager.UpdateDiscordStatus(Beatmap["remixtitle"], false, true);
|
||||
|
||||
Play(beat, 1f);
|
||||
yield break;
|
||||
}
|
||||
|
||||
public void KillAllSounds()
|
||||
{
|
||||
for (int i = 0; i < SoundObjects.Count; i++)
|
||||
Destroy(SoundObjects[i].gameObject);
|
||||
|
||||
Debug.Log("Killing all sounds");
|
||||
SoundObjects.Clear();
|
||||
Util.SoundByte.KillOneShots();
|
||||
}
|
||||
|
|
@ -609,15 +706,28 @@ namespace HeavenStudio
|
|||
Beatmap.TempoChanges.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||
Beatmap.VolumeChanges.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||
Beatmap.SectionMarkers.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||
|
||||
eventBeats = Beatmap.Entities.Select(c => c.beat).ToList();
|
||||
tempoBeats = Beatmap.TempoChanges.Select(c => c.beat).ToList();
|
||||
volumeBeats = Beatmap.VolumeChanges.Select(c => c.beat).ToList();
|
||||
sectionBeats = Beatmap.SectionMarkers.Select(c => c.beat).ToList();
|
||||
|
||||
allGameSwitches = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" });
|
||||
}
|
||||
|
||||
void SortEventsByPriority(List<RiqEntity> entities)
|
||||
{
|
||||
entities.Sort((x, y) => {
|
||||
Minigames.Minigame xGame = EventCaller.instance.GetMinigame(x.datamodel.Split(0));
|
||||
Minigames.GameAction xAction = EventCaller.instance.GetGameAction(xGame, x.datamodel.Split(1));
|
||||
Minigames.Minigame yGame = EventCaller.instance.GetMinigame(y.datamodel.Split(0));
|
||||
Minigames.GameAction yAction = EventCaller.instance.GetGameAction(yGame, y.datamodel.Split(1));
|
||||
string[] xDatamodel;
|
||||
string[] yDatamodel;
|
||||
entities.Sort((x, y) =>
|
||||
{
|
||||
xDatamodel = x.datamodel.Split('/');
|
||||
yDatamodel = y.datamodel.Split('/');
|
||||
|
||||
Minigames.Minigame xGame = eventCaller.GetMinigame(xDatamodel[0]);
|
||||
Minigames.GameAction xAction = eventCaller.GetGameAction(xGame, xDatamodel[1]);
|
||||
Minigames.Minigame yGame = eventCaller.GetMinigame(yDatamodel[0]);
|
||||
Minigames.GameAction yAction = eventCaller.GetGameAction(yGame, yDatamodel[1]);
|
||||
|
||||
return yAction.priority.CompareTo(xAction.priority);
|
||||
});
|
||||
|
|
@ -632,25 +742,57 @@ namespace HeavenStudio
|
|||
return double.MinValue;
|
||||
}
|
||||
|
||||
public static int GetIndexAfter(List<double> list, double compareTo)
|
||||
{
|
||||
list.Sort();
|
||||
if (list.Count > 0)
|
||||
{
|
||||
foreach (double item in list)
|
||||
{
|
||||
if (item >= compareTo)
|
||||
{
|
||||
return Math.Max(list.IndexOf(item), 0);
|
||||
}
|
||||
}
|
||||
return list.Count;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int GetIndexBefore(List<double> list, double compareTo)
|
||||
{
|
||||
list.Sort();
|
||||
if (list.Count > 0)
|
||||
{
|
||||
foreach (double item in list)
|
||||
{
|
||||
if (item >= compareTo)
|
||||
{
|
||||
return Math.Max(list.IndexOf(item) - 1, 0);
|
||||
}
|
||||
}
|
||||
return list.Count - 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void SetCurrentEventToClosest(double beat)
|
||||
{
|
||||
SortEventsList();
|
||||
onBeatChanged?.Invoke(beat);
|
||||
if (Beatmap.Entities.Count > 0)
|
||||
{
|
||||
List<double> entities = Beatmap.Entities.Select(c => c.beat).ToList();
|
||||
currentEvent = GetIndexAfter(eventBeats, beat);
|
||||
currentPreEvent = GetIndexAfter(eventBeats, beat);
|
||||
currentPreSequence = GetIndexAfter(eventBeats, beat);
|
||||
|
||||
currentEvent = entities.IndexOf(GetClosestInList(entities, beat));
|
||||
currentPreEvent = entities.IndexOf(GetClosestInList(entities, beat));
|
||||
currentPreSequence = entities.IndexOf(GetClosestInList(entities, beat));
|
||||
var gameSwitchs = Beatmap.Entities.FindAll(c => c.datamodel.Split("/")[1] == "switchGame");
|
||||
|
||||
var gameSwitchs = Beatmap.Entities.FindAll(c => c.datamodel.Split(1) == "switchGame");
|
||||
|
||||
string newGame = Beatmap.Entities[currentEvent].datamodel.Split(0);
|
||||
string newGame = Beatmap.Entities[Math.Min(currentEvent, eventBeats.Count - 1)].datamodel.Split(0);
|
||||
|
||||
if (gameSwitchs.Count > 0)
|
||||
{
|
||||
int index = gameSwitchs.FindIndex(c => c.beat == GetClosestInList(gameSwitchs.Select(c => c.beat).ToList(), beat));
|
||||
int index = GetIndexBefore(gameSwitchs.Select(c => c.beat).ToList(), beat);
|
||||
currentPreSwitch = index;
|
||||
var closestGameSwitch = gameSwitchs[index];
|
||||
if (closestGameSwitch.beat <= beat)
|
||||
|
|
@ -698,13 +840,12 @@ namespace HeavenStudio
|
|||
if (Beatmap.TempoChanges.Count > 0)
|
||||
{
|
||||
currentTempoEvent = 0;
|
||||
List<double> tempoChanges = Beatmap.TempoChanges.Select(c => c.beat).ToList();
|
||||
|
||||
//for tempo changes, just go over all of em until the last one we pass
|
||||
for (int t = 0; t < tempoChanges.Count; t++)
|
||||
for (int t = 0; t < tempoBeats.Count; t++)
|
||||
{
|
||||
// Debug.Log("checking tempo event " + t + " against beat " + beat + "( tc beat " + tempoChanges[t] + ")");
|
||||
if (tempoChanges[t] > beat)
|
||||
if (tempoBeats[t] > beat)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
|
@ -716,11 +857,10 @@ namespace HeavenStudio
|
|||
if (Beatmap.VolumeChanges.Count > 0)
|
||||
{
|
||||
currentVolumeEvent = 0;
|
||||
List<double> volumeChanges = Beatmap.VolumeChanges.Select(c => c.beat).ToList();
|
||||
|
||||
for (int t = 0; t < volumeChanges.Count; t++)
|
||||
for (int t = 0; t < volumeBeats.Count; t++)
|
||||
{
|
||||
if (volumeChanges[t] > beat)
|
||||
if (volumeBeats[t] > beat)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
|
@ -733,11 +873,10 @@ namespace HeavenStudio
|
|||
if (Beatmap.SectionMarkers.Count > 0)
|
||||
{
|
||||
currentSectionEvent = 0;
|
||||
List<double> beatmapSections = Beatmap.SectionMarkers.Select(c => c.beat).ToList();
|
||||
|
||||
for (int t = 0; t < beatmapSections.Count; t++)
|
||||
for (int t = 0; t < sectionBeats.Count; t++)
|
||||
{
|
||||
if (beatmapSections[t] > beat)
|
||||
if (sectionBeats[t] > beat)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
|
@ -763,7 +902,7 @@ namespace HeavenStudio
|
|||
|
||||
IEnumerator SwitchGameIE(string game, double beat, bool flash)
|
||||
{
|
||||
if(flash)
|
||||
if (flash)
|
||||
{
|
||||
HeavenStudio.StaticCamera.instance.ToggleCanvasVisibility(false);
|
||||
}
|
||||
|
|
@ -774,8 +913,16 @@ namespace HeavenStudio
|
|||
if (miniGame != null)
|
||||
miniGame.OnGameSwitch(beat);
|
||||
|
||||
//before beat-based: yield return new WaitForSeconds(0.1f);
|
||||
yield return new WaitForSeconds(Conductor.instance.pitchedSecPerBeat / 4);
|
||||
while (beat + 0.25 > Conductor.instance.songPositionInBeats)
|
||||
{
|
||||
if (!Conductor.instance.isPlaying)
|
||||
{
|
||||
HeavenStudio.StaticCamera.instance.ToggleCanvasVisibility(true);
|
||||
SetAmbientGlowToCurrentMinigameColor();
|
||||
StopCoroutine(currentGameSwitchIE);
|
||||
}
|
||||
yield return null;
|
||||
}
|
||||
|
||||
HeavenStudio.StaticCamera.instance.ToggleCanvasVisibility(true);
|
||||
SetAmbientGlowToCurrentMinigameColor();
|
||||
|
|
@ -823,6 +970,7 @@ namespace HeavenStudio
|
|||
if (gameInfo.usesAssetBundle)
|
||||
{
|
||||
//game is packed in an assetbundle, load from that instead
|
||||
// this is fucked!! figure out a way to make this async
|
||||
return gameInfo.GetCommonAssetBundle().LoadAsset<GameObject>(name);
|
||||
}
|
||||
name = gameInfo.LoadableName;
|
||||
|
|
@ -833,7 +981,7 @@ namespace HeavenStudio
|
|||
|
||||
public Minigames.Minigame GetGameInfo(string name)
|
||||
{
|
||||
return EventCaller.instance.minigames.Find(c => c.name == name);
|
||||
return eventCaller.minigames.Find(c => c.name == name);
|
||||
}
|
||||
|
||||
public void SetCurrentGame(string game, bool useMinigameColor = true)
|
||||
|
|
@ -856,7 +1004,7 @@ namespace HeavenStudio
|
|||
|
||||
private void SetAmbientGlowToCurrentMinigameColor()
|
||||
{
|
||||
if (GetGameInfo(currentGame) != null)
|
||||
if (GetGameInfo(currentGame) != null)
|
||||
HeavenStudio.StaticCamera.instance.SetAmbientGlowColour(Colors.Hex2RGB(GetGameInfo(currentGame).color), true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -188,7 +188,10 @@ namespace HeavenStudio.Games.Loaders
|
|||
resizable = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("enable", true, "Enable"),
|
||||
new Param("enable", true, "Enable", "", new List<Param.CollapseParam>()
|
||||
{
|
||||
new Param.CollapseParam(x => (bool)x, new string[] { "main", "side", "speed", "endSpeed", "ease" })
|
||||
}),
|
||||
new Param("main", new EntityTypes.Integer(0, 300, 50), "Main Trees", "How many trees per second?"),
|
||||
new Param("side", new EntityTypes.Integer(0, 100, 30), "Side Trees", "How many trees per second?"),
|
||||
new Param("speed", new EntityTypes.Float(-10, 10, 1), "Speed Multiplier"),
|
||||
|
|
@ -750,7 +753,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void ServeObject(double beat, double targetBeat, bool type)
|
||||
{
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>
|
||||
BeatAction.New(this, new List<BeatAction.Action>
|
||||
{
|
||||
new BeatAction.Action(beat - 0.5, delegate
|
||||
{
|
||||
|
|
@ -812,12 +815,12 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void ForthCountIn4Do(double beat, float length)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, instance.ForthCountIn4Action(beat, length));
|
||||
BeatAction.New(instance, instance.ForthCountIn4Action(beat, length));
|
||||
}
|
||||
|
||||
public void ForthCountIn8Do(double beat, float length)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, instance.ForthCountIn8Action(beat, length));
|
||||
BeatAction.New(instance, instance.ForthCountIn8Action(beat, length));
|
||||
}
|
||||
|
||||
private List<BeatAction.Action> ForthCountIn4Action(double beat, float length)
|
||||
|
|
@ -902,7 +905,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void ForthVoiceDo(double beat)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
instance.ForthVoiceAction(beat)
|
||||
});
|
||||
|
|
@ -1065,7 +1068,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
tempCounts.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||
|
||||
BeatAction.New(instance.gameObject, tempCounts);
|
||||
BeatAction.New(instance, tempCounts);
|
||||
}
|
||||
|
||||
public override void OnPlay(double beat)
|
||||
|
|
@ -1217,7 +1220,7 @@ namespace HeavenStudio.Games
|
|||
if (!(silent || isBaBumBeat) || (isCatch && !silent))
|
||||
SoundByte.PlayOneShotGame("airRally/nya_" + distanceString, beat, 1, 1, false, false, nyaOffsets[(int)DistanceAtBeat(beat)]);
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat - 1, delegate
|
||||
{
|
||||
|
|
@ -1333,7 +1336,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
MultiSound.Play(sounds.ToArray());
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
@ -1397,7 +1400,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
if (IsCatchBeat(caller.startBeat + caller.timer + 1))
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(caller.startBeat + caller.timer + 1, delegate
|
||||
{
|
||||
|
|
@ -1441,7 +1444,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
if (IsCatchBeat(caller.startBeat + caller.timer + 2))
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(caller.startBeat + caller.timer + 2, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ namespace HeavenStudio.Games.Scripts_BoardMeeting
|
|||
}
|
||||
game.StopChairLoopSoundIfLastToStop();
|
||||
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(game, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(Conductor.instance.songPositionInBeatsAsDouble + 1.5f, delegate { canBop = true; })
|
||||
});
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate
|
||||
{
|
||||
|
|
@ -192,7 +192,7 @@ namespace HeavenStudio.Games
|
|||
new MultiSound.Sound("boardMeeting/three", beat + 1),
|
||||
new MultiSound.Sound("boardMeeting/stopAll", beat + 2)
|
||||
});
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { assistantAnim.DoScaledAnimationAsync("One", 0.5f); }),
|
||||
new BeatAction.Action(beat + 1, delegate { assistantAnim.DoScaledAnimationAsync("Three", 0.5f); }),
|
||||
|
|
@ -254,7 +254,7 @@ namespace HeavenStudio.Games
|
|||
}));
|
||||
}
|
||||
stops.Add(new BeatAction.Action(beat + length * executiveCount + 0.5f, delegate { executivesCanBop = true; }));
|
||||
BeatAction.New(instance.gameObject, stops);
|
||||
BeatAction.New(instance, stops);
|
||||
ScheduleInput(beat, length * (executiveCount - 1), InputType.STANDARD_DOWN, Just, Miss, Empty);
|
||||
}
|
||||
|
||||
|
|
@ -295,7 +295,7 @@ namespace HeavenStudio.Games
|
|||
executives[index].Spin(soundToPlay);
|
||||
}));
|
||||
}
|
||||
BeatAction.New(instance.gameObject, rolls);
|
||||
BeatAction.New(instance, rolls);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -402,7 +402,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
SoundByte.PlayOneShotGame("boardMeeting/stopPlayer");
|
||||
executives[executiveCount - 1].Stop();
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(caller.timer + caller.startBeat + 1f, delegate
|
||||
{
|
||||
|
|
@ -436,7 +436,7 @@ namespace HeavenStudio.Games
|
|||
executives[executiveCount - 1].Stop();
|
||||
assistantAnim.DoScaledAnimationAsync("Stop", 0.5f);
|
||||
SoundByte.PlayOneShotGame("boardMeeting/stopAllPlayer");
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(caller.timer + caller.startBeat + 1f, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ namespace HeavenStudio.Games.Scripts_BuiltToScaleDS
|
|||
}, forcePlay: true
|
||||
);
|
||||
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(sinkBeat, delegate { moving = false; }),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -22,7 +22,10 @@ namespace HeavenStudio.Games.Loaders
|
|||
resizable = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("silent", false, "Mute Audio", "Whether the piano notes should be muted or not."),
|
||||
new Param("silent", false, "Mute Audio", "Whether the piano notes should be muted or not.", new List<Param.CollapseParam>()
|
||||
{
|
||||
new Param.CollapseParam(x => !(bool)x, new string[] { "note1", "note2", "note3", "note4", "note5", "note6"})
|
||||
}),
|
||||
new Param("note1", new EntityTypes.Integer(-24, 24, 0), "1st note", "The number of semitones up or down this note should be pitched"),
|
||||
new Param("note2", new EntityTypes.Integer(-24, 24, 2), "2nd note", "The number of semitones up or down this note should be pitched"),
|
||||
new Param("note3", new EntityTypes.Integer(-24, 24, 4), "3rd note", "The number of semitones up or down this note should be pitched"),
|
||||
|
|
@ -340,7 +343,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
}));
|
||||
}
|
||||
BeatAction.New(instance.gameObject, actions);
|
||||
BeatAction.New(instance, actions);
|
||||
}
|
||||
if (!autoLights && !shouldLights)
|
||||
{
|
||||
|
|
@ -467,7 +470,7 @@ namespace HeavenStudio.Games
|
|||
public void MultiplePiano(double beat, float length, bool silent, int note1, int note2, int note3, int note4, int note5, int note6)
|
||||
{
|
||||
if (silent) return;
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { PlayPiano(beat, length, note1); }),
|
||||
new BeatAction.Action(beat + length, delegate { PlayPiano(beat + length, length, note2); }),
|
||||
|
|
|
|||
|
|
@ -20,7 +20,10 @@ namespace HeavenStudio.Games.Loaders
|
|||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("side", CatchyTune.Side.Left, "Side", "The side the orange falls down"),
|
||||
new Param("smile", false, "Smile", "If the characters smile with the heart message after catching"),
|
||||
new Param("smile", false, "Smile", "If the characters smile with the heart message after catching", new List<Param.CollapseParam>()
|
||||
{
|
||||
new Param.CollapseParam(x => (bool)x, new string[] { "endSmile" })
|
||||
}),
|
||||
new Param("endSmile", new EntityTypes.Float(2, 100), "End Smile Beat", "How many beats after the catch should the smile end?")
|
||||
},
|
||||
preFunction = delegate {var e = eventCaller.currentEntity; CatchyTune.PreDropFruit(e.beat, e["side"], e["smile"], false, e["endSmile"]); },
|
||||
|
|
@ -32,7 +35,10 @@ namespace HeavenStudio.Games.Loaders
|
|||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("side", CatchyTune.Side.Left, "Side", "The side the pineapple falls down"),
|
||||
new Param("smile", false, "Smile", "If the characters smile with the heart message after catching"),
|
||||
new Param("smile", false, "Smile", "If the characters smile with the heart message after catching", new List<Param.CollapseParam>()
|
||||
{
|
||||
new Param.CollapseParam(x => (bool)x, new string[] { "endSmile" })
|
||||
}),
|
||||
new Param("endSmile", new EntityTypes.Float(2, 100), "End Smile Beat", "How many beats after the catch should the smile end?")
|
||||
},
|
||||
preFunction = delegate {var e = eventCaller.currentEntity; CatchyTune.PreDropFruit(e.beat, e["side"], e["smile"], true, e["endSmile"]); },
|
||||
|
|
@ -223,7 +229,7 @@ namespace HeavenStudio.Games
|
|||
beat = beat - (isPineapple ? 2f : 1f);
|
||||
if (GameManager.instance.currentGame == "catchyTune")
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(spawnBeat, delegate { if (instance != null) instance.DropFruit(beat, side, smile, isPineapple, endSmile); }),
|
||||
});
|
||||
|
|
@ -268,7 +274,7 @@ namespace HeavenStudio.Games
|
|||
bopRight = whoBopsAuto == (int)WhoBops.Alalin || whoBopsAuto == (int)WhoBops.Both;
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
|
|||
// play near miss animation
|
||||
anim.DoScaledAnimation("barely", barelyStart, isPineapple ? 2f : 1f);
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(barelyStart + (isPineapple ? 2f : 1f), delegate { Destroy(this.gameObject); }),
|
||||
});
|
||||
|
|
@ -166,7 +166,7 @@ namespace HeavenStudio.Games.Scripts_CatchyTune
|
|||
{
|
||||
game.catchMiss(side, isPineapple);
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + beatLength + (isPineapple ? 3f : 1.5f), delegate { Destroy(this.gameObject); }),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -433,7 +433,7 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate
|
||||
{
|
||||
|
|
@ -476,7 +476,7 @@ namespace HeavenStudio.Games
|
|||
cueBeat = beat;
|
||||
cueLength = length - 1f;
|
||||
if (!shouldSwitchColor) return;
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + length * 0.5f, delegate { shouldBeBlack = !shouldBeBlack; })
|
||||
});
|
||||
|
|
@ -523,7 +523,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
MultiSound.Play(soundsToPlay.ToArray(), forcePlay: true);
|
||||
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
@ -660,7 +660,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
MultiSound.Play(soundsToPlay.ToArray(), forcePlay: true);
|
||||
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
@ -836,7 +836,7 @@ namespace HeavenStudio.Games
|
|||
break;
|
||||
}
|
||||
MultiSound.Play(soundsToPlay.ToArray(), forcePlay: true);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
@ -1012,7 +1012,7 @@ namespace HeavenStudio.Games
|
|||
soundsToPlay.Add(new MultiSound.Sound("cheerReaders/bookDiagonal", beat));
|
||||
}
|
||||
MultiSound.Play(soundsToPlay.ToArray(), forcePlay: true);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
@ -1218,7 +1218,7 @@ namespace HeavenStudio.Games
|
|||
break;
|
||||
}
|
||||
MultiSound.Play(soundsToPlay.ToArray(), forcePlay: true);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
}
|
||||
if (sounds.Count > 0) clapSounds = MultiSound.Play(sounds.ToArray());
|
||||
if (actions.Count > 0) clapAction = BeatAction.New(this.gameObject, actions);
|
||||
if (actions.Count > 0) clapAction = BeatAction.New(this, actions);
|
||||
|
||||
// prepare player input
|
||||
ClappyTrioPlayer.QueueClap(beat, length * (Lion.Count - 1));
|
||||
|
|
@ -249,7 +249,7 @@ namespace HeavenStudio.Games
|
|||
bops.Add(new BeatAction.Action(spawnBeat, delegate { misses = 0; }));
|
||||
}
|
||||
}
|
||||
if (bops.Count > 0) BeatAction.New(instance.gameObject, bops);
|
||||
if (bops.Count > 0) BeatAction.New(instance, bops);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,10 @@ namespace HeavenStudio.Games.Loaders
|
|||
{
|
||||
new Param("threshold", new EntityTypes.Integer(1, 80, 8), "Threshold", "For each time the threshold is met a new plant will appear in the veggie bag."),
|
||||
new Param("limit", new EntityTypes.Integer(1, 1000, 80), "Limit", "What is the limit for plants collected?"),
|
||||
new Param("force", false, "Force Amount of Collected Plants"),
|
||||
new Param("force", false, "Force Amount of Collected Plants", "", new List<Param.CollapseParam>()
|
||||
{
|
||||
new Param.CollapseParam(x => (bool)x, new string[] { "forceAmount" })
|
||||
}),
|
||||
new Param("forceAmount", new EntityTypes.Integer(0, 1000, 0), "Force Amount")
|
||||
}
|
||||
}
|
||||
|
|
@ -168,7 +171,7 @@ namespace HeavenStudio.Games
|
|||
startBeat = inactiveStart + (stepsPassed * 2f);
|
||||
|
||||
// Cue the marching proper to begin when applicable.
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat - 0.25f, delegate { StartMarching(startBeat); })
|
||||
});
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ namespace HeavenStudio.Games.Scripts_CropStomp
|
|||
|
||||
if (!isMole)
|
||||
{
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(pickedBeat + 0.5f, delegate { veggieSprite.sortingOrder = -1; }),
|
||||
new BeatAction.Action(pickedBeat + pickTime, delegate { GameObject.Destroy(gameObject); })
|
||||
|
|
@ -291,7 +291,7 @@ namespace HeavenStudio.Games.Scripts_CropStomp
|
|||
}
|
||||
else
|
||||
{
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(pickedBeat + pickTime, delegate { GameObject.Destroy(gameObject); })
|
||||
});
|
||||
|
|
|
|||
|
|
@ -294,7 +294,7 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate
|
||||
{
|
||||
|
|
@ -363,7 +363,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
|
||||
|
||||
BeatAction.New(djYellow, new List<BeatAction.Action>()
|
||||
BeatAction.New(djYellowScript, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
@ -422,7 +422,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
|
||||
|
||||
BeatAction.New(djYellow, new List<BeatAction.Action>()
|
||||
BeatAction.New(djYellowScript, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.5f, delegate
|
||||
{
|
||||
|
|
@ -494,7 +494,7 @@ namespace HeavenStudio.Games
|
|||
});
|
||||
|
||||
|
||||
BeatAction.New(djYellow, new List<BeatAction.Action>()
|
||||
BeatAction.New(djYellowScript, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { djYellow.GetComponent<Animator>().DoScaledAnimationAsync("Scratcho", 0.5f); }),
|
||||
new BeatAction.Action(beat + .5f, delegate { djYellow.GetComponent<Animator>().DoScaledAnimationAsync("Scratcho2", 0.5f); }),
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ namespace HeavenStudio.Games.Scripts_DJSchool
|
|||
FlashFX(false);
|
||||
swiping = true;
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { anim.Play("Swipe", 0, 0); }),
|
||||
new BeatAction.Action(beat + 4f, delegate { swiping = false; }),
|
||||
|
|
@ -226,7 +226,7 @@ namespace HeavenStudio.Games.Scripts_DJSchool
|
|||
{
|
||||
OnMissSwipeForPlayerInput(caller.timer + caller.startBeat + 1f);
|
||||
SoundByte.PlayOneShotGame("djSchool/recordSwipe");
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { anim.Play("Swipe", 0, 0); }),
|
||||
new BeatAction.Action(beat + 4f, delegate { swiping = false; }),
|
||||
|
|
@ -254,7 +254,7 @@ namespace HeavenStudio.Games.Scripts_DJSchool
|
|||
canBoo = false;
|
||||
Invoke("EnableBoo", booSound.clip.length);
|
||||
}
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(game, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(caller.timer + caller.startBeat + 1f, delegate
|
||||
{
|
||||
|
|
@ -276,7 +276,7 @@ namespace HeavenStudio.Games.Scripts_DJSchool
|
|||
//swiping = false;
|
||||
mixer.audioMixer.FindSnapshot("Main").TransitionTo(.01f);
|
||||
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(game, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
|
||||
void Just(PlayerActionEvent caller, float state)
|
||||
{
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(conductor.songPositionInBeatsAsDouble + 3f, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate { SingleBop(); })
|
||||
});
|
||||
|
|
@ -220,7 +220,7 @@ namespace HeavenStudio.Games
|
|||
else if (weaselsHappy) weasels.Happy();
|
||||
if (!forceNoLeaves)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(Conductor.instance.songPositionInBeatsAsDouble + 1f, delegate
|
||||
{
|
||||
|
|
@ -321,7 +321,7 @@ namespace HeavenStudio.Games
|
|||
if (hit)
|
||||
{
|
||||
lastHitWeasel = Conductor.instance.songPositionInBeatsAsDouble;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat - (0.25f/3f), delegate { weasels.Hit(beat); }),
|
||||
});
|
||||
|
|
@ -329,7 +329,7 @@ namespace HeavenStudio.Games
|
|||
else
|
||||
{
|
||||
lastHitWeasel = Conductor.instance.songPositionInBeatsAsDouble;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.25, delegate { weasels.Hide(beat + 0.25f); }),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
{
|
||||
notHit = false;
|
||||
anim.DoScaledAnimationAsync("WeaselsHide", 0.5f);
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 1.45f, delegate
|
||||
{
|
||||
|
|
@ -75,7 +75,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
{
|
||||
notHit = false;
|
||||
anim.DoScaledAnimationAsync("WeaselsHit", 0.5f);
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 2f, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
SoundByte.PlayOneShot("miss");
|
||||
game.Kick(false);
|
||||
GetComponent<SpriteRenderer>().sortingOrder = 8;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(conductor.songPositionInBeatsAsDouble + 4f, delegate
|
||||
{
|
||||
|
|
@ -73,7 +73,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
return;
|
||||
}
|
||||
Hit();
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(conductor.songPositionInBeatsAsDouble + 1f, delegate
|
||||
{
|
||||
|
|
@ -115,7 +115,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
}
|
||||
}
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(conductor.songPositionInBeatsAsDouble + 5f, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
|
||||
void Just(PlayerActionEvent caller, float state)
|
||||
{
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(conductor.songPositionInBeatsAsDouble + 3f, delegate
|
||||
{
|
||||
|
|
@ -89,7 +89,7 @@ namespace HeavenStudio.Games.Scripts_DoubleDate
|
|||
SoundByte.PlayOneShotGame("doubleDate/weasel_hide");
|
||||
game.MissKick(pathStartBeat + 2.25f);
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(conductor.songPositionInBeatsAsDouble + 4f, delegate
|
||||
{
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ namespace HeavenStudio.Games.Scripts_DrummingPractice
|
|||
{
|
||||
game.ScheduleInput(startBeat, 1f, InputType.STANDARD_DOWN, Just, Miss, Out);
|
||||
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(game, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat+1f, delegate {
|
||||
SoundByte.PlayOneShotGame("drummingPractice/drum");
|
||||
|
|
@ -46,7 +46,7 @@ namespace HeavenStudio.Games.Scripts_DrummingPractice
|
|||
private void Miss(PlayerActionEvent caller)
|
||||
{
|
||||
game.SetFaces(2);
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(game, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat+2f, delegate {
|
||||
game.SetFaces(0);
|
||||
|
|
@ -64,7 +64,7 @@ namespace HeavenStudio.Games.Scripts_DrummingPractice
|
|||
|
||||
if (!_hit)
|
||||
{
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(game, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat+2f, delegate {
|
||||
game.SetFaces(0);
|
||||
|
|
|
|||
|
|
@ -39,10 +39,13 @@ namespace HeavenStudio.Games.Loaders
|
|||
defaultLength = 0.5f,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("toggle", false, "Set All to Player", "Sets all Miis to the Player's Mii", new List<Param.CollapseParam>()
|
||||
{
|
||||
new Param.CollapseParam(x => !(bool)x, new string[] { "type", "type2", "type3" })
|
||||
}),
|
||||
new Param("type", DrummingPractice.MiiType.Random, "Player Mii", "The Mii that the player will control"),
|
||||
new Param("type2", DrummingPractice.MiiType.Random, "Left Mii", "The Mii on the left"),
|
||||
new Param("type3", DrummingPractice.MiiType.Random, "Right Mii", "The Mii on the right"),
|
||||
new Param("toggle", false, "Set All to Player", "Sets all Miis to the Player's Mii")
|
||||
}
|
||||
},
|
||||
new GameAction("move npc drummers", "NPC Drummers Enter or Exit")
|
||||
|
|
@ -179,7 +182,7 @@ namespace HeavenStudio.Games
|
|||
moveAnim = exit ? "NPCDrummersExit" : "NPCDrummersEnter";
|
||||
isMoving = true;
|
||||
lastEase = (EasingFunction.Ease)ease;
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + length - 0.01f, delegate { isMoving = false; })
|
||||
});
|
||||
|
|
@ -192,7 +195,7 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate { Bop(); })
|
||||
});
|
||||
|
|
|
|||
|
|
@ -400,7 +400,7 @@ namespace HeavenStudio.Games
|
|||
goBopSpec = targetAuto == (int)IdolBopType.Both || targetAuto == (int)IdolBopType.Spectators;
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate { BopSingle(target); })
|
||||
});
|
||||
|
|
@ -494,7 +494,7 @@ namespace HeavenStudio.Games
|
|||
idolAnimator.Play("IdolCrap" + GetPerformanceSuffix(), -1, 0);
|
||||
break;
|
||||
case (int)IdolAnimations.Call:
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolCall0" + GetPerformanceSuffix(), -1, 0); }),
|
||||
new BeatAction.Action(beat + 0.75f, delegate { Arisa.GetComponent<Animator>().Play("IdolCall1" + GetPerformanceSuffix(), -1, 0); }),
|
||||
|
|
@ -507,21 +507,21 @@ namespace HeavenStudio.Games
|
|||
DoIdolJump(beat, length);
|
||||
break;
|
||||
case (int)IdolAnimations.BigCall:
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolBigCall0" + GetPerformanceSuffix(), -1, 0); }),
|
||||
new BeatAction.Action(beat + length, delegate { Arisa.GetComponent<Animator>().Play("IdolBigCall1" + GetPerformanceSuffix(), -1, 0); }),
|
||||
});
|
||||
break;
|
||||
case (int)IdolAnimations.Squat:
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolSquat0" + GetPerformanceSuffix(), -1, 0); }),
|
||||
new BeatAction.Action(beat + length, delegate { Arisa.GetComponent<Animator>().Play("IdolSquat1" + GetPerformanceSuffix(), -1, 0); }),
|
||||
});
|
||||
break;
|
||||
case (int)IdolAnimations.Wink:
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolWink0" + GetPerformanceSuffix(), -1, 0); }),
|
||||
new BeatAction.Action(beat + length, delegate { Arisa.GetComponent<Animator>().Play("IdolWink1" + GetPerformanceSuffix(), -1, 0); }),
|
||||
|
|
@ -573,7 +573,7 @@ namespace HeavenStudio.Games
|
|||
idolJumpStartTime = beat;
|
||||
|
||||
//play anim
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Arisa.GetComponent<Animator>().Play("IdolJump" + GetPerformanceSuffix(), -1, 0); }),
|
||||
new BeatAction.Action(beat + 1f, delegate { Arisa.GetComponent<Animator>().Play("IdolLand" + GetPerformanceSuffix(), -1, 0); }),
|
||||
|
|
@ -641,7 +641,7 @@ namespace HeavenStudio.Games
|
|||
Prepare(beat + 5f);
|
||||
Prepare(beat + 6f);
|
||||
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { DoIdolPeace();}),
|
||||
new BeatAction.Action(beat + 1f, delegate { DoIdolPeace();}),
|
||||
|
|
@ -691,7 +691,7 @@ namespace HeavenStudio.Games
|
|||
Prepare(beat + 3f, 2);
|
||||
Prepare(beat + 4f, 1);
|
||||
|
||||
BeatAction.New(Arisa, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { DoIdolCall(0, isBig); Blue.PlayAnimState("Beat"); Orange.PlayAnimState("Beat"); }),
|
||||
new BeatAction.Action(beat + (isBig ? 1f : 0.75f), delegate { DoIdolCall(1, isBig); }),
|
||||
|
|
@ -753,7 +753,7 @@ namespace HeavenStudio.Games
|
|||
DisableSpecBop(beat, 3.75f);
|
||||
|
||||
PlayAnimationAll("FanBigReady", onlyOverrideBop: true);
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 1.5f, delegate { PlayAnimationAll("FanBigReady", onlyOverrideBop: true); }),
|
||||
new BeatAction.Action(beat + 2f, delegate { PlayAnimationAll("FanBigReady", onlyOverrideBop: true); }),
|
||||
|
|
@ -846,7 +846,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
// Jukebox.PlayOneShotGame("fanClub/play_clap", volume: 0.08f);
|
||||
SoundByte.PlayOneShotGame("fanClub/crap_impact", pitch: UnityEngine.Random.Range(0.95f, 1.05f), volume: 0.1f);
|
||||
BeatAction.New(Spectators[who], new List<BeatAction.Action>()
|
||||
BeatAction.New(Spectators[who].GetComponent<NtrIdolFan>(), new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Spectators[who].GetComponent<Animator>().Play("FanClap", -1, 0); }),
|
||||
new BeatAction.Action(beat + 0.1f, delegate { Spectators[who].GetComponent<Animator>().Play("FanFree", -1, 0); }),
|
||||
|
|
@ -855,7 +855,7 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
else
|
||||
{
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { PlayAnimationAll("FanClap", true, true);}),
|
||||
new BeatAction.Action(beat + 0.1f, delegate { PlayAnimationAll("FanFree", true, true);}),
|
||||
|
|
@ -865,7 +865,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
private void PlayLongClap(double beat)
|
||||
{
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { PlayAnimationAll("FanClap", true, true);}),
|
||||
new BeatAction.Action(beat + 1f, delegate { PlayAnimationAll("FanFree", true, true);}),
|
||||
|
|
@ -874,7 +874,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
private void PlayChargeClap(double beat)
|
||||
{
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { PlayAnimationAll("FanClap", true, true);}),
|
||||
new BeatAction.Action(beat + 0.1f, delegate { PlayAnimationAll("FanClapCharge", true, true);}),
|
||||
|
|
@ -884,7 +884,7 @@ namespace HeavenStudio.Games
|
|||
private void StartJump(int idx, double beat)
|
||||
{
|
||||
Spectators[idx].GetComponent<NtrIdolFan>().jumpStartTime = beat;
|
||||
BeatAction.New(Spectators[idx], new List<BeatAction.Action>()
|
||||
BeatAction.New(Spectators[idx].GetComponent<NtrIdolFan>(), 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);}),
|
||||
|
|
@ -934,7 +934,7 @@ namespace HeavenStudio.Games
|
|||
goBopSpec = false;
|
||||
|
||||
// recreation of sub61
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { StartClapLoop(beat, 1);}),
|
||||
|
||||
|
|
@ -972,7 +972,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
void StartClapLoop(double beat, int who)
|
||||
{
|
||||
BeatAction.New(Spectators[who], new List<BeatAction.Action>()
|
||||
BeatAction.New(Spectators[who].GetComponent<NtrIdolFan>(), new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { PlayOneClap(beat, who); }),
|
||||
new BeatAction.Action(beat + 0.5f, delegate { StartClapLoop(beat + 0.5f, who); }),
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ namespace HeavenStudio.Games.Scripts_FanClub
|
|||
startJumpTime = beat;
|
||||
|
||||
//play anim
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
// new BeatAction.Action(beat, delegate { anim.Play("Jump", -1, 0); }),
|
||||
new BeatAction.Action(beat + 1f, delegate { anim.Play("Land", -1, 0); }),
|
||||
|
|
@ -197,14 +197,14 @@ namespace HeavenStudio.Games.Scripts_FanClub
|
|||
DoIdolJump(beat);
|
||||
break;
|
||||
case (int) IdolAnimations.Squat:
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { anim.Play("Squat0", -1, 0); }),
|
||||
new BeatAction.Action(beat + length, delegate { anim.Play("Squat1", -1, 0); }),
|
||||
});
|
||||
break;
|
||||
case (int) IdolAnimations.Wink:
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { anim.Play("Wink0", -1, 0); }),
|
||||
new BeatAction.Action(beat + length, delegate { anim.Play("Wink1", -1, 0); }),
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ namespace HeavenStudio.Games.Scripts_FanClub
|
|||
clappingStartTime = cond.songPositionInBeatsAsDouble;
|
||||
|
||||
if (doCharge)
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(cond.songPositionInBeatsAsDouble + 0.1f, delegate {
|
||||
if (PlayerInput.Pressing() || autoplayRelease > 0f)
|
||||
|
|
@ -209,7 +209,7 @@ namespace HeavenStudio.Games.Scripts_FanClub
|
|||
|
||||
if (autoplayRelease > 0f && !doCharge)
|
||||
{
|
||||
BeatAction.New(this.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(cond.songPositionInBeatsAsDouble + autoplayRelease, delegate {
|
||||
animator.Play("FanFree", -1, 0);
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue