diff --git a/.gitignore b/.gitignore index b24d71e22..75b673e4e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,50 +1,34 @@ -# These are some examples of commonly ignored file patterns. -# You should customize this list as applicable to your project. -# Learn more about .gitignore: -# https://www.atlassian.com/git/tutorials/saving-changes/gitignore - -# Node artifact files -node_modules/ -dist/ - -# Compiled Java class files -*.class - -# Compiled Python bytecode -*.py[cod] +#Unity +/[Ll]ibrary/ +/[Tt]emp/ +/[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Uu]ser[Ss]ettings/ + +# Unity3D generated file on crash reports +sysinfo.txt # Log files *.log -# Package files -*.jar - -# Maven -target/ -dist/ - -# JetBrains IDE -.idea/ - -# Unit test reports -TEST*.xml - -# Generated by MacOS -.DS_Store +# Large Assets +/[Aa]ssets/AssetBundles/* +/[Aa]ssets/StreamingAssets/* +/[Aa]ssets/Resources/* -# Generated by Windows -Thumbs.db +#Unity Meta Files +*.meta -# Applications +# Builds +*.apk +*.aab +*.unitypackage *.app -*.exe -*.war -# Large media files -*.mp4 -*.tiff -*.avi -*.flv -*.mov -*.wmv +# Gradle cache directory +.gradle/ +# Visual Studio cache directory +.vs/ \ No newline at end of file diff --git a/Assets/Scene/Scenes/DebugScene.unity b/Assets/Scene/Scenes/DebugScene.unity new file mode 100644 index 000000000..9849448ae --- /dev/null +++ b/Assets/Scene/Scenes/DebugScene.unity @@ -0,0 +1,103 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &3 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 8309edac000554041a9fc1f297d31cf2 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &4 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &6 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &7 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 2} + - component: {fileID: 8} + m_Layer: 0 + m_Name: DebugScene + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d6d8591dea11d74b9cff4181afb4a31, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/Init.unity b/Assets/Scene/Scenes/Init.unity new file mode 100644 index 000000000..54c19247c --- /dev/null +++ b/Assets/Scene/Scenes/Init.unity @@ -0,0 +1,110 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &20 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 33d3ff3e13dae6f4dbbbbfbbd763e99b + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &22 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &24 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &25 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &18 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 19} + - component: {fileID: 26} + - component: {fileID: 21} + m_Layer: 0 + m_Name: App + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &19 +Transform: + m_GameObject: {fileID: 18} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &21 +AudioListener: + m_GameObject: {fileID: 18} + m_Enabled: 1 +--- !u!114 &26 +MonoBehaviour: + m_GameObject: {fileID: 18} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fd2e91bbbbb89c47aa0ef4acfd11c92, type: 3} + m_Name: + m_EditorClassIdentifier: + InitScene: SceneLogoMovie + InitDebugScene: DebugScene diff --git a/Assets/Scene/Scenes/SceneAdvMenu.unity b/Assets/Scene/Scenes/SceneAdvMenu.unity new file mode 100644 index 000000000..d3b1aa207 --- /dev/null +++ b/Assets/Scene/Scenes/SceneAdvMenu.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 302df6f1bd54668439a334ddacdf80d3 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneAdvMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cdd9782f06d496d4eb34a128be885395, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneAdvMode.unity b/Assets/Scene/Scenes/SceneAdvMode.unity new file mode 100644 index 000000000..31abd698b --- /dev/null +++ b/Assets/Scene/Scenes/SceneAdvMode.unity @@ -0,0 +1,103 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &3 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: d41cae5c30608514aae8878ca98c94d9 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &4 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &6 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &7 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 2} + - component: {fileID: 8} + m_Layer: 0 + m_Name: SceneAdvMode + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 15a3bf92cbecc05468bd8b8900427e6f, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneCGCharaSelect.unity b/Assets/Scene/Scenes/SceneCGCharaSelect.unity new file mode 100644 index 000000000..742400070 --- /dev/null +++ b/Assets/Scene/Scenes/SceneCGCharaSelect.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 320d4abf05fa70848abbd3a36e08f885 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneCGCharaSelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e641a15c2c02fb747a6b15ea0a4f9eb9, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneCGSelect.unity b/Assets/Scene/Scenes/SceneCGSelect.unity new file mode 100644 index 000000000..55d10c5ee --- /dev/null +++ b/Assets/Scene/Scenes/SceneCGSelect.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 01f4b11ec1950304b8ba2eb5ca96b823 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneCGSelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a1e6c5d5f487fef4b8c7f8551fb122fc, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGalleryCG.unity b/Assets/Scene/Scenes/SceneGalleryCG.unity new file mode 100644 index 000000000..3154f4cf8 --- /dev/null +++ b/Assets/Scene/Scenes/SceneGalleryCG.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 54b5f7f4a76680644ae21cdcd76af114 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGalleryCG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58a1e788f66542e4ca027f66f3366698, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGalleryInputName.unity b/Assets/Scene/Scenes/SceneGalleryInputName.unity new file mode 100644 index 000000000..4ad81fce7 --- /dev/null +++ b/Assets/Scene/Scenes/SceneGalleryInputName.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 42c6acf9de86ef740a6e9a416d91514a + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGalleryInputName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3458e46a37eeb1346b79bde8fdb2ca72, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGalleryInputNameDialog.unity b/Assets/Scene/Scenes/SceneGalleryInputNameDialog.unity new file mode 100644 index 000000000..7a1464bfd --- /dev/null +++ b/Assets/Scene/Scenes/SceneGalleryInputNameDialog.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 192d1805cdfe9bd469d35cff274f7df4 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGalleryInputNameDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9c18ec8a6870e174f898fefd72bd6c5a, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGalleryInputNameKeyboard.unity b/Assets/Scene/Scenes/SceneGalleryInputNameKeyboard.unity new file mode 100644 index 000000000..14a56922d --- /dev/null +++ b/Assets/Scene/Scenes/SceneGalleryInputNameKeyboard.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 8b8941e1a0d023245aaa1668bf3406f1 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGalleryInputNameKeyboard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da604263d8455d54792d24cf0d8aee06, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGalleryMenu.unity b/Assets/Scene/Scenes/SceneGalleryMenu.unity new file mode 100644 index 000000000..55d977bce --- /dev/null +++ b/Assets/Scene/Scenes/SceneGalleryMenu.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 623f77efa36cab94285bfaef2b75f1c1 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGalleryMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b6443f16cb38bb438d327bac4787610, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGalleryMovie.unity b/Assets/Scene/Scenes/SceneGalleryMovie.unity new file mode 100644 index 000000000..dcd27fbab --- /dev/null +++ b/Assets/Scene/Scenes/SceneGalleryMovie.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 2f353b4903dc2e94f80fe032dbfd4eba + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGalleryMovie + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 501c1e4a1dc6c3048bb6693a70a0b73d, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneGameInit.unity b/Assets/Scene/Scenes/SceneGameInit.unity new file mode 100644 index 000000000..cb081d3d7 --- /dev/null +++ b/Assets/Scene/Scenes/SceneGameInit.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: fe663d7144cabcc4783b50d34675db8c + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneGameInit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2e73ab4bfbd5c5a4486e01e66a65ebe4, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneHelp.unity b/Assets/Scene/Scenes/SceneHelp.unity new file mode 100644 index 000000000..693b5595f --- /dev/null +++ b/Assets/Scene/Scenes/SceneHelp.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: c1a9c93ba2e55af4993674bbebfbdcd7 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneHelp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 47939d5f8bd943c499c71161a4a78e63, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneIntroduction.unity b/Assets/Scene/Scenes/SceneIntroduction.unity new file mode 100644 index 000000000..c0fc43cd7 --- /dev/null +++ b/Assets/Scene/Scenes/SceneIntroduction.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 01e5cd72bcde4774397a0a0843070ae2 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneIntroduction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4a1a02d685ff2df4cbcb3e9e4dc15c02, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneLogoMovie.unity b/Assets/Scene/Scenes/SceneLogoMovie.unity new file mode 100644 index 000000000..49c774050 --- /dev/null +++ b/Assets/Scene/Scenes/SceneLogoMovie.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 55fc229dbc50b6e40ae4e87e76bbb73e + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneLogoMovie + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 17c9c6487606833488d5ee3f8184a09d, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneMemoryCharaSelect.unity b/Assets/Scene/Scenes/SceneMemoryCharaSelect.unity new file mode 100644 index 000000000..63dbf05c1 --- /dev/null +++ b/Assets/Scene/Scenes/SceneMemoryCharaSelect.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 6a68ae0ccd7f7484b9f64666979d756b + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneMemoryCharaSelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 590dadd3e08c0b34ab7200086132ed1e, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneMemorySelect.unity b/Assets/Scene/Scenes/SceneMemorySelect.unity new file mode 100644 index 000000000..64f73c453 --- /dev/null +++ b/Assets/Scene/Scenes/SceneMemorySelect.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: e8f62af93b6cafa488be85765e79c72e + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneMemorySelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b61202152dc3171488d3a8f114112cbb, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneOptionBack.unity b/Assets/Scene/Scenes/SceneOptionBack.unity new file mode 100644 index 000000000..3f60c720c --- /dev/null +++ b/Assets/Scene/Scenes/SceneOptionBack.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 642eb45f018c97c49a38df7ff9c31c87 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneOptionBack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76b7f46e2ece4d74a9a5024a4cec7bbd, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneOptionScreen.unity b/Assets/Scene/Scenes/SceneOptionScreen.unity new file mode 100644 index 000000000..93d6187f4 --- /dev/null +++ b/Assets/Scene/Scenes/SceneOptionScreen.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 05aa915dcd45c0545abf024cb20fc455 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneOptionScreen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e686bec3a7087b44a9de5882a3a3ca48, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneOptionSkip.unity b/Assets/Scene/Scenes/SceneOptionSkip.unity new file mode 100644 index 000000000..efd06e727 --- /dev/null +++ b/Assets/Scene/Scenes/SceneOptionSkip.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 9fb2d2bcdccfad04dbe16a727122cc7f + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneOptionSkip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9994e425998c199419fbe5a5154e7534, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneOptionSound.unity b/Assets/Scene/Scenes/SceneOptionSound.unity new file mode 100644 index 000000000..c11c5afd7 --- /dev/null +++ b/Assets/Scene/Scenes/SceneOptionSound.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: b6ba6613855d5d845b8c5ce15be2fc78 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneOptionSound + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2b1b23e48984b374eacbee6e9e2a321f, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneOptionText.unity b/Assets/Scene/Scenes/SceneOptionText.unity new file mode 100644 index 000000000..4ade1a3a4 --- /dev/null +++ b/Assets/Scene/Scenes/SceneOptionText.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 68d9a237d6edf834ba3087c3222f6169 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneOptionText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 61382a2548d772e44a7539ed0109c50a, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneOptionVoice.unity b/Assets/Scene/Scenes/SceneOptionVoice.unity new file mode 100644 index 000000000..b07b5fff9 --- /dev/null +++ b/Assets/Scene/Scenes/SceneOptionVoice.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 0e611a5096e660140a45d5d4ea984c47 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneOptionVoice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 510cfe1eea45da4499a91b59883fc177, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/ScenePayment.unity b/Assets/Scene/Scenes/ScenePayment.unity new file mode 100644 index 000000000..6d041aee0 --- /dev/null +++ b/Assets/Scene/Scenes/ScenePayment.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 976a26c1cc261ab4fa84426a9ddfbf88 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: ScenePayment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b0c51ac78a2e15549890f68c0742b604, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/ScenePaymentDialog.unity b/Assets/Scene/Scenes/ScenePaymentDialog.unity new file mode 100644 index 000000000..bfd4f9848 --- /dev/null +++ b/Assets/Scene/Scenes/ScenePaymentDialog.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 786e814a82fad344a8e512432a24868d + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: ScenePaymentDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e5a5c6f97090eb46a2d759b461f1f0d, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/ScenePaymentList.unity b/Assets/Scene/Scenes/ScenePaymentList.unity new file mode 100644 index 000000000..b130d4b9d --- /dev/null +++ b/Assets/Scene/Scenes/ScenePaymentList.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: fc435075f8144fb4abd3ffb4161605fe + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: ScenePaymentList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3988e54bce221945bdbf8a6ed757414, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneSaveLoad.unity b/Assets/Scene/Scenes/SceneSaveLoad.unity new file mode 100644 index 000000000..d613613f0 --- /dev/null +++ b/Assets/Scene/Scenes/SceneSaveLoad.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: c22a1a893a38bdd4894adbcaa85a51ab + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneSaveLoad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce2ac35b6391e164d9e6b8d7a02cab01, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneStorySelect.unity b/Assets/Scene/Scenes/SceneStorySelect.unity new file mode 100644 index 000000000..bd1da02fe --- /dev/null +++ b/Assets/Scene/Scenes/SceneStorySelect.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 0cec2631bfd82bd48bfaf9409bca56de + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneStorySelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0348336d4b5f4a04c8646186c778bf94, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneTitle.unity b/Assets/Scene/Scenes/SceneTitle.unity new file mode 100644 index 000000000..b5be14620 --- /dev/null +++ b/Assets/Scene/Scenes/SceneTitle.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: f901dcdcd59122c4e8357aa686107edd + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneTitle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e978c10984abb8418296516c9a64f74, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/SceneTitleRestore.unity b/Assets/Scene/Scenes/SceneTitleRestore.unity new file mode 100644 index 000000000..b7ae1c5f2 --- /dev/null +++ b/Assets/Scene/Scenes/SceneTitleRestore.unity @@ -0,0 +1,126 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &5 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: ab764962595d4354d9d19cd05fd8b127 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &6 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &8 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &9 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 3} + - component: {fileID: 10} + m_Layer: 0 + m_Name: Wnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 4} + m_Layer: 0 + m_Name: SceneTitleRestore + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4 +Transform: + m_GameObject: {fileID: 2} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &10 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e42de164e6dc949469ad0d29dcdb58d3, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scene/Scenes/UIDebug.unity b/Assets/Scene/Scenes/UIDebug.unity new file mode 100644 index 000000000..dc055e4f6 --- /dev/null +++ b/Assets/Scene/Scenes/UIDebug.unity @@ -0,0 +1,110 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &3 +OcclusionCullingSettings: + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: a6e3112c41b4cbe41be0559b13f374ea + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &5 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.446579, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &7 +LightmapSettings: + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_UseShadowmask: 1 +--- !u!196 &8 +NavMeshSettings: + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.1666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1 +GameObject: + serializedVersion: 5 + m_Component: + - component: {fileID: 2} + - component: {fileID: 9} + - component: {fileID: 4} + m_Layer: 0 + m_Name: App + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2 +Transform: + m_GameObject: {fileID: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &4 +AudioListener: + m_GameObject: {fileID: 1} + m_Enabled: 1 +--- !u!114 &9 +MonoBehaviour: + m_GameObject: {fileID: 1} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fd2e91bbbbb89c47aa0ef4acfd11c92, type: 3} + m_Name: + m_EditorClassIdentifier: + InitScene: SceneTitle + InitDebugScene: diff --git a/Assets/Scripts/Assembly-CSharp-firstpass.sln b/Assets/Scripts/Assembly-CSharp-firstpass.sln new file mode 100644 index 000000000..d44beb7d2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.4 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-firstpass", "Assembly-CSharp-firstpass\Assembly-CSharp-firstpass.csproj", "{32D17B6B-8A08-4AF7-8DA9-CC73798E69D6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {32D17B6B-8A08-4AF7-8DA9-CC73798E69D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {32D17B6B-8A08-4AF7-8DA9-CC73798E69D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {32D17B6B-8A08-4AF7-8DA9-CC73798E69D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {32D17B6B-8A08-4AF7-8DA9-CC73798E69D6}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/Assembly-CSharp-firstpass.csproj b/Assets/Scripts/Assembly-CSharp-firstpass/Assembly-CSharp-firstpass.csproj new file mode 100644 index 000000000..78ff0f5bd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/Assembly-CSharp-firstpass.csproj @@ -0,0 +1,58 @@ + + + + + Debug + AnyCPU + {32D17B6B-8A08-4AF7-8DA9-CC73798E69D6} + Library + Assembly-CSharp-firstpass + Assembly-CSharp-firstpass + v3.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\P31RestKit.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\System.Core.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\UnityEngine.dll + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/GoogleIABManager.cs b/Assets/Scripts/Assembly-CSharp-firstpass/GoogleIABManager.cs new file mode 100644 index 000000000..7bcc517ea --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/GoogleIABManager.cs @@ -0,0 +1,7 @@ +using System; +using Prime31; + +// Token: 0x02000002 RID: 2 +public class GoogleIABManager : AbstractManager +{ +} diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/Properties/AssemblyInfo.cs b/Assets/Scripts/Assembly-CSharp-firstpass/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..1b279f879 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/Properties/AssemblyInfo.cs @@ -0,0 +1,5 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; + +[assembly: AssemblyVersion("0.0.0.0")] diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitBinding.cs b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitBinding.cs new file mode 100644 index 000000000..23ffcd2ec --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitBinding.cs @@ -0,0 +1,164 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine; + +// Token: 0x02000003 RID: 3 +public class StoreKitBinding +{ + // Token: 0x06000003 RID: 3 + [DllImport("__Internal")] + private static extern bool _storeKitCanMakePayments(); + + // Token: 0x06000004 RID: 4 RVA: 0x000020FC File Offset: 0x000002FC + public static bool canMakePayments() + { + return Application.platform == RuntimePlatform.IPhonePlayer && StoreKitBinding._storeKitCanMakePayments(); + } + + // Token: 0x06000005 RID: 5 + [DllImport("__Internal")] + private static extern string _storeKitGetAppStoreReceiptUrl(); + + // Token: 0x06000006 RID: 6 RVA: 0x00002110 File Offset: 0x00000310 + public static string getAppStoreReceiptLocation() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + return StoreKitBinding._storeKitGetAppStoreReceiptUrl(); + } + return null; + } + + // Token: 0x06000007 RID: 7 + [DllImport("__Internal")] + private static extern void _storeKitRequestProductData(string productIdentifier); + + // Token: 0x06000008 RID: 8 RVA: 0x00002124 File Offset: 0x00000324 + public static void requestProductData(string[] productIdentifiers) + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitRequestProductData(string.Join(",", productIdentifiers)); + } + } + + // Token: 0x06000009 RID: 9 + [DllImport("__Internal")] + private static extern void _storeKitPurchaseProduct(string productIdentifier, int quantity); + + // Token: 0x0600000A RID: 10 RVA: 0x00002144 File Offset: 0x00000344 + public static void purchaseProduct(string productIdentifier, int quantity) + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitPurchaseProduct(productIdentifier, quantity); + } + } + + // Token: 0x0600000B RID: 11 + [DllImport("__Internal")] + private static extern void _storeKitFinishPendingTransactions(); + + // Token: 0x0600000C RID: 12 RVA: 0x00002158 File Offset: 0x00000358 + public static void finishPendingTransactions() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitFinishPendingTransactions(); + } + } + + // Token: 0x0600000D RID: 13 + [DllImport("__Internal")] + private static extern void _storeKitFinishPendingTransaction(string transactionIdentifier); + + // Token: 0x0600000E RID: 14 RVA: 0x0000216C File Offset: 0x0000036C + public static void finishPendingTransaction(string transactionIdentifier) + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitFinishPendingTransaction(transactionIdentifier); + } + } + + // Token: 0x0600000F RID: 15 + [DllImport("__Internal")] + private static extern void _storeKitPauseDownloads(); + + // Token: 0x06000010 RID: 16 RVA: 0x00002180 File Offset: 0x00000380 + public static void pauseDownloads() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitPauseDownloads(); + } + } + + // Token: 0x06000011 RID: 17 + [DllImport("__Internal")] + private static extern void _storeKitResumeDownloads(); + + // Token: 0x06000012 RID: 18 RVA: 0x00002194 File Offset: 0x00000394 + public static void resumeDownloads() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitResumeDownloads(); + } + } + + // Token: 0x06000013 RID: 19 + [DllImport("__Internal")] + private static extern void _storeKitCancelDownloads(); + + // Token: 0x06000014 RID: 20 RVA: 0x000021A8 File Offset: 0x000003A8 + public static void cancelDownloads() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitCancelDownloads(); + } + } + + // Token: 0x06000015 RID: 21 + [DllImport("__Internal")] + private static extern void _storeKitRestoreCompletedTransactions(); + + // Token: 0x06000016 RID: 22 RVA: 0x000021BC File Offset: 0x000003BC + public static void restoreCompletedTransactions() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitRestoreCompletedTransactions(); + } + } + + // Token: 0x06000017 RID: 23 + [DllImport("__Internal")] + private static extern string _storeKitGetAllSavedTransactions(); + + // Token: 0x06000018 RID: 24 RVA: 0x000021D0 File Offset: 0x000003D0 + public static List getAllSavedTransactions() + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + string json = StoreKitBinding._storeKitGetAllSavedTransactions(); + return StoreKitTransaction.transactionsFromJson(json); + } + return new List(); + } + + // Token: 0x06000019 RID: 25 + [DllImport("__Internal")] + private static extern void _storeKitDisplayStoreWithProductId(string productId); + + // Token: 0x0600001A RID: 26 RVA: 0x000021FC File Offset: 0x000003FC + public static void displayStoreWithProductId(string productId) + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + StoreKitBinding._storeKitDisplayStoreWithProductId(productId); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitDownload.cs b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitDownload.cs new file mode 100644 index 000000000..798ef81a8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitDownload.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using Prime31; + +// Token: 0x02000005 RID: 5 +public class StoreKitDownload +{ + // Token: 0x0600001C RID: 28 RVA: 0x00002218 File Offset: 0x00000418 + public static List downloadsFromJson(string json) + { + List list = new List(); + List list2 = json.listFromJson(); + if (list2 == null) + { + return list; + } + foreach (object obj in list2) + { + Dictionary dict = (Dictionary)obj; + list.Add(StoreKitDownload.downloadFromDictionary(dict)); + } + return list; + } + + // Token: 0x0600001D RID: 29 RVA: 0x0000229C File Offset: 0x0000049C + public static StoreKitDownload downloadFromDictionary(Dictionary dict) + { + StoreKitDownload storeKitDownload = new StoreKitDownload(); + if (dict.ContainsKey("downloadState")) + { + storeKitDownload.downloadState = (StoreKitDownloadState)int.Parse(dict["downloadState"].ToString()); + } + if (dict.ContainsKey("contentLength")) + { + storeKitDownload.contentLength = double.Parse(dict["contentLength"].ToString()); + } + if (dict.ContainsKey("contentIdentifier")) + { + storeKitDownload.contentIdentifier = dict["contentIdentifier"].ToString(); + } + if (dict.ContainsKey("contentURL")) + { + storeKitDownload.contentURL = dict["contentURL"].ToString(); + } + if (dict.ContainsKey("contentVersion")) + { + storeKitDownload.contentVersion = dict["contentVersion"].ToString(); + } + if (dict.ContainsKey("error")) + { + storeKitDownload.error = dict["error"].ToString(); + } + if (dict.ContainsKey("progress")) + { + storeKitDownload.progress = float.Parse(dict["progress"].ToString()); + } + if (dict.ContainsKey("timeRemaining")) + { + storeKitDownload.timeRemaining = double.Parse(dict["timeRemaining"].ToString()); + } + if (dict.ContainsKey("transaction")) + { + storeKitDownload.transaction = StoreKitTransaction.transactionFromDictionary(dict["transaction"] as Dictionary); + } + return storeKitDownload; + } + + // Token: 0x0600001E RID: 30 RVA: 0x00002420 File Offset: 0x00000620 + public override string ToString() + { + return string.Format(" downloadState: {0}\n contentLength: {1}\n contentIdentifier: {2}\n contentURL: {3}\n contentVersion: {4}\n error: {5}\n progress: {6}\n transaction: {7}", new object[] + { + this.downloadState, + this.contentLength, + this.contentIdentifier, + this.contentURL, + this.contentVersion, + this.error, + this.progress, + this.transaction + }); + } + + // Token: 0x04000008 RID: 8 + public StoreKitDownloadState downloadState; + + // Token: 0x04000009 RID: 9 + public double contentLength; + + // Token: 0x0400000A RID: 10 + public string contentIdentifier; + + // Token: 0x0400000B RID: 11 + public string contentURL; + + // Token: 0x0400000C RID: 12 + public string contentVersion; + + // Token: 0x0400000D RID: 13 + public string error; + + // Token: 0x0400000E RID: 14 + public float progress; + + // Token: 0x0400000F RID: 15 + public double timeRemaining; + + // Token: 0x04000010 RID: 16 + public StoreKitTransaction transaction; +} diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitDownloadState.cs b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitDownloadState.cs new file mode 100644 index 000000000..ca6ba03f6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitDownloadState.cs @@ -0,0 +1,18 @@ +using System; + +// Token: 0x02000004 RID: 4 +public enum StoreKitDownloadState +{ + // Token: 0x04000002 RID: 2 + Waiting, + // Token: 0x04000003 RID: 3 + Active, + // Token: 0x04000004 RID: 4 + Paused, + // Token: 0x04000005 RID: 5 + Finished, + // Token: 0x04000006 RID: 6 + Failed, + // Token: 0x04000007 RID: 7 + Cancelled +} diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitManager.cs b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitManager.cs new file mode 100644 index 000000000..d33ef8943 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitManager.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using Prime31; + +// Token: 0x02000006 RID: 6 +public class StoreKitManager : AbstractManager +{ + // Token: 0x06000020 RID: 32 RVA: 0x0000249C File Offset: 0x0000069C + static StoreKitManager() + { + AbstractManager.initialize(typeof(StoreKitManager)); + } + + // Token: 0x14000001 RID: 1 + // (add) Token: 0x06000021 RID: 33 RVA: 0x000024B4 File Offset: 0x000006B4 + // (remove) Token: 0x06000022 RID: 34 RVA: 0x000024CC File Offset: 0x000006CC + public static event Action> productListReceivedEvent; + + // Token: 0x14000002 RID: 2 + // (add) Token: 0x06000023 RID: 35 RVA: 0x000024E4 File Offset: 0x000006E4 + // (remove) Token: 0x06000024 RID: 36 RVA: 0x000024FC File Offset: 0x000006FC + public static event Action productListRequestFailedEvent; + + // Token: 0x14000003 RID: 3 + // (add) Token: 0x06000025 RID: 37 RVA: 0x00002514 File Offset: 0x00000714 + // (remove) Token: 0x06000026 RID: 38 RVA: 0x0000252C File Offset: 0x0000072C + public static event Action productPurchaseAwaitingConfirmationEvent; + + // Token: 0x14000004 RID: 4 + // (add) Token: 0x06000027 RID: 39 RVA: 0x00002544 File Offset: 0x00000744 + // (remove) Token: 0x06000028 RID: 40 RVA: 0x0000255C File Offset: 0x0000075C + public static event Action purchaseSuccessfulEvent; + + // Token: 0x14000005 RID: 5 + // (add) Token: 0x06000029 RID: 41 RVA: 0x00002574 File Offset: 0x00000774 + // (remove) Token: 0x0600002A RID: 42 RVA: 0x0000258C File Offset: 0x0000078C + public static event Action purchaseFailedEvent; + + // Token: 0x14000006 RID: 6 + // (add) Token: 0x0600002B RID: 43 RVA: 0x000025A4 File Offset: 0x000007A4 + // (remove) Token: 0x0600002C RID: 44 RVA: 0x000025BC File Offset: 0x000007BC + public static event Action purchaseCancelledEvent; + + // Token: 0x14000007 RID: 7 + // (add) Token: 0x0600002D RID: 45 RVA: 0x000025D4 File Offset: 0x000007D4 + // (remove) Token: 0x0600002E RID: 46 RVA: 0x000025EC File Offset: 0x000007EC + public static event Action restoreTransactionsFailedEvent; + + // Token: 0x14000008 RID: 8 + // (add) Token: 0x0600002F RID: 47 RVA: 0x00002604 File Offset: 0x00000804 + // (remove) Token: 0x06000030 RID: 48 RVA: 0x0000261C File Offset: 0x0000081C + public static event Action restoreTransactionsFinishedEvent; + + // Token: 0x14000009 RID: 9 + // (add) Token: 0x06000031 RID: 49 RVA: 0x00002634 File Offset: 0x00000834 + // (remove) Token: 0x06000032 RID: 50 RVA: 0x0000264C File Offset: 0x0000084C + public static event Action> paymentQueueUpdatedDownloadsEvent; + + // Token: 0x06000033 RID: 51 RVA: 0x00002664 File Offset: 0x00000864 + public void productPurchaseAwaitingConfirmation(string json) + { + if (StoreKitManager.productPurchaseAwaitingConfirmationEvent != null) + { + StoreKitManager.productPurchaseAwaitingConfirmationEvent(StoreKitTransaction.transactionFromJson(json)); + } + if (StoreKitManager.autoConfirmTransactions) + { + StoreKitBinding.finishPendingTransactions(); + } + } + + // Token: 0x06000034 RID: 52 RVA: 0x00002690 File Offset: 0x00000890 + public void productPurchased(string json) + { + if (StoreKitManager.purchaseSuccessfulEvent != null) + { + StoreKitManager.purchaseSuccessfulEvent(StoreKitTransaction.transactionFromJson(json)); + } + } + + // Token: 0x06000035 RID: 53 RVA: 0x000026AC File Offset: 0x000008AC + public void productPurchaseFailed(string error) + { + if (StoreKitManager.purchaseFailedEvent != null) + { + StoreKitManager.purchaseFailedEvent(error); + } + } + + // Token: 0x06000036 RID: 54 RVA: 0x000026C4 File Offset: 0x000008C4 + public void productPurchaseCancelled(string error) + { + if (StoreKitManager.purchaseCancelledEvent != null) + { + StoreKitManager.purchaseCancelledEvent(error); + } + } + + // Token: 0x06000037 RID: 55 RVA: 0x000026DC File Offset: 0x000008DC + public void productsReceived(string json) + { + if (StoreKitManager.productListReceivedEvent != null) + { + StoreKitManager.productListReceivedEvent(StoreKitProduct.productsFromJson(json)); + } + } + + // Token: 0x06000038 RID: 56 RVA: 0x000026F8 File Offset: 0x000008F8 + public void productsRequestDidFail(string error) + { + if (StoreKitManager.productListRequestFailedEvent != null) + { + StoreKitManager.productListRequestFailedEvent(error); + } + } + + // Token: 0x06000039 RID: 57 RVA: 0x00002710 File Offset: 0x00000910 + public void restoreCompletedTransactionsFailed(string error) + { + if (StoreKitManager.restoreTransactionsFailedEvent != null) + { + StoreKitManager.restoreTransactionsFailedEvent(error); + } + } + + // Token: 0x0600003A RID: 58 RVA: 0x00002728 File Offset: 0x00000928 + public void restoreCompletedTransactionsFinished(string empty) + { + if (StoreKitManager.restoreTransactionsFinishedEvent != null) + { + StoreKitManager.restoreTransactionsFinishedEvent(); + } + } + + // Token: 0x0600003B RID: 59 RVA: 0x00002740 File Offset: 0x00000940 + public void paymentQueueUpdatedDownloads(string json) + { + if (StoreKitManager.paymentQueueUpdatedDownloadsEvent != null) + { + StoreKitManager.paymentQueueUpdatedDownloadsEvent(StoreKitDownload.downloadsFromJson(json)); + } + } + + // Token: 0x04000011 RID: 17 + public static bool autoConfirmTransactions = true; +} diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitProduct.cs b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitProduct.cs new file mode 100644 index 000000000..207302c43 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitProduct.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using Prime31; + +// Token: 0x02000007 RID: 7 +public class StoreKitProduct +{ + // Token: 0x17000001 RID: 1 + // (get) Token: 0x0600003D RID: 61 RVA: 0x00002764 File Offset: 0x00000964 + // (set) Token: 0x0600003E RID: 62 RVA: 0x0000276C File Offset: 0x0000096C + public string productIdentifier { get; private set; } + + // Token: 0x17000002 RID: 2 + // (get) Token: 0x0600003F RID: 63 RVA: 0x00002778 File Offset: 0x00000978 + // (set) Token: 0x06000040 RID: 64 RVA: 0x00002780 File Offset: 0x00000980 + public string title { get; private set; } + + // Token: 0x17000003 RID: 3 + // (get) Token: 0x06000041 RID: 65 RVA: 0x0000278C File Offset: 0x0000098C + // (set) Token: 0x06000042 RID: 66 RVA: 0x00002794 File Offset: 0x00000994 + public string description { get; private set; } + + // Token: 0x17000004 RID: 4 + // (get) Token: 0x06000043 RID: 67 RVA: 0x000027A0 File Offset: 0x000009A0 + // (set) Token: 0x06000044 RID: 68 RVA: 0x000027A8 File Offset: 0x000009A8 + public string price { get; private set; } + + // Token: 0x17000005 RID: 5 + // (get) Token: 0x06000045 RID: 69 RVA: 0x000027B4 File Offset: 0x000009B4 + // (set) Token: 0x06000046 RID: 70 RVA: 0x000027BC File Offset: 0x000009BC + public string currencySymbol { get; private set; } + + // Token: 0x17000006 RID: 6 + // (get) Token: 0x06000047 RID: 71 RVA: 0x000027C8 File Offset: 0x000009C8 + // (set) Token: 0x06000048 RID: 72 RVA: 0x000027D0 File Offset: 0x000009D0 + public string currencyCode { get; private set; } + + // Token: 0x17000007 RID: 7 + // (get) Token: 0x06000049 RID: 73 RVA: 0x000027DC File Offset: 0x000009DC + // (set) Token: 0x0600004A RID: 74 RVA: 0x000027E4 File Offset: 0x000009E4 + public string formattedPrice { get; private set; } + + // Token: 0x0600004B RID: 75 RVA: 0x000027F0 File Offset: 0x000009F0 + public static List productsFromJson(string json) + { + List list = new List(); + List list2 = json.listFromJson(); + foreach (object obj in list2) + { + Dictionary ht = (Dictionary)obj; + list.Add(StoreKitProduct.productFromDictionary(ht)); + } + return list; + } + + // Token: 0x0600004C RID: 76 RVA: 0x0000286C File Offset: 0x00000A6C + public static StoreKitProduct productFromDictionary(Dictionary ht) + { + StoreKitProduct storeKitProduct = new StoreKitProduct(); + if (ht.ContainsKey("productIdentifier")) + { + storeKitProduct.productIdentifier = ht["productIdentifier"].ToString(); + } + if (ht.ContainsKey("localizedTitle")) + { + storeKitProduct.title = ht["localizedTitle"].ToString(); + } + if (ht.ContainsKey("localizedDescription")) + { + storeKitProduct.description = ht["localizedDescription"].ToString(); + } + if (ht.ContainsKey("price")) + { + storeKitProduct.price = ht["price"].ToString(); + } + if (ht.ContainsKey("currencySymbol")) + { + storeKitProduct.currencySymbol = ht["currencySymbol"].ToString(); + } + if (ht.ContainsKey("currencyCode")) + { + storeKitProduct.currencyCode = ht["currencyCode"].ToString(); + } + if (ht.ContainsKey("formattedPrice")) + { + storeKitProduct.formattedPrice = ht["formattedPrice"].ToString(); + } + return storeKitProduct; + } + + // Token: 0x0600004D RID: 77 RVA: 0x0000298C File Offset: 0x00000B8C + public override string ToString() + { + return string.Format("\nID: {0}\nTitle: {1}\nDescription: {2}\nPrice: {3}\nCurrency Symbol: {4}\nFormatted Price: {5}\nCurrency Code: {6}", new object[] + { + this.productIdentifier, + this.title, + this.description, + this.price, + this.currencySymbol, + this.formattedPrice, + this.currencyCode + }); + } +} diff --git a/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitTransaction.cs b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitTransaction.cs new file mode 100644 index 000000000..fdbbb8b56 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp-firstpass/StoreKitTransaction.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using Prime31; + +// Token: 0x02000008 RID: 8 +public class StoreKitTransaction +{ + // Token: 0x0600004F RID: 79 RVA: 0x000029F0 File Offset: 0x00000BF0 + public static List transactionsFromJson(string json) + { + List list = new List(); + List list2 = json.listFromJson(); + if (list2 == null) + { + return list; + } + foreach (object obj in list2) + { + Dictionary dict = (Dictionary)obj; + list.Add(StoreKitTransaction.transactionFromDictionary(dict)); + } + return list; + } + + // Token: 0x06000050 RID: 80 RVA: 0x00002A74 File Offset: 0x00000C74 + public static StoreKitTransaction transactionFromJson(string json) + { + if (json.dictionaryFromJson() == null) + { + return new StoreKitTransaction(); + } + return StoreKitTransaction.transactionFromDictionary(json.dictionaryFromJson()); + } + + // Token: 0x06000051 RID: 81 RVA: 0x00002AA0 File Offset: 0x00000CA0 + public static StoreKitTransaction transactionFromDictionary(Dictionary dict) + { + StoreKitTransaction storeKitTransaction = new StoreKitTransaction(); + if (dict.ContainsKey("productIdentifier")) + { + storeKitTransaction.productIdentifier = dict["productIdentifier"].ToString(); + } + if (dict.ContainsKey("transactionIdentifier")) + { + storeKitTransaction.transactionIdentifier = dict["transactionIdentifier"].ToString(); + } + if (dict.ContainsKey("base64EncodedReceipt")) + { + storeKitTransaction.base64EncodedTransactionReceipt = dict["base64EncodedReceipt"].ToString(); + } + if (dict.ContainsKey("quantity")) + { + storeKitTransaction.quantity = int.Parse(dict["quantity"].ToString()); + } + return storeKitTransaction; + } + + // Token: 0x06000052 RID: 82 RVA: 0x00002B54 File Offset: 0x00000D54 + public override string ToString() + { + return string.Format(" ID: {0}, quantity: {1}, transactionIdentifier: {2}", this.productIdentifier, this.quantity, this.transactionIdentifier); + } + + // Token: 0x04000022 RID: 34 + public string productIdentifier; + + // Token: 0x04000023 RID: 35 + public string transactionIdentifier; + + // Token: 0x04000024 RID: 36 + public string base64EncodedTransactionReceipt; + + // Token: 0x04000025 RID: 37 + public int quantity; +} diff --git a/Assets/Scripts/Assembly-CSharp.sln b/Assets/Scripts/Assembly-CSharp.sln new file mode 100644 index 000000000..2998ae192 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.4 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{F8A40C95-4AF9-4F7A-B52F-35A1F6AACD05}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F8A40C95-4AF9-4F7A-B52F-35A1F6AACD05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F8A40C95-4AF9-4F7A-B52F-35A1F6AACD05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F8A40C95-4AF9-4F7A-B52F-35A1F6AACD05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F8A40C95-4AF9-4F7A-B52F-35A1F6AACD05}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Assets/Scripts/Assembly-CSharp/AMAppStore.cs b/Assets/Scripts/Assembly-CSharp/AMAppStore.cs new file mode 100644 index 000000000..a23265d8b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AMAppStore.cs @@ -0,0 +1,685 @@ +using System; +using System.Collections.Generic; +using PaymentStoreApi; +using Qoo; +using UnityEngine; + +// Token: 0x02000181 RID: 385 +public static class AMAppStore +{ + // Token: 0x06000AD6 RID: 2774 RVA: 0x0002F798 File Offset: 0x0002D998 + public static bool ResultWaitInit(ref AMAppStore.ResultStatus eResult) + { + if (AMAppStore.Wait(AMAppStore.CommandNo.CMD_INIT)) + { + eResult = AMAppStore.GetResult(AMAppStore.CommandNo.CMD_INIT); + return true; + } + return false; + } + + // Token: 0x06000AD7 RID: 2775 RVA: 0x0002F7B0 File Offset: 0x0002D9B0 + public static bool ResultWaitPurchase(ref AMAppStore.ResultStatus eResult) + { + if (AMAppStore.Wait(AMAppStore.CommandNo.CMD_PURCHASE)) + { + eResult = AMAppStore.GetResult(AMAppStore.CommandNo.CMD_PURCHASE); + return true; + } + return false; + } + + // Token: 0x06000AD8 RID: 2776 RVA: 0x0002F7C8 File Offset: 0x0002D9C8 + public static bool ResultWaitPurchased(ref AMAppStore.ResultStatus eResult) + { + if (AMAppStore.Wait(AMAppStore.CommandNo.CMD_PURCHASED)) + { + eResult = AMAppStore.GetResult(AMAppStore.CommandNo.CMD_PURCHASED); + return true; + } + return false; + } + + // Token: 0x06000AD9 RID: 2777 RVA: 0x0002F7E0 File Offset: 0x0002D9E0 + public static bool ResultWaitMenu(ref AMAppStore.ResultStatus eResult) + { + if (AMAppStore.Wait(AMAppStore.CommandNo.CMD_MENU)) + { + eResult = AMAppStore.GetResult(AMAppStore.CommandNo.CMD_MENU); + return true; + } + return false; + } + + // Token: 0x06000ADA RID: 2778 RVA: 0x0002F7F8 File Offset: 0x0002D9F8 + public static bool ResultWaitRestore(ref AMAppStore.ResultStatus eResult) + { + if (AMAppStore.Wait(AMAppStore.CommandNo.CMD_RESTORE)) + { + eResult = AMAppStore.GetResult(AMAppStore.CommandNo.CMD_RESTORE); + return true; + } + return false; + } + + // Token: 0x06000ADB RID: 2779 RVA: 0x0002F810 File Offset: 0x0002DA10 + public static string GetErrorInit() + { + return AMAppStore.GetErrorMessage(AMAppStore.CommandNo.CMD_INIT); + } + + // Token: 0x06000ADC RID: 2780 RVA: 0x0002F818 File Offset: 0x0002DA18 + public static string GetErrorPurchase() + { + return AMAppStore.GetErrorMessage(AMAppStore.CommandNo.CMD_PURCHASE); + } + + // Token: 0x06000ADD RID: 2781 RVA: 0x0002F820 File Offset: 0x0002DA20 + public static string GetErrorPurchased() + { + return AMAppStore.GetErrorMessage(AMAppStore.CommandNo.CMD_PURCHASED); + } + + // Token: 0x06000ADE RID: 2782 RVA: 0x0002F828 File Offset: 0x0002DA28 + public static string GetErrorMenu() + { + return AMAppStore.GetErrorMessage(AMAppStore.CommandNo.CMD_MENU); + } + + // Token: 0x06000ADF RID: 2783 RVA: 0x0002F830 File Offset: 0x0002DA30 + public static string GetErrorRestore() + { + return AMAppStore.GetErrorMessage(AMAppStore.CommandNo.CMD_RESTORE); + } + + // Token: 0x06000AE0 RID: 2784 RVA: 0x0002F838 File Offset: 0x0002DA38 + public static int GetPurchasesList(ref List PurchasesList) + { + List purchasesList = AMAppStore.WrapStore.GetPurchasesList(); + int count = purchasesList.Count; + if (count == 0) + { + PurchasesList.Clear(); + } + else + { + AMAppStore.OpenPurchasesList item = default(AMAppStore.OpenPurchasesList); + for (int i = 0; i < purchasesList.Count; i++) + { + item.Set(purchasesList[i].productIdentifier, true); + if (!PurchasesList.Contains(item)) + { + PurchasesList.Add(item); + } + } + } + return count; + } + + // Token: 0x06000AE1 RID: 2785 RVA: 0x0002F8B0 File Offset: 0x0002DAB0 + public static int GetMenuList(ref List MenuList) + { + if (AMAppStore.m_MenuList == null) + { + MenuList.Clear(); + return 0; + } + int count = AMAppStore.m_MenuList.Count; + if (count == 0) + { + MenuList.Clear(); + return 0; + } + AMAppStore.OpenMenuList item = default(AMAppStore.OpenMenuList); + for (int i = 0; i < AMAppStore.m_MenuList.Count; i++) + { + item.Set(AMAppStore.m_MenuList[i].productIdentifier, AMAppStore.m_MenuList[i].price); + if (!MenuList.Contains(item)) + { + MenuList.Add(item); + } + } + return count; + } + + // Token: 0x06000AE2 RID: 2786 RVA: 0x0002F94C File Offset: 0x0002DB4C + public static bool Init(string szKey) + { + AMAppStore.WrapStore.Init(szKey); + return true; + } + + // Token: 0x06000AE3 RID: 2787 RVA: 0x0002F958 File Offset: 0x0002DB58 + public static void End() + { + } + + // Token: 0x06000AE4 RID: 2788 RVA: 0x0002F95C File Offset: 0x0002DB5C + public static bool CheckCondition() + { + return AMAppStore.WrapStore.CheckPayment(); + } + + // Token: 0x06000AE5 RID: 2789 RVA: 0x0002F964 File Offset: 0x0002DB64 + public static bool RequestPurchase(string szProduct) + { + if (AMAppStore.CheckReqBusy(AMAppStore.CommandNo.CMD_PURCHASE)) + { + return false; + } + AMAppStore.SetReqBusy(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.WrapStore.PurchaseProduct(szProduct, 1); + return true; + } + + // Token: 0x06000AE6 RID: 2790 RVA: 0x0002F984 File Offset: 0x0002DB84 + public static bool RequestAfterPurchase(string[] szProducts) + { + if (AMAppStore.CheckReqBusy(AMAppStore.CommandNo.CMD_PURCHASED)) + { + return false; + } + AMAppStore.m_PurchasesList = AMAppStore.WrapStore.GetPurchasesList(); + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_PURCHASED); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_PURCHASED); + return true; + } + + // Token: 0x06000AE7 RID: 2791 RVA: 0x0002F9B8 File Offset: 0x0002DBB8 + public static bool RequestMenuList(string[] szProducts) + { + if (AMAppStore.CheckReqBusy(AMAppStore.CommandNo.CMD_MENU)) + { + return false; + } + AMAppStore.SetReqBusy(AMAppStore.CommandNo.CMD_MENU); + AMAppStore.WrapStore.GetMenu(szProducts); + return true; + } + + // Token: 0x06000AE8 RID: 2792 RVA: 0x0002F9D4 File Offset: 0x0002DBD4 + public static bool RequestRestore(string[] szProducts) + { + if (AMAppStore.CheckReqBusy(AMAppStore.CommandNo.CMD_RESTORE)) + { + return false; + } + AMAppStore.SetReqBusy(AMAppStore.CommandNo.CMD_RESTORE); + AMAppStore.WrapStore.Restore(); + return true; + } + + // Token: 0x06000AE9 RID: 2793 RVA: 0x0002F9F0 File Offset: 0x0002DBF0 + public static void RegistrationEvent() + { + StoreKitManager.productPurchaseAwaitingConfirmationEvent += AMAppStore.productPurchaseAwaitingConfirmationEvent; + StoreKitManager.purchaseSuccessfulEvent += AMAppStore.purchaseSuccessful; + StoreKitManager.purchaseCancelledEvent += AMAppStore.purchaseCancelled; + StoreKitManager.purchaseFailedEvent += AMAppStore.purchaseFailed; + StoreKitManager.productListReceivedEvent += AMAppStore.productListReceivedEvent; + StoreKitManager.productListRequestFailedEvent += AMAppStore.productListRequestFailed; + StoreKitManager.restoreTransactionsFailedEvent += AMAppStore.restoreTransactionsFailed; + StoreKitManager.restoreTransactionsFinishedEvent += AMAppStore.restoreTransactionsFinished; + StoreKitManager.paymentQueueUpdatedDownloadsEvent += AMAppStore.paymentQueueUpdatedDownloadsEvent; + } + + // Token: 0x06000AEA RID: 2794 RVA: 0x0002FA98 File Offset: 0x0002DC98 + public static void DeleteEvent() + { + StoreKitManager.productPurchaseAwaitingConfirmationEvent -= AMAppStore.productPurchaseAwaitingConfirmationEvent; + StoreKitManager.purchaseSuccessfulEvent -= AMAppStore.purchaseSuccessful; + StoreKitManager.purchaseCancelledEvent -= AMAppStore.purchaseCancelled; + StoreKitManager.purchaseFailedEvent -= AMAppStore.purchaseFailed; + StoreKitManager.productListReceivedEvent -= AMAppStore.productListReceivedEvent; + StoreKitManager.productListRequestFailedEvent -= AMAppStore.productListRequestFailed; + StoreKitManager.restoreTransactionsFailedEvent -= AMAppStore.restoreTransactionsFailed; + StoreKitManager.restoreTransactionsFinishedEvent -= AMAppStore.restoreTransactionsFinished; + StoreKitManager.paymentQueueUpdatedDownloadsEvent -= AMAppStore.paymentQueueUpdatedDownloadsEvent; + } + + // Token: 0x06000AEB RID: 2795 RVA: 0x0002FB40 File Offset: 0x0002DD40 + public static bool CheckPurchased(string ProductId) + { + return AMAppStore.m_PurchasesList != null && AMAppStore.m_PurchasesList.Count != 0 && AMAppStore.m_PurchasesList.Find((StoreKitTransaction i) => i.productIdentifier == ProductId) != null; + } + + // Token: 0x06000AEC RID: 2796 RVA: 0x0002FB98 File Offset: 0x0002DD98 + public static string GetPrice(string ProductId) + { + if (AMAppStore.m_MenuList == null) + { + return "---"; + } + if (AMAppStore.m_MenuList.Count == 0) + { + return "---"; + } + StoreKitProduct storeKitProduct = AMAppStore.m_MenuList.Find((StoreKitProduct i) => i.productIdentifier == ProductId); + if (storeKitProduct == null) + { + return "---"; + } + return storeKitProduct.formattedPrice; + } + + // Token: 0x06000AED RID: 2797 RVA: 0x0002FC00 File Offset: 0x0002DE00 + private static bool CheckRequestStatus(AMAppStore.CommandNo eCommandNo, AMAppStore.ReqStatus eStatus) + { + return AMAppStore.m_CmdSt[(int)eCommandNo].GetReqStatus() == eStatus; + } + + // Token: 0x06000AEE RID: 2798 RVA: 0x0002FC1C File Offset: 0x0002DE1C + private static void SetRequestStatus(AMAppStore.CommandNo eCommandNo, AMAppStore.ReqStatus eStatus) + { + AMAppStore.m_CmdSt[(int)eCommandNo].SetReqStatus(eStatus); + } + + // Token: 0x06000AEF RID: 2799 RVA: 0x0002FC30 File Offset: 0x0002DE30 + private static AMAppStore.ResultStatus GetRequestResult(AMAppStore.CommandNo eCommandNo) + { + return AMAppStore.m_CmdSt[(int)eCommandNo].GetResultStatus(); + } + + // Token: 0x06000AF0 RID: 2800 RVA: 0x0002FC44 File Offset: 0x0002DE44 + private static void SetRequestResult(AMAppStore.CommandNo eCommandNo, AMAppStore.ResultStatus eResult) + { + AMAppStore.m_CmdSt[(int)eCommandNo].SetResultStatus(eResult); + } + + // Token: 0x06000AF1 RID: 2801 RVA: 0x0002FC58 File Offset: 0x0002DE58 + private static string GetErrorMessage(AMAppStore.CommandNo eCommandNo) + { + return AMAppStore.m_CmdSt[(int)eCommandNo].GetErrorMess(); + } + + // Token: 0x06000AF2 RID: 2802 RVA: 0x0002FC6C File Offset: 0x0002DE6C + private static void SetErrorMessage(AMAppStore.CommandNo eCommandNo, string szMess) + { + AMAppStore.m_CmdSt[(int)eCommandNo].SetErrorMess(szMess); + } + + // Token: 0x06000AF3 RID: 2803 RVA: 0x0002FC80 File Offset: 0x0002DE80 + private static bool CheckReqNon(AMAppStore.CommandNo eCmd) + { + return AMAppStore.CheckRequestStatus(eCmd, AMAppStore.ReqStatus.REQST_NON); + } + + // Token: 0x06000AF4 RID: 2804 RVA: 0x0002FC94 File Offset: 0x0002DE94 + private static bool CheckReqBusy(AMAppStore.CommandNo eCmd) + { + return AMAppStore.CheckRequestStatus(eCmd, AMAppStore.ReqStatus.REQST_BUSY); + } + + // Token: 0x06000AF5 RID: 2805 RVA: 0x0002FCA8 File Offset: 0x0002DEA8 + private static bool CheckReqFinish(AMAppStore.CommandNo eCmd) + { + return AMAppStore.CheckRequestStatus(eCmd, AMAppStore.ReqStatus.REQST_FINISH); + } + + // Token: 0x06000AF6 RID: 2806 RVA: 0x0002FCBC File Offset: 0x0002DEBC + private static void SetReqNon(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetRequestStatus(eCmd, AMAppStore.ReqStatus.REQST_NON); + } + + // Token: 0x06000AF7 RID: 2807 RVA: 0x0002FCC8 File Offset: 0x0002DEC8 + private static void SetReqBusy(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetRequestStatus(eCmd, AMAppStore.ReqStatus.REQST_BUSY); + } + + // Token: 0x06000AF8 RID: 2808 RVA: 0x0002FCD4 File Offset: 0x0002DED4 + private static void SetReqFinish(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetRequestStatus(eCmd, AMAppStore.ReqStatus.REQST_FINISH); + } + + // Token: 0x06000AF9 RID: 2809 RVA: 0x0002FCE0 File Offset: 0x0002DEE0 + private static void SetSuccess(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetRequestResult(eCmd, AMAppStore.ResultStatus.RESULT_SUCCESS); + } + + // Token: 0x06000AFA RID: 2810 RVA: 0x0002FCEC File Offset: 0x0002DEEC + private static void SetFailure(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetRequestResult(eCmd, AMAppStore.ResultStatus.RESULT_FAILD); + } + + // Token: 0x06000AFB RID: 2811 RVA: 0x0002FCF8 File Offset: 0x0002DEF8 + private static void SetCancel(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetRequestResult(eCmd, AMAppStore.ResultStatus.RESULT_CANCEL); + } + + // Token: 0x06000AFC RID: 2812 RVA: 0x0002FD04 File Offset: 0x0002DF04 + private static void SetError(AMAppStore.CommandNo eCmd, string szError) + { + AMAppStore.SetErrorMessage(eCmd, szError); + } + + // Token: 0x06000AFD RID: 2813 RVA: 0x0002FD10 File Offset: 0x0002DF10 + public static bool Wait(AMAppStore.CommandNo eCmd) + { + return AMAppStore.CheckReqNon(eCmd) || AMAppStore.CheckReqFinish(eCmd); + } + + // Token: 0x06000AFE RID: 2814 RVA: 0x0002FD28 File Offset: 0x0002DF28 + public static AMAppStore.ResultStatus GetResult(AMAppStore.CommandNo eCmd) + { + AMAppStore.SetReqNon(eCmd); + return AMAppStore.GetRequestResult(eCmd); + } + + // Token: 0x06000AFF RID: 2815 RVA: 0x0002FD38 File Offset: 0x0002DF38 + private static void productListReceivedEvent(List productList) + { + AMAppStore.m_MenuList = productList; + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_MENU); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_MENU); + Qoo.Debug.Print("商品リスト取得成功"); + } + + // Token: 0x06000B00 RID: 2816 RVA: 0x0002FD58 File Offset: 0x0002DF58 + private static void productListRequestFailed(string error) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_MENU); + AMAppStore.SetFailure(AMAppStore.CommandNo.CMD_MENU); + AMAppStore.SetError(AMAppStore.CommandNo.CMD_MENU, error); + Qoo.Debug.Print("商品リスト取得失敗"); + } + + // Token: 0x06000B01 RID: 2817 RVA: 0x0002FD78 File Offset: 0x0002DF78 + private static void purchaseSuccessful(StoreKitTransaction transaction) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_PURCHASE); + PaymentSave paymentSave = new PaymentSave(); + paymentSave.Save(transaction.productIdentifier); + Qoo.Debug.Print("購入成功"); + } + + // Token: 0x06000B02 RID: 2818 RVA: 0x0002FDB0 File Offset: 0x0002DFB0 + private static void purchaseFailed(string error) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.SetFailure(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.SetError(AMAppStore.CommandNo.CMD_PURCHASE, error); + Qoo.Debug.Print("購入失敗"); + } + + // Token: 0x06000B03 RID: 2819 RVA: 0x0002FDD0 File Offset: 0x0002DFD0 + private static void purchaseCancelled(string error) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.SetCancel(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.SetError(AMAppStore.CommandNo.CMD_PURCHASE, error); + Qoo.Debug.Print("購入キャンセル"); + } + + // Token: 0x06000B04 RID: 2820 RVA: 0x0002FDF0 File Offset: 0x0002DFF0 + private static void productPurchaseAwaitingConfirmationEvent(StoreKitTransaction transaction) + { + Qoo.Debug.Print("処理完了待ち"); + } + + // Token: 0x06000B05 RID: 2821 RVA: 0x0002FDFC File Offset: 0x0002DFFC + private static void restoreTransactionsFinished() + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_RESTORE); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_RESTORE); + Qoo.Debug.Print("リストア成功"); + } + + // Token: 0x06000B06 RID: 2822 RVA: 0x0002FE14 File Offset: 0x0002E014 + private static void restoreTransactionsFailed(string error) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_RESTORE); + AMAppStore.SetFailure(AMAppStore.CommandNo.CMD_RESTORE); + AMAppStore.SetError(AMAppStore.CommandNo.CMD_RESTORE, error); + Qoo.Debug.Print("リストア失敗"); + } + + // Token: 0x06000B07 RID: 2823 RVA: 0x0002FE34 File Offset: 0x0002E034 + private static void paymentQueueUpdatedDownloadsEvent(List downloads) + { + Qoo.Debug.Print("ホスティングシステムDL状況"); + } + + // Token: 0x040008C1 RID: 2241 + private static AMAppStore.PaymentCommandStatus[] m_CmdSt = new AMAppStore.PaymentCommandStatus[5]; + + // Token: 0x040008C2 RID: 2242 + private static bool m_bInit = false; + + // Token: 0x040008C3 RID: 2243 + private static List m_PurchasesList = null; + + // Token: 0x040008C4 RID: 2244 + private static List m_MenuList = null; + + // Token: 0x02000182 RID: 386 + private static class WrapStore + { + // Token: 0x06000B09 RID: 2825 RVA: 0x0002FE44 File Offset: 0x0002E044 + public static void Init(string szKey) + { + if (!AMAppStore.m_bInit) + { + switch (Application.platform) + { + case RuntimePlatform.IPhonePlayer: + case RuntimePlatform.Android: + AMAppStore.WrapStore.m_bEmu = false; + goto IL_43; + } + AMAppStore.WrapStore.m_bEmu = true; + IL_43: + if (AMAppStore.WrapStore.m_bEmu) + { + AMAppStore.WrapStore.m_PurchasesList = new List(); + } + AMAppStore.SetReqNon(AMAppStore.CommandNo.CMD_INIT); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_INIT); + AMAppStore.m_bInit = true; + } + else + { + AMAppStore.SetReqNon(AMAppStore.CommandNo.CMD_INIT); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_INIT); + } + } + + // Token: 0x06000B0A RID: 2826 RVA: 0x0002FECC File Offset: 0x0002E0CC + public static List GetPurchasesList() + { + if (AMAppStore.WrapStore.m_bEmu) + { + return AMAppStore.WrapStore.m_PurchasesList; + } + return StoreKitBinding.getAllSavedTransactions(); + } + + // Token: 0x06000B0B RID: 2827 RVA: 0x0002FEE4 File Offset: 0x0002E0E4 + public static bool CheckPayment() + { + return AMAppStore.WrapStore.m_bEmu || StoreKitBinding.canMakePayments(); + } + + // Token: 0x06000B0C RID: 2828 RVA: 0x0002FEF8 File Offset: 0x0002E0F8 + public static bool PurchaseProduct(string szProduct, int nNum) + { + if (AMAppStore.WrapStore.m_bEmu) + { + StoreKitTransaction storeKitTransaction = new StoreKitTransaction(); + storeKitTransaction.base64EncodedTransactionReceipt = "Emu" + szProduct; + storeKitTransaction.productIdentifier = szProduct; + storeKitTransaction.transactionIdentifier = szProduct; + storeKitTransaction.quantity = 0; + if (!AMAppStore.WrapStore.m_PurchasesList.Contains(storeKitTransaction)) + { + AMAppStore.WrapStore.m_PurchasesList.Add(storeKitTransaction); + } + PaymentSave paymentSave = new PaymentSave(); + paymentSave.Save(szProduct); + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_PURCHASE); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_PURCHASE); + return true; + } + StoreKitBinding.purchaseProduct(szProduct, 1); + return true; + } + + // Token: 0x06000B0D RID: 2829 RVA: 0x0002FF7C File Offset: 0x0002E17C + public static void GetMenu(string[] szProducts) + { + if (AMAppStore.WrapStore.m_bEmu) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_MENU); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_MENU); + return; + } + StoreKitBinding.requestProductData(szProducts); + } + + // Token: 0x06000B0E RID: 2830 RVA: 0x0002FF9C File Offset: 0x0002E19C + public static void Restore() + { + if (AMAppStore.WrapStore.m_bEmu) + { + AMAppStore.SetReqFinish(AMAppStore.CommandNo.CMD_RESTORE); + AMAppStore.SetSuccess(AMAppStore.CommandNo.CMD_RESTORE); + return; + } + StoreKitBinding.restoreCompletedTransactions(); + } + + // Token: 0x040008C5 RID: 2245 + private static bool m_bEmu; + + // Token: 0x040008C6 RID: 2246 + private static List m_PurchasesList; + } + + // Token: 0x02000183 RID: 387 + public enum ReqStatus + { + // Token: 0x040008C8 RID: 2248 + REQST_NON, + // Token: 0x040008C9 RID: 2249 + REQST_BUSY, + // Token: 0x040008CA RID: 2250 + REQST_FINISH + } + + // Token: 0x02000184 RID: 388 + public enum ResultStatus + { + // Token: 0x040008CC RID: 2252 + RESULT_SUCCESS, + // Token: 0x040008CD RID: 2253 + RESULT_FAILD, + // Token: 0x040008CE RID: 2254 + RESULT_CANCEL + } + + // Token: 0x02000185 RID: 389 + public enum CommandNo + { + // Token: 0x040008D0 RID: 2256 + CMD_INIT, + // Token: 0x040008D1 RID: 2257 + CMD_PURCHASE, + // Token: 0x040008D2 RID: 2258 + CMD_PURCHASED, + // Token: 0x040008D3 RID: 2259 + CMD_MENU, + // Token: 0x040008D4 RID: 2260 + CMD_RESTORE, + // Token: 0x040008D5 RID: 2261 + CMD_MAX + } + + // Token: 0x02000186 RID: 390 + public struct PaymentCommandStatus + { + // Token: 0x06000B0F RID: 2831 RVA: 0x0002FFBC File Offset: 0x0002E1BC + public void SetErrorMess(string szMess) + { + this.szError = szMess; + } + + // Token: 0x06000B10 RID: 2832 RVA: 0x0002FFC8 File Offset: 0x0002E1C8 + public string GetErrorMess() + { + return this.szError; + } + + // Token: 0x06000B11 RID: 2833 RVA: 0x0002FFD0 File Offset: 0x0002E1D0 + public void SetReqStatus(AMAppStore.ReqStatus eStatus) + { + this.eReqStatus = eStatus; + } + + // Token: 0x06000B12 RID: 2834 RVA: 0x0002FFDC File Offset: 0x0002E1DC + public AMAppStore.ReqStatus GetReqStatus() + { + return this.eReqStatus; + } + + // Token: 0x06000B13 RID: 2835 RVA: 0x0002FFE4 File Offset: 0x0002E1E4 + public void SetResultStatus(AMAppStore.ResultStatus eStatus) + { + this.eResStatus = eStatus; + } + + // Token: 0x06000B14 RID: 2836 RVA: 0x0002FFF0 File Offset: 0x0002E1F0 + public AMAppStore.ResultStatus GetResultStatus() + { + return this.eResStatus; + } + + // Token: 0x040008D6 RID: 2262 + public string szError; + + // Token: 0x040008D7 RID: 2263 + public AMAppStore.ReqStatus eReqStatus; + + // Token: 0x040008D8 RID: 2264 + public AMAppStore.ResultStatus eResStatus; + } + + // Token: 0x02000187 RID: 391 + public struct OpenMenuList + { + // Token: 0x06000B15 RID: 2837 RVA: 0x0002FFF8 File Offset: 0x0002E1F8 + public void Set(string id, string price) + { + this.ProductID = id; + this.Price = price; + } + + // Token: 0x040008D9 RID: 2265 + public string ProductID; + + // Token: 0x040008DA RID: 2266 + public string Price; + } + + // Token: 0x02000188 RID: 392 + public struct OpenPurchasesList + { + // Token: 0x06000B16 RID: 2838 RVA: 0x00030008 File Offset: 0x0002E208 + public void Set(string id, bool bflag) + { + this.ProductID = id; + this.Settled = bflag; + } + + // Token: 0x040008DB RID: 2267 + public string ProductID; + + // Token: 0x040008DC RID: 2268 + public bool Settled; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/AdvMenuTask.cs b/Assets/Scripts/Assembly-CSharp/AdvMenuTask.cs new file mode 100644 index 000000000..48214b912 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AdvMenuTask.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000F2 RID: 242 +public class AdvMenuTask : SubPartTask +{ + // Token: 0x06000685 RID: 1669 RVA: 0x0001B03C File Offset: 0x0001923C + public IEnumerator Open(Texture tex, bool isNormal) + { + AdventureMenuWindow.SetSubTaskParam(tex, isNormal); + yield return base.Open(UIValue.SCENE_ADVMENU, false); + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/AdvMode.cs b/Assets/Scripts/Assembly-CSharp/AdvMode.cs new file mode 100644 index 000000000..8da171e43 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AdvMode.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections; +using Qoo; +using Qoo.Application; +using Qoo.Game; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020000DF RID: 223 +public class AdvMode : UserBaseClass +{ + // Token: 0x06000619 RID: 1561 RVA: 0x000197D8 File Offset: 0x000179D8 + private void Start() + { + UnityTask.SetMainTask(this.Run()); + } + + // Token: 0x0600061A RID: 1562 RVA: 0x000197E8 File Offset: 0x000179E8 + private void Update() + { + } + + // Token: 0x0600061B RID: 1563 RVA: 0x000197EC File Offset: 0x000179EC + public IEnumerator Run() + { + if (GameData.MemoryMode_IsActive()) + { + PaymentParam.Conv(); + yield return AdvMode.ExecKs(base.gameObject, GameData.MemoryKs, GameData.MemoryLabel, false); + GameData.MemoryMode_Destroy(); + SceneManager.BackScene(); + } + else + { + do + { + PaymentParam.Conv(); + if (GameData.IsLoadData()) + { + yield return AdvMode.ExecLoad(base.gameObject); + } + else + { + GameData.Init(); + string InitKsName = (App.AdvMode != 0) ? "honpen.ks" : "prologue.ks"; + if (SysData.IsTrial()) + { + InitKsName = "op00_trial.ks"; + } + yield return AdvMode.ExecKs(base.gameObject, InitKsName, string.Empty, true); + } + } + while (GameData.IsLoadData() || Qoo.Debug.IsAutoKsDebug); + SceneManager.ChangeScene("SceneTitle"); + } + yield break; + } + + // Token: 0x0600061C RID: 1564 RVA: 0x00019808 File Offset: 0x00017A08 + private static IEnumerator ExecKs(GameObject obj, string nameKs, string nameLabel, bool IsNormalPlay) + { + Sound.SeSlotStopAll(); + Sound.BgmStop(1000); + GameData.IsMoveTitle = false; + GameData.LockGameData(); + yield return Singleton.Instance.EraseFrameBuffer(); + UnityApp.Graph.Enable(false); + EventWnd wnd = obj.AddComponent(); + ParamWnd paramwnd = obj.AddComponent(); + yield return wnd.Exec(nameKs, nameLabel, IsNormalPlay); + UnityApp.Graph.Disable(false); + UnityEngine.Object.Destroy(wnd); + UnityEngine.Object.Destroy(paramwnd); + GameData.IsMoveTitle = false; + yield return Singleton.Instance.EraseFrameBuffer(); + GameData.UnlockGameData(); + yield break; + } + + // Token: 0x0600061D RID: 1565 RVA: 0x00019854 File Offset: 0x00017A54 + private static IEnumerator ExecLoad(GameObject obj) + { + Sound.SeSlotStopAll(); + Sound.BgmStop(1000); + GameData.IsMoveTitle = false; + yield return Singleton.Instance.EraseFrameBuffer(); + UnityApp.Graph.Enable(false); + EventWnd wnd = obj.AddComponent(); + ParamWnd paramwnd = obj.AddComponent(); + yield return wnd.ExecLoad(); + UnityEngine.Object.Destroy(wnd); + UnityEngine.Object.Destroy(paramwnd); + GameData.IsMoveTitle = false; + yield return Singleton.Instance.EraseFrameBuffer(); + UnityApp.Graph.Disable(false); + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/AdvSample.cs b/Assets/Scripts/Assembly-CSharp/AdvSample.cs new file mode 100644 index 000000000..aaf08f698 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AdvSample.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections; +using Qoo.Game; + +// Token: 0x02000002 RID: 2 +public class AdvSample : UserBaseClass +{ + // Token: 0x06000002 RID: 2 RVA: 0x000020F4 File Offset: 0x000002F4 + private void Start() + { + UnityTask.SetMainTask(this.Run()); + } + + // Token: 0x06000003 RID: 3 RVA: 0x00002104 File Offset: 0x00000304 + private void Update() + { + } + + // Token: 0x06000004 RID: 4 RVA: 0x00002108 File Offset: 0x00000308 + public IEnumerator Run() + { + EventWnd wnd = base.gameObject.AddComponent(); + UnityApp.Graph.Enable(false); + SysData.SetReadAll(); + SysData.SetSkip(2); + yield return wnd.Exec("prologue.ks", string.Empty, true); + UnityTask.SetMainTask(this.Run()); + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/AdventureMenuWindow.cs b/Assets/Scripts/Assembly-CSharp/AdventureMenuWindow.cs new file mode 100644 index 000000000..cac5213c8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AdventureMenuWindow.cs @@ -0,0 +1,278 @@ +using System; +using Qoo; +using Qoo.Game; +using Qoo.Input; +using UnityEngine; + +// Token: 0x02000100 RID: 256 +public class AdventureMenuWindow : SubTaskBaseWindow +{ + // Token: 0x060006A8 RID: 1704 RVA: 0x0001B954 File Offset: 0x00019B54 + public static void SetSubTaskParam(Texture bgTex, bool isNormal) + { + AdventureMenuWindow.BgTex = bgTex; + AdventureMenuWindow.IsNormal = isNormal; + } + + // Token: 0x060006A9 RID: 1705 RVA: 0x0001B964 File Offset: 0x00019B64 + private void OnClose() + { + SaveLoadManager.SaveSystem(); + if (DispAssert.IsAssert()) + { + return; + } + base.IsTaskEnd = true; + this.OnPastWindow(); + } + + // Token: 0x060006AA RID: 1706 RVA: 0x0001B984 File Offset: 0x00019B84 + protected override void OnBaseWindowDestroy() + { + base.IsTaskEnd = true; + } + + // Token: 0x060006AB RID: 1707 RVA: 0x0001B990 File Offset: 0x00019B90 + private void OnAuto() + { + KsInput.State = INPUT_STATE.AUTO; + } + + // Token: 0x060006AC RID: 1708 RVA: 0x0001B998 File Offset: 0x00019B98 + private void OnTitle() + { + GameData.IsMoveTitle = true; + } + + // Token: 0x060006AD RID: 1709 RVA: 0x0001B9A0 File Offset: 0x00019BA0 + private void MakeTextureObject(string name_, int x_, int y_, int z_, Texture tex, float scale_w = 1f, float scale_h = 1f) + { + int num = -480; + int num2 = 272; + GameObject gameObject = GameObject.CreatePrimitive(PrimitiveType.Quad); + gameObject.renderer.material = new Material(Resources.Load("Shader/Sprite/Sprite") as Shader); + gameObject.renderer.material.mainTexture = tex; + gameObject.transform.parent = base.transform; + float num3 = (float)tex.width * scale_w; + float num4 = (float)tex.height * scale_h; + gameObject.transform.localPosition = new Vector3((float)(num + (int)(num3 / 2f) + x_), (float)(num2 - (int)(num4 / 2f) - y_), (float)(-(float)z_)); + gameObject.transform.localScale = new Vector3(num3, num4, 1f); + gameObject.name = name_; + base.AddGameObject(gameObject.name, gameObject); + } + + // Token: 0x060006AE RID: 1710 RVA: 0x0001BA78 File Offset: 0x00019C78 + protected void CreateScreenBackEffect() + { + Color black = Color.black; + black.a = 0.5f; + ScreenEffect.Init(0, black, base.transform); + } + + // Token: 0x060006AF RID: 1711 RVA: 0x0001BAA4 File Offset: 0x00019CA4 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/sysmenu/sys_pop", + "screen/sysmenu/sys_pop2", + "screen/sysmenu/sys_btn_0", + "screen/sysmenu/sys_btn_1", + "screen/sysmenu/sys_btn_2", + "screen/sysmenu/sys_btn_3", + "screen/sysmenu/sys_btn_4", + "screen/sysmenu/sys_btn_5", + "screen/sysmenu/sys_btn_6", + "screen/sysmenu/sys_btn_7", + "screen/sysmenu/sys_btn_8", + "screen/sysmenu/sys_btn_9", + "screen/sysmenu/sys_btn_12" + }; + } + + // Token: 0x060006B0 RID: 1712 RVA: 0x0001BB28 File Offset: 0x00019D28 + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -30f; + base.transform.parent.localPosition = localPosition; + this.MakeTextureObject("BackGround", 0, 0, -1, AdventureMenuWindow.BgTex, 960f / (float)AdventureMenuWindow.BgTex.width, 544f / (float)AdventureMenuWindow.BgTex.height); + } + + // Token: 0x060006B1 RID: 1713 RVA: 0x0001BB98 File Offset: 0x00019D98 + protected override void AfterInit() + { + this.ConfirmShow(false); + } + + // Token: 0x060006B2 RID: 1714 RVA: 0x0001BBA4 File Offset: 0x00019DA4 + protected override void OnGraphicLoadComplete() + { + this.CreateScreenBackEffect(); + } + + // Token: 0x060006B3 RID: 1715 RVA: 0x0001BBAC File Offset: 0x00019DAC + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + if (AdventureMenuWindow.IsNormal) + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("Popup", 5, 373, this.wndz + 1, "screen/sysmenu/sys_pop", true, true), + new BaseWindow.UIButton("Btn0", 55, 401, this.wndz + 2, "screen/sysmenu/sys_btn_0", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn1", 55, 471, this.wndz + 2, "screen/sysmenu/sys_btn_1", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn2", 227, 401, this.wndz + 2, "screen/sysmenu/sys_btn_2", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn3", 227, 471, this.wndz + 2, "screen/sysmenu/sys_btn_3", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn4", 399, 401, this.wndz + 2, "screen/sysmenu/sys_btn_4", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn5", 399, 471, this.wndz + 2, "screen/sysmenu/sys_btn_5", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn6", 571, 401, this.wndz + 2, "screen/sysmenu/sys_btn_6", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn7", 571, 471, this.wndz + 2, "screen/sysmenu/sys_btn_7", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn8", 743, 401, this.wndz + 2, "screen/sysmenu/sys_btn_8", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn9", 743, 471, this.wndz + 2, "screen/sysmenu/sys_btn_9", true, true, 1, 2, 0), + new BaseWindow.UICollision("CofirmCollision", 0, 0, this.wndz + 3, 960, 544), + new BaseWindow.UIImage("Confirm", 136, 182, this.wndz + 3, "screen/common/sys_dialog", true, false), + new BaseWindow.UIButton("Confirm_YES", 312, 277, this.wndz + 4, "screen/common/dlog_btn_y", true, false, 1, 2, 0), + new BaseWindow.UIButton("Confirm_NO", 513, 277, this.wndz + 4, "screen/common/dlog_btn_n", true, false, 1, 2, 0), + new BaseWindow.UIText("Confirm_MSG", 480, 230, this.wndz + 4, "タイトル画面へ戻りますか?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("Popup", 5, 373, this.wndz + 1, "screen/sysmenu/sys_pop2", true, true), + new BaseWindow.UIButton("Btn2", 227, 401, this.wndz + 2, "screen/sysmenu/sys_btn_2", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn3", 227, 471, this.wndz + 2, "screen/sysmenu/sys_btn_3", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn4", 399, 401, this.wndz + 2, "screen/sysmenu/sys_btn_4", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn5", 399, 471, this.wndz + 2, "screen/sysmenu/sys_btn_5", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn6", 571, 401, this.wndz + 2, "screen/sysmenu/sys_btn_6", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn7", 571, 471, this.wndz + 2, "screen/sysmenu/sys_btn_7", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn8", 743, 401, this.wndz + 2, "screen/sysmenu/sys_btn_8", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn12", 743, 471, this.wndz + 2, "screen/sysmenu/sys_btn_12", true, true, 1, 2, 0), + new BaseWindow.UICollision("CofirmCollision", 0, 0, this.wndz + 3, 960, 544), + new BaseWindow.UIImage("Confirm", 136, 182, this.wndz + 3, "screen/common/sys_dialog", true, false), + new BaseWindow.UIButton("Confirm_YES", 312, 277, this.wndz + 4, "screen/common/dlog_btn_y", true, false, 1, 2, 0), + new BaseWindow.UIButton("Confirm_NO", 513, 277, this.wndz + 4, "screen/common/dlog_btn_n", true, false, 1, 2, 0), + new BaseWindow.UIText("Confirm_MSG", 480, 230, this.wndz + 4, "回想を停止しますか?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + + // Token: 0x060006B4 RID: 1716 RVA: 0x0001C0EC File Offset: 0x0001A2EC + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (base.IsTaskEnd) + { + return; + } + switch (obj) + { + case "CofirmCollision": + case "Popup": + case "Confirm": + case "Btn8": + goto IL_C2; + case "Confirm_NO": + base.PlaySE_Cancel(); + goto IL_C2; + case "Close": + base.PlaySE_Cancel(); + goto IL_C2; + } + base.PlaySE_Ok(); + IL_C2: + switch (obj) + { + case "Close": + this.OnClose(); + break; + case "Btn0": + UIValue.SaveLoadType = SaveLoadType.SAVE; + UIValue.SaveLoadCallType = SaveLoadCallType.ADVMENU; + base.AddScene(UIValue.SCENE_SAVELOAD); + break; + case "Btn1": + UIValue.SaveLoadType = SaveLoadType.LOAD; + UIValue.SaveLoadCallType = SaveLoadCallType.ADVMENU; + base.AddScene(UIValue.SCENE_SAVELOAD); + break; + case "Btn2": + base.AddScene(UIValue.SCENE_OPTIONTEXT); + break; + case "Btn3": + base.AddScene(UIValue.SCENE_OPTIONSCREEN); + break; + case "Btn4": + base.AddScene(UIValue.SCENE_OPTIONSOUND); + break; + case "Btn5": + base.AddScene(UIValue.SCENE_OPTIONVOICE); + break; + case "Btn6": + base.AddScene(UIValue.SCENE_OPTIONSKIP); + break; + case "Btn7": + base.AddScene(UIValue.SCENE_OPTIONBACK); + break; + case "Btn8": + this.OnAuto(); + this.OnClose(); + break; + case "Btn9": + this.ConfirmShow(true); + break; + case "Btn12": + this.ConfirmShow(true); + break; + case "Confirm_YES": + this.OnTitle(); + this.ConfirmShow(false); + this.OnClose(); + break; + case "Confirm_NO": + this.ConfirmShow(false); + break; + } + } + + // Token: 0x060006B5 RID: 1717 RVA: 0x0001C3D0 File Offset: 0x0001A5D0 + public override void OnCurrentWindow() + { + base.OnCurrentWindow(); + this.CreateScreenBackEffect(); + } + + // Token: 0x060006B6 RID: 1718 RVA: 0x0001C3E0 File Offset: 0x0001A5E0 + private void ConfirmShow(bool show = true) + { + base.GameObjectShow("Confirm", show); + base.GameObjectShow("Confirm_YES", show); + base.GameObjectShow("Confirm_NO", show); + base.GameObjectShow("CofirmCollision", show); + if (show) + { + this.SetText("Confirm_MSG", (!AdventureMenuWindow.IsNormal) ? "回想を停止しますか?" : "タイトル画面へ戻りますか?"); + } + else + { + this.SetText("Confirm_MSG", string.Empty); + } + } + + // Token: 0x060006B7 RID: 1719 RVA: 0x0001C45C File Offset: 0x0001A65C + private void SetText(string name, string text) + { + UnityTextSprite textSprite = base.GetTextSprite(name); + textSprite.ClearText(); + textSprite.AddText(text, 28); + textSprite.Update(960, 544, -10f); + } + + // Token: 0x0400065B RID: 1627 + private static Texture BgTex; + + // Token: 0x0400065C RID: 1628 + private static bool IsNormal; + + // Token: 0x0400065D RID: 1629 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/AnimationRange.cs b/Assets/Scripts/Assembly-CSharp/AnimationRange.cs new file mode 100644 index 000000000..d8473314e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AnimationRange.cs @@ -0,0 +1,135 @@ +using System; +using UnityEngine; + +// Token: 0x02000194 RID: 404 +public class AnimationRange +{ + // Token: 0x06000B90 RID: 2960 RVA: 0x0003107C File Offset: 0x0002F27C + public AnimationRange(int repeat_, float speed_, float delay_, MoveType moveType_) + { + this.repeat = repeat_; + this.speed = speed_; + this.delay = delay_; + this.moveType = moveType_; + this.active = true; + this.elapsedTime = 0f; + this.rate = 0f; + } + + // Token: 0x17000189 RID: 393 + // (get) Token: 0x06000B91 RID: 2961 RVA: 0x000310CC File Offset: 0x0002F2CC + public bool Active + { + get + { + return this.active; + } + } + + // Token: 0x1700018A RID: 394 + // (get) Token: 0x06000B92 RID: 2962 RVA: 0x000310D4 File Offset: 0x0002F2D4 + public float Rate + { + get + { + return this.rate; + } + } + + // Token: 0x1700018B RID: 395 + // (get) Token: 0x06000B93 RID: 2963 RVA: 0x000310DC File Offset: 0x0002F2DC + // (set) Token: 0x06000B94 RID: 2964 RVA: 0x000310E4 File Offset: 0x0002F2E4 + public float Speed + { + get + { + return this.speed; + } + set + { + this.speed = value; + } + } + + // Token: 0x06000B95 RID: 2965 RVA: 0x000310F0 File Offset: 0x0002F2F0 + public void Update() + { + if (!this.active) + { + return; + } + this.elapsedTime += Time.deltaTime; + if (this.repeat != 0 && this.elapsedTime > this.delay + (float)this.repeat * this.speed) + { + this.active = false; + this.rate = 1f; + } + else + { + float num = this.elapsedTime - this.delay; + if (num < 0f) + { + num = 0f; + } + else + { + while (num > this.speed) + { + num -= this.speed; + } + if (this.repeat == 0) + { + this.elapsedTime = num + this.delay; + } + } + this.rate = this.calcRate(num); + } + } + + // Token: 0x06000B96 RID: 2966 RVA: 0x000311C4 File Offset: 0x0002F3C4 + public void Restart() + { + this.active = true; + this.elapsedTime = 0f; + this.rate = 0f; + } + + // Token: 0x06000B97 RID: 2967 RVA: 0x000311E4 File Offset: 0x0002F3E4 + private float calcRate(float nowTime) + { + switch (this.moveType) + { + case MoveType.OneshotLiner: + return nowTime / this.speed; + case MoveType.LoopSin000to180: + return Mathf.Sin(3.1415927f * nowTime / this.speed); + case MoveType.OneshotCos180to360: + return Mathf.Cos((nowTime / this.speed + 1f) * 3.1415927f) / 2f + 0.5f; + case MoveType.OneshotSin000to090: + return Mathf.Sin(3.1415927f * nowTime / this.speed / 2f); + default: + return nowTime / this.speed; + } + } + + // Token: 0x04000912 RID: 2322 + private int repeat; + + // Token: 0x04000913 RID: 2323 + private float speed; + + // Token: 0x04000914 RID: 2324 + private float delay; + + // Token: 0x04000915 RID: 2325 + private MoveType moveType; + + // Token: 0x04000916 RID: 2326 + private bool active; + + // Token: 0x04000917 RID: 2327 + private float elapsedTime; + + // Token: 0x04000918 RID: 2328 + private float rate; +} diff --git a/Assets/Scripts/Assembly-CSharp/AnimationRange_Color.cs b/Assets/Scripts/Assembly-CSharp/AnimationRange_Color.cs new file mode 100644 index 000000000..d2b13d531 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AnimationRange_Color.cs @@ -0,0 +1,68 @@ +using System; +using UnityEngine; + +// Token: 0x02000196 RID: 406 +public class AnimationRange_Color +{ + // Token: 0x06000BA3 RID: 2979 RVA: 0x00031398 File Offset: 0x0002F598 + public AnimationRange_Color(int repeat, float speed, float delay, Color begin, Color end) + { + this.animationRange = new AnimationRange(repeat, speed, delay, MoveType.OneshotLiner); + this.offsetBegin = begin; + this.offsetEnd = end; + this.offset = this.offsetBegin; + } + + // Token: 0x17000191 RID: 401 + // (get) Token: 0x06000BA4 RID: 2980 RVA: 0x000313CC File Offset: 0x0002F5CC + public Color Offset + { + get + { + return this.offset; + } + } + + // Token: 0x17000192 RID: 402 + // (get) Token: 0x06000BA5 RID: 2981 RVA: 0x000313D4 File Offset: 0x0002F5D4 + public bool Active + { + get + { + return this.animationRange.Active; + } + } + + // Token: 0x06000BA6 RID: 2982 RVA: 0x000313E4 File Offset: 0x0002F5E4 + public void Update() + { + this.animationRange.Update(); + if (this.animationRange.Active) + { + float rate = this.animationRange.Rate; + this.offset = this.offsetBegin * (1f - rate) + this.offsetEnd * rate; + } + else + { + this.offset = this.offsetEnd; + } + } + + // Token: 0x06000BA7 RID: 2983 RVA: 0x00031454 File Offset: 0x0002F654 + public void Restart() + { + this.animationRange.Restart(); + } + + // Token: 0x0400091D RID: 2333 + private AnimationRange animationRange; + + // Token: 0x0400091E RID: 2334 + private Color offsetBegin; + + // Token: 0x0400091F RID: 2335 + private Color offsetEnd; + + // Token: 0x04000920 RID: 2336 + private Color offset; +} diff --git a/Assets/Scripts/Assembly-CSharp/AnimationRange_Vector3.cs b/Assets/Scripts/Assembly-CSharp/AnimationRange_Vector3.cs new file mode 100644 index 000000000..168b6ccbd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AnimationRange_Vector3.cs @@ -0,0 +1,113 @@ +using System; +using UnityEngine; + +// Token: 0x02000195 RID: 405 +public class AnimationRange_Vector3 +{ + // Token: 0x06000B98 RID: 2968 RVA: 0x00031278 File Offset: 0x0002F478 + public AnimationRange_Vector3(int repeat, float speed, float delay, MoveType moveType, Vector3 begin, Vector3 end) + { + this.animationRange = new AnimationRange(repeat, speed, delay, moveType); + this.offsetBegin = begin; + this.offsetEnd = end; + this.offset = this.offsetBegin; + } + + // Token: 0x1700018C RID: 396 + // (get) Token: 0x06000B99 RID: 2969 RVA: 0x000312B8 File Offset: 0x0002F4B8 + public Vector3 Offset + { + get + { + return this.offset; + } + } + + // Token: 0x1700018D RID: 397 + // (get) Token: 0x06000B9A RID: 2970 RVA: 0x000312C0 File Offset: 0x0002F4C0 + public bool Active + { + get + { + return this.animationRange.Active; + } + } + + // Token: 0x1700018E RID: 398 + // (get) Token: 0x06000B9B RID: 2971 RVA: 0x000312D0 File Offset: 0x0002F4D0 + // (set) Token: 0x06000B9C RID: 2972 RVA: 0x000312E0 File Offset: 0x0002F4E0 + public float Speed + { + get + { + return this.animationRange.Speed; + } + set + { + this.animationRange.Speed = value; + } + } + + // Token: 0x1700018F RID: 399 + // (get) Token: 0x06000B9D RID: 2973 RVA: 0x000312F0 File Offset: 0x0002F4F0 + // (set) Token: 0x06000B9E RID: 2974 RVA: 0x000312F8 File Offset: 0x0002F4F8 + public Vector3 OffsetBegin + { + get + { + return this.offsetBegin; + } + set + { + this.offsetBegin = value; + } + } + + // Token: 0x17000190 RID: 400 + // (get) Token: 0x06000B9F RID: 2975 RVA: 0x00031304 File Offset: 0x0002F504 + // (set) Token: 0x06000BA0 RID: 2976 RVA: 0x0003130C File Offset: 0x0002F50C + public Vector3 OffsetEnd + { + get + { + return this.offsetEnd; + } + set + { + this.offsetEnd = value; + } + } + + // Token: 0x06000BA1 RID: 2977 RVA: 0x00031318 File Offset: 0x0002F518 + public void Update() + { + this.animationRange.Update(); + if (this.animationRange.Active) + { + float rate = this.animationRange.Rate; + this.offset = this.offsetBegin * (1f - rate) + this.offsetEnd * rate; + } + else + { + this.offset = this.offsetEnd; + } + } + + // Token: 0x06000BA2 RID: 2978 RVA: 0x00031388 File Offset: 0x0002F588 + public void Restart() + { + this.animationRange.Restart(); + } + + // Token: 0x04000919 RID: 2329 + private AnimationRange animationRange; + + // Token: 0x0400091A RID: 2330 + private Vector3 offsetBegin; + + // Token: 0x0400091B RID: 2331 + private Vector3 offsetEnd; + + // Token: 0x0400091C RID: 2332 + private Vector3 offset; +} diff --git a/Assets/Scripts/Assembly-CSharp/Assembly-CSharp.csproj b/Assets/Scripts/Assembly-CSharp/Assembly-CSharp.csproj new file mode 100644 index 000000000..b8d9b2a05 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Assembly-CSharp.csproj @@ -0,0 +1,411 @@ + + + + + Debug + AnyCPU + {F8A40C95-4AF9-4F7A-B52F-35A1F6AACD05} + Library + Assembly-CSharp + Assembly-CSharp + v2.0 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\Assembly-CSharp-firstpass.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\System.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\System.Core.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\System.Xml.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\UnityEngine.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/Scripts/Assembly-CSharp/AssetStream.cs b/Assets/Scripts/Assembly-CSharp/AssetStream.cs new file mode 100644 index 000000000..a6e1e10e9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/AssetStream.cs @@ -0,0 +1,13 @@ +using System; + +// Token: 0x02000138 RID: 312 +public class AssetStream +{ + // Token: 0x06000856 RID: 2134 RVA: 0x0002591C File Offset: 0x00023B1C + public static bool GetZipFileOffsetLength(string zipFilePath, string fileName, out long offset, out long length) + { + offset = 0L; + length = 0L; + return true; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/BMFont.cs b/Assets/Scripts/Assembly-CSharp/BMFont.cs new file mode 100644 index 000000000..ef5ff34ae --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BMFont.cs @@ -0,0 +1,365 @@ +using System; +using System.Collections.Generic; +using Qoo; +using UnityEngine; + +// Token: 0x0200014B RID: 331 +[Serializable] +public class BMFont +{ + // Token: 0x17000115 RID: 277 + // (get) Token: 0x0600092B RID: 2347 RVA: 0x00027CB0 File Offset: 0x00025EB0 + public bool isValid + { + get + { + return this.mSaved.Count > 0 || this.LegacyCheck(); + } + } + + // Token: 0x17000116 RID: 278 + // (get) Token: 0x0600092C RID: 2348 RVA: 0x00027CCC File Offset: 0x00025ECC + // (set) Token: 0x0600092D RID: 2349 RVA: 0x00027CD4 File Offset: 0x00025ED4 + public int charSize + { + get + { + return this.mSize; + } + set + { + this.mSize = value; + } + } + + // Token: 0x17000117 RID: 279 + // (get) Token: 0x0600092E RID: 2350 RVA: 0x00027CE0 File Offset: 0x00025EE0 + // (set) Token: 0x0600092F RID: 2351 RVA: 0x00027CE8 File Offset: 0x00025EE8 + public int baseOffset + { + get + { + return this.mBase; + } + set + { + this.mBase = value; + } + } + + // Token: 0x17000118 RID: 280 + // (get) Token: 0x06000930 RID: 2352 RVA: 0x00027CF4 File Offset: 0x00025EF4 + // (set) Token: 0x06000931 RID: 2353 RVA: 0x00027CFC File Offset: 0x00025EFC + public int texWidth + { + get + { + return this.mWidth; + } + set + { + this.mWidth = value; + } + } + + // Token: 0x17000119 RID: 281 + // (get) Token: 0x06000932 RID: 2354 RVA: 0x00027D08 File Offset: 0x00025F08 + // (set) Token: 0x06000933 RID: 2355 RVA: 0x00027D10 File Offset: 0x00025F10 + public int texHeight + { + get + { + return this.mHeight; + } + set + { + this.mHeight = value; + } + } + + // Token: 0x1700011A RID: 282 + // (get) Token: 0x06000934 RID: 2356 RVA: 0x00027D1C File Offset: 0x00025F1C + public int glyphCount + { + get + { + return (!this.isValid) ? 0 : this.mSaved.Count; + } + } + + // Token: 0x1700011B RID: 283 + // (get) Token: 0x06000935 RID: 2357 RVA: 0x00027D3C File Offset: 0x00025F3C + // (set) Token: 0x06000936 RID: 2358 RVA: 0x00027D44 File Offset: 0x00025F44 + public string spriteName + { + get + { + return this.mSpriteName; + } + set + { + this.mSpriteName = value; + } + } + + // Token: 0x1700011C RID: 284 + // (get) Token: 0x06000937 RID: 2359 RVA: 0x00027D50 File Offset: 0x00025F50 + public List symbols + { + get + { + return this.mSymbols; + } + } + + // Token: 0x06000938 RID: 2360 RVA: 0x00027D58 File Offset: 0x00025F58 + public bool LegacyCheck() + { + if (this.mGlyphs != null && this.mGlyphs.Length > 0) + { + int i = 0; + int num = this.mGlyphs.Length; + while (i < num) + { + BMGlyph bmglyph = this.mGlyphs[i]; + if (bmglyph != null) + { + bmglyph.index = i; + this.mSaved.Add(bmglyph); + this.mDict.Add(i, bmglyph); + } + i++; + } + this.mGlyphs = null; + return true; + } + return false; + } + + // Token: 0x06000939 RID: 2361 RVA: 0x00027DD4 File Offset: 0x00025FD4 + private int GetArraySize(int index) + { + if (index < 256) + { + return 256; + } + if (index < 65536) + { + return 65536; + } + if (index < 262144) + { + return 262144; + } + return 0; + } + + // Token: 0x0600093A RID: 2362 RVA: 0x00027E18 File Offset: 0x00026018 + public BMGlyph GetGlyph(int index, bool createIfMissing) + { + BMGlyph bmglyph = null; + if (this.mDict.Count == 0) + { + if (this.mSaved.Count == 0) + { + this.LegacyCheck(); + } + else + { + int i = 0; + int count = this.mSaved.Count; + while (i < count) + { + BMGlyph bmglyph2 = this.mSaved[i]; + this.mDict.Add(bmglyph2.index, bmglyph2); + i++; + } + } + } + if (!this.mDict.TryGetValue(index, out bmglyph) && createIfMissing) + { + bmglyph = new BMGlyph(); + bmglyph.index = index; + this.mSaved.Add(bmglyph); + this.mDict.Add(index, bmglyph); + } + return bmglyph; + } + + // Token: 0x0600093B RID: 2363 RVA: 0x00027ED0 File Offset: 0x000260D0 + public BMGlyph GetGlyph(int index) + { + return this.GetGlyph(index, false); + } + + // Token: 0x0600093C RID: 2364 RVA: 0x00027EDC File Offset: 0x000260DC + public BMSymbol GetSymbol(string sequence, bool createIfMissing) + { + int i = 0; + int count = this.mSymbols.Count; + while (i < count) + { + BMSymbol bmsymbol = this.mSymbols[i]; + if (bmsymbol.sequence == sequence) + { + return bmsymbol; + } + i++; + } + if (createIfMissing) + { + BMSymbol bmsymbol2 = new BMSymbol(); + bmsymbol2.sequence = sequence; + this.mSymbols.Add(bmsymbol2); + return bmsymbol2; + } + return null; + } + + // Token: 0x0600093D RID: 2365 RVA: 0x00027F4C File Offset: 0x0002614C + public BMSymbol MatchSymbol(string text, int offset, int textLength) + { + int count = this.mSymbols.Count; + if (count == 0) + { + return null; + } + textLength -= offset; + for (int i = 0; i < count; i++) + { + BMSymbol bmsymbol = this.mSymbols[i]; + int length = bmsymbol.length; + if (length != 0 && textLength >= length) + { + bool flag = true; + for (int j = 0; j < length; j++) + { + if (text[offset + j] != bmsymbol.sequence[j]) + { + flag = false; + break; + } + } + if (flag) + { + return bmsymbol; + } + } + } + return null; + } + + // Token: 0x0600093E RID: 2366 RVA: 0x00027FF4 File Offset: 0x000261F4 + public void Clear() + { + this.mGlyphs = null; + this.mDict.Clear(); + this.mSaved.Clear(); + } + + // Token: 0x0600093F RID: 2367 RVA: 0x00028014 File Offset: 0x00026214 + public void Trim(int xMin, int yMin, int xMax, int yMax) + { + if (this.isValid) + { + int i = 0; + int count = this.mSaved.Count; + while (i < count) + { + BMGlyph bmglyph = this.mSaved[i]; + if (bmglyph != null) + { + bmglyph.Trim(xMin, yMin, xMax, yMax); + } + i++; + } + } + } + + // Token: 0x06000940 RID: 2368 RVA: 0x00028068 File Offset: 0x00026268 + public void Build() + { + BMGlyph glyph = this.GetGlyph(9633); + if (glyph != null) + { + int advance = glyph.advance; + int baseOffset = this.baseOffset; + foreach (KeyValuePair keyValuePair in this.mDict) + { + keyValuePair.Value.offsetY -= baseOffset - advance; + } + this.baseOffset = advance; + this.charSize = advance; + } + foreach (BMGlyph bmglyph in this.mDict.Values) + { + if (bmglyph.kerning != null && bmglyph.kerning.Count > 0) + { + string text = string.Empty; + for (int num = 0; num != bmglyph.kerning.Count; num += 2) + { + text += (char)bmglyph.kerning[num]; + text += ' '; + } + char c = (char)bmglyph.index; + Qoo.Debug.Print(string.Format("Kerning:BASE={0}:PAIR:{1}", c, text)); + } + } + } + + // Token: 0x06000941 RID: 2369 RVA: 0x000281F8 File Offset: 0x000263F8 + public bool CheckGlyph(string str) + { + foreach (char index in str) + { + if (this.GetGlyph((int)index) == null) + { + return false; + } + } + return true; + } + + // Token: 0x040007A7 RID: 1959 + [HideInInspector] + [SerializeField] + private BMGlyph[] mGlyphs; + + // Token: 0x040007A8 RID: 1960 + [HideInInspector] + [SerializeField] + private int mSize; + + // Token: 0x040007A9 RID: 1961 + [SerializeField] + [HideInInspector] + private int mBase; + + // Token: 0x040007AA RID: 1962 + [HideInInspector] + [SerializeField] + private int mWidth; + + // Token: 0x040007AB RID: 1963 + [SerializeField] + [HideInInspector] + private int mHeight; + + // Token: 0x040007AC RID: 1964 + [HideInInspector] + [SerializeField] + private string mSpriteName; + + // Token: 0x040007AD RID: 1965 + [SerializeField] + [HideInInspector] + private List mSaved = new List(); + + // Token: 0x040007AE RID: 1966 + [SerializeField] + [HideInInspector] + private List mSymbols = new List(); + + // Token: 0x040007AF RID: 1967 + private Dictionary mDict = new Dictionary(); +} diff --git a/Assets/Scripts/Assembly-CSharp/BMFontReader.cs b/Assets/Scripts/Assembly-CSharp/BMFontReader.cs new file mode 100644 index 000000000..03b4b31a9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BMFontReader.cs @@ -0,0 +1,168 @@ +using System; +using Qoo; +using UnityEngine; + +// Token: 0x0200014C RID: 332 +public static class BMFontReader +{ + // Token: 0x06000942 RID: 2370 RVA: 0x00028238 File Offset: 0x00026438 + private static string GetString(string s) + { + int num = s.IndexOf('='); + return (num != -1) ? s.Substring(num + 1) : string.Empty; + } + + // Token: 0x06000943 RID: 2371 RVA: 0x00028268 File Offset: 0x00026468 + private static int GetInt(string s) + { + int result = 0; + string @string = BMFontReader.GetString(s); + int.TryParse(@string, out result); + return result; + } + + // Token: 0x06000944 RID: 2372 RVA: 0x00028288 File Offset: 0x00026488 + public static void Load(BMFont font, string name, byte[] bytes) + { + font.Clear(); + if (bytes != null) + { + ByteReader byteReader = new ByteReader(bytes); + char[] separator = new char[] + { + ' ' + }; + while (byteReader.canRead) + { + string text = byteReader.ReadLine(); + if (string.IsNullOrEmpty(text)) + { + break; + } + string[] array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + int num = array.Length; + if (array[0] == "char") + { + int channel = (num <= 10) ? 15 : BMFontReader.GetInt(array[10]); + if (num > 9 && BMFontReader.GetInt(array[9]) > 0) + { + UnityEngine.Debug.LogError("Your font was exported with more than one texture. Only one texture is supported by NGUI.\nYou need to re-export your font, enlarging the texture's dimensions until everything fits into just one texture."); + break; + } + if (num <= 8) + { + UnityEngine.Debug.LogError(string.Concat(new object[] + { + "Unexpected number of entries for the 'char' field (", + name, + ", ", + array.Length, + "):\n", + text + })); + break; + } + int @int = BMFontReader.GetInt(array[1]); + BMGlyph glyph = font.GetGlyph(@int, true); + if (glyph != null) + { + glyph.x = BMFontReader.GetInt(array[2]); + glyph.y = BMFontReader.GetInt(array[3]); + glyph.width = BMFontReader.GetInt(array[4]); + glyph.height = BMFontReader.GetInt(array[5]); + glyph.offsetX = BMFontReader.GetInt(array[6]); + glyph.offsetY = BMFontReader.GetInt(array[7]); + glyph.advance = BMFontReader.GetInt(array[8]); + glyph.channel = channel; + } + else + { + Qoo.Debug.Print(string.Concat(new object[] + { + "Char: ", + array[1], + " (", + @int, + ") is NULL" + })); + } + } + else if (array[0] == "kerning") + { + if (num <= 3) + { + UnityEngine.Debug.LogError(string.Concat(new object[] + { + "Unexpected number of entries for the 'kerning' field (", + name, + ", ", + array.Length, + "):\n", + text + })); + break; + } + int int2 = BMFontReader.GetInt(array[1]); + int int3 = BMFontReader.GetInt(array[2]); + int int4 = BMFontReader.GetInt(array[3]); + BMGlyph glyph2 = font.GetGlyph(int3, true); + if (glyph2 != null) + { + glyph2.SetKerning(int2, int4); + } + } + else if (array[0] == "common") + { + if (num <= 5) + { + UnityEngine.Debug.LogError(string.Concat(new object[] + { + "Unexpected number of entries for the 'common' field (", + name, + ", ", + array.Length, + "):\n", + text + })); + break; + } + font.charSize = BMFontReader.GetInt(array[1]); + font.baseOffset = BMFontReader.GetInt(array[2]); + font.texWidth = BMFontReader.GetInt(array[3]); + font.texHeight = BMFontReader.GetInt(array[4]); + int int5 = BMFontReader.GetInt(array[5]); + if (int5 != 1) + { + UnityEngine.Debug.LogError(string.Concat(new object[] + { + "Font '", + name, + "' must be created with only 1 texture, not ", + int5 + })); + break; + } + } + else if (array[0] == "page") + { + if (num > 2) + { + font.spriteName = BMFontReader.GetString(array[2]).Replace("\"", string.Empty); + font.spriteName = font.spriteName.Replace(".png", string.Empty); + font.spriteName = font.spriteName.Replace(".tga", string.Empty); + } + } + else if (array[0] == "symbol" && num > 5) + { + BMSymbol symbol = font.GetSymbol(BMFontReader.GetString(array[1]), true); + symbol.x = BMFontReader.GetInt(array[2]); + symbol.y = BMFontReader.GetInt(array[3]); + symbol.width = BMFontReader.GetInt(array[4]); + symbol.height = BMFontReader.GetInt(array[5]); + } + } + } + font.Build(); + Qoo.Debug.Print(string.Format("Import Font:num={0}", font.glyphCount)); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/BMGlyph.cs b/Assets/Scripts/Assembly-CSharp/BMGlyph.cs new file mode 100644 index 000000000..e4a72f614 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BMGlyph.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; + +// Token: 0x0200014D RID: 333 +[Serializable] +public class BMGlyph +{ + // Token: 0x06000946 RID: 2374 RVA: 0x000286DC File Offset: 0x000268DC + public int GetKerning(int previousChar, bool IsKerning = true) + { + if (this.kerning != null && IsKerning) + { + int i = 0; + int count = this.kerning.Count; + while (i < count) + { + if (this.kerning[i] == previousChar) + { + return this.kerning[i + 1]; + } + i += 2; + } + } + return 0; + } + + // Token: 0x06000947 RID: 2375 RVA: 0x0002873C File Offset: 0x0002693C + public void SetKerning(int previousChar, int amount) + { + if (this.kerning == null) + { + this.kerning = new List(); + } + for (int i = 0; i < this.kerning.Count; i += 2) + { + if (this.kerning[i] == previousChar) + { + this.kerning[i + 1] = amount; + return; + } + } + this.kerning.Add(previousChar); + this.kerning.Add(amount); + } + + // Token: 0x06000948 RID: 2376 RVA: 0x000287B8 File Offset: 0x000269B8 + public void Trim(int xMin, int yMin, int xMax, int yMax) + { + int num = this.x + this.width; + int num2 = this.y + this.height; + if (this.x < xMin) + { + int num3 = xMin - this.x; + this.x += num3; + this.width -= num3; + this.offsetX += num3; + } + if (this.y < yMin) + { + int num4 = yMin - this.y; + this.y += num4; + this.height -= num4; + this.offsetY += num4; + } + if (num > xMax) + { + this.width -= num - xMax; + } + if (num2 > yMax) + { + this.height -= num2 - yMax; + } + } + + // Token: 0x040007B0 RID: 1968 + public int index; + + // Token: 0x040007B1 RID: 1969 + public int x; + + // Token: 0x040007B2 RID: 1970 + public int y; + + // Token: 0x040007B3 RID: 1971 + public int width; + + // Token: 0x040007B4 RID: 1972 + public int height; + + // Token: 0x040007B5 RID: 1973 + public int offsetX; + + // Token: 0x040007B6 RID: 1974 + public int offsetY; + + // Token: 0x040007B7 RID: 1975 + public int advance; + + // Token: 0x040007B8 RID: 1976 + public int channel; + + // Token: 0x040007B9 RID: 1977 + public List kerning; +} diff --git a/Assets/Scripts/Assembly-CSharp/BMSymbol.cs b/Assets/Scripts/Assembly-CSharp/BMSymbol.cs new file mode 100644 index 000000000..79cf7637d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BMSymbol.cs @@ -0,0 +1,38 @@ +using System; + +// Token: 0x0200014E RID: 334 +[Serializable] +public class BMSymbol +{ + // Token: 0x1700011D RID: 285 + // (get) Token: 0x0600094A RID: 2378 RVA: 0x00028898 File Offset: 0x00026A98 + public int length + { + get + { + if (this.mLength == 0) + { + this.mLength = this.sequence.Length; + } + return this.mLength; + } + } + + // Token: 0x040007BA RID: 1978 + public string sequence; + + // Token: 0x040007BB RID: 1979 + public int x; + + // Token: 0x040007BC RID: 1980 + public int y; + + // Token: 0x040007BD RID: 1981 + public int width; + + // Token: 0x040007BE RID: 1982 + public int height; + + // Token: 0x040007BF RID: 1983 + private int mLength; +} diff --git a/Assets/Scripts/Assembly-CSharp/BaseWindow.cs b/Assets/Scripts/Assembly-CSharp/BaseWindow.cs new file mode 100644 index 000000000..e49b6bbef --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BaseWindow.cs @@ -0,0 +1,696 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Qoo; +using Qoo.Game; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020001A1 RID: 417 +public abstract class BaseWindow : MonoBehaviourWrap +{ + // Token: 0x06000C0D RID: 3085 RVA: 0x00032380 File Offset: 0x00030580 + protected virtual void OnAwake() + { + } + + // Token: 0x06000C0E RID: 3086 RVA: 0x00032384 File Offset: 0x00030584 + protected virtual string[] newSceneTextureNameArray() + { + return new string[0]; + } + + // Token: 0x06000C0F RID: 3087 RVA: 0x0003238C File Offset: 0x0003058C + protected virtual void BeforeInit() + { + } + + // Token: 0x06000C10 RID: 3088 RVA: 0x00032390 File Offset: 0x00030590 + protected virtual BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[0]; + } + + // Token: 0x06000C11 RID: 3089 RVA: 0x00032398 File Offset: 0x00030598 + protected virtual void AfterInit() + { + } + + // Token: 0x06000C12 RID: 3090 RVA: 0x0003239C File Offset: 0x0003059C + protected virtual void OnBaseWindowUpdate() + { + } + + // Token: 0x06000C13 RID: 3091 RVA: 0x000323A0 File Offset: 0x000305A0 + protected virtual void OnBaseWindowOnButton(string obj) + { + } + + // Token: 0x06000C14 RID: 3092 RVA: 0x000323A4 File Offset: 0x000305A4 + protected virtual void OnBaseWindowDestroy() + { + } + + // Token: 0x06000C15 RID: 3093 RVA: 0x000323A8 File Offset: 0x000305A8 + protected virtual void OnGraphicLoadComplete() + { + } + + // Token: 0x06000C16 RID: 3094 RVA: 0x000323AC File Offset: 0x000305AC + protected virtual string GetBGMName() + { + return null; + } + + // Token: 0x06000C17 RID: 3095 RVA: 0x000323B0 File Offset: 0x000305B0 + public sealed override void Awake() + { + this.UIGameObjectsDic = new Dictionary(); + this.UITextSpriteDic = new Dictionary(); + this.imageObjectList = new List(); + this.graphicHolder = null; + this.alreadyCalledAddScene = false; + this.bUpdate = false; + this.OnAwake(); + this.graphicHolder = new GraphicManager.SceneGraphicHolder(this.newSceneTextureNameArray()); + string bgmname = this.GetBGMName(); + if (bgmname != null) + { + if (bgmname.Length != 0) + { + this.PlayBGM(bgmname); + } + else + { + this.StopBGM(); + } + } + this.StartTime(); + } + + // Token: 0x06000C18 RID: 3096 RVA: 0x0003243C File Offset: 0x0003063C + public sealed override void Start() + { + base.transform.parent.localPosition = new Vector3(2000f, 0f, 0f); + this.BeforeInit(); + foreach (BaseWindow.UIComponent uicomponent in this.newComponentArray()) + { + uicomponent.CreateComponent(this); + } + this.AfterInit(); + } + + // Token: 0x06000C19 RID: 3097 RVA: 0x000324A0 File Offset: 0x000306A0 + public sealed override void Update() + { + if (this.bUpdate) + { + this.OnBaseWindowUpdate(); + } + else + { + this.bUpdate = this.graphicHolder.isDone(); + if (this.bUpdate) + { + this.OnGraphicLoadComplete(); + } + } + this.ProcTime(); + } + + // Token: 0x06000C1A RID: 3098 RVA: 0x000324EC File Offset: 0x000306EC + public sealed override void OnDestroy() + { + this.OnBaseWindowDestroy(); + this.graphicHolder.Release(); + this.graphicHolder = null; + } + + // Token: 0x06000C1B RID: 3099 RVA: 0x00032508 File Offset: 0x00030708 + public IEnumerator WaitLoadTexture() + { + yield return base.StartCoroutine(this.graphicHolder.WaitLoadTexture()); + foreach (ImageObject obj in this.imageObjectList) + { + obj.ApplyRendererEnableAfterLoad(); + } + foreach (KeyValuePair obj2 in this.UITextSpriteDic) + { + UnityTextSprite p = obj2.Value; + p.Show = true; + p.Update(960, 544, p.obj.transform.localPosition.z); + } + yield break; + } + + // Token: 0x06000C1C RID: 3100 RVA: 0x00032524 File Offset: 0x00030724 + public sealed override void OnButton(string obj) + { + if (!this.bUpdate) + { + return; + } + if (!this.alreadyCalledAddScene) + { + this.OnBaseWindowOnButton(obj); + } + } + + // Token: 0x06000C1D RID: 3101 RVA: 0x00032544 File Offset: 0x00030744 + protected void PlayBGM(string name) + { + Sound.BgmPlay(name, 1f, 1000, 1000); + } + + // Token: 0x06000C1E RID: 3102 RVA: 0x0003255C File Offset: 0x0003075C + protected void StopBGM() + { + Sound.BgmStop(1000); + } + + // Token: 0x06000C1F RID: 3103 RVA: 0x00032568 File Offset: 0x00030768 + protected void PlaySE(string name) + { + Sound.SysSePlay(name, 1f); + } + + // Token: 0x06000C20 RID: 3104 RVA: 0x00032578 File Offset: 0x00030778 + protected void PlayPlayerSE(string name) + { + Sound.SysPlayerSePlay(name, 1f); + Qoo.Debug.Print(name); + } + + // Token: 0x06000C21 RID: 3105 RVA: 0x0003258C File Offset: 0x0003078C + protected bool IsPlayerSEPlaying() + { + return Sound.SysPlayerSeIsPlay(); + } + + // Token: 0x06000C22 RID: 3106 RVA: 0x00032594 File Offset: 0x00030794 + protected void PlayVoice(string name, bool isSystem = false) + { + if (isSystem) + { + Sound.VoicePlay(name, 1f); + } + else + { + Singleton.Instance.VoicePlay(name, 1f); + } + } + + // Token: 0x06000C23 RID: 3107 RVA: 0x000325C8 File Offset: 0x000307C8 + protected void StopVoice() + { + Sound.VoiceStop(); + } + + // Token: 0x06000C24 RID: 3108 RVA: 0x000325D0 File Offset: 0x000307D0 + protected void PlaySE_Ok() + { + Sound.SE_Ok(); + } + + // Token: 0x06000C25 RID: 3109 RVA: 0x000325D8 File Offset: 0x000307D8 + protected void PlaySE_Select() + { + Sound.SE_Select(); + } + + // Token: 0x06000C26 RID: 3110 RVA: 0x000325E0 File Offset: 0x000307E0 + protected void PlaySE_Cancel() + { + Sound.SE_Cancel(); + } + + // Token: 0x06000C27 RID: 3111 RVA: 0x000325E8 File Offset: 0x000307E8 + public GameObject MakeCollisionObject(string name, int x, int y, int z, int width, int height) + { + int num = -480; + int num2 = 272; + GameObject gameObject = new GameObject(name); + gameObject.transform.parent = base.transform; + gameObject.transform.localPosition = new Vector3((float)(num + width / 2 + x), (float)(num2 - height / 2 - y), (float)(-(float)z)); + gameObject.transform.localScale = new Vector3((float)width, (float)height, 1f); + gameObject.AddComponent(); + this.UIGameObjectsDic.Add(gameObject.name, gameObject); + return gameObject; + } + + // Token: 0x06000C28 RID: 3112 RVA: 0x00032674 File Offset: 0x00030874 + public GameObject MakeImageObject(string name_, int x_, int y_, int z_, string fpath_, bool collisionEnable = false, bool RendererEnableAfterLoad = true, int xImgCnt_ = 1, int yImgCnt_ = 1, int defaultIndex_ = 0) + { + UIObjectInfo uiObject = new UIObjectInfo(name_, x_, y_, z_, fpath_, xImgCnt_, yImgCnt_, defaultIndex_); + ImageObject imageObject = ImageObject.Create(uiObject, base.transform, collisionEnable); + imageObject.RendererEnableAfterLoad = RendererEnableAfterLoad; + GameObject gameObject = imageObject.gameObject; + if (gameObject.collider != null) + { + gameObject.collider.enabled = (collisionEnable && RendererEnableAfterLoad); + } + this.UIGameObjectsDic.Add(gameObject.name, gameObject); + this.imageObjectList.Add(imageObject); + return gameObject; + } + + // Token: 0x06000C29 RID: 3113 RVA: 0x000326FC File Offset: 0x000308FC + public void MakeUIAction(UIAction uiAction) + { + uiAction.Init(); + } + + // Token: 0x06000C2A RID: 3114 RVA: 0x00032704 File Offset: 0x00030904 + public void EntryTextObject(string name_, UnityTextSprite textSprite) + { + this.UITextSpriteDic.Add(name_, textSprite); + } + + // Token: 0x06000C2B RID: 3115 RVA: 0x00032714 File Offset: 0x00030914 + protected UnityTextSprite GetTextSprite(string name) + { + return this.UITextSpriteDic[name]; + } + + // Token: 0x170001A8 RID: 424 + // (get) Token: 0x06000C2C RID: 3116 RVA: 0x00032724 File Offset: 0x00030924 + protected bool IsTrial + { + get + { + return SysData.IsTrial(); + } + } + + // Token: 0x06000C2D RID: 3117 RVA: 0x0003272C File Offset: 0x0003092C + protected void GameObjectShow(string name, bool show) + { + if (this.ExistsGameObject(name)) + { + this.GameObjectShow(this.GetGameObject(name), show); + } + } + + // Token: 0x06000C2E RID: 3118 RVA: 0x00032748 File Offset: 0x00030948 + protected void GameObjectShow(GameObject go, bool show) + { + if (go == null) + { + return; + } + if (go.renderer != null) + { + go.renderer.enabled = show; + } + if (go.collider != null) + { + go.collider.enabled = show; + } + } + + // Token: 0x06000C2F RID: 3119 RVA: 0x0003279C File Offset: 0x0003099C + protected void AddGameObject(string name, GameObject go) + { + this.UIGameObjectsDic.Add(name, go); + } + + // Token: 0x06000C30 RID: 3120 RVA: 0x000327AC File Offset: 0x000309AC + protected bool ExistsGameObject(string name) + { + return this.UIGameObjectsDic.ContainsKey(name); + } + + // Token: 0x06000C31 RID: 3121 RVA: 0x000327BC File Offset: 0x000309BC + protected GameObject GetGameObject(string name) + { + if (!this.ExistsGameObject(name)) + { + return null; + } + return this.UIGameObjectsDic[name]; + } + + // Token: 0x06000C32 RID: 3122 RVA: 0x000327D8 File Offset: 0x000309D8 + protected ImageObject GetImageObject(string name) + { + GameObject gameObject = this.GetGameObject(name); + if (gameObject == null) + { + return null; + } + return gameObject.GetComponent(); + } + + // Token: 0x06000C33 RID: 3123 RVA: 0x00032804 File Offset: 0x00030A04 + protected UIActionToggle GetActionToggle(string name) + { + GameObject gameObject = this.GetGameObject(name); + if (gameObject == null) + { + return null; + } + return gameObject.GetComponent(); + } + + // Token: 0x06000C34 RID: 3124 RVA: 0x00032830 File Offset: 0x00030A30 + protected UIActionButton GetActionButton(string name) + { + GameObject gameObject = this.GetGameObject(name); + if (gameObject == null) + { + return null; + } + return gameObject.GetComponent(); + } + + // Token: 0x06000C35 RID: 3125 RVA: 0x0003285C File Offset: 0x00030A5C + protected void SetTexture(string name, string fpath) + { + ImageObject imageObject = this.GetImageObject(name); + if (imageObject == null) + { + return; + } + imageObject.SetTexture(fpath); + } + + // Token: 0x06000C36 RID: 3126 RVA: 0x00032888 File Offset: 0x00030A88 + protected bool LoadCompleted(string name) + { + ImageObject imageObject = this.GetImageObject(name); + return imageObject == null || imageObject.LoadCompleted; + } + + // Token: 0x06000C37 RID: 3127 RVA: 0x000328B4 File Offset: 0x00030AB4 + protected void RestartAnimation(string name) + { + ImageObject imageObject = this.GetImageObject(name); + if (imageObject == null) + { + return; + } + imageObject.RestartAnimation(); + } + + // Token: 0x06000C38 RID: 3128 RVA: 0x000328DC File Offset: 0x00030ADC + protected void SetParent(string child, string parent) + { + GameObject gameObject = this.GetGameObject(child); + GameObject gameObject2 = this.GetGameObject(parent); + gameObject.transform.parent = gameObject2.transform; + } + + // Token: 0x06000C39 RID: 3129 RVA: 0x0003290C File Offset: 0x00030B0C + protected void AddScene(string nextSceneName) + { + if (!this.alreadyCalledAddScene) + { + this.alreadyCalledAddScene = true; + SceneManager.AddScene(nextSceneName); + } + } + + // Token: 0x06000C3A RID: 3130 RVA: 0x00032928 File Offset: 0x00030B28 + protected void DeleteLastAddScene() + { + SceneManager.DeleteLastAddScene(); + } + + // Token: 0x06000C3B RID: 3131 RVA: 0x00032930 File Offset: 0x00030B30 + protected void DeleteAllAddScene() + { + SceneManager.DeleteAllAddScene(); + } + + // Token: 0x06000C3C RID: 3132 RVA: 0x00032938 File Offset: 0x00030B38 + public void ClearCalledAddScene() + { + this.alreadyCalledAddScene = false; + } + + // Token: 0x06000C3D RID: 3133 RVA: 0x00032944 File Offset: 0x00030B44 + public virtual void OnCurrentWindow() + { + this.ClearCalledAddScene(); + } + + // Token: 0x06000C3E RID: 3134 RVA: 0x0003294C File Offset: 0x00030B4C + public virtual void OnPastWindow() + { + this.alreadyCalledAddScene = true; + } + + // Token: 0x06000C3F RID: 3135 RVA: 0x00032958 File Offset: 0x00030B58 + public void StartTime() + { + this.m_fTime = 0f; + } + + // Token: 0x06000C40 RID: 3136 RVA: 0x00032968 File Offset: 0x00030B68 + private void ProcTime() + { + this.m_fTime += Time.deltaTime; + } + + // Token: 0x06000C41 RID: 3137 RVA: 0x0003297C File Offset: 0x00030B7C + public bool CheckTime(float fTime) + { + return fTime < this.m_fTime; + } + + // Token: 0x0400094C RID: 2380 + private Dictionary UIGameObjectsDic; + + // Token: 0x0400094D RID: 2381 + private Dictionary UITextSpriteDic; + + // Token: 0x0400094E RID: 2382 + private List imageObjectList; + + // Token: 0x0400094F RID: 2383 + private GraphicManager.SceneGraphicHolder graphicHolder; + + // Token: 0x04000950 RID: 2384 + private bool alreadyCalledAddScene; + + // Token: 0x04000951 RID: 2385 + private bool bUpdate; + + // Token: 0x04000952 RID: 2386 + private float m_fTime; + + // Token: 0x020001A2 RID: 418 + protected abstract class UIComponent + { + // Token: 0x06000C43 RID: 3139 + public abstract void CreateComponent(BaseWindow window); + } + + // Token: 0x020001A3 RID: 419 + protected abstract class UIBase : BaseWindow.UIComponent + { + // Token: 0x06000C44 RID: 3140 RVA: 0x00032998 File Offset: 0x00030B98 + protected UIBase(string name_, int x_, int y_, int z_, bool collisionEnable_) + { + this.name = name_; + this.x = x_; + this.y = y_; + this.z = z_; + this.collisionEnable = collisionEnable_; + } + + // Token: 0x06000C45 RID: 3141 RVA: 0x000329C8 File Offset: 0x00030BC8 + protected void CreateHandler(BaseWindow window, GameObject go) + { + if (go != null && this.collisionEnable) + { + ScriptEventSelfHandler.Create(go, ScriptEventTriger.OnMouseDownUp, delegate(string obj) + { + window.OnButton(obj); + }, this.name); + } + } + + // Token: 0x04000953 RID: 2387 + protected string name; + + // Token: 0x04000954 RID: 2388 + protected int x; + + // Token: 0x04000955 RID: 2389 + protected int y; + + // Token: 0x04000956 RID: 2390 + protected int z; + + // Token: 0x04000957 RID: 2391 + protected bool collisionEnable; + } + + // Token: 0x020001A4 RID: 420 + protected class UICollision : BaseWindow.UIBase + { + // Token: 0x06000C46 RID: 3142 RVA: 0x00032A14 File Offset: 0x00030C14 + public UICollision(string name_, int x_, int y_, int z_, int w_, int h_) : base(name_, x_, y_, z_, true) + { + this.w = w_; + this.h = h_; + } + + // Token: 0x06000C47 RID: 3143 RVA: 0x00032A34 File Offset: 0x00030C34 + public override void CreateComponent(BaseWindow window) + { + GameObject go = window.MakeCollisionObject(this.name, this.x, this.y, this.z, this.w, this.h); + base.CreateHandler(window, go); + } + + // Token: 0x04000958 RID: 2392 + protected int w; + + // Token: 0x04000959 RID: 2393 + protected int h; + } + + // Token: 0x020001A5 RID: 421 + protected class UIText : BaseWindow.UIBase + { + // Token: 0x06000C48 RID: 3144 RVA: 0x00032A74 File Offset: 0x00030C74 + public UIText(string name_, int x_, int y_, int z_, string text_, int size_, UnityTextSprite.PositionType px_ = UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType py_ = UnityTextSprite.PositionType.TopLeft, byte r_ = 255, byte g_ = 255, byte b_ = 255, byte a_ = 255) : base(name_, x_, y_, z_, false) + { + this.text = text_; + this.size = size_; + this.px = px_; + this.py = py_; + this.color = new Color32(r_, g_, b_, a_); + } + + // Token: 0x06000C49 RID: 3145 RVA: 0x00032AC0 File Offset: 0x00030CC0 + public override void CreateComponent(BaseWindow window) + { + GameObject gameObject = window.gameObject; + UnityTextSprite unityTextSprite = new UnityTextSprite(false, gameObject); + unityTextSprite.obj.name = this.name; + unityTextSprite.Show = false; + unityTextSprite.Font = Singleton.Instance.Font; + unityTextSprite.ClearText(); + unityTextSprite.SetColor(this.color); + unityTextSprite.AddText(this.text, this.size); + unityTextSprite.SetPosition(this.x, this.y, this.px, this.py); + unityTextSprite.Update(960, 544, (float)(-(float)this.z)); + window.EntryTextObject(this.name, unityTextSprite); + } + + // Token: 0x0400095A RID: 2394 + private string text; + + // Token: 0x0400095B RID: 2395 + private int size; + + // Token: 0x0400095C RID: 2396 + private UnityTextSprite.PositionType px; + + // Token: 0x0400095D RID: 2397 + private UnityTextSprite.PositionType py; + + // Token: 0x0400095E RID: 2398 + private Color32 color; + } + + // Token: 0x020001A6 RID: 422 + protected class UIImage : BaseWindow.UIBase + { + // Token: 0x06000C4A RID: 3146 RVA: 0x00032B6C File Offset: 0x00030D6C + public UIImage(string name_, int x_, int y_, int z_, string fpath_, bool collisionEnable_ = false, bool RendererEnableAfterLoad_ = true) : base(name_, x_, y_, z_, collisionEnable_) + { + this.fpath = fpath_; + this.RendererEnableAfterLoad = RendererEnableAfterLoad_; + } + + // Token: 0x06000C4B RID: 3147 RVA: 0x00032B8C File Offset: 0x00030D8C + public override void CreateComponent(BaseWindow window) + { + GameObject go = window.MakeImageObject(this.name, this.x, this.y, this.z, this.fpath, this.collisionEnable, this.RendererEnableAfterLoad, 1, 1, 0); + base.CreateHandler(window, go); + } + + // Token: 0x0400095F RID: 2399 + protected string fpath; + + // Token: 0x04000960 RID: 2400 + protected bool RendererEnableAfterLoad; + } + + // Token: 0x020001A7 RID: 423 + protected abstract class UIImageComponent : BaseWindow.UIImage + { + // Token: 0x06000C4C RID: 3148 RVA: 0x00032BD8 File Offset: 0x00030DD8 + protected UIImageComponent(string name_, int x_, int y_, int z_, string fpath_, bool collisionEnable_ = false, bool RendererEnableAfterLoad_ = true, int xImgCnt_ = 1, int yImgCnt_ = 1, int defaultIndex_ = 0) : base(name_, x_, y_, z_, fpath_, collisionEnable_, RendererEnableAfterLoad_) + { + this.xImgCnt = xImgCnt_; + this.yImgCnt = yImgCnt_; + this.defaultIndex = defaultIndex_; + } + + // Token: 0x06000C4D RID: 3149 + protected abstract UIAction newAction(GameObject go); + + // Token: 0x06000C4E RID: 3150 RVA: 0x00032C10 File Offset: 0x00030E10 + public override void CreateComponent(BaseWindow window) + { + GameObject go = window.MakeImageObject(this.name, this.x, this.y, this.z, this.fpath, this.collisionEnable, this.RendererEnableAfterLoad, this.xImgCnt, this.yImgCnt, this.defaultIndex); + window.MakeUIAction(this.newAction(go)); + base.CreateHandler(window, go); + } + + // Token: 0x04000961 RID: 2401 + private int xImgCnt; + + // Token: 0x04000962 RID: 2402 + private int yImgCnt; + + // Token: 0x04000963 RID: 2403 + private int defaultIndex; + } + + // Token: 0x020001A8 RID: 424 + protected class UIButton : BaseWindow.UIImageComponent + { + // Token: 0x06000C4F RID: 3151 RVA: 0x00032C78 File Offset: 0x00030E78 + public UIButton(string name_, int x_, int y_, int z_, string fpath_, bool collisionEnable_ = false, bool RendererEnableAfterLoad_ = true, int xImgCnt_ = 1, int yImgCnt_ = 1, int defaultIndex_ = 0) : base(name_, x_, y_, z_, fpath_, collisionEnable_, RendererEnableAfterLoad_, xImgCnt_, yImgCnt_, defaultIndex_) + { + } + + // Token: 0x06000C50 RID: 3152 RVA: 0x00032C9C File Offset: 0x00030E9C + protected override UIAction newAction(GameObject go) + { + return UIActionButton.Create(go, 0, 1); + } + } + + // Token: 0x020001A9 RID: 425 + protected class UIToggle : BaseWindow.UIImageComponent + { + // Token: 0x06000C51 RID: 3153 RVA: 0x00032CA8 File Offset: 0x00030EA8 + public UIToggle(string name_, int x_, int y_, int z_, string fpath_, bool collisionEnable_ = false, bool RendererEnableAfterLoad_ = true, int xImgCnt_ = 1, int yImgCnt_ = 1, int on = 0, int off = 1, bool autoSwitch = false) : base(name_, x_, y_, z_, fpath_, collisionEnable_, RendererEnableAfterLoad_, xImgCnt_, yImgCnt_, 0) + { + this.on = on; + this.off = off; + this.autoSwitch = autoSwitch; + } + + // Token: 0x06000C52 RID: 3154 RVA: 0x00032CE4 File Offset: 0x00030EE4 + protected override UIAction newAction(GameObject go) + { + return UIActionToggle.Create(go, this.on, this.off, this.autoSwitch); + } + + // Token: 0x04000964 RID: 2404 + private int on; + + // Token: 0x04000965 RID: 2405 + private int off; + + // Token: 0x04000966 RID: 2406 + private bool autoSwitch; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/ByteReader.cs b/Assets/Scripts/Assembly-CSharp/ByteReader.cs new file mode 100644 index 000000000..60f8302b0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ByteReader.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +// Token: 0x0200014F RID: 335 +public class ByteReader +{ + // Token: 0x0600094B RID: 2379 RVA: 0x000288C8 File Offset: 0x00026AC8 + public ByteReader(byte[] bytes) + { + this.mBuffer = bytes; + } + + // Token: 0x0600094C RID: 2380 RVA: 0x000288D8 File Offset: 0x00026AD8 + public ByteReader(TextAsset asset) + { + this.mBuffer = asset.bytes; + } + + // Token: 0x1700011E RID: 286 + // (get) Token: 0x0600094D RID: 2381 RVA: 0x000288EC File Offset: 0x00026AEC + public bool canRead + { + get + { + return this.mBuffer != null && this.mOffset < this.mBuffer.Length; + } + } + + // Token: 0x0600094E RID: 2382 RVA: 0x0002890C File Offset: 0x00026B0C + private static string ReadLine(byte[] buffer, int start, int count) + { + return Encoding.UTF8.GetString(buffer, start, count); + } + + // Token: 0x0600094F RID: 2383 RVA: 0x0002891C File Offset: 0x00026B1C + public string ReadLine() + { + int num = this.mBuffer.Length; + while (this.mOffset < num && this.mBuffer[this.mOffset] < 32) + { + this.mOffset++; + } + int i = this.mOffset; + if (i < num) + { + while (i < num) + { + int num2 = (int)this.mBuffer[i++]; + if (num2 == 10 || num2 == 13) + { + IL_81: + string result = ByteReader.ReadLine(this.mBuffer, this.mOffset, i - this.mOffset - 1); + this.mOffset = i; + return result; + } + } + i++; + goto IL_81; + } + this.mOffset = num; + return null; + } + + // Token: 0x06000950 RID: 2384 RVA: 0x000289DC File Offset: 0x00026BDC + public Dictionary ReadDictionary() + { + Dictionary dictionary = new Dictionary(); + char[] separator = new char[] + { + '=' + }; + while (this.canRead) + { + string text = this.ReadLine(); + if (text == null) + { + break; + } + string[] array = text.Split(separator, 2, StringSplitOptions.RemoveEmptyEntries); + if (array.Length == 2) + { + string key = array[0].Trim(); + string value = array[1].Trim(); + dictionary[key] = value; + } + } + return dictionary; + } + + // Token: 0x040007C0 RID: 1984 + private byte[] mBuffer; + + // Token: 0x040007C1 RID: 1985 + private int mOffset; +} diff --git a/Assets/Scripts/Assembly-CSharp/BytesEncrypter.cs b/Assets/Scripts/Assembly-CSharp/BytesEncrypter.cs new file mode 100644 index 000000000..47e84d5a4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BytesEncrypter.cs @@ -0,0 +1,46 @@ +using System; +using System.Security.Cryptography; +using System.Text; + +// Token: 0x02000160 RID: 352 +public class BytesEncrypter +{ + // Token: 0x06000A25 RID: 2597 RVA: 0x0002D3A0 File Offset: 0x0002B5A0 + public static byte[] EncryptRijndael(byte[] src, string saltString, string password) + { + RijndaelManaged rijndaelManaged = new RijndaelManaged(); + byte[] key; + byte[] iv; + BytesEncrypter.GenerateKeyFromPassword(saltString, password, rijndaelManaged.KeySize, out key, rijndaelManaged.BlockSize, out iv); + rijndaelManaged.Key = key; + rijndaelManaged.IV = iv; + ICryptoTransform cryptoTransform = rijndaelManaged.CreateEncryptor(); + byte[] result = cryptoTransform.TransformFinalBlock(src, 0, src.Length); + cryptoTransform.Dispose(); + return result; + } + + // Token: 0x06000A26 RID: 2598 RVA: 0x0002D3F4 File Offset: 0x0002B5F4 + public static byte[] DecryptRijndael(byte[] src, string saltString, string password) + { + RijndaelManaged rijndaelManaged = new RijndaelManaged(); + byte[] key; + byte[] iv; + BytesEncrypter.GenerateKeyFromPassword(saltString, password, rijndaelManaged.KeySize, out key, rijndaelManaged.BlockSize, out iv); + rijndaelManaged.Key = key; + rijndaelManaged.IV = iv; + ICryptoTransform cryptoTransform = rijndaelManaged.CreateDecryptor(); + byte[] result = cryptoTransform.TransformFinalBlock(src, 0, src.Length); + cryptoTransform.Dispose(); + return result; + } + + // Token: 0x06000A27 RID: 2599 RVA: 0x0002D448 File Offset: 0x0002B648 + private static void GenerateKeyFromPassword(string saltString, string password, int keySize, out byte[] key, int blockSize, out byte[] iv) + { + byte[] bytes = Encoding.UTF8.GetBytes(saltString); + Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(password, bytes, 1000); + key = rfc2898DeriveBytes.GetBytes(keySize / 8); + iv = rfc2898DeriveBytes.GetBytes(blockSize / 8); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/BytesHash.cs b/Assets/Scripts/Assembly-CSharp/BytesHash.cs new file mode 100644 index 000000000..e9aee56dc --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/BytesHash.cs @@ -0,0 +1,20 @@ +using System; +using System.Security.Cryptography; +using System.Text; + +// Token: 0x02000161 RID: 353 +public class BytesHash +{ + // Token: 0x06000A29 RID: 2601 RVA: 0x0002D490 File Offset: 0x0002B690 + public static string CreateHashCode(byte[] data) + { + SHA1Managed sha1Managed = new SHA1Managed(); + byte[] array = sha1Managed.ComputeHash(data); + StringBuilder stringBuilder = new StringBuilder(); + foreach (byte b in array) + { + stringBuilder.Append(b.ToString("X2")); + } + return stringBuilder.ToString(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CBackLogWnd.cs b/Assets/Scripts/Assembly-CSharp/CBackLogWnd.cs new file mode 100644 index 000000000..a960e1ed4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CBackLogWnd.cs @@ -0,0 +1,637 @@ +using System; +using System.Collections.Generic; +using Qoo; +using Qoo.Application; +using Qoo.Input; +using Qoo.Message; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020000A9 RID: 169 +public class CBackLogWnd : UserBaseClass +{ + // Token: 0x060004FD RID: 1277 RVA: 0x000126D8 File Offset: 0x000108D8 + private void Awake() + { + KsInput.Pause = false; + this.m_aLine.Capacity = 512; + this.m_aMes.Capacity = 64; + for (int num = 0; num != this.m_sp.Length; num++) + { + this.m_sp[num] = Man2D.Sprite(string.Empty); + } + for (int num2 = 0; num2 != this.m_txt.Length; num2++) + { + this.m_txt[num2] = Man2D.TextSprite(null); + } + UnitySprite unitySprite = this.m_sp[0]; + unitySprite.x = 0; + unitySprite.y = 0; + unitySprite.w = 960; + unitySprite.h = 544; + unitySprite.z = 1300; + unitySprite.SetColor(new Color32(0, 0, 0, 192)); + unitySprite = this.m_sp[1]; + unitySprite.SetImage(Man2D.Texture("cancel")); + unitySprite.x = 902; + unitySprite.y = 5; + unitySprite.z = 1302; + unitySprite.SetPtnNum(1, 2); + unitySprite.SetPtnPos(0, 0); + unitySprite.ResetUVAnim(); + unitySprite.SetUVAnimWait(1); + for (int i = 0; i < 16; i++) + { + UnityTextSprite unityTextSprite = this.m_txt[0 + i]; + unityTextSprite.x = 0; + unityTextSprite.y = 4 + i * 32; + unityTextSprite.z = 1301; + unityTextSprite.SetColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + } + for (int j = 0; j < 16; j++) + { + UnityTextSprite unityTextSprite = this.m_txt[16 + j]; + unityTextSprite.x = 64; + unityTextSprite.y = 4 + j * 32; + unityTextSprite.z = 1301; + unityTextSprite.SetColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + unityTextSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + unityTextSprite.AddText("♪", 28); + unityTextSprite.Show = false; + } + this.InitLog(); + this.m_nDispLine = this.m_nScrollMax; + this.m_nCursor = this.m_nMesNum - 1; + this.m_nScrollPos = this.m_nDispLine * 32; + this.UpdateText(); + Sound.SeSlotStopAll(); + if (this.m_bFadeIn) + { + } + this.m_bUpdate = false; + this.m_bVoiceStop = false; + this.m_nOldDelta = 0; + } + + // Token: 0x060004FE RID: 1278 RVA: 0x00012950 File Offset: 0x00010B50 + private void OnDestroy() + { + if (Singleton.IsReady) + { + if (this.m_sp != null) + { + for (int num = 0; num != this.m_sp.Length; num++) + { + if (this.m_sp[num] != null) + { + Singleton.Instance.RemoveSprite(this.m_sp[num]); + } + this.m_sp[num] = null; + } + } + if (this.m_txt != null) + { + for (int num2 = 0; num2 != this.m_txt.Length; num2++) + { + if (this.m_txt[num2] != null) + { + Singleton.Instance.RemoveSprite(this.m_txt[num2]); + } + this.m_txt[num2] = null; + } + } + } + KsInput.Pause = true; + if (Singleton.IsReady) + { + UnityApp.Input.IsOnePushDelete = true; + } + } + + // Token: 0x060004FF RID: 1279 RVA: 0x00012A1C File Offset: 0x00010C1C + private void Update() + { + if (!this.m_bUpdate) + { + this.m_bUpdate = true; + return; + } + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.PUSH: + this.ResetAutoScroll(); + this.m_nOldDelta = 0; + if (this.m_sp[1].IsHit(UnityApp.Input.Start)) + { + this.m_sp[1].EnableUVAnim(true); + } + goto IL_1CF; + case INPUT_STATUS.CLICK: + if (this.m_sp[1].IsHit(UnityApp.Input.End)) + { + Sound.SE_Cancel(); + if (this.m_bVoiceStop) + { + Sound.VoiceStop(); + } + if (this.m_bFadeOut) + { + } + KsInput.ClearMenu(); + UnityEngine.Object.Destroy(this); + base.enabled = false; + } + else + { + this.SelectItem(UnityApp.Input.End); + } + goto IL_1CF; + case INPUT_STATUS.DRAG_ON: + if (this.m_nOldDelta != UnityApp.Input.Delta.y) + { + this.Move(-(this.m_nOldDelta - UnityApp.Input.Delta.y)); + this.m_nOldDelta = UnityApp.Input.Delta.y; + } + goto IL_1CF; + case INPUT_STATUS.FLICK: + { + this.m_nOldDelta = 0; + Qoo.Debug.Print("FLICK START"); + this.m_bAutoScroll = true; + SLIDE_VECTOR slide = UnityApp.Input.Slide; + if (slide != SLIDE_VECTOR.UP) + { + if (slide != SLIDE_VECTOR.DOWN) + { + this.m_bAutoScroll = false; + } + else + { + this.m_nScrollSpeed = -32; + } + } + else + { + this.m_nScrollSpeed = 32; + } + goto IL_1CF; + } + } + this.m_nOldDelta = 0; + this.m_sp[1].SetPtnPos(0, 0); + this.m_sp[1].ResetUVAnim(); + this.m_sp[1].EnableUVAnim(false); + IL_1CF: + if (this.m_bAutoScroll && !this.Move(this.m_nScrollSpeed)) + { + this.ResetAutoScroll(); + } + } + + // Token: 0x06000500 RID: 1280 RVA: 0x00012C1C File Offset: 0x00010E1C + private bool SelectItem(Point2 pos) + { + int num = this.SearchItem(pos); + Qoo.Debug.Print(string.Format("SelectItem={0}", num)); + if (this.m_nCursor == num) + { + this.PlayCurItem(); + return true; + } + if (num >= 0) + { + this.m_nCursor = num; + this.UpdateText(); + this.PlayCurItem(); + return true; + } + return false; + } + + // Token: 0x06000501 RID: 1281 RVA: 0x00012C78 File Offset: 0x00010E78 + private void PlayCurItem() + { + CBackLogWnd.MESDATA mesdata = this.m_aMes[this.m_nCursor]; + if (mesdata.pszVoice.Length > 0) + { + Sound.VoicePlay(mesdata.pszVoice, 1f); + this.m_bVoiceStop = true; + } + } + + // Token: 0x06000502 RID: 1282 RVA: 0x00012CC4 File Offset: 0x00010EC4 + private int SearchItem(Point2 pos) + { + Qoo.Debug.Print(string.Format("point x={0} y={1}", pos.x, pos.y)); + if (128 <= pos.x) + { + for (int num = 0; num != this.m_txt.Length; num++) + { + if (this.m_txt[num] != null && this.m_txt[num].Show) + { + this.m_txt[num].CalcSize(); + if (this.m_txt[num].w != 0 || this.m_txt[num].h != 0) + { + Point2 point = new Point2(this.m_txt[num].x, this.m_txt[num].y); + Point2 point2 = new Point2(point.x + 960, point.y + 32); + if (point.x <= pos.x && pos.x < point2.x && point.y <= pos.y && pos.y < point2.y) + { + int num2 = num; + if (num >= 16) + { + num2 -= 16; + } + for (int num3 = 0; num3 != this.m_aMes.Count; num3++) + { + CBackLogWnd.MESDATA mesdata = this.m_aMes[num3]; + if (this.m_nDispLine + num2 >= mesdata.nTop && this.m_nDispLine + num2 < mesdata.nTop + mesdata.nLineNum) + { + Qoo.Debug.Print(string.Format("HIT={0} MESNo={1} x={2} y={3}", new object[] + { + num, + num3, + pos.x, + pos.y + })); + return num3; + } + } + return -1; + } + } + } + } + } + return -1; + } + + // Token: 0x06000503 RID: 1283 RVA: 0x00012EAC File Offset: 0x000110AC + private void ResetAutoScroll() + { + this.m_bAutoScroll = false; + this.m_nScrollSpeed = 0; + } + + // Token: 0x06000504 RID: 1284 RVA: 0x00012EBC File Offset: 0x000110BC + private bool Move(int addY) + { + if (this.m_nScrollMax == 0) + { + return false; + } + if (this.m_aLine.Count < 16) + { + return false; + } + if (addY > 0 && this.m_nDispLine + 16 >= this.m_aLine.Count) + { + return false; + } + if (addY < 0 && this.m_nDispLine == 0) + { + return false; + } + this.SetScroll(this.m_nScrollPos + addY); + return true; + } + + // Token: 0x06000505 RID: 1285 RVA: 0x00012F30 File Offset: 0x00011130 + private bool SetUp(bool bFadeIn = false, bool bFadeOut = false) + { + this.m_bFadeIn = bFadeIn; + this.m_bFadeOut = bFadeOut; + return true; + } + + // Token: 0x06000506 RID: 1286 RVA: 0x00012F44 File Offset: 0x00011144 + private void InitLog() + { + this.m_aLine.Clear(); + this.m_aMes.Clear(); + this.m_nMesNum = 0; + this.m_nLineNum = 0; + BACKLOG_ITEM[] renge = App.QooBackLog.GetRenge(64); + this.m_nMesNum = renge.Length; + bool flag = false; + for (int i = 0; i < this.m_nMesNum; i++) + { + BACKLOG_ITEM backlog_ITEM = renge[i]; + CBackLogWnd.MESDATA item = default(CBackLogWnd.MESDATA); + item.nLineNum = 0; + if (backlog_ITEM.Name.Length > 0 && flag) + { + this.AddSpaceLine(i); + } + item.nTop = this.m_nLineNum; + item.pszVoice = backlog_ITEM.Voice; + this.AddNameLine(i, backlog_ITEM); + item.nLineNum++; + string text = string.Empty; + foreach (char c in backlog_ITEM.Txt) + { + if (c == '\n') + { + this.AddMesLine(i, text); + item.nLineNum++; + text = string.Empty; + } + else + { + text += c; + } + } + if (text.Length > 0) + { + this.AddMesLine(i, text); + item.nLineNum++; + } + this.m_aMes.Add(item); + flag = true; + } + this.m_nScrollMax = ((16 >= this.m_nLineNum) ? 0 : (this.m_nLineNum - 16)); + } + + // Token: 0x06000507 RID: 1287 RVA: 0x000130D4 File Offset: 0x000112D4 + private void UpdateText() + { + CBackLogWnd.MESDATA mesdata = this.m_aMes[this.m_nCursor]; + for (int i = 0; i < 16; i++) + { + UnityTextSprite unityTextSprite = this.m_txt[0 + i]; + UnityTextSprite unityTextSprite2 = this.m_txt[16 + i]; + if (this.m_nDispLine + i < this.m_nLineNum) + { + CBackLogWnd.LINEDATA linedata = this.m_aLine[this.m_nDispLine + i]; + if (linedata.nType == CBackLogWnd.LINETYPE.LINETYPE_SPACE) + { + unityTextSprite.Show = false; + unityTextSprite2.Show = false; + } + else + { + unityTextSprite.ClearText(); + unityTextSprite2.ClearText(); + if (this.m_nDispLine + i >= mesdata.nTop && this.m_nDispLine + i < mesdata.nTop + mesdata.nLineNum) + { + unityTextSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, 0, byte.MaxValue)); + unityTextSprite2.SetTextColor(new Color32(byte.MaxValue, 0, 0, byte.MaxValue)); + Qoo.Debug.Print(string.Format("Change Color ={0}", i)); + } + else + { + unityTextSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + unityTextSprite2.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + } + unityTextSprite.AddText(linedata.pszTxt, 28); + unityTextSprite2.AddText("♪", 28); + if (linedata.nType == CBackLogWnd.LINETYPE.LINETYPE_MES) + { + unityTextSprite.x = 204; + } + else + { + unityTextSprite.x = 128; + } + unityTextSprite.Show = true; + CBackLogWnd.MESDATA mesdata2 = this.m_aMes[linedata.nNo]; + if (linedata.nType == CBackLogWnd.LINETYPE.LINETYPE_NAME && mesdata2.pszVoice.Length > 0) + { + unityTextSprite2.Show = true; + } + else + { + unityTextSprite2.Show = false; + } + UnitySprite unitySprite = unityTextSprite; + int y = -this.m_nMoveY + 4 + i * 32; + unityTextSprite2.y = y; + unitySprite.y = y; + } + } + else + { + unityTextSprite.Show = false; + unityTextSprite2.Show = false; + } + } + } + + // Token: 0x06000508 RID: 1288 RVA: 0x000132F0 File Offset: 0x000114F0 + private void SetScroll(int nPos) + { + if (nPos < 0) + { + if (this.m_nScrollPos == 0) + { + return; + } + nPos = 0; + } + if (nPos / 32 + 16 >= this.m_aLine.Count) + { + if (this.m_nDispLine + 16 == this.m_aLine.Count) + { + return; + } + nPos = (this.m_aLine.Count - 16) * 32; + } + this.m_nScrollPos = nPos; + this.m_nMoveY = nPos % 32; + this.m_nDispLine = this.m_nScrollPos / 32; + this.UpdateText(); + } + + // Token: 0x06000509 RID: 1289 RVA: 0x00013380 File Offset: 0x00011580 + private void MoveCursor(int nCur, int nAlign) + { + int nCursor = this.m_nCursor; + int nDispLine = this.m_nDispLine; + if (nAlign == 0) + { + if (this.m_aMes[this.m_nCursor].nTop < this.m_nDispLine) + { + this.SetScroll(this.m_aMes[this.m_nCursor].nTop * 32); + } + } + else if (this.m_aMes[this.m_nCursor].nTop + this.m_aMes[this.m_nCursor].nLineNum > this.m_nDispLine + 16) + { + this.SetScroll((this.m_aMes[this.m_nCursor].nTop - (16 - this.m_aMes[this.m_nCursor].nLineNum)) * 32); + } + if (nDispLine != this.m_nDispLine || nCursor != this.m_nCursor) + { + Sound.SE_Select(); + this.UpdateText(); + } + } + + // Token: 0x0600050A RID: 1290 RVA: 0x00013494 File Offset: 0x00011694 + private void AddSpaceLine(int i) + { + CBackLogWnd.LINEDATA item = default(CBackLogWnd.LINEDATA); + item.nNo = i; + item.nType = CBackLogWnd.LINETYPE.LINETYPE_SPACE; + item.pszTxt = string.Empty; + this.m_aLine.Add(item); + this.m_nLineNum++; + } + + // Token: 0x0600050B RID: 1291 RVA: 0x000134E0 File Offset: 0x000116E0 + private void AddNameLine(int i, BACKLOG_ITEM item) + { + CBackLogWnd.LINEDATA item2 = default(CBackLogWnd.LINEDATA); + item2.nNo = i; + item2.nType = CBackLogWnd.LINETYPE.LINETYPE_NAME; + item2.pszTxt = item.Name; + this.m_aLine.Add(item2); + this.m_nLineNum++; + } + + // Token: 0x0600050C RID: 1292 RVA: 0x0001352C File Offset: 0x0001172C + private void AddMesLine(int i, string line_str) + { + CBackLogWnd.LINEDATA item = default(CBackLogWnd.LINEDATA); + item.nNo = i; + item.nType = CBackLogWnd.LINETYPE.LINETYPE_MES; + item.pszTxt = line_str; + this.m_aLine.Add(item); + this.m_nLineNum++; + } + + // Token: 0x0400038C RID: 908 + private const int TEXTBUFFSIZE = 65536; + + // Token: 0x0400038D RID: 909 + private const int MES_MAX = 64; + + // Token: 0x0400038E RID: 910 + private const int LINE_MAX = 512; + + // Token: 0x0400038F RID: 911 + private const int DISPLINE_NUM = 16; + + // Token: 0x04000390 RID: 912 + private const int Z_BG = 1300; + + // Token: 0x04000391 RID: 913 + private const int Z_TEXT = 1301; + + // Token: 0x04000392 RID: 914 + private const int LINE_HEIGHT = 32; + + // Token: 0x04000393 RID: 915 + private UnitySprite[] m_sp = new UnitySprite[2]; + + // Token: 0x04000394 RID: 916 + private UnityTextSprite[] m_txt = new UnityTextSprite[32]; + + // Token: 0x04000395 RID: 917 + private List m_aMes = new List(); + + // Token: 0x04000396 RID: 918 + private int m_nMesNum; + + // Token: 0x04000397 RID: 919 + private List m_aLine = new List(); + + // Token: 0x04000398 RID: 920 + private int m_nLineNum; + + // Token: 0x04000399 RID: 921 + private int m_nDispLine; + + // Token: 0x0400039A RID: 922 + private int m_nScrollMax; + + // Token: 0x0400039B RID: 923 + private int m_nCursor; + + // Token: 0x0400039C RID: 924 + private bool m_bUpdate; + + // Token: 0x0400039D RID: 925 + private bool m_bFadeIn; + + // Token: 0x0400039E RID: 926 + private bool m_bFadeOut; + + // Token: 0x0400039F RID: 927 + private bool m_bVoiceStop; + + // Token: 0x040003A0 RID: 928 + private int m_nScrollPos; + + // Token: 0x040003A1 RID: 929 + private int m_nMoveY; + + // Token: 0x040003A2 RID: 930 + private int m_nOldDelta; + + // Token: 0x040003A3 RID: 931 + private bool m_bAutoScroll; + + // Token: 0x040003A4 RID: 932 + private int m_nScrollSpeed; + + // Token: 0x020000AA RID: 170 + private enum SP_NO + { + // Token: 0x040003A6 RID: 934 + SP_FILTER, + // Token: 0x040003A7 RID: 935 + SP_END_BTN, + // Token: 0x040003A8 RID: 936 + SP_MAX + } + + // Token: 0x020000AB RID: 171 + private enum SPTEXT_NO + { + // Token: 0x040003AA RID: 938 + TXT_LINE_TOP, + // Token: 0x040003AB RID: 939 + TXT_LINE_END = 15, + // Token: 0x040003AC RID: 940 + TXT_VOICEMARK_TOP, + // Token: 0x040003AD RID: 941 + TXT_VOICEMARK_END = 31, + // Token: 0x040003AE RID: 942 + TXT_MAX + } + + // Token: 0x020000AC RID: 172 + private enum LINETYPE + { + // Token: 0x040003B0 RID: 944 + LINETYPE_MES, + // Token: 0x040003B1 RID: 945 + LINETYPE_NAME, + // Token: 0x040003B2 RID: 946 + LINETYPE_SPACE + } + + // Token: 0x020000AD RID: 173 + private struct LINEDATA + { + // Token: 0x040003B3 RID: 947 + public int nNo; + + // Token: 0x040003B4 RID: 948 + public CBackLogWnd.LINETYPE nType; + + // Token: 0x040003B5 RID: 949 + public string pszTxt; + } + + // Token: 0x020000AE RID: 174 + private struct MESDATA + { + // Token: 0x040003B6 RID: 950 + public int nTop; + + // Token: 0x040003B7 RID: 951 + public int nLineNum; + + // Token: 0x040003B8 RID: 952 + public string pszVoice; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CGCharaSelectWindow.cs b/Assets/Scripts/Assembly-CSharp/CGCharaSelectWindow.cs new file mode 100644 index 000000000..0d6e79989 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CGCharaSelectWindow.cs @@ -0,0 +1,34 @@ +using System; + +// Token: 0x02000101 RID: 257 +public class CGCharaSelectWindow : GalleryCharaSelectWindow +{ + // Token: 0x060006B9 RID: 1721 RVA: 0x0001C4A0 File Offset: 0x0001A6A0 + protected sealed override int GetCollect() + { + return CSVManager.Instance.CsvCGListHolder.AllCharaCollect; + } + + // Token: 0x060006BA RID: 1722 RVA: 0x0001C4B4 File Offset: 0x0001A6B4 + protected sealed override void OnName() + { + } + + // Token: 0x060006BB RID: 1723 RVA: 0x0001C4B8 File Offset: 0x0001A6B8 + protected sealed override bool IsNameButton() + { + return false; + } + + // Token: 0x060006BC RID: 1724 RVA: 0x0001C4BC File Offset: 0x0001A6BC + protected sealed override string GetHeaderPath() + { + return "screen/cgmemory/cgm_head_cg"; + } + + // Token: 0x060006BD RID: 1725 RVA: 0x0001C4C4 File Offset: 0x0001A6C4 + protected sealed override string GetCharaButtonSceneName() + { + return UIValue.SCENE_CGSELECT; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CGSelectWindow.cs b/Assets/Scripts/Assembly-CSharp/CGSelectWindow.cs new file mode 100644 index 000000000..19d43208b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CGSelectWindow.cs @@ -0,0 +1,66 @@ +using System; + +// Token: 0x02000102 RID: 258 +public class CGSelectWindow : GallerySelectWindow +{ + // Token: 0x060006BF RID: 1727 RVA: 0x0001C4D4 File Offset: 0x0001A6D4 + protected sealed override void BeforeInitGallerySelect() + { + this.charaData = CSVManager.Instance.CsvCGListHolder.GetCharaIndex(base.Chara); + } + + // Token: 0x060006C0 RID: 1728 RVA: 0x0001C4FC File Offset: 0x0001A6FC + protected sealed override int GetCollect() + { + return this.charaData.Collect; + } + + // Token: 0x060006C1 RID: 1729 RVA: 0x0001C50C File Offset: 0x0001A70C + protected override string GetThumbnailName(int index) + { + return this.charaData.Thumbnail(index); + } + + // Token: 0x060006C2 RID: 1730 RVA: 0x0001C51C File Offset: 0x0001A71C + protected override int GetThumbnailLength() + { + return this.charaData.Length; + } + + // Token: 0x060006C3 RID: 1731 RVA: 0x0001C52C File Offset: 0x0001A72C + protected sealed override string GetOnArrowSceneName() + { + return UIValue.SCENE_CGSELECT; + } + + // Token: 0x060006C4 RID: 1732 RVA: 0x0001C534 File Offset: 0x0001A734 + protected sealed override bool IsFont() + { + return true; + } + + // Token: 0x060006C5 RID: 1733 RVA: 0x0001C538 File Offset: 0x0001A738 + protected sealed override string GetFontText(int index) + { + return this.charaData.CollectString(index); + } + + // Token: 0x060006C6 RID: 1734 RVA: 0x0001C548 File Offset: 0x0001A748 + protected sealed override void OnSelect(int index) + { + if (this.charaData.Read(index)) + { + this.charaData.OnSelect(index); + SceneManager.ChangeScene(UIValue.SCENE_GALLERYCG); + } + } + + // Token: 0x060006C7 RID: 1735 RVA: 0x0001C574 File Offset: 0x0001A774 + protected sealed override bool IsSelectable(int index) + { + return this.charaData.Read(index); + } + + // Token: 0x04000660 RID: 1632 + private CSVCGListHolder.CharaData charaData; +} diff --git a/Assets/Scripts/Assembly-CSharp/CMessageText.cs b/Assets/Scripts/Assembly-CSharp/CMessageText.cs new file mode 100644 index 000000000..33dd2a9b1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CMessageText.cs @@ -0,0 +1,864 @@ +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using Qoo; +using Qoo.Def; +using Qoo.Game; +using UnityEngine; + +// Token: 0x020000B2 RID: 178 +public class CMessageText +{ + // Token: 0x0600052A RID: 1322 RVA: 0x00013B8C File Offset: 0x00011D8C + public CMessageText(UIFont font_ = null, bool IsKerning = true) + { + this.font = font_; + this.m_Anim.nCnt = 0; + this.m_Anim.nWait = 0; + this.m_Anim.nSpeed = 1; + this.m_isOver = false; + this.m_DrawPos.SetPos(0, 0); + this.m_CurPos.SetPos(0, 0); + this.m_DispPos.SetPos(0, 0); + this.m_ChNum.SetSize(0, 0); + this.m_CurSize.SetSize(0, 0); + this.m_Clip.SetSize(0, 0); + this.m_nChNum = 0; + this.m_nClipWEx = 0; + this.m_isAutoRet = false; + this.m_anDefCol = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + this.m_anKeyCol = new Color32(byte.MaxValue, 192, 0, byte.MaxValue); + this.m_KeyCursor.BgColor = new Color32(0, 0, 0, 0); + this.m_KeyCursor.CursorColor = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, 128); + this.SpCode.AddRange(MsgDef.SP_CODES); + this.LineCode.AddRange(MsgDef.LINETOP_CODES); + this.m_isKerning = IsKerning; + } + + // Token: 0x170000BD RID: 189 + // (get) Token: 0x0600052C RID: 1324 RVA: 0x00013D1C File Offset: 0x00011F1C + // (set) Token: 0x0600052D RID: 1325 RVA: 0x00013D24 File Offset: 0x00011F24 + public static bool IsHyphenation + { + get + { + return CMessageText.m_isHyphenation; + } + set + { + CMessageText.m_isHyphenation = value; + } + } + + // Token: 0x0600052E RID: 1326 RVA: 0x00013D2C File Offset: 0x00011F2C + public void Init(int nX, int nY, int nZ, int nColum, int nLine, int nClipW, int nClipH, int nClipWEx) + { + if (this.m_ChrData != null) + { + this.Release(); + } + this.m_DrawPos.SetPos(nX, nY); + this.m_nZ = nZ; + this.m_ChNum.SetSize(nColum, nLine); + this.m_nChNum = nColum * nLine; + this.m_Clip.nCx = nClipW; + this.m_Clip.nCy = nClipH; + this.m_nClipWEx = nClipWEx; + this.m_Anim.nCnt = 0; + this.m_Anim.nWait = 0; + this.m_Anim.nSpeed = 1; + this.m_CurPos.SetPos(0, 0); + this.m_DispPos.SetPos(0, 0); + this.m_CurSize.SetSize(0, 0); + this.m_ChrData = new CharObject[this.m_nChNum]; + this.m_ExtData = new CMessageText.EXTINFO[this.m_nChNum]; + for (int num = 0; num != this.m_nChNum; num++) + { + this.m_ChrData[num] = new CharObject(); + this.m_ExtData[num] = new CMessageText.EXTINFO(); + } + this.m_KeyCursor.Init(); + } + + // Token: 0x0600052F RID: 1327 RVA: 0x00013E44 File Offset: 0x00012044 + public void Release() + { + this.m_ChrData = null; + this.m_ExtData = null; + this.m_KeyCursor.Release(); + } + + // Token: 0x06000530 RID: 1328 RVA: 0x00013E60 File Offset: 0x00012060 + public void UpdateAnim() + { + if (this.m_DispPos.nX == this.m_CurPos.nX && this.m_DispPos.nY == this.m_CurPos.nY) + { + return; + } + if (this.m_Anim.nCnt < this.m_Anim.nWait) + { + this.m_Anim.nCnt = this.m_Anim.nCnt + 1; + return; + } + this.m_Anim.nCnt = 0; + int i = 0; + IL_1CB: + while (i < this.m_Anim.nSpeed) + { + this.m_DispPos.nX = this.m_DispPos.nX + 1; + while (this.m_DispPos.nY < this.m_ChNum.nCy) + { + for (int j = 0; j <= this.m_DispPos.nX; j++) + { + if (j < this.m_ChNum.nCx) + { + CharObject chrInfo = this.GetChrInfo(j, this.m_DispPos.nY); + if (chrInfo.code != '\u3000') + { + if (chrInfo.code != ' ') + { + if (chrInfo.code != '\0') + { + chrInfo.color.a = byte.MaxValue; + } + } + } + } + } + CharObject chrInfo2 = this.GetChrInfo(this.m_DispPos.nX, this.m_DispPos.nY); + if (this.m_DispPos.nX < this.m_ChNum.nCx && chrInfo2.code != '\0') + { + i++; + goto IL_1CB; + } + this.m_DispPos.nX = 0; + this.m_DispPos.nY = this.m_DispPos.nY + 1; + } + this.m_DispPos.nX = this.m_CurPos.nX; + this.m_DispPos.nY = this.m_CurPos.nY; + return; + } + } + + // Token: 0x06000531 RID: 1329 RVA: 0x0001404C File Offset: 0x0001224C + public void Show(bool bShow) + { + this.m_KeyCursor.Show(bShow); + } + + // Token: 0x06000532 RID: 1330 RVA: 0x0001405C File Offset: 0x0001225C + public void ResetMessage() + { + if (this.m_ChrData == null) + { + return; + } + for (int i = 0; i < this.m_nChNum; i++) + { + this.m_ChrData[i].code = '\0'; + this.m_ChrData[i].size = 0; + this.m_ExtData[i].nKeywordNo = -1; + this.m_ChrData[i].color.r = this.m_anDefCol.r; + this.m_ChrData[i].color.g = this.m_anDefCol.g; + this.m_ChrData[i].color.b = this.m_anDefCol.b; + this.m_ChrData[i].color.a = 0; + } + this.m_CurPos.SetPos(0, 0); + this.m_DispPos.SetPos(0, 0); + this.m_CurSize.SetSize(0, 0); + this.m_Anim.nCnt = 0; + this.m_LineTop.bFlag = false; + this.m_isOver = false; + this.m_KeyCursor.Reset(true); + } + + // Token: 0x06000533 RID: 1331 RVA: 0x00014174 File Offset: 0x00012374 + public void AddMessage(string szMsg, Color32 color, MSGFONTSIZE nFontType = MSGFONTSIZE.NORMAL, int nKeywordNo = -1) + { + foreach (char c in szMsg) + { + char c2 = '\0'; + if (c != '\r') + { + if (c == '\n') + { + this.m_CurPos.nX = 0; + this.m_CurPos.nY = this.m_CurPos.nY + 1; + this.Normalize(); + } + else if (c >= ' ') + { + c2 = c; + } + else + { + c2 = c; + } + if (CMessageText.EnabelLINETOP_PROC && this.m_LineTop.bOn && this.m_CurPos.nX == 0 && this.m_CurPos.nY == 0) + { + this.m_LineTop.bFlag = this.CheckLineTopCode(c2); + if (this.m_LineTop.bFlag) + { + this.m_LineTop.nFontType = nFontType; + } + } + if (c2 != '\0') + { + if (this.m_LineTop.bFlag && this.m_CurPos.nX == 0 && this.m_CurPos.nY > 0) + { + this.AddChar('\u3000', new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, 0), this.m_LineTop.nFontType, false, -1); + } + bool bUdrExt = this.CheckSpCode(c2); + if (!this.AddChar(c2, color, nFontType, bUdrExt, nKeywordNo) && this.m_CurSize.nCx >= 0 && this.m_CurSize.nCy >= 0) + { + if (this.m_isAutoRet) + { + this.m_CurPos.nX = 0; + this.m_CurPos.nY = this.m_CurPos.nY + 1; + this.Normalize(); + if (this.m_LineTop.bFlag) + { + this.AddChar('\u3000', new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, 0), this.m_LineTop.nFontType, false, -1); + } + this.AddChar(c2, color, nFontType, false, nKeywordNo); + } + else + { + this.m_isOver = true; + } + } + } + } + } + this.Normalize(); + } + + // Token: 0x06000534 RID: 1332 RVA: 0x00014390 File Offset: 0x00012590 + public CharObject[] GetArray() + { + return this.m_ChrData; + } + + // Token: 0x06000535 RID: 1333 RVA: 0x00014398 File Offset: 0x00012598 + public void Full() + { + this.m_DispPos.nX = this.m_CurPos.nX; + this.m_DispPos.nY = this.m_CurPos.nY; + for (int i = 0; i < this.m_nChNum; i++) + { + if (this.m_ChrData[i].code != '\u3000') + { + if (this.m_ChrData[i].code != ' ') + { + if (this.m_ChrData[i].code != '\0') + { + this.m_ChrData[i].color.a = byte.MaxValue; + } + } + } + } + this.NormalizeKeyCursor(); + for (int j = 0; j < this.m_nChNum; j++) + { + if (this.m_ExtData[j].nKeywordNo >= 0) + { + this.m_ChrData[j].color.r = this.m_anKeyCol.r; + this.m_ChrData[j].color.g = this.m_anKeyCol.g; + this.m_ChrData[j].color.b = this.m_anKeyCol.b; + } + } + this.m_KeyCursor.UpdateKeyCursor(); + this.SetWordFlag(); + } + + // Token: 0x06000536 RID: 1334 RVA: 0x000144E0 File Offset: 0x000126E0 + public bool IsFull() + { + return this.m_DispPos.nX == this.m_CurPos.nX && this.m_DispPos.nY == this.m_CurPos.nY; + } + + // Token: 0x06000537 RID: 1335 RVA: 0x0001451C File Offset: 0x0001271C + public int GetCursorPosX() + { + return this.m_DrawPos.nX + this.m_CurSize.nCx; + } + + // Token: 0x06000538 RID: 1336 RVA: 0x00014538 File Offset: 0x00012738 + public int GetCursorPosY() + { + return this.m_DrawPos.nY + this.m_CurSize.nCy; + } + + // Token: 0x06000539 RID: 1337 RVA: 0x00014554 File Offset: 0x00012754 + public void SetAnimSpeed(int nSpeed, int nWait) + { + this.m_Anim.nSpeed = nSpeed; + this.m_Anim.nWait = nWait; + } + + // Token: 0x0600053A RID: 1338 RVA: 0x00014570 File Offset: 0x00012770 + public string SaveText() + { + string text = string.Empty; + for (int i = 0; i < this.m_ChNum.nCy; i++) + { + if (this.GetChrInfo(0, i).code != '\0') + { + for (int j = 0; j < this.m_ChNum.nCx; j++) + { + CharObject chrInfo = this.GetChrInfo(j, i); + if (chrInfo.code == '\0') + { + break; + } + text += chrInfo.code; + } + text += '\n'; + } + } + return text; + } + + // Token: 0x0600053B RID: 1339 RVA: 0x0001460C File Offset: 0x0001280C + public void ChangeClipSize(int nClipW, int nClipH, int nClipWEx) + { + this.m_Clip.nCx = nClipW; + this.m_Clip.nCy = nClipH; + this.m_nClipWEx = nClipWEx; + } + + // Token: 0x0600053C RID: 1340 RVA: 0x00014630 File Offset: 0x00012830 + public void EnableAutoReturn(bool bOn) + { + this.m_isAutoRet = bOn; + } + + // Token: 0x0600053D RID: 1341 RVA: 0x0001463C File Offset: 0x0001283C + public void ChangePos(int nX, int nY, int nZ, bool bUpdate = false) + { + this.m_DrawPos.SetPos(nX, nY); + this.m_nZ = nZ; + if (bUpdate) + { + this.Normalize(); + } + } + + // Token: 0x0600053E RID: 1342 RVA: 0x00014660 File Offset: 0x00012860 + public void SetColor(byte nR, byte nG, byte nB) + { + this.m_anDefCol = new Color32(nR, nG, nB, byte.MaxValue); + for (int i = 0; i < this.m_nChNum; i++) + { + if (this.m_ExtData[i].nKeywordNo < 0) + { + this.m_ChrData[i].color.r = this.m_anDefCol.r; + this.m_ChrData[i].color.g = this.m_anDefCol.g; + this.m_ChrData[i].color.b = this.m_anDefCol.b; + } + else + { + this.m_ChrData[i].color.r = this.m_anKeyCol.r; + this.m_ChrData[i].color.g = this.m_anKeyCol.g; + this.m_ChrData[i].color.b = this.m_anKeyCol.b; + } + } + } + + // Token: 0x0600053F RID: 1343 RVA: 0x00014760 File Offset: 0x00012960 + public bool IsOver() + { + return this.m_isOver; + } + + // Token: 0x06000540 RID: 1344 RVA: 0x00014768 File Offset: 0x00012968 + public void EnableLineTopProc(bool bOn) + { + this.m_LineTop.bOn = bOn; + } + + // Token: 0x06000541 RID: 1345 RVA: 0x00014778 File Offset: 0x00012978 + public bool MoveKeyCursor(int nVec) + { + this.m_KeyCursor.MoveKeyCursor(nVec); + return true; + } + + // Token: 0x06000542 RID: 1346 RVA: 0x00014788 File Offset: 0x00012988 + public int GetKeyNum() + { + return this.m_KeyCursor.Num; + } + + // Token: 0x06000543 RID: 1347 RVA: 0x00014798 File Offset: 0x00012998 + public void ResetKeySel() + { + this.m_KeyCursor.ResetKeySel(); + } + + // Token: 0x06000544 RID: 1348 RVA: 0x000147A8 File Offset: 0x000129A8 + public string GetWordString(int nIndex) + { + Qoo.Debug.Assert(nIndex < this.GetKeyNum()); + string text = string.Empty; + for (int i = 0; i < this.m_nChNum; i++) + { + if ((int)this.m_ExtData[i].nKeywordNo == nIndex) + { + text += this.m_ChrData[i].code; + } + } + return text; + } + + // Token: 0x06000545 RID: 1349 RVA: 0x00014810 File Offset: 0x00012A10 + public string GetSelectedWordString() + { + if (this.m_KeyCursor.Select < 0) + { + return string.Empty; + } + return this.GetWordString(this.m_KeyCursor.Select); + } + + // Token: 0x06000546 RID: 1350 RVA: 0x00014848 File Offset: 0x00012A48 + public void SetWordFlag() + { + for (int i = 0; i < this.m_KeyCursor.Num; i++) + { + SysData.SetReadRef(this.GetWordString(i)); + } + } + + // Token: 0x06000547 RID: 1351 RVA: 0x00014880 File Offset: 0x00012A80 + public void SetKeyTxtColor(byte nR, byte nG, byte nB) + { + this.m_anKeyCol = new Color32(nR, nG, nB, byte.MaxValue); + } + + // Token: 0x06000548 RID: 1352 RVA: 0x00014898 File Offset: 0x00012A98 + public void SetKeyCurColor(byte r, byte g, byte b, byte a) + { + this.m_KeyCursor.CursorColor = new Color32(r, g, b, a); + } + + // Token: 0x06000549 RID: 1353 RVA: 0x000148B0 File Offset: 0x00012AB0 + public void SetKeyBgColor(byte r, byte g, byte b, byte a) + { + this.m_KeyCursor.BgColor = new Color32(r, g, b, a); + } + + // Token: 0x0600054A RID: 1354 RVA: 0x000148C8 File Offset: 0x00012AC8 + private bool AddChar(char chCode, Color32 color, MSGFONTSIZE nFontType, bool bUdrExt, int nKeywordNo) + { + if (this.m_CurSize.nCx < 0 || this.m_CurSize.nCy < 0) + { + return false; + } + BMGlyph glyph = this.font.Font.GetGlyph((int)chCode); + if (glyph == null) + { + return false; + } + int nSize = FontDef.GetFontInfo(nFontType).nSize; + float num = (float)glyph.advance / (float)this.font.Font.charSize; + int num2 = (int)((float)nSize * num); + int num3 = (int)((float)nSize * ((float)glyph.height / (float)this.font.Font.charSize)); + num2 = (int)((float)num2 * FontDef.GetFontInfo(nFontType).fStretch); + num3 = (int)((float)num3 * FontDef.GetFontInfo(nFontType).fStretch); + if (this.m_CurPos.nY >= this.m_ChNum.nCy) + { + this.m_isOver = true; + return true; + } + if (bUdrExt) + { + if (this.m_CurSize.nCx + num2 > this.m_Clip.nCx + this.m_nClipWEx) + { + return false; + } + } + else if (this.m_CurSize.nCx + num2 > this.m_Clip.nCx) + { + if (this.IsRunHyphenation(chCode)) + { + this.AddChar('-', color, nFontType, true, nKeywordNo); + } + return false; + } + if (this.m_CurPos.nX >= this.m_ChNum.nCx) + { + this.m_isOver = true; + return true; + } + if (this.m_isKerning && this.m_CurPos.nX > 0) + { + CharObject chrInfo = this.GetChrInfo(this.m_CurPos.nX - 1, this.m_CurPos.nY); + if (chrInfo != null) + { + this.m_DrawPos.nX = this.m_DrawPos.nX + (int)((float)glyph.GetKerning((int)chrInfo.code, true) * num); + } + } + int x = this.m_DrawPos.nX + this.m_CurSize.nCx; + CharObject chrInfo2 = this.GetChrInfo(); + chrInfo2.code = chCode; + chrInfo2.color = color; + chrInfo2.X = x; + chrInfo2.Y = 0; + chrInfo2.height = nSize; + chrInfo2.width = num2; + chrInfo2.size = nSize; + chrInfo2.glyph = glyph; + chrInfo2.color.r = this.m_anDefCol.r; + chrInfo2.color.g = this.m_anDefCol.g; + chrInfo2.color.b = this.m_anDefCol.b; + chrInfo2.color.a = 0; + CMessageText.EXTINFO extInfo = this.GetExtInfo(); + extInfo.nKeywordNo = (short)nKeywordNo; + this.m_CurPos.nX = this.m_CurPos.nX + 1; + this.m_CurSize.nCx = this.m_CurSize.nCx + num2; + return true; + } + + // Token: 0x0600054B RID: 1355 RVA: 0x00014B94 File Offset: 0x00012D94 + private bool IsRunHyphenation(char chCode) + { + if (CMessageText.IsHyphenation) + { + CharObject lastChrInfo = this.GetLastChrInfo(this.m_CurPos.nY); + return Regex.IsMatch(lastChrInfo.code.ToString(), "^[a-zA-Z0-9]+$") && Regex.IsMatch(chCode.ToString(), "^[a-zA-Z0-9]+$"); + } + return false; + } + + // Token: 0x0600054C RID: 1356 RVA: 0x00014BF0 File Offset: 0x00012DF0 + private void Normalize() + { + if (this.m_CurSize.nCx < 0 || this.m_CurSize.nCy < 0) + { + return; + } + this.m_CurSize.nCy = 0; + for (int i = 0; i <= this.m_CurPos.nY; i++) + { + if (i >= this.m_ChNum.nCy) + { + break; + } + this.m_CurSize.nCx = 0; + if (this.GetChrInfo(0, i).code != '\0') + { + int num = 0; + for (int j = 0; j < this.m_ChNum.nCx; j++) + { + CharObject chrInfo = this.GetChrInfo(j, i); + if (chrInfo.code == '\0') + { + break; + } + if (num < chrInfo.Height) + { + num = chrInfo.Height; + } + } + if (this.m_CurSize.nCy + num > this.m_Clip.nCy) + { + for (int k = 0; k < this.m_ChNum.nCx; k++) + { + this.GetChrInfo(k, i).code = '\0'; + } + this.m_CurSize.nCx = -1; + this.m_CurSize.nCy = -1; + this.m_isOver = true; + break; + } + for (int l = 0; l < this.m_ChNum.nCx; l++) + { + CharObject chrInfo2 = this.GetChrInfo(l, i); + if (chrInfo2.code == '\0') + { + break; + } + chrInfo2.Y = this.m_DrawPos.nY + this.m_CurSize.nCy + (num - chrInfo2.Height); + this.m_CurSize.nCx = this.m_CurSize.nCx + chrInfo2.Width; + } + this.m_CurSize.nCy = this.m_CurSize.nCy + num; + this.m_CurSize.nCy = this.m_CurSize.nCy + 4; + } + } + } + + // Token: 0x0600054D RID: 1357 RVA: 0x00014DE0 File Offset: 0x00012FE0 + private void NormalizeKeyCursor() + { + this.m_KeyCursor.Reset(false); + if (this.m_CurSize.nCx < 0 || this.m_CurSize.nCy < 0) + { + return; + } + short num = -1; + for (int i = 0; i <= this.m_CurPos.nY; i++) + { + if (i >= this.m_ChNum.nCy) + { + break; + } + if (this.GetChrInfo(0, i).code != '\0') + { + for (int j = 0; j < this.m_ChNum.nCx; j++) + { + CharObject chrInfo = this.GetChrInfo(j, i); + if (chrInfo.code == '\0') + { + break; + } + CMessageText.EXTINFO extInfo = this.GetExtInfo(j, i); + if (extInfo.nKeywordNo != num && num >= 0) + { + num = -1; + this.m_KeyCursor.Add(); + } + else if (num >= 0) + { + this.m_KeyCursor.SetCursorSize(chrInfo.X + chrInfo.Width, chrInfo.Height, false); + } + if (extInfo.nKeywordNo >= 0 && num < 0) + { + this.m_KeyCursor.SetCursorPos(chrInfo.X, chrInfo.Y, this.m_nZ); + this.m_KeyCursor.SetCursorSize(chrInfo.Width, chrInfo.Height, true); + num = extInfo.nKeywordNo; + this.m_KeyCursor.SetCursorGroup((int)extInfo.nKeywordNo); + if (this.m_KeyCursor.Num < (int)(extInfo.nKeywordNo + 1)) + { + this.m_KeyCursor.Num = (int)(extInfo.nKeywordNo + 1); + } + } + } + if (num >= 0) + { + num = -1; + this.m_KeyCursor.Add(); + } + } + } + } + + // Token: 0x0600054E RID: 1358 RVA: 0x00014F98 File Offset: 0x00013198 + private CharObject GetChrInfo(int x, int y) + { + Qoo.Debug.Assert(x < this.m_ChNum.nCx && y < this.m_ChNum.nCy); + return this.m_ChrData[y * this.m_ChNum.nCx + x]; + } + + // Token: 0x0600054F RID: 1359 RVA: 0x00014FD8 File Offset: 0x000131D8 + private CharObject GetChrInfo() + { + return this.GetChrInfo(this.m_CurPos.nX, this.m_CurPos.nY); + } + + // Token: 0x06000550 RID: 1360 RVA: 0x00014FF8 File Offset: 0x000131F8 + private CharObject GetLastChrInfo(int y) + { + for (int i = this.m_ChNum.nCx - 1; i >= 0; i--) + { + CharObject chrInfo = this.GetChrInfo(i, y); + if (chrInfo != null && chrInfo.code != '\0') + { + return chrInfo; + } + } + return null; + } + + // Token: 0x06000551 RID: 1361 RVA: 0x00015040 File Offset: 0x00013240 + private CMessageText.EXTINFO GetExtInfo(int x, int y) + { + Qoo.Debug.Assert(x < this.m_ChNum.nCx && y < this.m_ChNum.nCy); + return this.m_ExtData[y * this.m_ChNum.nCx + x]; + } + + // Token: 0x06000552 RID: 1362 RVA: 0x00015080 File Offset: 0x00013280 + private CMessageText.EXTINFO GetExtInfo() + { + return this.GetExtInfo(this.m_CurPos.nX, this.m_CurPos.nY); + } + + // Token: 0x06000553 RID: 1363 RVA: 0x000150A0 File Offset: 0x000132A0 + private bool CheckSpCode(char code) + { + return this.SpCode.Contains(code); + } + + // Token: 0x06000554 RID: 1364 RVA: 0x000150B0 File Offset: 0x000132B0 + private bool CheckLineTopCode(char code) + { + return this.LineCode.Contains(code); + } + + // Token: 0x06000555 RID: 1365 RVA: 0x000150C0 File Offset: 0x000132C0 + internal string GetMessage() + { + string text = string.Empty; + for (int i = 0; i < this.m_ChNum.nCy; i++) + { + for (int j = 0; j < this.m_ChNum.nCx; j++) + { + CharObject chrInfo = this.GetChrInfo(j, i); + if (chrInfo.code != '\0') + { + text += chrInfo.code; + } + } + if (i < this.m_ChNum.nCy - 1) + { + text += "\n"; + } + } + return text; + } + + // Token: 0x040003D4 RID: 980 + private const int CURSP_MAX = 8; + + // Token: 0x040003D5 RID: 981 + private const char ZEN_SPACE = '\u3000'; + + // Token: 0x040003D6 RID: 982 + public static bool EnabelLINETOP_PROC = true; + + // Token: 0x040003D7 RID: 983 + private UIFont font; + + // Token: 0x040003D8 RID: 984 + private CharObject[] m_ChrData; + + // Token: 0x040003D9 RID: 985 + private CMessageText.EXTINFO[] m_ExtData; + + // Token: 0x040003DA RID: 986 + private int m_nZ; + + // Token: 0x040003DB RID: 987 + private CMessageText.INT_POS m_DrawPos; + + // Token: 0x040003DC RID: 988 + private CMessageText.INT_SIZE m_ChNum; + + // Token: 0x040003DD RID: 989 + private CMessageText.INT_POS m_CurPos; + + // Token: 0x040003DE RID: 990 + private CMessageText.INT_SIZE m_CurSize; + + // Token: 0x040003DF RID: 991 + private CMessageText.INT_POS m_DispPos; + + // Token: 0x040003E0 RID: 992 + private CMessageText.INT_SIZE m_Clip; + + // Token: 0x040003E1 RID: 993 + private int m_nClipWEx; + + // Token: 0x040003E2 RID: 994 + private int m_nChNum; + + // Token: 0x040003E3 RID: 995 + private CMessageText.ANIMDATA m_Anim; + + // Token: 0x040003E4 RID: 996 + private bool m_isAutoRet; + + // Token: 0x040003E5 RID: 997 + private Color32 m_anDefCol = new Color32(0, 0, 0, byte.MaxValue); + + // Token: 0x040003E6 RID: 998 + private Color32 m_anKeyCol = new Color32(0, 0, 0, byte.MaxValue); + + // Token: 0x040003E7 RID: 999 + private bool m_isOver; + + // Token: 0x040003E8 RID: 1000 + private CMessageText.LINETOPINFO m_LineTop; + + // Token: 0x040003E9 RID: 1001 + private CursorData m_KeyCursor = new CursorData(); + + // Token: 0x040003EA RID: 1002 + private List SpCode = new List(); + + // Token: 0x040003EB RID: 1003 + private List LineCode = new List(); + + // Token: 0x040003EC RID: 1004 + private bool m_isKerning; + + // Token: 0x040003ED RID: 1005 + private static bool m_isHyphenation; + + // Token: 0x020000B3 RID: 179 + private struct INT_POS + { + // Token: 0x06000556 RID: 1366 RVA: 0x00015154 File Offset: 0x00013354 + public void SetPos(int x, int y) + { + this.nX = x; + this.nY = y; + } + + // Token: 0x040003EE RID: 1006 + public int nX; + + // Token: 0x040003EF RID: 1007 + public int nY; + } + + // Token: 0x020000B4 RID: 180 + private struct INT_SIZE + { + // Token: 0x06000557 RID: 1367 RVA: 0x00015164 File Offset: 0x00013364 + public void SetSize(int x, int y) + { + this.nCx = x; + this.nCy = y; + } + + // Token: 0x040003F0 RID: 1008 + public int nCx; + + // Token: 0x040003F1 RID: 1009 + public int nCy; + } + + // Token: 0x020000B5 RID: 181 + private class EXTINFO + { + // Token: 0x040003F2 RID: 1010 + public short nKeywordNo; + } + + // Token: 0x020000B6 RID: 182 + private struct ANIMDATA + { + // Token: 0x040003F3 RID: 1011 + public int nSpeed; + + // Token: 0x040003F4 RID: 1012 + public int nWait; + + // Token: 0x040003F5 RID: 1013 + public int nCnt; + } + + // Token: 0x020000B7 RID: 183 + private struct LINETOPINFO + { + // Token: 0x040003F6 RID: 1014 + public bool bOn; + + // Token: 0x040003F7 RID: 1015 + public bool bFlag; + + // Token: 0x040003F8 RID: 1016 + public MSGFONTSIZE nFontType; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CSVCGList.cs b/Assets/Scripts/Assembly-CSharp/CSVCGList.cs new file mode 100644 index 000000000..30ec98b1a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CSVCGList.cs @@ -0,0 +1,78 @@ +using System; +using Qoo.Game; + +// Token: 0x02000162 RID: 354 +public class CSVCGList +{ + // Token: 0x06000A2A RID: 2602 RVA: 0x0002D4EC File Offset: 0x0002B6EC + public CSVCGList(string[] values) + { + int num = values.Length - 2; + this.charaIndex = -1; + this.charaId = values[0]; + this.thumbnail = values[1]; + this.cgs = new CSVCGList.CG[num]; + for (int i = 0; i < num; i++) + { + this.cgs[i] = new CSVCGList.CG(values[i + 2]); + } + this.collectCount = 0; + this.collectTotal = num; + this.charaIndex = CSVManager.calcCharaIndex(this.charaId); + } + + // Token: 0x06000A2B RID: 2603 RVA: 0x0002D570 File Offset: 0x0002B770 + public void Update() + { + this.collectCount = 0; + foreach (CSVCGList.CG cg in this.cgs) + { + cg.Update(); + if (cg.read) + { + this.collectCount++; + } + } + } + + // Token: 0x0400084B RID: 2123 + public int charaIndex; + + // Token: 0x0400084C RID: 2124 + public string charaId; + + // Token: 0x0400084D RID: 2125 + public string thumbnail; + + // Token: 0x0400084E RID: 2126 + public CSVCGList.CG[] cgs; + + // Token: 0x0400084F RID: 2127 + public int collectCount; + + // Token: 0x04000850 RID: 2128 + public int collectTotal; + + // Token: 0x02000163 RID: 355 + public class CG + { + // Token: 0x06000A2C RID: 2604 RVA: 0x0002D5C4 File Offset: 0x0002B7C4 + public CG(string fpath_) + { + this.fpath = fpath_; + this.read = false; + } + + // Token: 0x06000A2D RID: 2605 RVA: 0x0002D5DC File Offset: 0x0002B7DC + public void Update() + { + this.read = SysData.IsReadCG(this.fpath); + } + + // Token: 0x04000851 RID: 2129 + public string fpath; + + // Token: 0x04000852 RID: 2130 + public bool read; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CSVCGListHolder.cs b/Assets/Scripts/Assembly-CSharp/CSVCGListHolder.cs new file mode 100644 index 000000000..282ef2c64 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CSVCGListHolder.cs @@ -0,0 +1,447 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x02000164 RID: 356 +public class CSVCGListHolder +{ + // Token: 0x06000A2E RID: 2606 RVA: 0x0002D5F0 File Offset: 0x0002B7F0 + public CSVCGListHolder() + { + this.charaData = CSVCGListHolder.SplitChara(); + this.allCharaCollect = 0; + } + + // Token: 0x17000145 RID: 325 + // (get) Token: 0x06000A2F RID: 2607 RVA: 0x0002D60C File Offset: 0x0002B80C + public int AllCharaCollect + { + get + { + return this.allCharaCollect; + } + } + + // Token: 0x06000A30 RID: 2608 RVA: 0x0002D614 File Offset: 0x0002B814 + public CSVCGListHolder.CharaData GetCharaIndex(int charaIndex) + { + return this.charaData[charaIndex]; + } + + // Token: 0x06000A31 RID: 2609 RVA: 0x0002D620 File Offset: 0x0002B820 + public void UpdateGallery() + { + int num = 0; + int num2 = 0; + foreach (CSVCGListHolder.CharaData charaData in this.charaData) + { + charaData.UpdateGallery(); + num += charaData.CollectCount; + num2 += charaData.CollectTotal; + } + this.allCharaCollect = ((num2 == 0) ? 0 : (num * 100 / num2)); + } + + // Token: 0x06000A32 RID: 2610 RVA: 0x0002D688 File Offset: 0x0002B888 + private static List Read() + { + List list = new List(); + TextAsset textAsset = Resources.Load("CSV/CGLIST") as TextAsset; + string[] array = textAsset.text.Split(new char[] + { + '\n' + }); + for (int i = 1; i < array.Length; i++) + { + string text = array[i]; + string text2 = text.Replace("\"", string.Empty).Replace("\r", string.Empty); + string[] array2 = text2.Split(new char[] + { + ',' + }); + if (array2.Length >= 2) + { + list.Add(new CSVCGList(array2)); + } + } + Resources.UnloadAsset(textAsset); + return list; + } + + // Token: 0x06000A33 RID: 2611 RVA: 0x0002D734 File Offset: 0x0002B934 + private static CSVCGListHolder.CharaData[] SplitChara() + { + List list = CSVCGListHolder.Read(); + List list2 = new List(); + int charaIndex; + for (charaIndex = 0; charaIndex < 11; charaIndex++) + { + list2.Add(new CSVCGListHolder.CharaData(list.FindAll((CSVCGList obj) => obj.charaIndex == charaIndex))); + } + return list2.ToArray(); + } + + // Token: 0x04000853 RID: 2131 + private CSVCGListHolder.CharaData[] charaData; + + // Token: 0x04000854 RID: 2132 + private int allCharaCollect; + + // Token: 0x02000165 RID: 357 + public class CGSameThumbnail + { + // Token: 0x06000A34 RID: 2612 RVA: 0x0002D7A0 File Offset: 0x0002B9A0 + public CGSameThumbnail(int index_, CSVCGList data) + { + this.index = index_; + this.fpath = new string[data.collectCount]; + this.current = 0; + int num = 0; + foreach (CSVCGList.CG cg in data.cgs) + { + if (cg.read) + { + this.fpath[num++] = cg.fpath; + } + } + } + + // Token: 0x06000A35 RID: 2613 RVA: 0x0002D810 File Offset: 0x0002BA10 + public void ResetCurrent() + { + this.current = 0; + } + + // Token: 0x06000A36 RID: 2614 RVA: 0x0002D81C File Offset: 0x0002BA1C + public string GetCurrentFPath() + { + return this.fpath[this.current]; + } + + // Token: 0x06000A37 RID: 2615 RVA: 0x0002D82C File Offset: 0x0002BA2C + public string GetUpFPath() + { + return this.fpath[this.calcUp()]; + } + + // Token: 0x06000A38 RID: 2616 RVA: 0x0002D83C File Offset: 0x0002BA3C + public string GetDownFPath() + { + return this.fpath[this.calcDown()]; + } + + // Token: 0x06000A39 RID: 2617 RVA: 0x0002D84C File Offset: 0x0002BA4C + public void Up() + { + this.current = this.calcUp(); + } + + // Token: 0x06000A3A RID: 2618 RVA: 0x0002D85C File Offset: 0x0002BA5C + public void Down() + { + this.current = this.calcDown(); + } + + // Token: 0x06000A3B RID: 2619 RVA: 0x0002D86C File Offset: 0x0002BA6C + private int calcUp() + { + return (this.current != 0) ? (this.current - 1) : (this.fpath.Length - 1); + } + + // Token: 0x06000A3C RID: 2620 RVA: 0x0002D89C File Offset: 0x0002BA9C + private int calcDown() + { + return (this.current != this.fpath.Length - 1) ? (this.current + 1) : 0; + } + + // Token: 0x04000855 RID: 2133 + public int index; + + // Token: 0x04000856 RID: 2134 + public string[] fpath; + + // Token: 0x04000857 RID: 2135 + public int current; + } + + // Token: 0x02000166 RID: 358 + public class CGLink + { + // Token: 0x06000A3D RID: 2621 RVA: 0x0002D8C4 File Offset: 0x0002BAC4 + public CGLink(CSVCGList[] datas) + { + this.thumbnails = CSVCGListHolder.CGLink.makeThumbnails(datas); + this.page = 0; + } + + // Token: 0x06000A3E RID: 2622 RVA: 0x0002D8E0 File Offset: 0x0002BAE0 + private static CSVCGListHolder.CGSameThumbnail[] makeThumbnails(CSVCGList[] datas) + { + List list = new List(); + int num = 0; + foreach (CSVCGList csvcglist in datas) + { + if (csvcglist.collectCount != 0) + { + list.Add(new CSVCGListHolder.CGSameThumbnail(num, csvcglist)); + } + num++; + } + return list.ToArray(); + } + + // Token: 0x06000A3F RID: 2623 RVA: 0x0002D938 File Offset: 0x0002BB38 + public void SetPageByIndex(int index) + { + int num = 0; + foreach (CSVCGListHolder.CGSameThumbnail cgsameThumbnail in this.thumbnails) + { + if (cgsameThumbnail.index == index) + { + this.page = num; + return; + } + num++; + } + } + + // Token: 0x06000A40 RID: 2624 RVA: 0x0002D980 File Offset: 0x0002BB80 + public int GetNowIndex() + { + return this.thumbnails[this.page].index; + } + + // Token: 0x06000A41 RID: 2625 RVA: 0x0002D994 File Offset: 0x0002BB94 + public string GetCurrentFPath() + { + return this.thumbnails[this.page].GetCurrentFPath(); + } + + // Token: 0x06000A42 RID: 2626 RVA: 0x0002D9A8 File Offset: 0x0002BBA8 + public string GetUpFPath() + { + return (!this.ud) ? this.GetCurrentFPath() : this.thumbnails[this.page].GetUpFPath(); + } + + // Token: 0x06000A43 RID: 2627 RVA: 0x0002D9E0 File Offset: 0x0002BBE0 + public string GetDownFPath() + { + return (!this.ud) ? this.GetCurrentFPath() : this.thumbnails[this.page].GetDownFPath(); + } + + // Token: 0x06000A44 RID: 2628 RVA: 0x0002DA18 File Offset: 0x0002BC18 + public string GetLeftFPath() + { + return (!this.lr) ? this.GetCurrentFPath() : this.thumbnails[this.calcLeft()].GetCurrentFPath(); + } + + // Token: 0x06000A45 RID: 2629 RVA: 0x0002DA50 File Offset: 0x0002BC50 + public string GetRightFPath() + { + return (!this.lr) ? this.GetCurrentFPath() : this.thumbnails[this.calcRight()].GetCurrentFPath(); + } + + // Token: 0x06000A46 RID: 2630 RVA: 0x0002DA88 File Offset: 0x0002BC88 + public void Up() + { + this.thumbnails[this.page].Up(); + } + + // Token: 0x06000A47 RID: 2631 RVA: 0x0002DA9C File Offset: 0x0002BC9C + public void Down() + { + this.thumbnails[this.page].Down(); + } + + // Token: 0x06000A48 RID: 2632 RVA: 0x0002DAB0 File Offset: 0x0002BCB0 + public void Left() + { + int num = this.page; + this.page = this.calcLeft(); + if (num != this.page) + { + this.thumbnails[num].ResetCurrent(); + } + } + + // Token: 0x06000A49 RID: 2633 RVA: 0x0002DAEC File Offset: 0x0002BCEC + public void Right() + { + int num = this.page; + this.page = this.calcRight(); + if (num != this.page) + { + this.thumbnails[num].ResetCurrent(); + } + } + + // Token: 0x06000A4A RID: 2634 RVA: 0x0002DB28 File Offset: 0x0002BD28 + private int calcLeft() + { + return (this.page != 0) ? (this.page - 1) : (this.thumbnails.Length - 1); + } + + // Token: 0x06000A4B RID: 2635 RVA: 0x0002DB58 File Offset: 0x0002BD58 + private int calcRight() + { + return (this.page != this.thumbnails.Length - 1) ? (this.page + 1) : 0; + } + + // Token: 0x17000146 RID: 326 + // (get) Token: 0x06000A4C RID: 2636 RVA: 0x0002DB80 File Offset: 0x0002BD80 + public bool lr + { + get + { + return this.thumbnails.Length > 1; + } + } + + // Token: 0x17000147 RID: 327 + // (get) Token: 0x06000A4D RID: 2637 RVA: 0x0002DB90 File Offset: 0x0002BD90 + public bool ud + { + get + { + return this.thumbnails[this.page].fpath.Length > 1; + } + } + + // Token: 0x04000858 RID: 2136 + public CSVCGListHolder.CGSameThumbnail[] thumbnails; + + // Token: 0x04000859 RID: 2137 + public int page; + } + + // Token: 0x02000167 RID: 359 + public class CharaData + { + // Token: 0x06000A4E RID: 2638 RVA: 0x0002DBAC File Offset: 0x0002BDAC + public CharaData(List dataList) + { + this.datas = dataList.ToArray(); + this.reads = new int[this.datas.Length, 2]; + this.collectCount = 0; + this.collectTotal = 1; + this.openCount = 0; + this.cgLink = null; + } + + // Token: 0x17000148 RID: 328 + // (get) Token: 0x06000A4F RID: 2639 RVA: 0x0002DBFC File Offset: 0x0002BDFC + public int Collect + { + get + { + return this.collectCount * 100 / this.collectTotal; + } + } + + // Token: 0x17000149 RID: 329 + // (get) Token: 0x06000A50 RID: 2640 RVA: 0x0002DC10 File Offset: 0x0002BE10 + public int CollectCount + { + get + { + return this.collectCount; + } + } + + // Token: 0x1700014A RID: 330 + // (get) Token: 0x06000A51 RID: 2641 RVA: 0x0002DC18 File Offset: 0x0002BE18 + public int CollectTotal + { + get + { + return this.collectTotal; + } + } + + // Token: 0x1700014B RID: 331 + // (get) Token: 0x06000A52 RID: 2642 RVA: 0x0002DC20 File Offset: 0x0002BE20 + public int Length + { + get + { + return this.datas.Length; + } + } + + // Token: 0x1700014C RID: 332 + // (get) Token: 0x06000A53 RID: 2643 RVA: 0x0002DC2C File Offset: 0x0002BE2C + public CSVCGListHolder.CGLink CgLink + { + get + { + return this.cgLink; + } + } + + // Token: 0x06000A54 RID: 2644 RVA: 0x0002DC34 File Offset: 0x0002BE34 + public bool Read(int index) + { + return index < this.reads.GetLength(0) && this.reads[index, 0] != 0; + } + + // Token: 0x06000A55 RID: 2645 RVA: 0x0002DC6C File Offset: 0x0002BE6C + public string Thumbnail(int index) + { + return (!this.Read(index)) ? "screen/cgmemory2/cgm_nothm" : ("viewer/cgmode/" + this.datas[index].thumbnail); + } + + // Token: 0x06000A56 RID: 2646 RVA: 0x0002DC9C File Offset: 0x0002BE9C + public string CollectString(int index) + { + return (!this.Read(index)) ? string.Empty : string.Format("{0}/{1}", this.reads[index, 0], this.reads[index, 1]); + } + + // Token: 0x06000A57 RID: 2647 RVA: 0x0002DCF0 File Offset: 0x0002BEF0 + public void UpdateGallery() + { + int num = 0; + this.collectCount = 0; + this.collectTotal = 0; + foreach (CSVCGList csvcglist in this.datas) + { + csvcglist.Update(); + this.collectCount += (this.reads[num, 0] = csvcglist.collectCount); + this.collectTotal += (this.reads[num, 1] = csvcglist.collectTotal); + if (csvcglist.collectCount != 0) + { + this.openCount++; + } + num++; + } + if (this.collectTotal == 0) + { + this.collectTotal = 1; + } + this.cgLink = new CSVCGListHolder.CGLink(this.datas); + } + + // Token: 0x06000A58 RID: 2648 RVA: 0x0002DDBC File Offset: 0x0002BFBC + public void OnSelect(int index) + { + UIValue.GalleryIndex = index; + } + + // Token: 0x0400085A RID: 2138 + private CSVCGList[] datas; + + // Token: 0x0400085B RID: 2139 + private int[,] reads; + + // Token: 0x0400085C RID: 2140 + private int collectCount; + + // Token: 0x0400085D RID: 2141 + private int collectTotal; + + // Token: 0x0400085E RID: 2142 + private int openCount; + + // Token: 0x0400085F RID: 2143 + private CSVCGListHolder.CGLink cgLink; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CSVManager.cs b/Assets/Scripts/Assembly-CSharp/CSVManager.cs new file mode 100644 index 000000000..8f703930a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CSVManager.cs @@ -0,0 +1,98 @@ +using System; + +// Token: 0x02000168 RID: 360 +public class CSVManager +{ + // Token: 0x06000A59 RID: 2649 RVA: 0x0002DDC4 File Offset: 0x0002BFC4 + private CSVManager() + { + this.csvCGListHolder = new CSVCGListHolder(); + this.csvSceneMemoryHolder = new CSVSceneMemoryHolder(); + } + + // Token: 0x1700014D RID: 333 + // (get) Token: 0x06000A5A RID: 2650 RVA: 0x0002DDE4 File Offset: 0x0002BFE4 + public static CSVManager Instance + { + get + { + return CSVManager.instance; + } + } + + // Token: 0x06000A5B RID: 2651 RVA: 0x0002DDEC File Offset: 0x0002BFEC + public static void init() + { + if (CSVManager.instance == null) + { + CSVManager.instance = new CSVManager(); + } + } + + // Token: 0x06000A5C RID: 2652 RVA: 0x0002DE04 File Offset: 0x0002C004 + public static int calcCharaIndex(string charaid_) + { + switch (charaid_) + { + case "blood": + return 0; + case "elliot": + return 1; + case "deedum": + return 2; + case "vivaldi": + return 3; + case "peter": + return 4; + case "ace": + return 5; + case "gowland": + return 6; + case "boris": + return 7; + case "julius": + return 8; + case "nightmare": + return 9; + case "other": + return 10; + } + return -1; + } + + // Token: 0x1700014E RID: 334 + // (get) Token: 0x06000A5D RID: 2653 RVA: 0x0002DF1C File Offset: 0x0002C11C + public CSVCGListHolder CsvCGListHolder + { + get + { + return this.csvCGListHolder; + } + } + + // Token: 0x1700014F RID: 335 + // (get) Token: 0x06000A5E RID: 2654 RVA: 0x0002DF24 File Offset: 0x0002C124 + public CSVSceneMemoryHolder CsvSceneMemoryHolder + { + get + { + return this.csvSceneMemoryHolder; + } + } + + // Token: 0x06000A5F RID: 2655 RVA: 0x0002DF2C File Offset: 0x0002C12C + public void UpdateGallery() + { + this.csvCGListHolder.UpdateGallery(); + this.csvSceneMemoryHolder.UpdateGallery(); + } + + // Token: 0x04000860 RID: 2144 + private static CSVManager instance; + + // Token: 0x04000861 RID: 2145 + private CSVCGListHolder csvCGListHolder; + + // Token: 0x04000862 RID: 2146 + private CSVSceneMemoryHolder csvSceneMemoryHolder; +} diff --git a/Assets/Scripts/Assembly-CSharp/CSVSceneMemory.cs b/Assets/Scripts/Assembly-CSharp/CSVSceneMemory.cs new file mode 100644 index 000000000..2d9950fd0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CSVSceneMemory.cs @@ -0,0 +1,63 @@ +using System; +using Qoo.Game; + +// Token: 0x02000169 RID: 361 +public class CSVSceneMemory +{ + // Token: 0x06000A60 RID: 2656 RVA: 0x0002DF44 File Offset: 0x0002C144 + public CSVSceneMemory(string[] values) + { + this.charaIndex = -1; + this.charaId = values[0]; + this.eventName = values[1]; + this.startKs = values[2].Replace(".ks", string.Empty); + this.startLabel = values[3]; + this.triggerKs = values[4].Replace(".ks", string.Empty); + this.triggerLabel = values[5]; + this.thumbnail = values[6].Replace(".tga", string.Empty); + this.route = ((values.Length >= 8) ? values[7] : string.Empty); + this.stay = ((values.Length >= 9) ? values[8] : string.Empty); + this.collectCount = 0; + this.charaIndex = CSVManager.calcCharaIndex(this.charaId); + } + + // Token: 0x06000A61 RID: 2657 RVA: 0x0002E01C File Offset: 0x0002C21C + public void Update() + { + bool flag = SysData.IsRead(this.triggerKs, (this.triggerLabel.Length != 0) ? this.triggerLabel.Substring(1) : string.Empty, 0); + this.collectCount = ((!flag) ? 0 : 1); + } + + // Token: 0x04000864 RID: 2148 + public int charaIndex; + + // Token: 0x04000865 RID: 2149 + public string charaId; + + // Token: 0x04000866 RID: 2150 + public string eventName; + + // Token: 0x04000867 RID: 2151 + public string startKs; + + // Token: 0x04000868 RID: 2152 + public string startLabel; + + // Token: 0x04000869 RID: 2153 + public string triggerKs; + + // Token: 0x0400086A RID: 2154 + public string triggerLabel; + + // Token: 0x0400086B RID: 2155 + public string thumbnail; + + // Token: 0x0400086C RID: 2156 + public string route; + + // Token: 0x0400086D RID: 2157 + public string stay; + + // Token: 0x0400086E RID: 2158 + public int collectCount; +} diff --git a/Assets/Scripts/Assembly-CSharp/CSVSceneMemoryHolder.cs b/Assets/Scripts/Assembly-CSharp/CSVSceneMemoryHolder.cs new file mode 100644 index 000000000..0277badd1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CSVSceneMemoryHolder.cs @@ -0,0 +1,194 @@ +using System; +using System.Collections.Generic; +using Qoo.Game; +using UnityEngine; + +// Token: 0x0200016A RID: 362 +public class CSVSceneMemoryHolder +{ + // Token: 0x06000A62 RID: 2658 RVA: 0x0002E070 File Offset: 0x0002C270 + public CSVSceneMemoryHolder() + { + this.charaData = CSVSceneMemoryHolder.SplitChara(); + this.allCharaCollect = 0; + } + + // Token: 0x17000150 RID: 336 + // (get) Token: 0x06000A63 RID: 2659 RVA: 0x0002E08C File Offset: 0x0002C28C + public int AllCharaCollect + { + get + { + return this.allCharaCollect; + } + } + + // Token: 0x06000A64 RID: 2660 RVA: 0x0002E094 File Offset: 0x0002C294 + public CSVSceneMemoryHolder.CharaData GetCharaIndex(int charaIndex) + { + return this.charaData[charaIndex]; + } + + // Token: 0x06000A65 RID: 2661 RVA: 0x0002E0A0 File Offset: 0x0002C2A0 + public void UpdateGallery() + { + int num = 0; + int num2 = 0; + foreach (CSVSceneMemoryHolder.CharaData charaData in this.charaData) + { + charaData.UpdateGallery(); + num += charaData.CollectCount; + num2 += charaData.CollectTotal; + } + this.allCharaCollect = ((num2 == 0) ? 0 : (num * 100 / num2)); + } + + // Token: 0x06000A66 RID: 2662 RVA: 0x0002E108 File Offset: 0x0002C308 + private static List Read() + { + List list = new List(); + TextAsset textAsset = Resources.Load("CSV/SCENE_MEMORY") as TextAsset; + string[] array = textAsset.text.Split(new char[] + { + '\n' + }); + for (int i = 1; i < array.Length; i++) + { + string text = array[i]; + string text2 = text.Replace("\"", string.Empty).Replace("\r", string.Empty); + string[] array2 = text2.Split(new char[] + { + ',' + }); + if (array2.Length >= 7) + { + list.Add(new CSVSceneMemory(array2)); + } + } + Resources.UnloadAsset(textAsset); + return list; + } + + // Token: 0x06000A67 RID: 2663 RVA: 0x0002E1B4 File Offset: 0x0002C3B4 + private static CSVSceneMemoryHolder.CharaData[] SplitChara() + { + List list = CSVSceneMemoryHolder.Read(); + List list2 = new List(); + int charaIndex; + for (charaIndex = 0; charaIndex < 11; charaIndex++) + { + list2.Add(new CSVSceneMemoryHolder.CharaData(list.FindAll((CSVSceneMemory obj) => obj.charaIndex == charaIndex))); + } + return list2.ToArray(); + } + + // Token: 0x0400086F RID: 2159 + private CSVSceneMemoryHolder.CharaData[] charaData; + + // Token: 0x04000870 RID: 2160 + private int allCharaCollect; + + // Token: 0x0200016B RID: 363 + public class CharaData + { + // Token: 0x06000A68 RID: 2664 RVA: 0x0002E220 File Offset: 0x0002C420 + public CharaData(List dataList) + { + this.datas = dataList.ToArray(); + this.reads = new int[this.datas.Length]; + this.collectCount = 0; + this.collectTotal = 1; + } + + // Token: 0x17000151 RID: 337 + // (get) Token: 0x06000A69 RID: 2665 RVA: 0x0002E258 File Offset: 0x0002C458 + public int Collect + { + get + { + return this.collectCount * 100 / this.collectTotal; + } + } + + // Token: 0x17000152 RID: 338 + // (get) Token: 0x06000A6A RID: 2666 RVA: 0x0002E26C File Offset: 0x0002C46C + public int CollectCount + { + get + { + return this.collectCount; + } + } + + // Token: 0x17000153 RID: 339 + // (get) Token: 0x06000A6B RID: 2667 RVA: 0x0002E274 File Offset: 0x0002C474 + public int CollectTotal + { + get + { + return this.collectTotal; + } + } + + // Token: 0x17000154 RID: 340 + // (get) Token: 0x06000A6C RID: 2668 RVA: 0x0002E27C File Offset: 0x0002C47C + public int Length + { + get + { + return this.datas.Length; + } + } + + // Token: 0x06000A6D RID: 2669 RVA: 0x0002E288 File Offset: 0x0002C488 + public bool Read(int index) + { + return index < this.reads.Length && this.reads[index] != 0; + } + + // Token: 0x06000A6E RID: 2670 RVA: 0x0002E2B8 File Offset: 0x0002C4B8 + public string Thumbnail(int index) + { + return (!this.Read(index)) ? "screen/cgmemory2/cgm_nothm" : ("viewer/memory/" + this.datas[index].thumbnail); + } + + // Token: 0x06000A6F RID: 2671 RVA: 0x0002E2E8 File Offset: 0x0002C4E8 + public void UpdateGallery() + { + int num = 0; + this.collectCount = 0; + this.collectTotal = 0; + foreach (CSVSceneMemory csvsceneMemory in this.datas) + { + csvsceneMemory.Update(); + this.collectCount += (this.reads[num] = csvsceneMemory.collectCount); + this.collectTotal++; + num++; + } + if (this.collectTotal == 0) + { + this.collectTotal = 1; + } + } + + // Token: 0x06000A70 RID: 2672 RVA: 0x0002E370 File Offset: 0x0002C570 + public void OnSelect(int index) + { + UIValue.GalleryIndex = index; + CSVSceneMemory csvsceneMemory = this.datas[index]; + GameData.MemoryMode_Create(csvsceneMemory.route, csvsceneMemory.stay, csvsceneMemory.startKs, csvsceneMemory.startLabel, csvsceneMemory.eventName); + } + + // Token: 0x04000871 RID: 2161 + private CSVSceneMemory[] datas; + + // Token: 0x04000872 RID: 2162 + private int[] reads; + + // Token: 0x04000873 RID: 2163 + private int collectCount; + + // Token: 0x04000874 RID: 2164 + private int collectTotal; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/CameraAspectOptimizer.cs b/Assets/Scripts/Assembly-CSharp/CameraAspectOptimizer.cs new file mode 100644 index 000000000..56f38b075 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CameraAspectOptimizer.cs @@ -0,0 +1,58 @@ +using System; +using UnityEngine; + +// Token: 0x02000191 RID: 401 +public class CameraAspectOptimizer : MonoBehaviour +{ + // Token: 0x06000B85 RID: 2949 RVA: 0x00030F58 File Offset: 0x0002F158 + private void Awake() + { + } + + // Token: 0x06000B86 RID: 2950 RVA: 0x00030F5C File Offset: 0x0002F15C + private void Start() + { + this.Target = base.GetComponent(); + Rect rect = this.calcAspect(this.widthAspect, this.heightAspect); + this.Target.rect = rect; + } + + // Token: 0x06000B87 RID: 2951 RVA: 0x00030F94 File Offset: 0x0002F194 + private Rect calcAspect(float width, float height) + { + float num = width / height; + float num2 = (float)Screen.width / (float)Screen.height; + float num3 = num2 / num; + Rect result = new Rect(0f, 0f, 1f, 1f); + if (1f > num3) + { + result.x = 0f; + result.y = (1f - num3) / 2f; + result.width = 1f; + result.height = num3; + } + else + { + float num4 = 1f / num3; + result.x = (1f - num4) / 2f; + result.y = 0f; + result.width = num4; + result.height = 1f; + } + return result; + } + + // Token: 0x06000B88 RID: 2952 RVA: 0x00031058 File Offset: 0x0002F258 + private void Update() + { + } + + // Token: 0x0400090A RID: 2314 + public float widthAspect = 16f; + + // Token: 0x0400090B RID: 2315 + public float heightAspect = 9f; + + // Token: 0x0400090C RID: 2316 + private Camera Target; +} diff --git a/Assets/Scripts/Assembly-CSharp/ChannelTexture.cs b/Assets/Scripts/Assembly-CSharp/ChannelTexture.cs new file mode 100644 index 000000000..785c9a752 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ChannelTexture.cs @@ -0,0 +1,37 @@ +using System; +using System.Runtime.InteropServices; +using UnityEngine; + +// Token: 0x02000139 RID: 313 +public class ChannelTexture +{ + // Token: 0x06000857 RID: 2135 RVA: 0x00025928 File Offset: 0x00023B28 + public ChannelTexture(int width, int height, TextureFormat format) + { + this.tex = new Texture2D(width, height, format, false); + this.tex.wrapMode = TextureWrapMode.Clamp; + this.ReAlloc(); + } + + // Token: 0x06000858 RID: 2136 + [DllImport("__Internal")] + private static extern void ReAllocTexture(int handle, int x, int y); + + // Token: 0x06000859 RID: 2137 RVA: 0x00025954 File Offset: 0x00023B54 + public void ReAlloc() + { + ChannelTexture.ReAllocTexture(this.tex.GetNativeTextureID(), this.tex.width, this.tex.height); + } + + // Token: 0x0600085A RID: 2138 RVA: 0x00025988 File Offset: 0x00023B88 + public void Destroy() + { + UnityEngine.Object.Destroy(this.tex); + } + + // Token: 0x0400074E RID: 1870 + private const string PLATFORM_DLL = "__Internal"; + + // Token: 0x0400074F RID: 1871 + public Texture2D tex; +} diff --git a/Assets/Scripts/Assembly-CSharp/CharObject.cs b/Assets/Scripts/Assembly-CSharp/CharObject.cs new file mode 100644 index 000000000..3b50c781b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CharObject.cs @@ -0,0 +1,86 @@ +using System; +using UnityEngine; + +// Token: 0x0200015B RID: 347 +public class CharObject +{ + // Token: 0x060009F6 RID: 2550 RVA: 0x0002C2D8 File Offset: 0x0002A4D8 + public CharObject() + { + } + + // Token: 0x060009F7 RID: 2551 RVA: 0x0002C2FC File Offset: 0x0002A4FC + public CharObject(char code_, int size_, int x_, int y_, BMGlyph glyph_, float scale_, Color32 col_) + { + this.X = x_; + this.Y = y_; + this.glyph = glyph_; + this.size = size_; + this.width = size_; + this.height = size_; + this.scale = scale_; + this.code = code_; + this.color = col_; + } + + // Token: 0x060009F8 RID: 2552 RVA: 0x0002C364 File Offset: 0x0002A564 + public CharObject(char code_, int size_, int x_, int y_) + { + this.X = x_; + this.Y = y_; + this.glyph = null; + this.size = size_; + this.width = size_; + this.height = size_; + this.scale = 0f; + this.code = code_; + this.color = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + } + + // Token: 0x1700013A RID: 314 + // (get) Token: 0x060009F9 RID: 2553 RVA: 0x0002C3E4 File Offset: 0x0002A5E4 + public int Width + { + get + { + return this.width; + } + } + + // Token: 0x1700013B RID: 315 + // (get) Token: 0x060009FA RID: 2554 RVA: 0x0002C3EC File Offset: 0x0002A5EC + public int Height + { + get + { + return this.height; + } + } + + // Token: 0x0400081A RID: 2074 + public int X; + + // Token: 0x0400081B RID: 2075 + public int Y; + + // Token: 0x0400081C RID: 2076 + public BMGlyph glyph; + + // Token: 0x0400081D RID: 2077 + public int width; + + // Token: 0x0400081E RID: 2078 + public int height; + + // Token: 0x0400081F RID: 2079 + public int size; + + // Token: 0x04000820 RID: 2080 + public char code; + + // Token: 0x04000821 RID: 2081 + public Color32 color = default(Color32); + + // Token: 0x04000822 RID: 2082 + public float scale; +} diff --git a/Assets/Scripts/Assembly-CSharp/CreateSprite.cs b/Assets/Scripts/Assembly-CSharp/CreateSprite.cs new file mode 100644 index 000000000..0fb73597e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CreateSprite.cs @@ -0,0 +1,117 @@ +using System; +using UnityEngine; + +// Token: 0x02000152 RID: 338 +public class CreateSprite : MonoBehaviour +{ + // Token: 0x06000969 RID: 2409 RVA: 0x00029AE8 File Offset: 0x00027CE8 + public static GameObject Create() + { + GameObject gameObject = new GameObject("sprite"); + MeshRenderer meshRenderer = gameObject.AddComponent(); + if (meshRenderer.material != null) + { + UnityEngine.Object.Destroy(meshRenderer.material); + } + meshRenderer.material = new Material(Resources.Load("Shader/Sprite/Sprite") as Shader); + meshRenderer.castShadows = false; + meshRenderer.receiveShadows = false; + MeshFilter meshFilter = gameObject.AddComponent(); + Mesh mesh = CreateSprite.GetMesh(); + meshFilter.sharedMesh = mesh; + return gameObject; + } + + // Token: 0x0600096A RID: 2410 RVA: 0x00029B60 File Offset: 0x00027D60 + public static GameObject CreateTextSprite() + { + GameObject gameObject = new GameObject("sprite"); + MeshRenderer meshRenderer = gameObject.AddComponent(); + if (meshRenderer.material != null) + { + UnityEngine.Object.Destroy(meshRenderer.material); + } + meshRenderer.material = new Material(Resources.Load("Shader/Sprite/TextSprite") as Shader); + meshRenderer.castShadows = false; + meshRenderer.receiveShadows = false; + MeshFilter meshFilter = gameObject.AddComponent(); + meshFilter.sharedMesh = new Mesh + { + name = "Text Sprite" + }; + return gameObject; + } + + // Token: 0x0600096B RID: 2411 RVA: 0x00029BE4 File Offset: 0x00027DE4 + private static Mesh GetMesh() + { + Mesh mesh = CreateSprite.CreateMesh(); + mesh.RecalculateBounds(); + mesh.Optimize(); + return mesh; + } + + // Token: 0x0600096C RID: 2412 RVA: 0x00029C04 File Offset: 0x00027E04 + private static Mesh CreateMesh() + { + Mesh mesh = new Mesh(); + mesh.name = "Sprite"; + mesh.vertices = CreateSprite.base_vertex; + mesh.triangles = CreateSprite.triangles; + mesh.uv = CreateSprite.uv; + mesh.RecalculateNormals(); + return mesh; + } + + // Token: 0x0600096D RID: 2413 RVA: 0x00029C4C File Offset: 0x00027E4C + public static void CreateSpriteCamera(GameObject obj, int ScreenH, bool IsSprite = true) + { + obj.transform.localPosition = new Vector3(0f, 0f, -1000f); + obj.transform.localScale = new Vector3(1f, 1f, 1f); + obj.camera.orthographic = true; + obj.camera.orthographicSize = (float)(ScreenH / 2); + obj.camera.nearClipPlane = 0f; + obj.camera.farClipPlane = 20000f; + obj.camera.renderingPath = RenderingPath.VertexLit; + obj.camera.clearFlags = CameraClearFlags.Color; + obj.camera.backgroundColor = new Color(0f, 0f, 0f, 1f); + if (IsSprite) + { + obj.camera.cullingMask &= 1 << LayerMask.NameToLayer("Sprite"); + obj.camera.gameObject.layer = LayerMask.NameToLayer("Sprite"); + } + else + { + obj.camera.cullingMask &= ~(1 << LayerMask.NameToLayer("Sprite")); + } + } + + // Token: 0x040007CE RID: 1998 + private static Vector3[] base_vertex = new Vector3[] + { + new Vector3(0f, 0f, 0f), + new Vector3(1f, 0f, 0f), + new Vector3(1f, -1f, 0f), + new Vector3(0f, -1f, 0f) + }; + + // Token: 0x040007CF RID: 1999 + private static int[] triangles = new int[] + { + 0, + 1, + 2, + 2, + 3, + 0 + }; + + // Token: 0x040007D0 RID: 2000 + private static Vector2[] uv = new Vector2[] + { + new Vector2(0f, 1f), + new Vector2(1f, 1f), + new Vector2(1f, 0f), + new Vector2(0f, 0f) + }; +} diff --git a/Assets/Scripts/Assembly-CSharp/CursorData.cs b/Assets/Scripts/Assembly-CSharp/CursorData.cs new file mode 100644 index 000000000..3dd624f8f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/CursorData.cs @@ -0,0 +1,242 @@ +using System; +using Qoo; +using UnityEngine; + +// Token: 0x020000AF RID: 175 +public class CursorData +{ + // Token: 0x170000B9 RID: 185 + // (get) Token: 0x0600050E RID: 1294 RVA: 0x000135C4 File Offset: 0x000117C4 + // (set) Token: 0x0600050F RID: 1295 RVA: 0x000135CC File Offset: 0x000117CC + public int Num + { + get + { + return this.nKeyNum; + } + set + { + this.nKeyNum = value; + } + } + + // Token: 0x170000BA RID: 186 + // (get) Token: 0x06000510 RID: 1296 RVA: 0x000135D8 File Offset: 0x000117D8 + // (set) Token: 0x06000511 RID: 1297 RVA: 0x000135E0 File Offset: 0x000117E0 + public int Select + { + get + { + return this.nSelectKey; + } + set + { + this.nSelectKey = value; + } + } + + // Token: 0x170000BB RID: 187 + // (get) Token: 0x06000512 RID: 1298 RVA: 0x000135EC File Offset: 0x000117EC + // (set) Token: 0x06000513 RID: 1299 RVA: 0x000135F4 File Offset: 0x000117F4 + public Color32 CursorColor + { + get + { + return this.colCur; + } + set + { + this.colCur = value; + } + } + + // Token: 0x170000BC RID: 188 + // (get) Token: 0x06000514 RID: 1300 RVA: 0x00013600 File Offset: 0x00011800 + // (set) Token: 0x06000515 RID: 1301 RVA: 0x00013608 File Offset: 0x00011808 + public Color32 BgColor + { + get + { + return this.colBg; + } + set + { + this.colBg = value; + } + } + + // Token: 0x06000516 RID: 1302 RVA: 0x00013614 File Offset: 0x00011814 + public void Init() + { + for (int i = 0; i < 8; i++) + { + this.ahSp[i] = Man2D.Sprite(string.Empty); + this.ahSp[i].A = 0; + this.ahSp[i].SetSize(0, 0); + this.ahSp[i].Show = true; + this.ahSp[i].SetName("CURSOR:" + i); + this.anKey[i] = -1; + } + this.nKeyNum = 0; + } + + // Token: 0x06000517 RID: 1303 RVA: 0x000136A0 File Offset: 0x000118A0 + public void Release() + { + if (Singleton.IsReady) + { + for (int i = 0; i < 8; i++) + { + Singleton.Instance.RemoveSprite(this.ahSp[i]); + this.ahSp[i] = null; + } + } + } + + // Token: 0x06000518 RID: 1304 RVA: 0x000136E8 File Offset: 0x000118E8 + public void Reset(bool isGroup = false) + { + foreach (UnitySprite unitySprite in this.ahSp) + { + unitySprite.A = 0; + } + this.nSpNum = 0; + this.nKeyNum = 0; + if (isGroup) + { + for (int num = 0; num != this.anKey.Length; num++) + { + this.anKey[num] = -1; + } + this.nSelectKey = -1; + } + } + + // Token: 0x06000519 RID: 1305 RVA: 0x00013758 File Offset: 0x00011958 + public void Add() + { + Qoo.Debug.Assert(this.nSpNum < this.ahSp.Length); + this.nSpNum++; + } + + // Token: 0x0600051A RID: 1306 RVA: 0x00013780 File Offset: 0x00011980 + public void SetCursorPos(int x, int y, int z) + { + Qoo.Debug.Assert(this.nSpNum < this.ahSp.Length); + UnitySprite unitySprite = this.ahSp[this.nSpNum]; + unitySprite.x = x; + unitySprite.y = y; + unitySprite.z = z; + } + + // Token: 0x0600051B RID: 1307 RVA: 0x000137C8 File Offset: 0x000119C8 + public void SetCursorSize(int w, int h, bool isSet = true) + { + Qoo.Debug.Assert(this.nSpNum < this.ahSp.Length); + UnitySprite unitySprite = this.ahSp[this.nSpNum]; + if (isSet) + { + unitySprite.w = w - unitySprite.x; + } + else + { + unitySprite.w = w; + } + unitySprite.h = h + 2; + } + + // Token: 0x0600051C RID: 1308 RVA: 0x00013824 File Offset: 0x00011A24 + public void SetCursorGroup(int nGroup) + { + Qoo.Debug.Assert(this.nSpNum < this.ahSp.Length); + this.anKey[this.nSpNum] = nGroup; + } + + // Token: 0x0600051D RID: 1309 RVA: 0x0001384C File Offset: 0x00011A4C + public void UpdateKeyCursor() + { + for (int i = 0; i < this.nSpNum; i++) + { + UnitySprite unitySprite = this.ahSp[i]; + if (this.anKey[i] == this.nSelectKey) + { + unitySprite.SetColor(this.colCur); + } + else + { + unitySprite.SetColor(this.colBg); + } + } + } + + // Token: 0x0600051E RID: 1310 RVA: 0x000138AC File Offset: 0x00011AAC + public bool MoveKeyCursor(int nVec) + { + if (this.nKeyNum <= 0) + { + return false; + } + if (this.nSelectKey < 0) + { + this.nSelectKey = 0; + } + else if (nVec > 0) + { + this.nSelectKey++; + if (this.nSelectKey >= this.nKeyNum) + { + this.nSelectKey = 0; + } + } + else if (nVec < 0) + { + this.nSelectKey--; + if (this.nSelectKey < 0) + { + this.nSelectKey = this.nKeyNum - 1; + } + } + this.UpdateKeyCursor(); + return true; + } + + // Token: 0x0600051F RID: 1311 RVA: 0x00013948 File Offset: 0x00011B48 + public void ResetKeySel() + { + this.nSelectKey = -1; + this.UpdateKeyCursor(); + } + + // Token: 0x06000520 RID: 1312 RVA: 0x00013958 File Offset: 0x00011B58 + public void Show(bool isShow) + { + foreach (UnitySprite unitySprite in this.ahSp) + { + unitySprite.Show = isShow; + } + } + + // Token: 0x040003B9 RID: 953 + private const int CURSP_MAX = 8; + + // Token: 0x040003BA RID: 954 + private UnitySprite[] ahSp = new UnitySprite[8]; + + // Token: 0x040003BB RID: 955 + private int[] anKey = new int[8]; + + // Token: 0x040003BC RID: 956 + private int nSpNum; + + // Token: 0x040003BD RID: 957 + private int nKeyNum; + + // Token: 0x040003BE RID: 958 + private int nSelectKey = -1; + + // Token: 0x040003BF RID: 959 + private Color32 colBg = new Color32(0, 0, 0, 0); + + // Token: 0x040003C0 RID: 960 + private Color32 colCur = new Color32(0, 0, 0, 0); +} diff --git a/Assets/Scripts/Assembly-CSharp/DEBUG_ID.cs b/Assets/Scripts/Assembly-CSharp/DEBUG_ID.cs new file mode 100644 index 000000000..c5558acd5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/DEBUG_ID.cs @@ -0,0 +1,182 @@ +using System; + +// Token: 0x020000BF RID: 191 +public enum DEBUG_ID +{ + // Token: 0x0400042A RID: 1066 + ID_ROOT = -1, + // Token: 0x0400042B RID: 1067 + ID_ROOT_KSSELECT, + // Token: 0x0400042C RID: 1068 + ID_ROOT_SYSDATA_LOAD, + // Token: 0x0400042D RID: 1069 + ID_ROOT_FILEVIEW, + // Token: 0x0400042E RID: 1070 + ID_ROOT_SCREEN, + // Token: 0x0400042F RID: 1071 + ID_ROOT_FLAG, + // Token: 0x04000430 RID: 1072 + ID_ROOT_SAVE, + // Token: 0x04000431 RID: 1073 + ID_ROOT_DEBUG, + // Token: 0x04000432 RID: 1074 + ID_ROOT_BOOT, + // Token: 0x04000433 RID: 1075 + ID_ROOT_MAINMENU, + // Token: 0x04000434 RID: 1076 + ID_ROOT_QODBG, + // Token: 0x04000435 RID: 1077 + ID_FILEVIEW_BEGIN, + // Token: 0x04000436 RID: 1078 + ID_FILEVIEW_CG, + // Token: 0x04000437 RID: 1079 + ID_FILEVIEW_BGM, + // Token: 0x04000438 RID: 1080 + ID_FILEVIEW_SE, + // Token: 0x04000439 RID: 1081 + ID_FILEVIEW_VOICE, + // Token: 0x0400043A RID: 1082 + ID_FILEVIEW_MOVIE, + // Token: 0x0400043B RID: 1083 + ID_FILEVIEW_END, + // Token: 0x0400043C RID: 1084 + ID_SCREEN_BEGIN, + // Token: 0x0400043D RID: 1085 + ID_SCREEN_SYSMENU, + // Token: 0x0400043E RID: 1086 + ID_SCREEN_SYSMENU2, + // Token: 0x0400043F RID: 1087 + ID_SCREEN_NAMESET, + // Token: 0x04000440 RID: 1088 + ID_SCREEN_SOUND, + // Token: 0x04000441 RID: 1089 + ID_SCREEN_REF1, + // Token: 0x04000442 RID: 1090 + ID_SCREEN_REF2, + // Token: 0x04000443 RID: 1091 + ID_SCREEN_END, + // Token: 0x04000444 RID: 1092 + ID_FLAG_BEGIN, + // Token: 0x04000445 RID: 1093 + ID_FLAG_SYS_SKIP, + // Token: 0x04000446 RID: 1094 + ID_FLAG_SYS_ALLSET, + // Token: 0x04000447 RID: 1095 + ID_FLAG_SYS_ALLCLEAR, + // Token: 0x04000448 RID: 1096 + ID_FLAG_CG, + // Token: 0x04000449 RID: 1097 + ID_FLAG_MEMORY_RESET, + // Token: 0x0400044A RID: 1098 + ID_FLAG_CG_RESET, + // Token: 0x0400044B RID: 1099 + ID_FLAG_BGM_SET, + // Token: 0x0400044C RID: 1100 + ID_FLAG_BGM_RESET, + // Token: 0x0400044D RID: 1101 + ID_FLAG_REF_SET, + // Token: 0x0400044E RID: 1102 + ID_FLAG_REF_RESET, + // Token: 0x0400044F RID: 1103 + ID_FLAG_PAY_ON, + // Token: 0x04000450 RID: 1104 + ID_FLAG_PAY_OFF, + // Token: 0x04000451 RID: 1105 + ID_FLAG_INDEX, + // Token: 0x04000452 RID: 1106 + ID_FLAG_ROUTE01, + // Token: 0x04000453 RID: 1107 + ID_FLAG_ROUTE02, + // Token: 0x04000454 RID: 1108 + ID_FLAG_ROUTE03, + // Token: 0x04000455 RID: 1109 + ID_FLAG_ROUTE04, + // Token: 0x04000456 RID: 1110 + ID_FLAG_ROUTE05, + // Token: 0x04000457 RID: 1111 + ID_FLAG_ROUTE06, + // Token: 0x04000458 RID: 1112 + ID_FLAG_ROUTE07, + // Token: 0x04000459 RID: 1113 + ID_FLAG_ROUTE08, + // Token: 0x0400045A RID: 1114 + ID_FLAG_ROUTE09, + // Token: 0x0400045B RID: 1115 + ID_FLAG_ROUTE10, + // Token: 0x0400045C RID: 1116 + ID_FLAG_ROUTE11, + // Token: 0x0400045D RID: 1117 + ID_FLAG_ROUTE12, + // Token: 0x0400045E RID: 1118 + ID_FLAG_ROUTE13, + // Token: 0x0400045F RID: 1119 + ID_FLAG_ROUTE14, + // Token: 0x04000460 RID: 1120 + ID_FLAG_ROUTE15, + // Token: 0x04000461 RID: 1121 + ID_FLAG_END, + // Token: 0x04000462 RID: 1122 + ID_SAVE_BEGIN, + // Token: 0x04000463 RID: 1123 + ID_SAVE_DATADELETE, + // Token: 0x04000464 RID: 1124 + ID_SAVE_SYSLOAD, + // Token: 0x04000465 RID: 1125 + ID_SAVE_SYSSAVE, + // Token: 0x04000466 RID: 1126 + ID_SAVE_LOAD, + // Token: 0x04000467 RID: 1127 + ID_SAVE_END, + // Token: 0x04000468 RID: 1128 + ID_MINIGAME_BEGIN, + // Token: 0x04000469 RID: 1129 + ID_MINIGAME_1, + // Token: 0x0400046A RID: 1130 + ID_MINIGAME_2, + // Token: 0x0400046B RID: 1131 + ID_MINIGAME_3, + // Token: 0x0400046C RID: 1132 + ID_MINIGAME_4, + // Token: 0x0400046D RID: 1133 + ID_MINIGAME_5, + // Token: 0x0400046E RID: 1134 + ID_MINIGAME_END, + // Token: 0x0400046F RID: 1135 + ID_DEBUG_BEGIN, + // Token: 0x04000470 RID: 1136 + ID_DEBUG_VERSION, + // Token: 0x04000471 RID: 1137 + ID_DEBUG_KS_ALLCHECK, + // Token: 0x04000472 RID: 1138 + ID_DEBUG_AUTO_KS, + // Token: 0x04000473 RID: 1139 + ID_DEBUG_END, + // Token: 0x04000474 RID: 1140 + ID_QODBG_QODBG, + // Token: 0x04000475 RID: 1141 + ID_QODBG_BEGIN, + // Token: 0x04000476 RID: 1142 + ID_QODBG_SOUNDDEBUG, + // Token: 0x04000477 RID: 1143 + ID_QODBG_INST, + // Token: 0x04000478 RID: 1144 + ID_QODBG_UNINST, + // Token: 0x04000479 RID: 1145 + ID_QODBG_INSTON, + // Token: 0x0400047A RID: 1146 + ID_QODBG_INSTOFF, + // Token: 0x0400047B RID: 1147 + ID_QODBG_INSTSTAT, + // Token: 0x0400047C RID: 1148 + ID_QODBG_BGM1, + // Token: 0x0400047D RID: 1149 + ID_QODBG_BGM2, + // Token: 0x0400047E RID: 1150 + ID_QODBG_BGM3, + // Token: 0x0400047F RID: 1151 + ID_QODBG_SE_ALL, + // Token: 0x04000480 RID: 1152 + ID_QODBG_END, + // Token: 0x04000481 RID: 1153 + ID_ROOT_TEST_MOVIE +} diff --git a/Assets/Scripts/Assembly-CSharp/DebugDef.cs b/Assets/Scripts/Assembly-CSharp/DebugDef.cs new file mode 100644 index 000000000..0c09fe853 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/DebugDef.cs @@ -0,0 +1,41 @@ +using System; + +// Token: 0x020000C1 RID: 193 +public class DebugDef +{ + // Token: 0x04000485 RID: 1157 + public static LB_INIT[] g_aLbInit = new LB_INIT[] + { + new LB_INIT("システムデータロード", DEBUG_ID.ID_ROOT_SYSDATA_LOAD, DEBUG_ID.ID_ROOT), + new LB_INIT("フラグ操作", DEBUG_ID.ID_ROOT_FLAG, DEBUG_ID.ID_ROOT), + new LB_INIT("セーブデータ操作", DEBUG_ID.ID_ROOT_SAVE, DEBUG_ID.ID_ROOT), + new LB_INIT("デバッグ機能", DEBUG_ID.ID_ROOT_DEBUG, DEBUG_ID.ID_ROOT), + new LB_INIT("ゲームを起動", DEBUG_ID.ID_ROOT_BOOT, DEBUG_ID.ID_ROOT), + new LB_INIT("メインメニューへ", DEBUG_ID.ID_ROOT_MAINMENU, DEBUG_ID.ID_ROOT), + new LB_INIT("ムービーテスト", DEBUG_ID.ID_ROOT_TEST_MOVIE, DEBUG_ID.ID_ROOT), + new LB_INIT("システム既読 全セット", DEBUG_ID.ID_FLAG_SYS_ALLSET, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("システム既読 全リセット", DEBUG_ID.ID_FLAG_SYS_ALLCLEAR, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("CGフラグ設定", DEBUG_ID.ID_FLAG_CG, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("CGフラグ設定リセット", DEBUG_ID.ID_FLAG_CG_RESET, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("課金フラグON(セーブデータのみ)", DEBUG_ID.ID_FLAG_PAY_ON, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("課金フラグOFF(セーブデータのみ)", DEBUG_ID.ID_FLAG_PAY_OFF, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("未読スキップON(ジャンプ無効)", DEBUG_ID.ID_FLAG_SYS_SKIP, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("回想フラグリセット", DEBUG_ID.ID_FLAG_MEMORY_RESET, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("BGMフラグ設定全セット", DEBUG_ID.ID_FLAG_BGM_SET, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("BGMフラグ設定リセット", DEBUG_ID.ID_FLAG_BGM_RESET, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("KSファイル用引数セット", DEBUG_ID.ID_FLAG_INDEX, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ブラッド", DEBUG_ID.ID_FLAG_ROUTE01, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:エリオット", DEBUG_ID.ID_FLAG_ROUTE02, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ディー&ダム", DEBUG_ID.ID_FLAG_ROUTE03, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ビバルディ", DEBUG_ID.ID_FLAG_ROUTE04, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ペーター", DEBUG_ID.ID_FLAG_ROUTE05, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:エース", DEBUG_ID.ID_FLAG_ROUTE06, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ゴーランド", DEBUG_ID.ID_FLAG_ROUTE07, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ボリス", DEBUG_ID.ID_FLAG_ROUTE08, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ユリウス", DEBUG_ID.ID_FLAG_ROUTE09, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("ルート設定:ナイトメア", DEBUG_ID.ID_FLAG_ROUTE10, DEBUG_ID.ID_ROOT_FLAG), + new LB_INIT("システムデータロード", DEBUG_ID.ID_SAVE_SYSLOAD, DEBUG_ID.ID_ROOT_SAVE), + new LB_INIT("システムデータセーブ", DEBUG_ID.ID_SAVE_SYSSAVE, DEBUG_ID.ID_ROOT_SAVE), + new LB_INIT("KSオート実行", DEBUG_ID.ID_DEBUG_AUTO_KS, DEBUG_ID.ID_ROOT_DEBUG) + }; +} diff --git a/Assets/Scripts/Assembly-CSharp/DebugMenuWnd.cs b/Assets/Scripts/Assembly-CSharp/DebugMenuWnd.cs new file mode 100644 index 000000000..efcac4bf8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/DebugMenuWnd.cs @@ -0,0 +1,265 @@ +using System; +using System.Collections; +using Game; +using Qoo; +using Qoo.AM.Game; +using Qoo.Game; +using Qoo.Graphics; +using UnityEngine; + +// Token: 0x020000C2 RID: 194 +public class DebugMenuWnd : Singleton +{ + // Token: 0x060005D5 RID: 1493 RVA: 0x000176FC File Offset: 0x000158FC + private void Awake() + { + Singleton.Instance.Enable(false); + this.m_Menu = base.gameObject.AddComponent(); + this.m_Menu.Init(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new Color32(0, 0, 64, 128), 48, 5); + foreach (LB_INIT lb_INIT in DebugDef.g_aLbInit) + { + this.m_Menu.AddMenu(lb_INIT.nParentId, lb_INIT.nId, lb_INIT.szCaption); + } + this.m_Menu.Begin(); + Singleton.Instance.SetEffect("FadeIn", 1f); + } + + // Token: 0x060005D6 RID: 1494 RVA: 0x000177C4 File Offset: 0x000159C4 + private void Update() + { + if (this.m_Menu.IsSelect) + { + if (this.m_Menu != null) + { + this.m_Menu.End(); + } + this.RunDeugMenu((DEBUG_ID)this.m_Menu.SelectID); + if (this.m_Menu != null) + { + this.m_Menu.Begin(); + } + } + } + + // Token: 0x060005D7 RID: 1495 RVA: 0x0001782C File Offset: 0x00015A2C + private void OnDestroy() + { + if (this.m_Menu != null) + { + this.m_Menu.Release(); + UnityEngine.Object.Destroy(this.m_Menu); + } + this.m_Menu = null; + if (Singleton.IsReady) + { + Singleton.Instance.Disable(false); + } + } + + // Token: 0x060005D8 RID: 1496 RVA: 0x0001787C File Offset: 0x00015A7C + private void RunDeugMenu(DEBUG_ID nMenuId) + { + if (nMenuId > DEBUG_ID.ID_FILEVIEW_BEGIN && nMenuId < DEBUG_ID.ID_FILEVIEW_END) + { + this.ExecFileView(nMenuId); + } + else if (nMenuId > DEBUG_ID.ID_SCREEN_BEGIN && nMenuId < DEBUG_ID.ID_SCREEN_END) + { + this.ExecScreen(nMenuId); + } + else if (nMenuId > DEBUG_ID.ID_FLAG_BEGIN && nMenuId < DEBUG_ID.ID_FLAG_END) + { + this.ExecFlag(nMenuId); + } + else if (nMenuId > DEBUG_ID.ID_SAVE_BEGIN && nMenuId < DEBUG_ID.ID_SAVE_END) + { + this.ExecSaveData(nMenuId); + } + else if (nMenuId > DEBUG_ID.ID_MINIGAME_BEGIN && nMenuId < DEBUG_ID.ID_MINIGAME_END) + { + this.ExecMiniGame(nMenuId); + } + else if (nMenuId > DEBUG_ID.ID_DEBUG_BEGIN && nMenuId < DEBUG_ID.ID_DEBUG_END) + { + this.ExecDebug(nMenuId); + } + else if (nMenuId > DEBUG_ID.ID_QODBG_BEGIN && nMenuId < DEBUG_ID.ID_QODBG_END) + { + this.ExecQoDebug(nMenuId); + } + else if (nMenuId != DEBUG_ID.ID_ROOT_KSSELECT) + { + if (nMenuId != DEBUG_ID.ID_ROOT_SYSDATA_LOAD) + { + if (nMenuId != DEBUG_ID.ID_ROOT_BOOT) + { + if (nMenuId != DEBUG_ID.ID_ROOT_MAINMENU) + { + if (nMenuId == DEBUG_ID.ID_ROOT_TEST_MOVIE) + { + base.enabled = false; + base.gameObject.AddComponent(); + } + } + else + { + Singleton.Instance.ResetFade(0); + this.OnDestroy(); + SceneManager.ChangeScene(UIValue.SCENE_TITLE); + base.enabled = false; + } + } + else + { + Singleton.Instance.ResetFade(0); + this.OnDestroy(); + SceneManager.ChangeScene(UIValue.SCENE_LOGOMOVIE); + base.enabled = false; + } + } + else + { + this.ExecSaveData(DEBUG_ID.ID_SAVE_SYSLOAD); + } + } + } + + // Token: 0x060005D9 RID: 1497 RVA: 0x000179F0 File Offset: 0x00015BF0 + private void ExecQoDebug(DEBUG_ID nMenuId) + { + } + + // Token: 0x060005DA RID: 1498 RVA: 0x000179F4 File Offset: 0x00015BF4 + private void ExecDebug(DEBUG_ID nMenuId) + { + switch (nMenuId) + { + case DEBUG_ID.ID_DEBUG_AUTO_KS: + Singleton.Instance.ResetFade(0); + this.OnDestroy(); + Qoo.Debug.IsAutoKsDebug = true; + SysData.SetDefaultSetting(); + SysData.SetVoiceEnable(false); + SysData.SetTextSpeed(3); + SysData.SetEnableLoveAnim(true); + SysData.SetAutoPage(0); + SceneManager.ChangeScene(UIValue.SCENE_ADVMODE); + base.enabled = false; + break; + } + } + + // Token: 0x060005DB RID: 1499 RVA: 0x00017A74 File Offset: 0x00015C74 + private void ExecMiniGame(DEBUG_ID nMenuId) + { + switch (nMenuId) + { + } + } + + // Token: 0x060005DC RID: 1500 RVA: 0x00017AC0 File Offset: 0x00015CC0 + private void ExecSaveData(DEBUG_ID nMenuId) + { + switch (nMenuId) + { + case DEBUG_ID.ID_SAVE_SYSLOAD: + { + SysSaveData sysSaveData = new SysSaveData(); + sysSaveData.Load(SaveLoadManager.LoadSystem()); + break; + } + case DEBUG_ID.ID_SAVE_SYSSAVE: + SaveLoadManager.SaveSystem(); + break; + } + } + + // Token: 0x060005DD RID: 1501 RVA: 0x00017B1C File Offset: 0x00015D1C + private void ExecFlag(DEBUG_ID nMenuId) + { + if (nMenuId >= DEBUG_ID.ID_FLAG_ROUTE01 && nMenuId <= DEBUG_ID.ID_FLAG_ROUTE15) + { + CHAR_ID route = (CHAR_ID)(nMenuId - 39); + GameData.SetRoute(route); + return; + } + switch (nMenuId) + { + case DEBUG_ID.ID_FLAG_SYS_SKIP: + SysData.SetSkip(2); + break; + case DEBUG_ID.ID_FLAG_SYS_ALLSET: + SysData.SetReadAll(); + break; + case DEBUG_ID.ID_FLAG_SYS_ALLCLEAR: + SysData.ClearRead(); + break; + case DEBUG_ID.ID_FLAG_CG: + SysData.SetReadCGAll(); + break; + case DEBUG_ID.ID_FLAG_MEMORY_RESET: + SysData.ClearRead(); + break; + case DEBUG_ID.ID_FLAG_CG_RESET: + SysData.ResetReadCGAll(); + break; + case DEBUG_ID.ID_FLAG_BGM_SET: + SysData.SetPlayBgmFlagAll(); + break; + case DEBUG_ID.ID_FLAG_BGM_RESET: + SysData.ResetPlayBgmFlagAll(); + break; + case DEBUG_ID.ID_FLAG_PAY_ON: + SysData.SetPayFullRoute(true); + SysData.SetPayFullVoice(true); + break; + case DEBUG_ID.ID_FLAG_PAY_OFF: + SysData.SetPayFullRoute(false); + SysData.SetPayFullVoice(false); + break; + } + } + + // Token: 0x060005DE RID: 1502 RVA: 0x00017C0C File Offset: 0x00015E0C + private void ExecScreen(DEBUG_ID nMenuId) + { + switch (nMenuId) + { + } + } + + // Token: 0x060005DF RID: 1503 RVA: 0x00017C50 File Offset: 0x00015E50 + private void ExecFileView(DEBUG_ID nMenuId) + { + switch (nMenuId) + { + } + } + + // Token: 0x060005E0 RID: 1504 RVA: 0x00017C9C File Offset: 0x00015E9C + private IEnumerator MovieTest() + { + Singleton.Instance.Disable(false); + yield return 0; + for (int i = 0; i != 100; i++) + { + Qoo.Debug.Print("MovieTest:DisableVersion:Count=" + i); + Movie.Play("quinrose_logo_8", true); + yield return 0; + } + Singleton.Instance.Enable(false); + for (int j = 0; j != 100; j++) + { + Qoo.Debug.Print("MovieTest:EnableVersion:Count=" + j); + Movie.Play("quinrose_logo_8", true); + yield return 0; + } + yield return 0; + Singleton.Instance.Enable(false); + base.enabled = true; + yield break; + } + + // Token: 0x04000486 RID: 1158 + private TextMenuWnd m_Menu; +} diff --git a/Assets/Scripts/Assembly-CSharp/DebugMovieWnd.cs b/Assets/Scripts/Assembly-CSharp/DebugMovieWnd.cs new file mode 100644 index 000000000..eb4440827 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/DebugMovieWnd.cs @@ -0,0 +1,35 @@ +using System; +using Qoo; +using Qoo.Graphics; +using UnityEngine; + +// Token: 0x020000C3 RID: 195 +public class DebugMovieWnd : UserBaseClass +{ + // Token: 0x060005E2 RID: 1506 RVA: 0x00017CC0 File Offset: 0x00015EC0 + public void Awake() + { + this.m_nCount = 0; + Singleton.Instance.Disable(false); + } + + // Token: 0x060005E3 RID: 1507 RVA: 0x00017CD4 File Offset: 0x00015ED4 + public void Update() + { + if (this.m_nCount < 100) + { + Qoo.Debug.Print("MovieTest:DisableVersion:Count=" + this.m_nCount); + Movie.Play("quinrose_logo_8", true); + this.m_nCount++; + } + else + { + Singleton.Instance.enabled = true; + UnityEngine.Object.Destroy(this); + Singleton.Instance.Enable(false); + } + } + + // Token: 0x04000487 RID: 1159 + private int m_nCount; +} diff --git a/Assets/Scripts/Assembly-CSharp/EffectManager.cs b/Assets/Scripts/Assembly-CSharp/EffectManager.cs new file mode 100644 index 000000000..50b78402c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/EffectManager.cs @@ -0,0 +1,327 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x0200013F RID: 319 +public class EffectManager : MonoBehaviour +{ + // Token: 0x17000102 RID: 258 + // (get) Token: 0x060008CD RID: 2253 RVA: 0x00027010 File Offset: 0x00025210 + private static EffectManager Instance + { + get + { + if (EffectManager.m_instance == null) + { + GameObject gameObject = GameObject.Find("_EffectManager"); + if (gameObject == null) + { + gameObject = new GameObject("_EffectManager"); + } + EffectManager.m_instance = gameObject.AddComponent(); + } + return EffectManager.m_instance; + } + } + + // Token: 0x17000103 RID: 259 + // (get) Token: 0x060008CE RID: 2254 RVA: 0x00027060 File Offset: 0x00025260 + // (set) Token: 0x060008CF RID: 2255 RVA: 0x00027068 File Offset: 0x00025268 + public int PassedTime + { + get + { + return this.m_passedTime; + } + set + { + this.m_passedTime = value; + } + } + + // Token: 0x17000104 RID: 260 + // (get) Token: 0x060008D0 RID: 2256 RVA: 0x00027074 File Offset: 0x00025274 + // (set) Token: 0x060008D1 RID: 2257 RVA: 0x0002707C File Offset: 0x0002527C + public string EffectName + { + get + { + return this.m_effectName; + } + set + { + this.m_effectName = value; + } + } + + // Token: 0x17000105 RID: 261 + // (get) Token: 0x060008D2 RID: 2258 RVA: 0x00027088 File Offset: 0x00025288 + // (set) Token: 0x060008D3 RID: 2259 RVA: 0x00027090 File Offset: 0x00025290 + public int TransSec + { + get + { + return this.m_transSec; + } + set + { + this.m_transSec = value; + } + } + + // Token: 0x17000106 RID: 262 + // (get) Token: 0x060008D4 RID: 2260 RVA: 0x0002709C File Offset: 0x0002529C + // (set) Token: 0x060008D5 RID: 2261 RVA: 0x000270A4 File Offset: 0x000252A4 + public Renderer Target + { + get + { + return this.m_target; + } + set + { + this.m_target = value; + } + } + + // Token: 0x17000107 RID: 263 + // (get) Token: 0x060008D6 RID: 2262 RVA: 0x000270B0 File Offset: 0x000252B0 + // (set) Token: 0x060008D7 RID: 2263 RVA: 0x000270B8 File Offset: 0x000252B8 + public Shader EffectShader + { + get + { + return this.m_effectShader; + } + set + { + this.m_effectShader = value; + } + } + + // Token: 0x17000108 RID: 264 + // (get) Token: 0x060008D8 RID: 2264 RVA: 0x000270C4 File Offset: 0x000252C4 + // (set) Token: 0x060008D9 RID: 2265 RVA: 0x000270CC File Offset: 0x000252CC + public Texture SrcTexture + { + get + { + return this.m_srcTexture; + } + set + { + this.m_srcTexture = value; + } + } + + // Token: 0x17000109 RID: 265 + // (get) Token: 0x060008DA RID: 2266 RVA: 0x000270D8 File Offset: 0x000252D8 + // (set) Token: 0x060008DB RID: 2267 RVA: 0x000270E0 File Offset: 0x000252E0 + public Texture DstTexture + { + get + { + return this.m_dstTexture; + } + set + { + this.m_dstTexture = value; + } + } + + // Token: 0x1700010A RID: 266 + // (get) Token: 0x060008DC RID: 2268 RVA: 0x000270EC File Offset: 0x000252EC + // (set) Token: 0x060008DD RID: 2269 RVA: 0x000270F4 File Offset: 0x000252F4 + public Texture2D PatternTexture + { + get + { + return this.m_patternTexture; + } + set + { + this.m_patternTexture = value; + } + } + + // Token: 0x1700010B RID: 267 + // (get) Token: 0x060008DE RID: 2270 RVA: 0x00027100 File Offset: 0x00025300 + // (set) Token: 0x060008DF RID: 2271 RVA: 0x00027108 File Offset: 0x00025308 + private Material NewMaterial + { + get + { + return this.m_newMaterial; + } + set + { + this.m_newMaterial = value; + } + } + + // Token: 0x1700010C RID: 268 + // (get) Token: 0x060008E0 RID: 2272 RVA: 0x00027114 File Offset: 0x00025314 + // (set) Token: 0x060008E1 RID: 2273 RVA: 0x0002711C File Offset: 0x0002531C + private Material OldMaterial + { + get + { + return this.m_oldMaterial; + } + set + { + this.m_oldMaterial = value; + } + } + + // Token: 0x060008E2 RID: 2274 RVA: 0x00027128 File Offset: 0x00025328 + public static void Init(string effectName, int transSec, Renderer renderer, Texture src, Texture dst) + { + switch (effectName) + { + case "wave": + EffectManager.Instance.EffectShader = (Resources.Load("Shader/Effect/Wave") as Shader); + goto IL_E4; + case "ripple": + EffectManager.Instance.EffectShader = (Resources.Load("Shader/Effect/Ripple") as Shader); + goto IL_E4; + case "mosaic": + EffectManager.Instance.EffectShader = (Resources.Load("Shader/Effect/Mosaic") as Shader); + goto IL_E4; + } + EffectManager.Instance.EffectShader = (Resources.Load("Shader/Effect/Transition") as Shader); + IL_E4: + EffectManager.Instance.PassedTime = 0; + EffectManager.Instance.EffectName = effectName; + EffectManager.Instance.TransSec = transSec; + EffectManager.Instance.Target = renderer; + EffectManager.Instance.SrcTexture = src; + EffectManager.Instance.DstTexture = dst; + EffectManager.Instance.NewMaterial = new Material(EffectManager.Instance.EffectShader); + } + + // Token: 0x060008E3 RID: 2275 RVA: 0x00027278 File Offset: 0x00025478 + public static IEnumerator StartEffect() + { + EffectManager.Instance.OldMaterial = EffectManager.Instance.Target.sharedMaterial; + EffectManager.Instance.Target.material = new Material(EffectManager.Instance.EffectShader); + EffectManager.Instance.Target.material.shader = EffectManager.Instance.EffectShader; + EffectManager.Instance.Target.sharedMaterial = EffectManager.Instance.Target.material; + EffectManager.Instance.Target.sharedMaterial.SetTexture("_tex0", EffectManager.Instance.SrcTexture); + EffectManager.Instance.Target.sharedMaterial.SetTexture("_tex1", EffectManager.Instance.DstTexture); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_time", 0f); + string effectName = EffectManager.Instance.EffectName; + switch (effectName) + { + case "wave": + EffectManager.Instance.Target.sharedMaterial.SetFloat("_power", 0.05f); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_count", 4f); + goto IL_2FB; + case "ripple": + EffectManager.Instance.Target.sharedMaterial.SetFloat("_pow", 0.5f); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_w", 2f); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_h", 5f); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_speed", 1.2f); + goto IL_2FB; + case "mosaic": + EffectManager.Instance.Target.sharedMaterial.SetFloat("_X", (float)(Screen.width * 2)); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_Y", (float)(Screen.height * 2)); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_MX", 32f); + EffectManager.Instance.Target.sharedMaterial.SetFloat("_MY", 18f); + goto IL_2FB; + } + yield return EffectManager.Instance.StartCoroutine(EffectManager.loadTexture()); + EffectManager.Instance.Target.sharedMaterial.SetTexture("_tex2", EffectManager.Instance.PatternTexture); + IL_2FB: + while (EffectManager.Instance.PassedTime < EffectManager.Instance.TransSec) + { + EffectManager.Instance.Target.sharedMaterial.SetFloat("_time", (float)EffectManager.Instance.PassedTime / (float)EffectManager.Instance.TransSec); + EffectManager.Instance.PassedTime += (int)(Time.deltaTime * 1000f); + yield return 0; + } + EffectManager.Instance.Target.material = EffectManager.Instance.OldMaterial; + EffectManager.Instance.Target.sharedMaterial = EffectManager.Instance.OldMaterial; + EffectManager.Instance.Target.sharedMaterial.mainTexture = EffectManager.Instance.DstTexture; + if (EffectManager.Instance.PatternTexture != null) + { + UnityEngine.Object.Destroy(EffectManager.Instance.PatternTexture); + } + EffectManager.Instance.PatternTexture = null; + yield break; + } + + // Token: 0x060008E4 RID: 2276 RVA: 0x0002728C File Offset: 0x0002548C + private static IEnumerator loadTexture() + { + string path = Pathing.appContentDataPath + Pathing.ToPlatformAssetBundleName(EffectManager.Instance.EffectName); + WWW www = new WWW(path); + yield return www; + AssetBundle ab = www.assetBundle; + TextAsset ta = ab.mainAsset as TextAsset; + Texture2D tex = new Texture2D(0, 0, TextureFormat.RGBA32, false, true); + tex.LoadImage(ta.bytes); + tex.wrapMode = TextureWrapMode.Clamp; + ab.Unload(true); + www.Dispose(); + EffectManager.Instance.PatternTexture = tex; + yield break; + } + + // Token: 0x060008E5 RID: 2277 RVA: 0x000272A0 File Offset: 0x000254A0 + public static void FadeBlackOut(float sec) + { + ScreenEffect.FadeExec = true; + EffectManager.Instance.StartCoroutine(ScreenEffect.FadeBlackOut(sec)); + } + + // Token: 0x060008E6 RID: 2278 RVA: 0x000272BC File Offset: 0x000254BC + public static void FadeBlackIn(float sec) + { + ScreenEffect.FadeExec = true; + EffectManager.Instance.StartCoroutine(ScreenEffect.FadeBlackIn(sec)); + } + + // Token: 0x060008E7 RID: 2279 RVA: 0x000272D8 File Offset: 0x000254D8 + public static bool FadeIsEnd() + { + bool fadeExec = ScreenEffect.FadeExec; + if (!fadeExec) + { + ScreenEffect.Term(); + } + return fadeExec; + } + + // Token: 0x04000781 RID: 1921 + private static EffectManager m_instance; + + // Token: 0x04000782 RID: 1922 + private int m_passedTime; + + // Token: 0x04000783 RID: 1923 + private string m_effectName; + + // Token: 0x04000784 RID: 1924 + private int m_transSec; + + // Token: 0x04000785 RID: 1925 + private Renderer m_target; + + // Token: 0x04000786 RID: 1926 + private Shader m_effectShader; + + // Token: 0x04000787 RID: 1927 + private Texture m_srcTexture; + + // Token: 0x04000788 RID: 1928 + private Texture m_dstTexture; + + // Token: 0x04000789 RID: 1929 + private Texture2D m_patternTexture; + + // Token: 0x0400078A RID: 1930 + private Material m_newMaterial; + + // Token: 0x0400078B RID: 1931 + private Material m_oldMaterial; +} diff --git a/Assets/Scripts/Assembly-CSharp/EventWnd.cs b/Assets/Scripts/Assembly-CSharp/EventWnd.cs new file mode 100644 index 000000000..53c2e8f18 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/EventWnd.cs @@ -0,0 +1,317 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Qoo; +using Qoo.Application; +using Qoo.Def; +using Qoo.Game; +using Qoo.Graphics; +using Qoo.Input; +using Qoo.Ks; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020000A5 RID: 165 +public class EventWnd : Singleton +{ + // Token: 0x170000AE RID: 174 + // (get) Token: 0x060004C8 RID: 1224 RVA: 0x00011E9C File Offset: 0x0001009C + public PLAY_MODE Mode + { + get + { + return this.player.Mode; + } + } + + // Token: 0x060004C9 RID: 1225 RVA: 0x00011EAC File Offset: 0x000100AC + public void RedrawFace(bool isDraw) + { + this.player.Scene.RedrawFace(isDraw); + } + + // Token: 0x170000AF RID: 175 + // (get) Token: 0x060004CA RID: 1226 RVA: 0x00011EC0 File Offset: 0x000100C0 + public EVENTBACKUPDATA SceneBackup + { + get + { + return this.player.Scene.BackupData; + } + } + + // Token: 0x170000B0 RID: 176 + // (get) Token: 0x060004CB RID: 1227 RVA: 0x00011ED4 File Offset: 0x000100D4 + public EventPlayer Player + { + get + { + return this.player; + } + } + + // Token: 0x170000B1 RID: 177 + // (get) Token: 0x060004CC RID: 1228 RVA: 0x00011EDC File Offset: 0x000100DC + // (set) Token: 0x060004CD RID: 1229 RVA: 0x00011EE4 File Offset: 0x000100E4 + public bool IsWaitScreenChange { get; set; } + + // Token: 0x060004CE RID: 1230 RVA: 0x00011EF0 File Offset: 0x000100F0 + private void Awake() + { + this.IsWaitScreenChange = false; + } + + // Token: 0x060004CF RID: 1231 RVA: 0x00011EFC File Offset: 0x000100FC + private void Update() + { + } + + // Token: 0x060004D0 RID: 1232 RVA: 0x00011F00 File Offset: 0x00010100 + public void Init(PLAY_MODE mode) + { + this.player.Init(mode); + KsInput.Clear(); + KsInput.ClearMenu(); + KsInput.ClearBacklog(); + this.IsWaitScreenChange = false; + } + + // Token: 0x060004D1 RID: 1233 RVA: 0x00011F28 File Offset: 0x00010128 + public void Finish() + { + App.QooKsLog.Reset(); + this.player.Release(); + UnityEngine.Object.Destroy(base.GetComponent()); + UnityEngine.Object.Destroy(base.GetComponent()); + Sound.SeSlotStopAll(); + Sound.BgmStop(1000); + Sound.VoiceStop(); + } + + // Token: 0x060004D2 RID: 1234 RVA: 0x00011F78 File Offset: 0x00010178 + public void Load(string nameKs, string nameLabel) + { + this.player.Load(nameKs, nameLabel); + } + + // Token: 0x060004D3 RID: 1235 RVA: 0x00011F88 File Offset: 0x00010188 + public void Restore(GAME_SAVE_DATA data) + { + this.player.Restore(data); + } + + // Token: 0x060004D4 RID: 1236 RVA: 0x00011F98 File Offset: 0x00010198 + public bool IsEnd() + { + return this.player.Status == PLAYSTAT.END; + } + + // Token: 0x060004D5 RID: 1237 RVA: 0x00011FA8 File Offset: 0x000101A8 + public IEnumerator Exec(string nameKs, string nameLabel, bool IsNormalMode) + { + Graph.Fade_Out(); + yield return this.Ready(); + yield return App.QooKsData.LoadKs(nameKs); + this.Init((!IsNormalMode) ? PLAY_MODE.MEMORY : PLAY_MODE.NORMAL); + this.Load(nameKs, nameLabel); + Graph.Fade_In(); + yield return 0; + yield return this.RunPlayer(); + yield break; + } + + // Token: 0x060004D6 RID: 1238 RVA: 0x00011FF0 File Offset: 0x000101F0 + public IEnumerator ExecLoad() + { + Graph.Fade_Out(); + yield return this.Ready(); + yield return this.ExecRestore(); + yield return this.RunPlayer(); + yield break; + } + + // Token: 0x060004D7 RID: 1239 RVA: 0x0001200C File Offset: 0x0001020C + private IEnumerator ExecRestore() + { + GAME_SAVE_DATA data = GameData.GetLoadData(); + data.Apply(); + foreach (string item in data.m_Log.m_KsNameArray) + { + yield return App.QooKsData.LoadKs(item); + } + yield return 0; + foreach (string item2 in data.m_Log.m_KsNameArray) + { + yield return App.QooKsData.Add(item2); + } + List array = new List(); + foreach (string item3 in data.m_Log.m_KsNameArray) + { + TagReader reader = App.QooKsData.Get(item3); + array.AddRange(reader.NextKsList); + } + foreach (string item4 in array) + { + yield return App.QooKsData.LoadKs(item4); + } + yield return 0; + this.Init(PLAY_MODE.NORMAL); + base.QooSound.BgmStop(1000); + this.Restore(data); + yield return 0; + yield return 0; + yield return 0; + yield break; + } + + // Token: 0x060004D8 RID: 1240 RVA: 0x00012028 File Offset: 0x00010228 + private IEnumerator Ready() + { + foreach (string item in KsDef.INIT_TEX_NAME_LIST) + { + Man2D.ReadyTexture(item, false); + } + yield return 0; + yield return 0; + base.gameObject.AddComponent(); + base.gameObject.AddComponent(); + App.QooBackLog.Init(); + yield return 0; + yield break; + } + + // Token: 0x060004D9 RID: 1241 RVA: 0x00012044 File Offset: 0x00010244 + private IEnumerator RunPlayer() + { + this.player.PlayStart(); + for (;;) + { + if (Qoo.Debug.IsAutoKsDebug) + { + KsInput.SetAuto(); + } + if (!Singleton.Instance.enabled) + { + yield return Singleton.Instance.RestoreEnable(null); + } + if (GameData.IsLoadData()) + { + Graph.Fade_Out(); + yield return 0; + this.Finish(); + yield return 0; + yield return Singleton.Instance.EraseFrameBuffer(); + yield return this.Ready(); + yield return this.ExecRestore(); + this.player.PlayStart(); + } + if (GameData.IsMoveTitle) + { + break; + } + if (this.player.IsNextKs()) + { + foreach (string item in this.player.GetNextKsArray()) + { + yield return App.QooKsData.LoadKs(item); + } + this.player.ResetNextKs(); + } + if (this.player.Exec() && this.player.IsPlayEnd()) + { + break; + } + if (!this.IsWaitScreenChange && KsInput.IsBackLog) + { + yield return this.CallBacklog(); + } + if (!this.IsWaitScreenChange && KsInput.IsMenu && SaveData.IsSave) + { + yield return this.ExecMenu(); + } + if (GameData.IsMoveTitle) + { + break; + } + yield return base.QooApp.FrameUpdate(); + } + this.Finish(); + foreach (string item2 in KsDef.INIT_TEX_NAME_LIST) + { + Singleton.Instance.ReleaseTexture(item2, true); + } + yield break; + } + + // Token: 0x060004DA RID: 1242 RVA: 0x00012060 File Offset: 0x00010260 + private IEnumerator CallBacklog() + { + if (!App.QooBackLog.Empty) + { + bool IsSelect = Singleton.Instance.enabled; + if (IsSelect) + { + Singleton.Instance.enabled = false; + } + CBackLogWnd wnd = base.gameObject.AddComponent(); + yield return base.QooApp.FrameUpdate(); + while (wnd != null && wnd.enabled) + { + yield return base.QooApp.FrameUpdate(); + } + if (IsSelect) + { + Singleton.Instance.enabled = true; + } + } + KsInput.ClearBacklog(); + yield break; + } + + // Token: 0x060004DB RID: 1243 RVA: 0x0001207C File Offset: 0x0001027C + public IEnumerator ExecMenu() + { + Sound.VoiceStop(); + bool IsMsg = Singleton.Instance.IsVisible; + bool IsSelect = Singleton.Instance.enabled; + if (IsMsg) + { + Singleton.Instance.Show(false); + } + if (IsSelect) + { + Singleton.Instance.enabled = false; + } + Singleton.Instance.RunEffect = true; + yield return 0; + yield return 0; + Singleton.Instance.UpdateFrameBuffer(); + KsInput.Clear(); + yield return new AdvMenuTask().Open(Singleton.Instance.GetFrameBuffer(), this.player.Mode == PLAY_MODE.NORMAL); + UnityApp.Input.Clear(); + UnityApp.Input.IsOnePushDelete = true; + if (!GameData.IsMoveTitle) + { + if (IsMsg) + { + Singleton.Instance.Show(true); + } + SysData.Apply(); + base.QooGraph.Enable(false); + } + else if (Singleton.Instance.IsRun) + { + Singleton.Instance.End(); + } + KsInput.ClearMenu(); + if (IsSelect) + { + Singleton.Instance.enabled = true; + } + yield return 0; + yield break; + } + + // Token: 0x0400037C RID: 892 + private EventPlayer player = new EventPlayer(); +} diff --git a/Assets/Scripts/Assembly-CSharp/FrameBuffer.cs b/Assets/Scripts/Assembly-CSharp/FrameBuffer.cs new file mode 100644 index 000000000..57343fc65 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/FrameBuffer.cs @@ -0,0 +1,51 @@ +using System; +using UnityEngine; + +// Token: 0x02000153 RID: 339 +public class FrameBuffer +{ + // Token: 0x0600096E RID: 2414 RVA: 0x00029D7C File Offset: 0x00027F7C + public FrameBuffer(int w, int h, string name) + { + this.m_Tex = new RenderTexture(w, h, 16); + this.m_Tex.name = name; + this.m_Tex.antiAliasing = 1; + this.m_isReady = false; + } + + // Token: 0x17000127 RID: 295 + // (get) Token: 0x0600096F RID: 2415 RVA: 0x00029DC0 File Offset: 0x00027FC0 + // (set) Token: 0x06000970 RID: 2416 RVA: 0x00029DC8 File Offset: 0x00027FC8 + public RenderTexture Tex + { + get + { + return this.m_Tex; + } + set + { + this.m_Tex = value; + } + } + + // Token: 0x17000128 RID: 296 + // (get) Token: 0x06000971 RID: 2417 RVA: 0x00029DD4 File Offset: 0x00027FD4 + // (set) Token: 0x06000972 RID: 2418 RVA: 0x00029DDC File Offset: 0x00027FDC + public bool IsReady + { + get + { + return this.m_isReady; + } + set + { + this.m_isReady = value; + } + } + + // Token: 0x040007D1 RID: 2001 + private RenderTexture m_Tex; + + // Token: 0x040007D2 RID: 2002 + private bool m_isReady; +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryCGWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryCGWindow.cs new file mode 100644 index 000000000..b96f10b7d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryCGWindow.cs @@ -0,0 +1,690 @@ +using System; +using UnityEngine; + +// Token: 0x02000103 RID: 259 +public class GalleryCGWindow : BaseWindow +{ + // Token: 0x060006C9 RID: 1737 RVA: 0x0001C594 File Offset: 0x0001A794 + protected sealed override void OnAwake() + { + this.arrowAnimationHolder = new GalleryCGWindow.ArrowAnimationHolder(); + this.cgLink = CSVManager.Instance.CsvCGListHolder.GetCharaIndex(UIValue.GalleryCharactor).CgLink; + this.cgLink.SetPageByIndex(UIValue.GalleryIndex); + this.moveBackGround = new GalleryCGWindow.MoveBackGround(); + this.action = false; + } + + // Token: 0x060006CA RID: 1738 RVA: 0x0001C5F0 File Offset: 0x0001A7F0 + protected sealed override void OnBaseWindowDestroy() + { + this.moveBackGround.Release(); + } + + // Token: 0x060006CB RID: 1739 RVA: 0x0001C600 File Offset: 0x0001A800 + protected sealed override string[] newSceneTextureNameArray() + { + string text = "event/cg/" + this.cgLink.GetCurrentFPath(); + string text2 = "event/cg/" + this.cgLink.GetLeftFPath(); + string text3 = "event/cg/" + this.cgLink.GetRightFPath(); + string text4 = "event/cg/" + this.cgLink.GetUpFPath(); + string text5 = "event/cg/" + this.cgLink.GetDownFPath(); + return new string[] + { + text, + text2, + text3, + text4, + text5, + "screen/cgmemory/cg_cursor_l", + "screen/cgmemory/cg_cursor_r", + "screen/cgmemory/cg_cursor_u", + "screen/cgmemory/cg_cursor_d" + }; + } + + // Token: 0x060006CC RID: 1740 RVA: 0x0001C6BC File Offset: 0x0001A8BC + protected sealed override void AfterInit() + { + this.moveBackGround.Init(base.GetGameObject("BGHolder")); + bool lr = this.cgLink.lr; + bool ud = this.cgLink.ud; + this.arrowAnimationHolder.SetAnimation(base.GetGameObject("ArrowL"), 0, lr); + this.arrowAnimationHolder.SetAnimation(base.GetGameObject("ArrowR"), 1, lr); + this.arrowAnimationHolder.SetAnimation(base.GetGameObject("ArrowU"), 2, ud); + this.arrowAnimationHolder.SetAnimation(base.GetGameObject("ArrowD"), 3, ud); + base.GetGameObject("BGHolder").transform.localScale = new Vector3(1f, 1f, 1f); + base.SetParent("BGC", "BGHolder"); + base.SetParent("BGL", "BGHolder"); + base.SetParent("BGR", "BGHolder"); + base.SetParent("BGU", "BGHolder"); + base.SetParent("BGD", "BGHolder"); + } + + // Token: 0x060006CD RID: 1741 RVA: 0x0001C7D0 File Offset: 0x0001A9D0 + protected override void OnGraphicLoadComplete() + { + this.arrowAnimationHolder.SetRendererEnable(this.cgLink.lr, this.cgLink.ud); + this.arrowAnimationHolder.Restart(); + } + + // Token: 0x060006CE RID: 1742 RVA: 0x0001C80C File Offset: 0x0001AA0C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + string fpath_ = "event/cg/" + this.cgLink.GetCurrentFPath(); + string fpath_2 = "event/cg/" + this.cgLink.GetLeftFPath(); + string fpath_3 = "event/cg/" + this.cgLink.GetRightFPath(); + string fpath_4 = "event/cg/" + this.cgLink.GetUpFPath(); + string fpath_5 = "event/cg/" + this.cgLink.GetDownFPath(); + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("BGC", 0, 0, this.wndz, fpath_, false, true), + new BaseWindow.UIImage("BGL", -965, 0, this.wndz, fpath_2, false, true), + new BaseWindow.UIImage("BGR", 965, 0, this.wndz, fpath_3, false, true), + new BaseWindow.UIImage("BGU", 0, -549, this.wndz, fpath_4, false, true), + new BaseWindow.UIImage("BGD", 0, 549, this.wndz, fpath_5, false, true), + new BaseWindow.UICollision("BGHolder", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("ArrowL", 2, 232, this.wndz + 1, "screen/cgmemory/cg_cursor_l", false, true), + new BaseWindow.UIImage("ArrowR", 896, 232, this.wndz + 1, "screen/cgmemory/cg_cursor_r", false, true), + new BaseWindow.UIImage("ArrowU", 439, 2, this.wndz + 1, "screen/cgmemory/cg_cursor_u", false, true), + new BaseWindow.UIImage("ArrowD", 439, 481, this.wndz + 1, "screen/cgmemory/cg_cursor_d", false, true) + }; + } + + // Token: 0x060006CF RID: 1743 RVA: 0x0001C9CC File Offset: 0x0001ABCC + protected override void OnBaseWindowUpdate() + { + if (this.moveBackGround.Moving) + { + if (!this.moveBackGround.Update()) + { + this.LoadBG(); + this.arrowAnimationHolder.SetRendererEnable(this.cgLink.lr, this.cgLink.ud); + this.arrowAnimationHolder.Restart(); + this.action = false; + } + return; + } + if (this.action) + { + return; + } + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.CLICK: + this.action = true; + this.OnClick(); + break; + case INPUT_STATUS.DRAG_ON: + { + Point2 delta = UnityApp.Input.Delta; + this.OnDraging(new Vector3((float)((!this.cgLink.lr) ? 0 : (-(float)delta.x)), (float)((!this.cgLink.ud) ? 0 : (-(float)delta.y)), 0f)); + break; + } + case INPUT_STATUS.DRAG: + { + Point2 delta2 = UnityApp.Input.Delta; + this.OnDrag(new Vector3((float)((!this.cgLink.lr) ? 0 : (-(float)delta2.x)), (float)((!this.cgLink.ud) ? 0 : (-(float)delta2.y)), 0f)); + break; + } + case INPUT_STATUS.FLICK: + this.OnFlick(UnityApp.Input.SlideDragVector); + break; + } + } + + // Token: 0x060006D0 RID: 1744 RVA: 0x0001CB48 File Offset: 0x0001AD48 + private void OnClick() + { + int nowIndex = this.cgLink.GetNowIndex(); + UIValue.GalleryIndex = nowIndex; + UIValue.GalleryPage = nowIndex / this.MAX_THUMBNAILS_COUNT; + base.PlaySE_Cancel(); + SceneManager.BackScene(); + } + + // Token: 0x060006D1 RID: 1745 RVA: 0x0001CB80 File Offset: 0x0001AD80 + private void OnDraging(Vector3 v) + { + this.moveBackGround.SetBackGroundPosition(v); + } + + // Token: 0x060006D2 RID: 1746 RVA: 0x0001CB90 File Offset: 0x0001AD90 + private void OnDrag(Vector3 v) + { + this.moveBackGround.SetBackGroundPosition(v); + SLIDE_VECTOR slideVector = this.moveBackGround.GetSlideVector(); + switch (slideVector) + { + case SLIDE_VECTOR.LEFT: + case SLIDE_VECTOR.RIGHT: + case SLIDE_VECTOR.UP: + case SLIDE_VECTOR.DOWN: + this.OnFlick(slideVector); + break; + default: + this.moveBackGround.ResetBackGroundPosition(); + break; + } + } + + // Token: 0x060006D3 RID: 1747 RVA: 0x0001CBF0 File Offset: 0x0001ADF0 + private bool checkDirLR(SLIDE_VECTOR slide) + { + return slide == SLIDE_VECTOR.LEFT || slide == SLIDE_VECTOR.RIGHT; + } + + // Token: 0x060006D4 RID: 1748 RVA: 0x0001CC18 File Offset: 0x0001AE18 + private bool checkDir(SLIDE_VECTOR slide, SLIDE_VECTOR flick) + { + switch (slide) + { + case SLIDE_VECTOR.LEFT: + case SLIDE_VECTOR.RIGHT: + case SLIDE_VECTOR.UP: + case SLIDE_VECTOR.DOWN: + return this.checkDirLR(slide) == this.checkDirLR(flick); + default: + return true; + } + } + + // Token: 0x060006D5 RID: 1749 RVA: 0x0001CC58 File Offset: 0x0001AE58 + private void OnFlick(SLIDE_VECTOR slide) + { + if (!this.checkDir(this.moveBackGround.GetDirFixSlideVector(), slide)) + { + this.moveBackGround.ResetBackGroundPosition(); + return; + } + string currentFPath = this.cgLink.GetCurrentFPath(); + switch (slide) + { + case SLIDE_VECTOR.LEFT: + this.cgLink.Right(); + break; + case SLIDE_VECTOR.RIGHT: + this.cgLink.Left(); + break; + case SLIDE_VECTOR.UP: + this.cgLink.Down(); + break; + case SLIDE_VECTOR.DOWN: + this.cgLink.Up(); + break; + } + string currentFPath2 = this.cgLink.GetCurrentFPath(); + if (currentFPath2 != currentFPath) + { + base.PlaySE_Select(); + this.action = true; + this.ChangeBG("event/cg/" + currentFPath2, "event/cg/" + this.cgLink.GetLeftFPath(), "event/cg/" + this.cgLink.GetRightFPath(), "event/cg/" + this.cgLink.GetUpFPath(), "event/cg/" + this.cgLink.GetDownFPath(), slide); + } + } + + // Token: 0x060006D6 RID: 1750 RVA: 0x0001CD80 File Offset: 0x0001AF80 + private void ChangeBG(string cpath, string lpath, string rpath, string upath, string dpath, SLIDE_VECTOR slide) + { + this.moveBackGround.ChangeBG(cpath, lpath, rpath, upath, dpath, slide); + } + + // Token: 0x060006D7 RID: 1751 RVA: 0x0001CD98 File Offset: 0x0001AF98 + private void LoadBG() + { + base.SetTexture("BGC", this.cgLink.GetCurrentFPath()); + base.SetTexture("BGL", this.cgLink.GetLeftFPath()); + base.SetTexture("BGR", this.cgLink.GetRightFPath()); + base.SetTexture("BGU", this.cgLink.GetUpFPath()); + base.SetTexture("BGD", this.cgLink.GetDownFPath()); + } + + // Token: 0x04000661 RID: 1633 + private const int SCREEN_W = 960; + + // Token: 0x04000662 RID: 1634 + private const int SCREEN_H = 544; + + // Token: 0x04000663 RID: 1635 + private const int CG_POS_X = 965; + + // Token: 0x04000664 RID: 1636 + private const int CG_POS_Y = 549; + + // Token: 0x04000665 RID: 1637 + protected readonly int MAX_THUMBNAILS_COUNT = 12; + + // Token: 0x04000666 RID: 1638 + private readonly int wndz; + + // Token: 0x04000667 RID: 1639 + private GalleryCGWindow.ArrowAnimationHolder arrowAnimationHolder; + + // Token: 0x04000668 RID: 1640 + private CSVCGListHolder.CGLink cgLink; + + // Token: 0x04000669 RID: 1641 + private GalleryCGWindow.MoveBackGround moveBackGround; + + // Token: 0x0400066A RID: 1642 + private bool action; + + // Token: 0x02000104 RID: 260 + private class ArrowAnimation + { + // Token: 0x060006D8 RID: 1752 RVA: 0x0001CE14 File Offset: 0x0001B014 + public ArrowAnimation(Vector2 direction) + { + float num = 0f; + int num2 = 3; + float num3 = 0.8f; + this.lp = new ImageAnimationLocalPosition(num2, num3, num, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(25f * direction.x, 25f * direction.y, 0f)); + this.mc = new ImageAnimationMaterialColor(1, num3, num + (float)(num2 - 1) * num3, new Color(1f, 1f, 1f, 1f), new Color(1f, 1f, 1f, 0f)); + } + + // Token: 0x060006D9 RID: 1753 RVA: 0x0001CEC4 File Offset: 0x0001B0C4 + public void Restart() + { + this.lp.Restart(); + this.mc.Restart(); + } + + // Token: 0x0400066B RID: 1643 + public ImageAnimationLocalPosition lp; + + // Token: 0x0400066C RID: 1644 + public ImageAnimationMaterialColor mc; + } + + // Token: 0x02000105 RID: 261 + private class ArrowAnimationHolder + { + // Token: 0x060006DA RID: 1754 RVA: 0x0001CEDC File Offset: 0x0001B0DC + public ArrowAnimationHolder() + { + this.animation = new GalleryCGWindow.ArrowAnimation[4]; + this.animation[0] = new GalleryCGWindow.ArrowAnimation(new Vector2(1f, 0f)); + this.animation[1] = new GalleryCGWindow.ArrowAnimation(new Vector2(-1f, 0f)); + this.animation[2] = new GalleryCGWindow.ArrowAnimation(new Vector2(0f, 1f)); + this.animation[3] = new GalleryCGWindow.ArrowAnimation(new Vector2(0f, -1f)); + this.gameObject = new GameObject[4]; + } + + // Token: 0x060006DB RID: 1755 RVA: 0x0001CF78 File Offset: 0x0001B178 + public void SetAnimation(GameObject go, int index, bool enabled) + { + ImageObject component = go.GetComponent(); + component.AddImageAnimation(this.animation[index].lp); + component.AddImageAnimation(this.animation[index].mc); + component.RendererEnableAfterLoad = enabled; + this.gameObject[index] = go; + } + + // Token: 0x060006DC RID: 1756 RVA: 0x0001CFC4 File Offset: 0x0001B1C4 + public void Restart() + { + foreach (GalleryCGWindow.ArrowAnimation arrowAnimation in this.animation) + { + arrowAnimation.Restart(); + } + } + + // Token: 0x060006DD RID: 1757 RVA: 0x0001CFF8 File Offset: 0x0001B1F8 + public void SetRendererEnable(bool lr, bool ud) + { + this.gameObject[0].renderer.enabled = lr; + this.gameObject[1].renderer.enabled = lr; + this.gameObject[2].renderer.enabled = ud; + this.gameObject[3].renderer.enabled = ud; + } + + // Token: 0x0400066D RID: 1645 + private GalleryCGWindow.ArrowAnimation[] animation; + + // Token: 0x0400066E RID: 1646 + private GameObject[] gameObject; + } + + // Token: 0x02000106 RID: 262 + private class MovableObjectHolder + { + // Token: 0x060006DE RID: 1758 RVA: 0x0001D054 File Offset: 0x0001B254 + public MovableObjectHolder() + { + this.go = null; + this.slide = null; + this.drag = null; + this.golocal = new Vector3(0f, 0f, 0f); + this.move = this.golocal; + this.dirFix = false; + this.dirHorizon = false; + } + + // Token: 0x060006DF RID: 1759 RVA: 0x0001D0C8 File Offset: 0x0001B2C8 + public void Init(GameObject go_) + { + this.go = go_; + this.slide = new ImageAnimationLocalPosition(1, this.asSlide, 0f, MoveType.OneshotSin000to090, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f)); + this.drag = new ImageAnimationLocalPosition(1, this.asDrag, 0f, MoveType.OneshotSin000to090, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f)); + this.golocal = this.go.transform.localPosition; + } + + // Token: 0x060006E0 RID: 1760 RVA: 0x0001D174 File Offset: 0x0001B374 + public bool Update() + { + this.slide.Update(); + this.go.transform.localPosition = this.slide.CalcPosition(this.golocal); + return this.slide.Active(); + } + + // Token: 0x060006E1 RID: 1761 RVA: 0x0001D1B8 File Offset: 0x0001B3B8 + public void SetBackGroundPosition(Vector3 v) + { + if (!this.dirFix) + { + float num = Mathf.Abs(v.x); + float num2 = Mathf.Abs(v.y); + bool flag = num > num2; + float num3 = (!flag) ? num2 : num; + if (num3 > 32f) + { + this.dirFix = true; + this.dirHorizon = flag; + } + } + if (this.dirFix) + { + Vector3 rhs = new Vector3((!this.dirHorizon) ? 0f : v.x, (!this.dirHorizon) ? v.y : 0f, 0f); + if (this.move != rhs) + { + this.move = rhs; + this.SetAnimation(this.drag, this.drag.Offset, this.move, this.asDrag, true); + } + this.drag.Update(); + this.go.transform.localPosition = this.drag.CalcPosition(this.golocal); + } + } + + // Token: 0x060006E2 RID: 1762 RVA: 0x0001D2D0 File Offset: 0x0001B4D0 + public void ResetBackGroundPosition() + { + this.MoveStart(new Vector3(0f, 0f, 0f)); + } + + // Token: 0x060006E3 RID: 1763 RVA: 0x0001D2EC File Offset: 0x0001B4EC + public SLIDE_VECTOR GetDirFixSlideVector() + { + if (!this.dirFix) + { + return SLIDE_VECTOR.NONE; + } + if (this.dirHorizon) + { + return (this.move.x >= 0f) ? SLIDE_VECTOR.RIGHT : SLIDE_VECTOR.LEFT; + } + return (this.move.y >= 0f) ? SLIDE_VECTOR.DOWN : SLIDE_VECTOR.UP; + } + + // Token: 0x060006E4 RID: 1764 RVA: 0x0001D34C File Offset: 0x0001B54C + public SLIDE_VECTOR GetSlideVector() + { + if (this.dirFix) + { + float num = Mathf.Abs(this.move.x); + float num2 = Mathf.Abs(this.move.y); + float num3 = (!this.dirHorizon) ? num2 : num; + float num4 = (float)((!this.dirHorizon) ? 272 : 480); + if (num3 > num4) + { + if (this.dirHorizon) + { + return (this.move.x >= 0f) ? SLIDE_VECTOR.RIGHT : SLIDE_VECTOR.LEFT; + } + return (this.move.y >= 0f) ? SLIDE_VECTOR.DOWN : SLIDE_VECTOR.UP; + } + } + return SLIDE_VECTOR.NONE; + } + + // Token: 0x060006E5 RID: 1765 RVA: 0x0001D404 File Offset: 0x0001B604 + public void MoveStart(Vector3 end) + { + this.dirFix = false; + this.dirHorizon = false; + float num = this.calcRangeRate(this.drag.Offset, end); + this.SetAnimation(this.slide, this.drag.Offset, end, this.asSlide * num, true); + } + + // Token: 0x060006E6 RID: 1766 RVA: 0x0001D454 File Offset: 0x0001B654 + public void ResetOffsetEnd() + { + Vector3 vector = new Vector3(0f, 0f, 0f); + this.SetAnimation(this.slide, vector, vector, this.asSlide, true); + this.slide.Update(); + this.SetAnimation(this.drag, vector, vector, this.asDrag, true); + this.drag.Update(); + this.go.transform.localPosition = this.golocal; + } + + // Token: 0x060006E7 RID: 1767 RVA: 0x0001D4D0 File Offset: 0x0001B6D0 + private void SetAnimation(ImageAnimationLocalPosition animation, Vector3 begin, Vector3 end, float speed, bool restart) + { + animation.OffsetBegin = begin; + animation.OffsetEnd = end; + animation.Speed = speed; + if (restart) + { + animation.Restart(); + } + } + + // Token: 0x060006E8 RID: 1768 RVA: 0x0001D4F8 File Offset: 0x0001B6F8 + private float calcRangeRate(Vector3 begin, Vector3 end) + { + float num = this.calcRangeRate(begin.x - end.x, 965f); + if (num != 0f) + { + return num; + } + float num2 = this.calcRangeRate(begin.y - end.y, 549f); + if (num2 != 0f) + { + return num2; + } + return 0.1f; + } + + // Token: 0x060006E9 RID: 1769 RVA: 0x0001D55C File Offset: 0x0001B75C + private float calcRangeRate(float d, float m) + { + return (d != 0f) ? Math.Max(0.2f, Mathf.Abs(d) / m) : 0f; + } + + // Token: 0x0400066F RID: 1647 + private readonly float asDrag = 0.05f; + + // Token: 0x04000670 RID: 1648 + private readonly float asSlide = 1f; + + // Token: 0x04000671 RID: 1649 + private GameObject go; + + // Token: 0x04000672 RID: 1650 + private ImageAnimationLocalPosition slide; + + // Token: 0x04000673 RID: 1651 + private ImageAnimationLocalPosition drag; + + // Token: 0x04000674 RID: 1652 + private Vector3 golocal; + + // Token: 0x04000675 RID: 1653 + private Vector3 move; + + // Token: 0x04000676 RID: 1654 + private bool dirFix; + + // Token: 0x04000677 RID: 1655 + private bool dirHorizon; + } + + // Token: 0x02000107 RID: 263 + private class GraphicLoader + { + // Token: 0x060006EA RID: 1770 RVA: 0x0001D588 File Offset: 0x0001B788 + public GraphicLoader() + { + this.graphicHolder = new GraphicManager.SceneGraphicHolder(new string[0]); + this.stanbyPath = new string[0]; + } + + // Token: 0x060006EB RID: 1771 RVA: 0x0001D5B0 File Offset: 0x0001B7B0 + public void Standby(string[] path) + { + this.stanbyPath = path; + } + + // Token: 0x060006EC RID: 1772 RVA: 0x0001D5BC File Offset: 0x0001B7BC + public void Create(string[] path) + { + this.graphicHolder.Create(path); + } + + // Token: 0x060006ED RID: 1773 RVA: 0x0001D5CC File Offset: 0x0001B7CC + public void Release() + { + this.graphicHolder.Release(); + } + + // Token: 0x060006EE RID: 1774 RVA: 0x0001D5DC File Offset: 0x0001B7DC + public bool isDone() + { + if (this.stanbyPath.Length != 0) + { + this.graphicHolder.Create(this.stanbyPath); + this.stanbyPath = new string[0]; + } + return this.graphicHolder.isDone(); + } + + // Token: 0x04000678 RID: 1656 + private GraphicManager.SceneGraphicHolder graphicHolder; + + // Token: 0x04000679 RID: 1657 + private string[] stanbyPath; + } + + // Token: 0x02000108 RID: 264 + private class MoveBackGround + { + // Token: 0x060006EF RID: 1775 RVA: 0x0001D614 File Offset: 0x0001B814 + public MoveBackGround() + { + this.movableObjectHolder = new GalleryCGWindow.MovableObjectHolder(); + this.moving = false; + this.graphicLoader = new GalleryCGWindow.GraphicLoader(); + } + + // Token: 0x060006F0 RID: 1776 RVA: 0x0001D63C File Offset: 0x0001B83C + public void Release() + { + this.graphicLoader.Release(); + } + + // Token: 0x170000DB RID: 219 + // (get) Token: 0x060006F1 RID: 1777 RVA: 0x0001D64C File Offset: 0x0001B84C + public bool Moving + { + get + { + return this.moving; + } + } + + // Token: 0x060006F2 RID: 1778 RVA: 0x0001D654 File Offset: 0x0001B854 + public void Init(GameObject movableObject) + { + this.movableObjectHolder.Init(movableObject); + } + + // Token: 0x060006F3 RID: 1779 RVA: 0x0001D664 File Offset: 0x0001B864 + public void SetBackGroundPosition(Vector3 v) + { + this.movableObjectHolder.SetBackGroundPosition(v); + } + + // Token: 0x060006F4 RID: 1780 RVA: 0x0001D674 File Offset: 0x0001B874 + public void ResetBackGroundPosition() + { + this.movableObjectHolder.ResetBackGroundPosition(); + this.moving = true; + } + + // Token: 0x060006F5 RID: 1781 RVA: 0x0001D688 File Offset: 0x0001B888 + public SLIDE_VECTOR GetDirFixSlideVector() + { + return this.movableObjectHolder.GetDirFixSlideVector(); + } + + // Token: 0x060006F6 RID: 1782 RVA: 0x0001D698 File Offset: 0x0001B898 + public SLIDE_VECTOR GetSlideVector() + { + return this.movableObjectHolder.GetSlideVector(); + } + + // Token: 0x060006F7 RID: 1783 RVA: 0x0001D6A8 File Offset: 0x0001B8A8 + public void ChangeBG(string cpath, string lpath, string rpath, string upath, string dpath, SLIDE_VECTOR slide) + { + string[] path = new string[] + { + cpath, + lpath, + rpath, + upath, + dpath + }; + this.graphicLoader.Standby(path); + Vector3 vector = new Vector3(965f, 549f, 0f); + Vector3 vector2 = this.calcVector(slide); + Vector3 end = new Vector3(vector2.x * vector.x, vector2.y * vector.y, 0f); + this.movableObjectHolder.MoveStart(end); + this.moving = true; + } + + // Token: 0x060006F8 RID: 1784 RVA: 0x0001D73C File Offset: 0x0001B93C + public bool Update() + { + if (this.moving && !this.movableObjectHolder.Update() && this.graphicLoader.isDone()) + { + this.movableObjectHolder.ResetOffsetEnd(); + this.moving = false; + } + return this.moving; + } + + // Token: 0x060006F9 RID: 1785 RVA: 0x0001D790 File Offset: 0x0001B990 + public Vector3 calcVector(SLIDE_VECTOR slide) + { + switch (slide) + { + case SLIDE_VECTOR.LEFT: + return new Vector3(-1f, 0f, 0f); + case SLIDE_VECTOR.RIGHT: + return new Vector3(1f, 0f, 0f); + case SLIDE_VECTOR.UP: + return new Vector3(0f, -1f, 0f); + case SLIDE_VECTOR.DOWN: + return new Vector3(0f, 1f, 0f); + default: + return new Vector3(0f, 0f, 0f); + } + } + + // Token: 0x0400067A RID: 1658 + private GalleryCGWindow.MovableObjectHolder movableObjectHolder; + + // Token: 0x0400067B RID: 1659 + private bool moving; + + // Token: 0x0400067C RID: 1660 + private GalleryCGWindow.GraphicLoader graphicLoader; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryCharaSelectWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryCharaSelectWindow.cs new file mode 100644 index 000000000..902f6eb93 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryCharaSelectWindow.cs @@ -0,0 +1,172 @@ +using System; +using System.Collections.Generic; + +// Token: 0x02000109 RID: 265 +public abstract class GalleryCharaSelectWindow : BaseWindow +{ + // Token: 0x060006FB RID: 1787 + protected abstract int GetCollect(); + + // Token: 0x060006FC RID: 1788 + protected abstract void OnName(); + + // Token: 0x060006FD RID: 1789 + protected abstract bool IsNameButton(); + + // Token: 0x060006FE RID: 1790 + protected abstract string GetHeaderPath(); + + // Token: 0x060006FF RID: 1791 + protected abstract string GetCharaButtonSceneName(); + + // Token: 0x06000700 RID: 1792 RVA: 0x0001D82C File Offset: 0x0001BA2C + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/cgmemory2/cgm_bg_1", + this.GetHeaderPath(), + "screen/cgmemory/cgm_kumi0", + "screen/cgmemory/cgm_kumi1", + "screen/cgmemory/cgm_kumi2", + "screen/cgmemory/cgm_kumi3", + "screen/cgmemory/cgm_kumi4", + "screen/cgmemory/cgm_kumi5", + "screen/cgmemory/cgm_kumi6", + "screen/cgmemory/cgm_kumi7", + "screen/cgmemory/cgm_kumi8", + "screen/cgmemory/cgm_kumi9", + "screen/cgmemory/cgm_btn_cha01", + "screen/cgmemory/cgm_btn_cha02", + "screen/cgmemory/cgm_btn_cha03", + "screen/cgmemory/cgm_btn_cha04", + "screen/cgmemory/cgm_btn_cha05", + "screen/cgmemory/cgm_btn_cha06", + "screen/cgmemory/cgm_btn_cha07", + "screen/cgmemory/cgm_btn_cha08", + "screen/cgmemory/cgm_btn_cha09", + "screen/cgmemory/cgm_btn_cha10", + "screen/cgmemory/cgm_btn_cha11", + "screen/cgmemory/cgm_btn_name", + "screen/common/cancel" + }; + } + + // Token: 0x06000701 RID: 1793 RVA: 0x0001D91C File Offset: 0x0001BB1C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + List list = new List(); + list.Add(new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/cgmemory2/cgm_bg_1", false, true)); + list.Add(new BaseWindow.UIImage("Header", 0, 0, this.wndz + 1, this.GetHeaderPath(), false, true)); + int collect = this.GetCollect(); + if (collect >= 0) + { + int num = collect / 100; + int num2 = (collect - num * 100) / 10; + int num3 = collect - num * 100 - num2 * 10; + list.Add(new BaseWindow.UIImage("Per100", 728, 17, this.wndz + 2, num.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + list.Add(new BaseWindow.UIImage("Per010", 758, 17, this.wndz + 2, num2.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + list.Add(new BaseWindow.UIImage("Per001", 788, 17, this.wndz + 2, num3.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + } + int num4 = 0; + for (int i = 0; i < 2; i++) + { + int y_ = (i != 0) ? 297 : 91; + int num5 = (i != 0) ? 85 : 5; + int num6 = (i != 0) ? 5 : 6; + int j = 0; + while (j < num6) + { + int x_ = num5 + 158 * j; + string filenameString = this.GetFilenameString(num4); + list.Add(new BaseWindow.UIButton("Chara" + filenameString, x_, y_, this.wndz + 2, "screen/cgmemory/cgm_btn_cha" + filenameString, true, true, 1, 2, 0)); + j++; + num4++; + } + } + if (this.IsNameButton()) + { + list.Add(new BaseWindow.UIButton("BtnName", 734, 499, 2, "screen/cgmemory/cgm_btn_name", true, true, 1, 2, 0)); + } + list.Add(new BaseWindow.UIButton("Cancel", 887, 6, 3, "screen/common/cancel", true, true, 1, 2, 0)); + return list.ToArray(); + } + + // Token: 0x06000702 RID: 1794 RVA: 0x0001DB30 File Offset: 0x0001BD30 + protected sealed override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "Chara01": + case "Chara02": + case "Chara03": + case "Chara04": + case "Chara05": + case "Chara06": + case "Chara07": + case "Chara08": + case "Chara09": + case "Chara10": + case "Chara11": + UIValue.GalleryPage = 0; + UIValue.GalleryCharactor = this.ToCharId(obj); + base.PlaySE_Ok(); + SceneManager.ChangeScene(this.GetCharaButtonSceneName()); + break; + case "BtnName": + base.PlaySE_Ok(); + this.OnName(); + break; + case "Cancel": + base.PlaySE_Cancel(); + SceneManager.BackScene(); + break; + } + } + + // Token: 0x06000703 RID: 1795 RVA: 0x0001DC6C File Offset: 0x0001BE6C + private string GetButtonName(int i) + { + return "Chara" + this.GetFilenameString(i); + } + + // Token: 0x06000704 RID: 1796 RVA: 0x0001DC80 File Offset: 0x0001BE80 + private string GetFilenameString(int i) + { + return (i + 1).ToString("00"); + } + + // Token: 0x06000705 RID: 1797 RVA: 0x0001DCA0 File Offset: 0x0001BEA0 + private int ToCharId(string obj) + { + switch (obj) + { + case "Chara01": + return 0; + case "Chara02": + return 1; + case "Chara03": + return 2; + case "Chara04": + return 3; + case "Chara05": + return 4; + case "Chara06": + return 5; + case "Chara07": + return 6; + case "Chara08": + return 7; + case "Chara09": + return 8; + case "Chara10": + return 9; + case "Chara11": + return 10; + } + return -1; + } + + // Token: 0x0400067D RID: 1661 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogExitType.cs b/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogExitType.cs new file mode 100644 index 000000000..9b50520b2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogExitType.cs @@ -0,0 +1,16 @@ +using System; + +// Token: 0x020000FA RID: 250 +public enum GalleryInputNameDialogExitType +{ + // Token: 0x04000616 RID: 1558 + INVALID, + // Token: 0x04000617 RID: 1559 + INPUT, + // Token: 0x04000618 RID: 1560 + YES, + // Token: 0x04000619 RID: 1561 + NO, + // Token: 0x0400061A RID: 1562 + RETRY +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogType.cs b/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogType.cs new file mode 100644 index 000000000..a919a5c16 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogType.cs @@ -0,0 +1,16 @@ +using System; + +// Token: 0x020000F9 RID: 249 +public enum GalleryInputNameDialogType +{ + // Token: 0x04000610 RID: 1552 + INVALID, + // Token: 0x04000611 RID: 1553 + EMPTY, + // Token: 0x04000612 RID: 1554 + OVER, + // Token: 0x04000613 RID: 1555 + INVALIDCHAR, + // Token: 0x04000614 RID: 1556 + CONFIRM +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogWindow.cs new file mode 100644 index 000000000..ae809788a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryInputNameDialogWindow.cs @@ -0,0 +1,189 @@ +using System; +using Qoo.Game; +using UnityEngine; + +// Token: 0x0200010A RID: 266 +public class GalleryInputNameDialogWindow : BaseWindow +{ + // Token: 0x06000707 RID: 1799 RVA: 0x0001DE20 File Offset: 0x0001C020 + protected sealed override void OnAwake() + { + this.type = UIValue.GalleryInputNameDialog_Type; + this.state = ((this.type != GalleryInputNameDialogType.CONFIRM) ? GalleryInputNameDialogWindow.STATE.INIT : GalleryInputNameDialogWindow.STATE.INVALID); + this.elapsed = 0f; + } + + // Token: 0x06000708 RID: 1800 RVA: 0x0001DE54 File Offset: 0x0001C054 + protected sealed override string[] newSceneTextureNameArray() + { + switch (this.type) + { + case GalleryInputNameDialogType.EMPTY: + case GalleryInputNameDialogType.OVER: + case GalleryInputNameDialogType.INVALIDCHAR: + return new string[] + { + "screen/common/sys_dialog" + }; + case GalleryInputNameDialogType.CONFIRM: + return new string[] + { + "screen/common/sys_dialog", + "screen/common/dlog_btn_y", + "screen/common/dlog_btn_n" + }; + default: + return base.newSceneTextureNameArray(); + } + } + + // Token: 0x06000709 RID: 1801 RVA: 0x0001DEC0 File Offset: 0x0001C0C0 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + switch (this.type) + { + case GalleryInputNameDialogType.EMPTY: + case GalleryInputNameDialogType.OVER: + case GalleryInputNameDialogType.INVALIDCHAR: + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Block", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("Dialog", this.msgwndx, this.msgwndy, this.wndz + 1, "screen/common/sys_dialog", false, true), + new BaseWindow.UIText("Text", this.textx, this.texty, this.wndz + 2, this.GetText(0), 22, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + case GalleryInputNameDialogType.CONFIRM: + { + int num = 22; + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Block", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("Dialog", this.msgwndx, this.msgwndy, this.wndz + 1, "screen/common/sys_dialog", false, true), + new BaseWindow.UIButton("ButtonY", this.ybtnx, this.btny, this.wndz + 2, "screen/common/dlog_btn_y", true, true, 1, 2, 0), + new BaseWindow.UIButton("ButtonN", this.nbtnx, this.btny, this.wndz + 2, "screen/common/dlog_btn_n", true, true, 1, 2, 0), + new BaseWindow.UIText("Text0", this.textx, this.texty + num * 0, this.wndz + 2, this.GetText(0), 22, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIText("Text1", this.textx, this.texty + num * 1, this.wndz + 2, this.GetText(1), 22, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + default: + return base.newComponentArray(); + } + } + + // Token: 0x0600070A RID: 1802 RVA: 0x0001E0B8 File Offset: 0x0001C2B8 + protected sealed override void OnBaseWindowUpdate() + { + switch (this.state) + { + case GalleryInputNameDialogWindow.STATE.INIT: + this.state = GalleryInputNameDialogWindow.STATE.WAIT; + this.elapsed = 0f; + break; + case GalleryInputNameDialogWindow.STATE.WAIT: + this.elapsed += Time.deltaTime; + if (this.elapsed > 1f) + { + this.state = GalleryInputNameDialogWindow.STATE.EXIT; + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.RETRY; + base.DeleteLastAddScene(); + } + break; + } + } + + // Token: 0x0600070B RID: 1803 RVA: 0x0001E144 File Offset: 0x0001C344 + protected sealed override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "ButtonY": + base.PlaySE_Ok(); + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.YES; + base.DeleteLastAddScene(); + break; + case "ButtonN": + base.PlaySE_Cancel(); + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.NO; + base.DeleteLastAddScene(); + break; + case "Close": + base.PlaySE_Cancel(); + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.RETRY; + base.DeleteLastAddScene(); + break; + } + } + + // Token: 0x0600070C RID: 1804 RVA: 0x0001E204 File Offset: 0x0001C404 + private string GetText(int line) + { + switch (this.type) + { + case GalleryInputNameDialogType.EMPTY: + return "名前が入力されていません。"; + case GalleryInputNameDialogType.OVER: + return "入力できる名前は7文字までです。"; + case GalleryInputNameDialogType.INVALIDCHAR: + return "表示できない文字が含まれています。"; + case GalleryInputNameDialogType.CONFIRM: + if (line == 0) + { + string galleryInputNameDialog_Name = UIValue.GalleryInputNameDialog_Name; + string paramString = GameData.GetParamString("familyname", string.Empty); + return string.Format("「{0}={1}」です。", galleryInputNameDialog_Name, paramString); + } + if (line != 1) + { + return string.Empty; + } + return "よろしいですか?"; + default: + return string.Empty; + } + } + + // Token: 0x04000680 RID: 1664 + private GalleryInputNameDialogType type; + + // Token: 0x04000681 RID: 1665 + private readonly int msgwndx = 136; + + // Token: 0x04000682 RID: 1666 + private readonly int msgwndy = 182; + + // Token: 0x04000683 RID: 1667 + private readonly int ybtnx = 312; + + // Token: 0x04000684 RID: 1668 + private readonly int nbtnx = 513; + + // Token: 0x04000685 RID: 1669 + private readonly int btny = 277; + + // Token: 0x04000686 RID: 1670 + private readonly int wndz = 10; + + // Token: 0x04000687 RID: 1671 + private readonly int textx = 480; + + // Token: 0x04000688 RID: 1672 + private readonly int texty = 222; + + // Token: 0x04000689 RID: 1673 + private GalleryInputNameDialogWindow.STATE state; + + // Token: 0x0400068A RID: 1674 + private float elapsed; + + // Token: 0x0200010B RID: 267 + private enum STATE + { + // Token: 0x0400068D RID: 1677 + INVALID, + // Token: 0x0400068E RID: 1678 + INIT, + // Token: 0x0400068F RID: 1679 + WAIT, + // Token: 0x04000690 RID: 1680 + EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryInputNameKeyboardWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryInputNameKeyboardWindow.cs new file mode 100644 index 000000000..152d8c4ca --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryInputNameKeyboardWindow.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x0200010C RID: 268 +public class GalleryInputNameKeyboardWindow : BaseWindow +{ + // Token: 0x0600070E RID: 1806 RVA: 0x0001E298 File Offset: 0x0001C498 + protected sealed override void BeforeInit() + { + UnityTask.SetMainTask(this.Run()); + } + + // Token: 0x0600070F RID: 1807 RVA: 0x0001E2A8 File Offset: 0x0001C4A8 + public IEnumerator Run() + { + string initvalue = UIValue.GalleryInputNameDialog_Name; + switch (Application.platform) + { + case RuntimePlatform.IPhonePlayer: + case RuntimePlatform.Android: + yield return NameInputKeyboard.Open(initvalue, false); + goto IL_82; + } + NameInputKeyboard.DebugInputText = initvalue; + IL_82: + UIValue.GalleryInputNameDialog_Name = NameInputKeyboard.InputText; + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.INPUT; + base.DeleteLastAddScene(); + NameInputKeyboard.Close(); + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryInputNameWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryInputNameWindow.cs new file mode 100644 index 000000000..0e1ea9151 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryInputNameWindow.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using Qoo.Game; +using UnityEngine; + +// Token: 0x0200010D RID: 269 +public class GalleryInputNameWindow : BaseWindow +{ + // Token: 0x06000711 RID: 1809 RVA: 0x0001E2CC File Offset: 0x0001C4CC + protected sealed override void OnAwake() + { + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.INVALID; + UIValue.GalleryInputNameDialog_Name = GameData.GetParamString("firstname", string.Empty); + this.edit = true; + this.wait = 0f; + } + + // Token: 0x06000712 RID: 1810 RVA: 0x0001E308 File Offset: 0x0001C508 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/common/sys_name_bg" + }; + } + + // Token: 0x06000713 RID: 1811 RVA: 0x0001E328 File Offset: 0x0001C528 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/common/sys_name_bg", true, true) + }; + } + + // Token: 0x06000714 RID: 1812 RVA: 0x0001E35C File Offset: 0x0001C55C + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (obj != null) + { + if (GalleryInputNameWindow.<>f__switch$mapA == null) + { + GalleryInputNameWindow.<>f__switch$mapA = new Dictionary(1) + { + { + "BackGround", + 0 + } + }; + } + int num; + if (GalleryInputNameWindow.<>f__switch$mapA.TryGetValue(obj, out num)) + { + if (num != 0) + { + } + } + } + } + + // Token: 0x06000715 RID: 1813 RVA: 0x0001E3B8 File Offset: 0x0001C5B8 + protected override void OnBaseWindowUpdate() + { + if (this.edit) + { + this.wait += Time.deltaTime; + if (this.wait > 1f) + { + base.AddScene(UIValue.SCENE_GALLERYINPUTNAMEKEYBOARD); + this.edit = false; + this.wait = 0f; + } + } + else + { + switch (UIValue.GalleryInputNameDialog_Exit) + { + case GalleryInputNameDialogExitType.INPUT: + { + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.INVALID; + string galleryInputNameDialog_Name = UIValue.GalleryInputNameDialog_Name; + if (galleryInputNameDialog_Name.Length == 0 || this.checkSpaceOnly(galleryInputNameDialog_Name)) + { + UIValue.GalleryInputNameDialog_Type = GalleryInputNameDialogType.EMPTY; + } + else if (galleryInputNameDialog_Name.Length > 7) + { + UIValue.GalleryInputNameDialog_Type = GalleryInputNameDialogType.OVER; + } + else if (!this.checkValidString(galleryInputNameDialog_Name)) + { + UIValue.GalleryInputNameDialog_Type = GalleryInputNameDialogType.INVALIDCHAR; + } + else + { + UIValue.GalleryInputNameDialog_Type = GalleryInputNameDialogType.CONFIRM; + } + base.AddScene(UIValue.SCENE_GALLERYINPUTNAMEDIALOG); + break; + } + case GalleryInputNameDialogExitType.YES: + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.INVALID; + GameData.SetParamString("firstname", string.Empty, UIValue.GalleryInputNameDialog_Name); + SceneManager.BackScene(); + break; + case GalleryInputNameDialogExitType.NO: + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.INVALID; + this.edit = true; + this.wait = 0f; + break; + case GalleryInputNameDialogExitType.RETRY: + UIValue.GalleryInputNameDialog_Exit = GalleryInputNameDialogExitType.INVALID; + this.edit = true; + this.wait = 0f; + break; + } + } + } + + // Token: 0x06000716 RID: 1814 RVA: 0x0001E508 File Offset: 0x0001C708 + private bool checkValidString(string firstname) + { + return Singleton.Instance.Font.Font.CheckGlyph(firstname); + } + + // Token: 0x06000717 RID: 1815 RVA: 0x0001E520 File Offset: 0x0001C720 + private bool checkSpaceOnly(string firstname) + { + foreach (char c in firstname) + { + if (c != ' ' && c != '\u3000') + { + return false; + } + } + return true; + } + + // Token: 0x04000691 RID: 1681 + private readonly int wndz; + + // Token: 0x04000692 RID: 1682 + private bool edit; + + // Token: 0x04000693 RID: 1683 + private float wait; +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryMenuWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryMenuWindow.cs new file mode 100644 index 000000000..f8008d1c0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryMenuWindow.cs @@ -0,0 +1,86 @@ +using System; + +// Token: 0x0200010E RID: 270 +public class GalleryMenuWindow : BaseWindow +{ + // Token: 0x06000719 RID: 1817 RVA: 0x0001E56C File Offset: 0x0001C76C + protected sealed override string GetBGMName() + { + return "sysbgm_cgmemory"; + } + + // Token: 0x0600071A RID: 1818 RVA: 0x0001E574 File Offset: 0x0001C774 + protected sealed override void OnAwake() + { + CSVManager.Instance.UpdateGallery(); + } + + // Token: 0x0600071B RID: 1819 RVA: 0x0001E580 File Offset: 0x0001C780 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/title/title_base", + "screen/title/memory02", + "screen/title/memory01", + "screen/title/memory03", + "screen/common/cancel" + }; + } + + // Token: 0x0600071C RID: 1820 RVA: 0x0001E5C0 File Offset: 0x0001C7C0 + protected sealed override void AfterInit() + { + if (base.IsTrial) + { + base.GetGameObject("Btn0").GetComponent().ActionEnable = false; + base.GetGameObject("Btn2").GetComponent().ActionEnable = false; + } + } + + // Token: 0x0600071D RID: 1821 RVA: 0x0001E604 File Offset: 0x0001C804 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/title/title_base", false, true), + new BaseWindow.UIButton("Btn0", 293, 280, this.wndz + 1, "screen/title/memory02", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn1", 534, 280, this.wndz + 1, "screen/title/memory01", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn2", 393, 402, this.wndz + 1, "screen/title/memory03", true, true, 1, 2, 0), + new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 3, "screen/common/cancel", true, true, 1, 2, 0) + }; + } + + // Token: 0x0600071E RID: 1822 RVA: 0x0001E6D8 File Offset: 0x0001C8D8 + protected sealed override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "Btn0": + if (!base.IsTrial) + { + base.PlaySE_Ok(); + SceneManager.ChangeScene(UIValue.SCENE_MEMORYCHARASELECT); + } + break; + case "Btn1": + base.PlaySE_Ok(); + SceneManager.ChangeScene(UIValue.SCENE_CGCHARASELECT); + break; + case "Btn2": + if (!base.IsTrial) + { + base.PlaySE_Ok(); + SceneManager.ChangeScene(UIValue.SCENE_GALLERYMOVIE); + } + break; + case "Cancel": + base.PlaySE_Cancel(); + SceneManager.BackScene(); + break; + } + } + + // Token: 0x04000695 RID: 1685 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/GalleryMovieWindow.cs b/Assets/Scripts/Assembly-CSharp/GalleryMovieWindow.cs new file mode 100644 index 000000000..efcb54234 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GalleryMovieWindow.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections; +using Qoo; +using UnityEngine; + +// Token: 0x0200010F RID: 271 +public class GalleryMovieWindow : BaseWindow +{ + // Token: 0x06000720 RID: 1824 RVA: 0x0001E7D0 File Offset: 0x0001C9D0 + protected sealed override string GetBGMName() + { + return string.Empty; + } + + // Token: 0x06000721 RID: 1825 RVA: 0x0001E7D8 File Offset: 0x0001C9D8 + protected sealed override void OnAwake() + { + this.state = GalleryMovieWindow.STATE.INIT; + } + + // Token: 0x06000722 RID: 1826 RVA: 0x0001E7E4 File Offset: 0x0001C9E4 + protected override void OnBaseWindowUpdate() + { + switch (this.state) + { + case GalleryMovieWindow.STATE.INIT: + base.StartCoroutine(this.PlayMovie()); + this.state = GalleryMovieWindow.STATE.PLAYING; + break; + case GalleryMovieWindow.STATE.END: + Qoo.Debug.Print("***ムービー再生おわた***"); + SceneManager.BackScene(); + this.state = GalleryMovieWindow.STATE.EXIT; + break; + } + } + + // Token: 0x06000723 RID: 1827 RVA: 0x0001E854 File Offset: 0x0001CA54 + private IEnumerator PlayMovie() + { + yield return base.StartCoroutine(MovieManager.PlayMovie("mp4/high/op_movie.mp4", FullScreenMovieControlMode.CancelOnInput)); + this.state = GalleryMovieWindow.STATE.END; + yield break; + } + + // Token: 0x04000697 RID: 1687 + private GalleryMovieWindow.STATE state; + + // Token: 0x02000110 RID: 272 + private enum STATE + { + // Token: 0x04000699 RID: 1689 + INIT, + // Token: 0x0400069A RID: 1690 + PLAYING, + // Token: 0x0400069B RID: 1691 + END, + // Token: 0x0400069C RID: 1692 + EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/GallerySelectWindow.cs b/Assets/Scripts/Assembly-CSharp/GallerySelectWindow.cs new file mode 100644 index 000000000..f41867d6c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GallerySelectWindow.cs @@ -0,0 +1,457 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x02000111 RID: 273 +public abstract class GallerySelectWindow : BaseWindow +{ + // Token: 0x06000725 RID: 1829 + protected abstract void BeforeInitGallerySelect(); + + // Token: 0x06000726 RID: 1830 + protected abstract int GetCollect(); + + // Token: 0x06000727 RID: 1831 + protected abstract string GetThumbnailName(int index); + + // Token: 0x06000728 RID: 1832 + protected abstract int GetThumbnailLength(); + + // Token: 0x06000729 RID: 1833 + protected abstract string GetOnArrowSceneName(); + + // Token: 0x0600072A RID: 1834 + protected abstract bool IsFont(); + + // Token: 0x0600072B RID: 1835 + protected abstract string GetFontText(int index); + + // Token: 0x0600072C RID: 1836 + protected abstract void OnSelect(int index); + + // Token: 0x0600072D RID: 1837 + protected abstract bool IsSelectable(int index); + + // Token: 0x170000DC RID: 220 + // (get) Token: 0x0600072E RID: 1838 RVA: 0x0001E880 File Offset: 0x0001CA80 + // (set) Token: 0x0600072F RID: 1839 RVA: 0x0001E888 File Offset: 0x0001CA88 + protected int Chara + { + get + { + return this.m_chara; + } + set + { + this.m_chara = value; + } + } + + // Token: 0x170000DD RID: 221 + // (get) Token: 0x06000730 RID: 1840 RVA: 0x0001E894 File Offset: 0x0001CA94 + // (set) Token: 0x06000731 RID: 1841 RVA: 0x0001E89C File Offset: 0x0001CA9C + protected int Page + { + get + { + return this.m_page; + } + set + { + this.m_page = value; + } + } + + // Token: 0x06000732 RID: 1842 RVA: 0x0001E8A8 File Offset: 0x0001CAA8 + private int pageCountLoop(int page) + { + int num = (this.GetThumbnailLength() + this.MAX_THUMBNAILS_COUNT - 1) / this.MAX_THUMBNAILS_COUNT; + return (page + num) % num; + } + + // Token: 0x06000733 RID: 1843 RVA: 0x0001E8D4 File Offset: 0x0001CAD4 + protected sealed override string GetBGMName() + { + return "sysbgm_cgmemory"; + } + + // Token: 0x06000734 RID: 1844 RVA: 0x0001E8DC File Offset: 0x0001CADC + protected sealed override void OnAwake() + { + this.m_chara = UIValue.GalleryCharactor; + this.m_page = UIValue.GalleryPage; + this.BeforeInitGallerySelect(); + if (this.GetThumbnailLength() <= this.m_page * this.MAX_THUMBNAILS_COUNT) + { + this.m_page = 0; + } + this.m_collect = this.GetCollect(); + this.loading = false; + this.m_dir = 0; + } + + // Token: 0x06000735 RID: 1845 RVA: 0x0001E940 File Offset: 0x0001CB40 + protected sealed override string[] newSceneTextureNameArray() + { + this.m_chara = UIValue.GalleryCharactor; + int num = this.m_page * this.MAX_THUMBNAILS_COUNT; + return new string[] + { + "screen/cgmemory2/cgm_bg_1", + this.GetFilenameId(this.m_chara).ToString("screen/cgmemory/cgm_bnr_cha00"), + "screen/cgmemory/cgm_kumi0", + "screen/cgmemory/cgm_kumi1", + "screen/cgmemory/cgm_kumi2", + "screen/cgmemory/cgm_kumi3", + "screen/cgmemory/cgm_kumi4", + "screen/cgmemory/cgm_kumi5", + "screen/cgmemory/cgm_kumi6", + "screen/cgmemory/cgm_kumi7", + "screen/cgmemory/cgm_kumi8", + "screen/cgmemory/cgm_kumi9", + "screen/common/cancel", + "screen/cgmemory/cgm_arwl", + "screen/cgmemory/cgm_arwr", + this.GetThumbnailName(num), + this.GetThumbnailName(num + 1), + this.GetThumbnailName(num + 2), + this.GetThumbnailName(num + 3), + this.GetThumbnailName(num + 4), + this.GetThumbnailName(num + 5), + this.GetThumbnailName(num + 6), + this.GetThumbnailName(num + 7), + this.GetThumbnailName(num + 8), + this.GetThumbnailName(num + 9), + this.GetThumbnailName(num + 10), + this.GetThumbnailName(num + 11) + }; + } + + // Token: 0x06000736 RID: 1846 RVA: 0x0001EAA0 File Offset: 0x0001CCA0 + protected sealed override void BeforeInit() + { + } + + // Token: 0x06000737 RID: 1847 RVA: 0x0001EAA4 File Offset: 0x0001CCA4 + protected sealed override void AfterInit() + { + this.SetArrowAnimation("ArrowL", -1f); + this.SetArrowAnimation("ArrowR", 1f); + } + + // Token: 0x06000738 RID: 1848 RVA: 0x0001EAD4 File Offset: 0x0001CCD4 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + List list = new List(); + list.Add(new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/cgmemory2/cgm_bg_1", false, true)); + list.Add(new BaseWindow.UIImage("Header", 0, 0, this.wndz + 1, this.GetFilenameId(this.m_chara).ToString("screen/cgmemory/cgm_bnr_cha00"), false, true)); + int num = this.m_collect / 100; + int num2 = (this.m_collect - num * 100) / 10; + int num3 = this.m_collect - num * 100 - num2 * 10; + list.Add(new BaseWindow.UIImage("Per100", 581, 17, this.wndz + 2, num.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + list.Add(new BaseWindow.UIImage("Per010", 611, 17, this.wndz + 2, num2.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + list.Add(new BaseWindow.UIImage("Per001", 641, 17, this.wndz + 2, num3.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + int num4 = this.m_page + 1; + int num5 = num4 / 10; + int num6 = num4 - num5 * 10; + list.Add(new BaseWindow.UIImage("Page010", 792, 17, this.wndz + 2, num5.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + list.Add(new BaseWindow.UIImage("Page001", 822, 17, this.wndz + 2, num6.ToString("screen/cgmemory/cgm_kumi0"), false, true)); + for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++) + { + int x_ = 33 + i % 4 * 224; + int y_ = 122 + i / 4 * 140; + int num7 = i + this.m_page * this.MAX_THUMBNAILS_COUNT; + string text = i.ToString("Thumbnail00"); + list.Add(new BaseWindow.UIImage(text, x_, y_, this.wndz + 2, this.GetThumbnailName(num7), true, num7 < this.GetThumbnailLength())); + list.Add(new BaseWindow.UIImage("Dummy" + text, x_, y_, this.wndz + 2, this.GetThumbnailName(num7), false, false)); + } + list.Add(new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 3, "screen/common/cancel", true, true, 1, 2, 0)); + list.Add(new BaseWindow.UIImage("ArrowL", 33, 80, this.wndz + 3, "screen/cgmemory/cgm_arwl", false, true)); + list.Add(new BaseWindow.UIImage("ArrowR", 848, 80, this.wndz + 3, "screen/cgmemory/cgm_arwr", false, true)); + if (this.IsFont()) + { + for (int j = 0; j < this.MAX_THUMBNAILS_COUNT; j++) + { + int x_2 = 245 + j % 4 * 224; + int y_2 = 238 + j / 4 * 140; + int index = j + this.m_page * this.MAX_THUMBNAILS_COUNT; + string fontText = this.GetFontText(index); + list.Add(new BaseWindow.UIText(j.ToString("Text00"), x_2, y_2, this.wndz + 3, fontText, 22, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.BottomRight, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + } + } + return list.ToArray(); + } + + // Token: 0x06000739 RID: 1849 RVA: 0x0001EE30 File Offset: 0x0001D030 + protected override void OnBaseWindowUpdate() + { + if (this.loading) + { + if (!this.LoadCompleted()) + { + return; + } + this.OnLoadCompleted(); + this.loading = false; + this.m_dir = 0; + } + if (this.action) + { + return; + } + INPUT_STATUS status = UnityApp.Input.Status; + if (status == INPUT_STATUS.DRAG || status == INPUT_STATUS.FLICK) + { + SLIDE_VECTOR slideDragVector = UnityApp.Input.SlideDragVector; + if (slideDragVector != SLIDE_VECTOR.LEFT) + { + if (slideDragVector == SLIDE_VECTOR.RIGHT) + { + base.PlaySE_Select(); + this.OnAllow(-1); + } + } + else + { + base.PlaySE_Select(); + this.OnAllow(1); + } + } + } + + // Token: 0x0600073A RID: 1850 RVA: 0x0001EEDC File Offset: 0x0001D0DC + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (this.loading) + { + return; + } + if (obj != null) + { + if (GallerySelectWindow.<>f__switch$map7 == null) + { + GallerySelectWindow.<>f__switch$map7 = new Dictionary(13) + { + { + "Thumbnail00", + 0 + }, + { + "Thumbnail01", + 0 + }, + { + "Thumbnail02", + 0 + }, + { + "Thumbnail03", + 0 + }, + { + "Thumbnail04", + 0 + }, + { + "Thumbnail05", + 0 + }, + { + "Thumbnail06", + 0 + }, + { + "Thumbnail07", + 0 + }, + { + "Thumbnail08", + 0 + }, + { + "Thumbnail09", + 0 + }, + { + "Thumbnail10", + 0 + }, + { + "Thumbnail11", + 0 + }, + { + "Cancel", + 1 + } + }; + } + int num; + if (GallerySelectWindow.<>f__switch$map7.TryGetValue(obj, out num)) + { + if (num != 0) + { + if (num == 1) + { + base.PlaySE_Cancel(); + SceneManager.BackScene(); + } + } + else + { + int index = this.m_page * this.MAX_THUMBNAILS_COUNT + this.ButtonNameToThumbnailId(obj); + if (this.IsSelectable(index)) + { + this.action = true; + base.PlaySE_Ok(); + this.OnSelect(index); + } + } + } + } + } + + // Token: 0x0600073B RID: 1851 RVA: 0x0001F020 File Offset: 0x0001D220 + private void SetArrowAnimation(string name, float dir) + { + float delay = 0f; + int repeat = 0; + float speed = 0.5f; + ImageObject component = base.GetGameObject(name).GetComponent(); + component.AddImageAnimation(new ImageAnimationLocalPosition(repeat, speed, delay, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(25f * dir, 0f, 0f))); + } + + // Token: 0x0600073C RID: 1852 RVA: 0x0001F084 File Offset: 0x0001D284 + private void OnAllow(int dir) + { + this.loading = true; + this.m_dir = dir; + int num = this.pageCountLoop(this.m_page + this.m_dir); + for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++) + { + int index = i + num * this.MAX_THUMBNAILS_COUNT; + string name = i.ToString("DummyThumbnail00"); + base.SetTexture(name, this.GetThumbnailName(index)); + } + } + + // Token: 0x0600073D RID: 1853 RVA: 0x0001F0F0 File Offset: 0x0001D2F0 + private bool LoadCompleted() + { + for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++) + { + string name = i.ToString("DummyThumbnail00"); + if (!this.LoadCompleted(base.GetGameObject(name))) + { + return false; + } + } + return true; + } + + // Token: 0x0600073E RID: 1854 RVA: 0x0001F138 File Offset: 0x0001D338 + private void OnLoadCompleted() + { + this.m_page = this.pageCountLoop(this.m_page + this.m_dir); + UIValue.GalleryPage = this.m_page; + int num = this.m_page + 1; + int num2 = num / 10; + int num3 = num - num2 * 10; + base.SetTexture("Page010", num2.ToString("screen/cgmemory/cgm_kumi0")); + base.SetTexture("Page001", num3.ToString("screen/cgmemory/cgm_kumi0")); + for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++) + { + int num4 = i + this.m_page * this.MAX_THUMBNAILS_COUNT; + string name = i.ToString("Thumbnail00"); + base.SetTexture(name, this.GetThumbnailName(num4)); + base.GameObjectShow(name, num4 < this.GetThumbnailLength()); + if (this.IsFont()) + { + int x = 245 + i % 4 * 224; + int y = 238 + i / 4 * 140; + this.SetFontStr(base.GetTextSprite(i.ToString("Text00")), this.GetFontText(num4), x, y); + } + } + } + + // Token: 0x0600073F RID: 1855 RVA: 0x0001F258 File Offset: 0x0001D458 + private bool LoadCompleted(GameObject go) + { + ImageObject component = go.GetComponent(); + return component == null || component.LoadCompleted; + } + + // Token: 0x06000740 RID: 1856 RVA: 0x0001F280 File Offset: 0x0001D480 + private void SetFontStr(UnityTextSprite text, string str, int x, int y) + { + text.ClearText(); + text.AddText(str, 22); + text.CalcSize(); + text.x = x - text.w; + text.y = y - text.h; + text.Update(960, 544, -3f); + } + + // Token: 0x06000741 RID: 1857 RVA: 0x0001F2D8 File Offset: 0x0001D4D8 + private int GetFilenameId(int i) + { + return i + 1; + } + + // Token: 0x06000742 RID: 1858 RVA: 0x0001F2E0 File Offset: 0x0001D4E0 + private int ButtonNameToThumbnailId(string obj) + { + switch (obj) + { + case "Thumbnail00": + return 0; + case "Thumbnail01": + return 1; + case "Thumbnail02": + return 2; + case "Thumbnail03": + return 3; + case "Thumbnail04": + return 4; + case "Thumbnail05": + return 5; + case "Thumbnail06": + return 6; + case "Thumbnail07": + return 7; + case "Thumbnail08": + return 8; + case "Thumbnail09": + return 9; + case "Thumbnail10": + return 10; + case "Thumbnail11": + return 11; + } + return -1; + } + + // Token: 0x0400069D RID: 1693 + protected readonly int MAX_THUMBNAILS_COUNT = 12; + + // Token: 0x0400069E RID: 1694 + private int m_chara; + + // Token: 0x0400069F RID: 1695 + private int m_page; + + // Token: 0x040006A0 RID: 1696 + private int m_collect; + + // Token: 0x040006A1 RID: 1697 + private bool loading; + + // Token: 0x040006A2 RID: 1698 + private bool action; + + // Token: 0x040006A3 RID: 1699 + private int m_dir; + + // Token: 0x040006A4 RID: 1700 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/Game/CHAR_ID.cs b/Assets/Scripts/Assembly-CSharp/Game/CHAR_ID.cs new file mode 100644 index 000000000..2f6f9a44b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Game/CHAR_ID.cs @@ -0,0 +1,35 @@ +using System; + +namespace Game +{ + // Token: 0x020000C5 RID: 197 + public enum CHAR_ID + { + // Token: 0x04000490 RID: 1168 + NOTHING = -1, + // Token: 0x04000491 RID: 1169 + BLOOD, + // Token: 0x04000492 RID: 1170 + ELLIOT, + // Token: 0x04000493 RID: 1171 + DEEDUM, + // Token: 0x04000494 RID: 1172 + VIVALDI, + // Token: 0x04000495 RID: 1173 + PETER, + // Token: 0x04000496 RID: 1174 + ACE, + // Token: 0x04000497 RID: 1175 + GOWLAND, + // Token: 0x04000498 RID: 1176 + BORIS, + // Token: 0x04000499 RID: 1177 + JULIUS, + // Token: 0x0400049A RID: 1178 + NIGHTMARE, + // Token: 0x0400049B RID: 1179 + MOB, + // Token: 0x0400049C RID: 1180 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Game/GameInitilize.cs b/Assets/Scripts/Assembly-CSharp/Game/GameInitilize.cs new file mode 100644 index 000000000..1cf42637a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Game/GameInitilize.cs @@ -0,0 +1,89 @@ +using System; +using Qoo.AM.Game; +using Qoo.Def; +using Qoo.Game; +using Qoo.Message; +using Qoo.Table; +using UnityEngine; + +namespace Game +{ + // Token: 0x020000DC RID: 220 + public static class GameInitilize + { + // Token: 0x06000605 RID: 1541 RVA: 0x00018F90 File Offset: 0x00017190 + public static bool Init() + { + CharaDef.InitCharIdTable(); + GameDef.InitGameDataTbl(); + SysData.Init(); + GameInitilize.SetMessageStyle(); + GameInitilize.InitDirScaleTable(); + GameInitilize.LoadSysSe(); + GameInitilize.LoadSystemData(); + SubPartCamera.Init(960f, 544f); + return true; + } + + // Token: 0x06000606 RID: 1542 RVA: 0x00018FD4 File Offset: 0x000171D4 + private static void SetMessageStyle() + { + MSGWND_STYLE_DATA msgwnd_STYLE_DATA = new MSGWND_STYLE_DATA(); + msgwnd_STYLE_DATA.posFrm = new Point3(0, 181, 800); + msgwnd_STYLE_DATA.posName[0] = new Point3(86, 170, 803); + msgwnd_STYLE_DATA.posName[1] = new Point3(126, 170, 802); + msgwnd_STYLE_DATA.posTxt = new Point3(109, 198, 801); + msgwnd_STYLE_DATA.posFace = new Point3(0, 173, 803); + msgwnd_STYLE_DATA.posBrk = new Point3(459, 252, 802); + msgwnd_STYLE_DATA.sizeBrkSplit = new Size(32, 1); + msgwnd_STYLE_DATA.nBrkWait = 4; + msgwnd_STYLE_DATA.sizeTxt = new Size(654, 136); + msgwnd_STYLE_DATA.nTxtWEx = 58; + msgwnd_STYLE_DATA.bTxtAutoRet = true; + msgwnd_STYLE_DATA.colTxt = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + msgwnd_STYLE_DATA.colRefWord = new Color32(byte.MaxValue, 105, 0, byte.MaxValue); + msgwnd_STYLE_DATA.colRefBg = new Color32(23, 124, 0, 0); + msgwnd_STYLE_DATA.colRefCur = new Color32(23, 124, 0, byte.MaxValue); + msgwnd_STYLE_DATA.BrkCg = "pagebreak_a.png"; + msgwnd_STYLE_DATA.BrkAutoCg = "pagebreak_b.png"; + msgwnd_STYLE_DATA.SetPosScale(2f, 2f); + MessageStyle.AddStyle(MSGWND_STYLE.NORMAL, "normal", "frame_togaki.png", msgwnd_STYLE_DATA); + MessageStyle.AddStyle(MSGWND_STYLE.KYARA, "kyara", "frame_kyara.png", msgwnd_STYLE_DATA); + MessageStyle.AddStyle(MSGWND_STYLE.TOGAKI, "togaki", "frame_togaki.png", msgwnd_STYLE_DATA); + MessageStyle.AddStyle(MSGWND_STYLE.HEROINE, "heroine", "frame_heroine.png", msgwnd_STYLE_DATA); + MessageStyle.AddStyle(MSGWND_STYLE.MONOLOGUE, "monologue", "frame_monologue.png", msgwnd_STYLE_DATA); + MessageStyle.AddStyle(MSGWND_STYLE.TEST, "test", "frame_togaki.png", msgwnd_STYLE_DATA); + } + + // Token: 0x06000607 RID: 1543 RVA: 0x000191A0 File Offset: 0x000173A0 + private static void InitDirScaleTable() + { + DirScaleTable.Clear(); + DirScaleTable.Base = new SizeF(480f, 272f); + DirScaleTable.Default = new SizeF(1f, 1f); + SizeF size = new SizeF(2f, 2f); + DirScaleTable.Add("bytes/effect/", size); + DirScaleTable.Add("bytes/event/bgimage/", size); + DirScaleTable.Add("bytes/event/select/", size); + DirScaleTable.Add("bytes/screen/cgmemory2/", size); + DirScaleTable.Add("bytes/viewer/cgmode/", size); + DirScaleTable.Add("bytes/viewer/memory/", size); + } + + // Token: 0x06000608 RID: 1544 RVA: 0x00019234 File Offset: 0x00017434 + private static void LoadSysSe() + { + foreach (string name in SoundDef.SE_LOAD_DATA) + { + UnityApp.Sound.AddSeData(name); + } + } + + // Token: 0x06000609 RID: 1545 RVA: 0x0001926C File Offset: 0x0001746C + private static bool LoadSystemData() + { + SysSaveData sysSaveData = new SysSaveData(); + return sysSaveData.Load(SaveLoadManager.LoadSystem()); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/GameInitWindow.cs b/Assets/Scripts/Assembly-CSharp/GameInitWindow.cs new file mode 100644 index 000000000..bb7773bd0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GameInitWindow.cs @@ -0,0 +1,24 @@ +using System; +using Qoo; + +// Token: 0x02000112 RID: 274 +public class GameInitWindow : BaseWindow +{ + // Token: 0x06000744 RID: 1860 RVA: 0x0001F414 File Offset: 0x0001D614 + protected override void OnBaseWindowUpdate() + { + if (this.isChangeScene) + { + SceneManager.ChangeScene(UIValue.SCENE_TITLE); + this.isChangeScene = false; + } + else + { + Debug.Print("***GameInitおわた***"); + this.isChangeScene = true; + } + } + + // Token: 0x040006A7 RID: 1703 + private bool isChangeScene; +} diff --git a/Assets/Scripts/Assembly-CSharp/GameInput.cs b/Assets/Scripts/Assembly-CSharp/GameInput.cs new file mode 100644 index 000000000..76223d213 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GameInput.cs @@ -0,0 +1,291 @@ +using System; +using Qoo.Input; +using UnityEngine; + +// Token: 0x02000177 RID: 375 +public class GameInput : UnityInput +{ + // Token: 0x1700015E RID: 350 + // (get) Token: 0x06000A9A RID: 2714 RVA: 0x0002EB94 File Offset: 0x0002CD94 + // (set) Token: 0x06000A9B RID: 2715 RVA: 0x0002EB9C File Offset: 0x0002CD9C + public INPUT_STATUS Status + { + get + { + return this.m_eStatus; + } + private set + { + this.m_eStatus = value; + } + } + + // Token: 0x1700015F RID: 351 + // (get) Token: 0x06000A9C RID: 2716 RVA: 0x0002EBA8 File Offset: 0x0002CDA8 + // (set) Token: 0x06000A9D RID: 2717 RVA: 0x0002EBB0 File Offset: 0x0002CDB0 + public SLIDE_VECTOR Slide + { + get + { + return this.m_eSlide; + } + private set + { + this.m_eSlide = value; + } + } + + // Token: 0x17000160 RID: 352 + // (get) Token: 0x06000A9E RID: 2718 RVA: 0x0002EBBC File Offset: 0x0002CDBC + // (set) Token: 0x06000A9F RID: 2719 RVA: 0x0002EBC4 File Offset: 0x0002CDC4 + public Point2 Start + { + get + { + return this.m_Start; + } + private set + { + this.m_Start = value; + } + } + + // Token: 0x17000161 RID: 353 + // (get) Token: 0x06000AA0 RID: 2720 RVA: 0x0002EBD0 File Offset: 0x0002CDD0 + // (set) Token: 0x06000AA1 RID: 2721 RVA: 0x0002EBD8 File Offset: 0x0002CDD8 + public Point2 End + { + get + { + return this.m_End; + } + private set + { + this.m_End = value; + } + } + + // Token: 0x17000162 RID: 354 + // (get) Token: 0x06000AA2 RID: 2722 RVA: 0x0002EBE4 File Offset: 0x0002CDE4 + // (set) Token: 0x06000AA3 RID: 2723 RVA: 0x0002EBEC File Offset: 0x0002CDEC + public Point2 Delta + { + get + { + return this.m_Delta; + } + private set + { + this.m_Delta = value; + } + } + + // Token: 0x17000163 RID: 355 + // (get) Token: 0x06000AA4 RID: 2724 RVA: 0x0002EBF8 File Offset: 0x0002CDF8 + // (set) Token: 0x06000AA5 RID: 2725 RVA: 0x0002EC00 File Offset: 0x0002CE00 + public float Accel + { + get + { + return this.m_Accel; + } + private set + { + this.m_Accel = value; + } + } + + // Token: 0x17000164 RID: 356 + // (get) Token: 0x06000AA6 RID: 2726 RVA: 0x0002EC0C File Offset: 0x0002CE0C + // (set) Token: 0x06000AA7 RID: 2727 RVA: 0x0002EC14 File Offset: 0x0002CE14 + public Vector2 Normal + { + get + { + return this.m_Normal; + } + private set + { + this.m_Normal = value; + } + } + + // Token: 0x17000165 RID: 357 + // (get) Token: 0x06000AA8 RID: 2728 RVA: 0x0002EC20 File Offset: 0x0002CE20 + public Vector2 DragVector + { + get + { + return new Vector2((float)(this.m_End.x - this.m_Start.x), (float)(this.m_End.y - this.m_Start.y)); + } + } + + // Token: 0x17000166 RID: 358 + // (get) Token: 0x06000AA9 RID: 2729 RVA: 0x0002EC58 File Offset: 0x0002CE58 + public SLIDE_VECTOR SlideDragVector + { + get + { + Vector2 dragVector = this.DragVector; + if (Mathf.Abs(dragVector.x) > Mathf.Abs(dragVector.y)) + { + return (dragVector.x >= 0f) ? SLIDE_VECTOR.RIGHT : SLIDE_VECTOR.LEFT; + } + return (dragVector.y >= 0f) ? SLIDE_VECTOR.DOWN : SLIDE_VECTOR.UP; + } + } + + // Token: 0x17000167 RID: 359 + // (get) Token: 0x06000AAA RID: 2730 RVA: 0x0002ECBC File Offset: 0x0002CEBC + public float StartDeltaMagnitude + { + get + { + return base.StartDeltaPosition.magnitude; + } + } + + // Token: 0x06000AAB RID: 2731 RVA: 0x0002ECD8 File Offset: 0x0002CED8 + private new void Awake() + { + base.Awake(); + this.ResetScreenRect(); + } + + // Token: 0x06000AAC RID: 2732 RVA: 0x0002ECE8 File Offset: 0x0002CEE8 + private new void Update() + { + base.Update(); + TOUCH_STATE state = base.State; + Vector2 normalized = base.StartDeltaPosition.normalized; + this.Slide = SLIDE_VECTOR.NONE; + this.Normal = default(Vector2); + this.Start = new Point2(0, 0); + this.End = new Point2(0, 0); + this.Delta = new Point2(0, 0); + switch (state) + { + case TOUCH_STATE.NULL: + this.Status = INPUT_STATUS.NONE; + break; + case TOUCH_STATE.PUSH: + if (this.Status != INPUT_STATUS.DRAG_ON) + { + this.Status = INPUT_STATUS.PUSH; + } + this.Start = this.DPToSp(base.StartPosition); + break; + case TOUCH_STATE.CLICK: + this.Status = INPUT_STATUS.CLICK; + this.Start = this.DPToSp(base.StartPosition); + this.End = this.DPToSp(base.EndPosition); + this.Delta.x = this.Start.x - this.End.x; + this.Delta.y = this.Start.y - this.End.y; + break; + case TOUCH_STATE.DRAG: + this.Status = INPUT_STATUS.DRAG_ON; + this.Normal = normalized; + this.SetParam(true); + break; + case TOUCH_STATE.DRAG_END: + this.Status = INPUT_STATUS.DRAG; + this.SetParam(false); + break; + case TOUCH_STATE.FLICK: + this.Status = INPUT_STATUS.FLICK; + this.SetParam(false); + break; + } + KsInput.Update(); + } + + // Token: 0x06000AAD RID: 2733 RVA: 0x0002EE68 File Offset: 0x0002D068 + private void SetParam(bool bDrag = false) + { + this.Normal = base.StartDeltaPosition.normalized; + this.Start = this.DPToSp(base.StartPosition); + if (bDrag) + { + this.End = this.DPToSp(base.PushPosition); + } + else + { + this.End = this.DPToSp(base.EndPosition); + } + this.Delta.x = this.Start.x - this.End.x; + this.Delta.y = this.Start.y - this.End.y; + if (this.Normal.x > 0.7f) + { + this.Slide = SLIDE_VECTOR.RIGHT; + } + else if (this.Normal.x < -0.7f) + { + this.Slide = SLIDE_VECTOR.LEFT; + } + else if (this.Normal.y > 0.7f) + { + this.Slide = SLIDE_VECTOR.DOWN; + } + else if (this.Normal.y < -0.7f) + { + this.Slide = SLIDE_VECTOR.UP; + } + } + + // Token: 0x06000AAE RID: 2734 RVA: 0x0002EF9C File Offset: 0x0002D19C + private Point2 DPToSp(Vector2 posDp) + { + float num = (posDp.x - (float)this.m_Base.x) / (float)this.m_Size.w; + float num2 = (posDp.y - (float)this.m_Base.y) / (float)this.m_Size.h; + float num3 = (float)this.m_ScrSize.w; + float num4 = (float)this.m_ScrSize.h; + return new Point2((int)(num * num3), (int)(num2 * num4)); + } + + // Token: 0x06000AAF RID: 2735 RVA: 0x0002F014 File Offset: 0x0002D214 + public void ResetScreenRect() + { + this.SetScreenRect(0, 0, Screen.width, Screen.height, 960, 544); + } + + // Token: 0x06000AB0 RID: 2736 RVA: 0x0002F040 File Offset: 0x0002D240 + public void SetScreenRect(int x, int y, int w, int h, int dw, int dh) + { + this.m_Base = new Point2(x, y); + this.m_Size = new Size(w, h); + this.m_ScrSize = new Size(dw, dh); + } + + // Token: 0x04000895 RID: 2197 + private const float VEC_THRESHOLD = 0.7f; + + // Token: 0x04000896 RID: 2198 + private INPUT_STATUS m_eStatus; + + // Token: 0x04000897 RID: 2199 + private SLIDE_VECTOR m_eSlide; + + // Token: 0x04000898 RID: 2200 + private Point2 m_Start = new Point2(0, 0); + + // Token: 0x04000899 RID: 2201 + private Point2 m_End = new Point2(0, 0); + + // Token: 0x0400089A RID: 2202 + private Point2 m_Delta = new Point2(0, 0); + + // Token: 0x0400089B RID: 2203 + private float m_Accel; + + // Token: 0x0400089C RID: 2204 + private Vector2 m_Normal = default(Vector2); + + // Token: 0x0400089D RID: 2205 + private Point2 m_Base = new Point2(0, 0); + + // Token: 0x0400089E RID: 2206 + private Size m_Size = new Size(Screen.width, Screen.height); + + // Token: 0x0400089F RID: 2207 + private Size m_ScrSize = new Size(Screen.width, Screen.height); +} diff --git a/Assets/Scripts/Assembly-CSharp/GraphicManager.cs b/Assets/Scripts/Assembly-CSharp/GraphicManager.cs new file mode 100644 index 000000000..0e9ba5840 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/GraphicManager.cs @@ -0,0 +1,191 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x0200016C RID: 364 +public class GraphicManager : MonoBehaviour +{ + // Token: 0x17000155 RID: 341 + // (get) Token: 0x06000A72 RID: 2674 RVA: 0x0002E3B8 File Offset: 0x0002C5B8 + private static GraphicManager Instance + { + get + { + GameObject gameObject = GameObject.Find("__GraphicManager"); + if (gameObject == null) + { + gameObject = new GameObject("__GraphicManager"); + gameObject.AddComponent(); + } + if (GraphicManager.instance == null) + { + GraphicManager.instance = gameObject.GetComponent(); + } + return GraphicManager.instance; + } + } + + // Token: 0x06000A73 RID: 2675 RVA: 0x0002E410 File Offset: 0x0002C610 + public static bool CheckLoadImageComplete(string fpath) + { + string fileName = GraphicManager.getFileName(fpath); + return Singleton.Instance.IsUseTextue(fileName); + } + + // Token: 0x06000A74 RID: 2676 RVA: 0x0002E430 File Offset: 0x0002C630 + private static UnityTexture GetLoadedTexture(string fpath) + { + if (fpath == null || fpath == string.Empty) + { + return null; + } + string fileName = GraphicManager.getFileName(fpath); + if (Singleton.Instance.IsUseTextue(fileName)) + { + return Singleton.Instance.LoadTexture(fileName); + } + return null; + } + + // Token: 0x06000A75 RID: 2677 RVA: 0x0002E47C File Offset: 0x0002C67C + public static void LoadTexture(string fpath, Action handler) + { + UnityTexture loadedTexture = GraphicManager.GetLoadedTexture(fpath); + if (loadedTexture != null && loadedTexture.m_Texture != null) + { + handler(loadedTexture); + } + else + { + GraphicManager.Instance.StartCoroutine(GraphicManager.WaitLoadingImage(fpath, handler)); + } + } + + // Token: 0x06000A76 RID: 2678 RVA: 0x0002E4C8 File Offset: 0x0002C6C8 + private static IEnumerator WaitLoadingImage(string fpath, Action handler) + { + string fname = GraphicManager.getFileName(fpath); + UnityTexture unityTexture = Singleton.Instance.LoadTexture(fname); + while (!Singleton.Instance.IsUseTextue(fname)) + { + yield return 0; + } + unityTexture.m_Texture.wrapMode = TextureWrapMode.Clamp; + handler(unityTexture); + yield break; + } + + // Token: 0x06000A77 RID: 2679 RVA: 0x0002E4F8 File Offset: 0x0002C6F8 + public static void ReleaseTexture(UnityTexture unityTexture) + { + if (Singleton.IsReady) + { + Man2D man2D = Singleton.Instance; + if (man2D != null) + { + man2D.ReleaseTexture(unityTexture, false); + } + } + } + + // Token: 0x06000A78 RID: 2680 RVA: 0x0002E52C File Offset: 0x0002C72C + private static string getFileName(string fpath) + { + string[] array = fpath.Split(new char[] + { + '/' + }); + return array[array.Length - 1]; + } + + // Token: 0x04000875 RID: 2165 + private static GraphicManager instance; + + // Token: 0x0200016D RID: 365 + public class SceneGraphicHolder + { + // Token: 0x06000A79 RID: 2681 RVA: 0x0002E558 File Offset: 0x0002C758 + public SceneGraphicHolder(string[] path) + { + this.textureList = new List(); + this.Create(path); + } + + // Token: 0x06000A7A RID: 2682 RVA: 0x0002E574 File Offset: 0x0002C774 + public void Create(string[] path) + { + this.Release(); + foreach (string name_ in path) + { + this.textureList.Add(new GraphicManager.SceneGraphicHolder.UnityTextureHolder(name_)); + } + } + + // Token: 0x06000A7B RID: 2683 RVA: 0x0002E5B4 File Offset: 0x0002C7B4 + public void Release() + { + foreach (GraphicManager.SceneGraphicHolder.UnityTextureHolder unityTextureHolder in this.textureList) + { + unityTextureHolder.Release(); + } + this.textureList.Clear(); + } + + // Token: 0x06000A7C RID: 2684 RVA: 0x0002E624 File Offset: 0x0002C824 + public bool isDone() + { + GraphicManager.SceneGraphicHolder.UnityTextureHolder unityTextureHolder = this.textureList.Find((GraphicManager.SceneGraphicHolder.UnityTextureHolder obj) => !obj.isDone()); + return unityTextureHolder == null; + } + + // Token: 0x06000A7D RID: 2685 RVA: 0x0002E660 File Offset: 0x0002C860 + public IEnumerator WaitLoadTexture() + { + while (!this.isDone()) + { + yield return new WaitForSeconds(0.1f); + } + yield break; + } + + // Token: 0x04000876 RID: 2166 + private List textureList; + + // Token: 0x0200016E RID: 366 + public class UnityTextureHolder + { + // Token: 0x06000A7F RID: 2687 RVA: 0x0002E688 File Offset: 0x0002C888 + public UnityTextureHolder(string name_) + { + this.name = name_; + this.unityTexture = null; + GraphicManager.LoadTexture(this.name, new Action(this.LoadTextureHandler)); + } + + // Token: 0x06000A80 RID: 2688 RVA: 0x0002E6B8 File Offset: 0x0002C8B8 + public void LoadTextureHandler(UnityTexture unityTexture_) + { + this.unityTexture = unityTexture_; + } + + // Token: 0x06000A81 RID: 2689 RVA: 0x0002E6C4 File Offset: 0x0002C8C4 + public void Release() + { + GraphicManager.ReleaseTexture(this.unityTexture); + } + + // Token: 0x06000A82 RID: 2690 RVA: 0x0002E6D4 File Offset: 0x0002C8D4 + public bool isDone() + { + return this.unityTexture != null; + } + + // Token: 0x04000878 RID: 2168 + private string name; + + // Token: 0x04000879 RID: 2169 + private UnityTexture unityTexture; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/HelpWindow.cs b/Assets/Scripts/Assembly-CSharp/HelpWindow.cs new file mode 100644 index 000000000..d5b8062f9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/HelpWindow.cs @@ -0,0 +1,398 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Qoo; +using UnityEngine; + +// Token: 0x02000113 RID: 275 +public class HelpWindow : BaseWindow +{ + // Token: 0x06000746 RID: 1862 RVA: 0x0001F45C File Offset: 0x0001D65C + protected sealed override string GetBGMName() + { + return "lovecheck2_ali"; + } + + // Token: 0x06000747 RID: 1863 RVA: 0x0001F464 File Offset: 0x0001D664 + protected sealed override void OnAwake() + { + this.moveBackGround = new HelpWindow.MoveBackGround(); + this.pageManager = new HelpWindow.PageManager(5); + } + + // Token: 0x06000748 RID: 1864 RVA: 0x0001F480 File Offset: 0x0001D680 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/title/help_01", + "screen/title/help_02", + "screen/title/help_03", + "screen/title/help_04", + "screen/title/help_05", + "screen/common/cancel", + "screen/cgmemory/cgm_arwl", + "screen/cgmemory/cgm_arwr" + }; + } + + // Token: 0x06000749 RID: 1865 RVA: 0x0001F4D8 File Offset: 0x0001D6D8 + protected sealed override void BeforeInit() + { + } + + // Token: 0x0600074A RID: 1866 RVA: 0x0001F4DC File Offset: 0x0001D6DC + protected sealed override void AfterInit() + { + this.moveBackGround.Init(base.GetGameObject("Before"), base.GetGameObject("After"), base.GetGameObject("BackGround")); + float delay = 0f; + int repeat = 0; + float speed = 0.8f; + ImageObject imageObject = base.GetImageObject("ArrowL"); + imageObject.AddImageAnimation(new ImageAnimationLocalPosition(repeat, speed, delay, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(-25f, 0f, 0f))); + ImageObject imageObject2 = base.GetImageObject("ArrowR"); + imageObject2.AddImageAnimation(new ImageAnimationLocalPosition(repeat, speed, delay, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(25f, 0f, 0f))); + } + + // Token: 0x0600074B RID: 1867 RVA: 0x0001F5AC File Offset: 0x0001D7AC + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + string currentFPath = this.pageManager.GetCurrentFPath(); + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("Before", 0, 0, this.wndz - 1, currentFPath, false, false), + new BaseWindow.UIImage("After", 0, 0, this.wndz - 1, currentFPath, false, false), + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, currentFPath, true, true), + new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 3, "screen/common/cancel", true, true, 1, 2, 0), + new BaseWindow.UIImage("ArrowL", 33, 80, this.wndz + 3, "screen/cgmemory/cgm_arwl", false, true), + new BaseWindow.UIImage("ArrowR", 848, 80, this.wndz + 3, "screen/cgmemory/cgm_arwr", false, true) + }; + } + + // Token: 0x0600074C RID: 1868 RVA: 0x0001F684 File Offset: 0x0001D884 + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (obj != null) + { + if (HelpWindow.<>f__switch$mapC == null) + { + HelpWindow.<>f__switch$mapC = new Dictionary(1) + { + { + "Cancel", + 0 + } + }; + } + int num; + if (HelpWindow.<>f__switch$mapC.TryGetValue(obj, out num)) + { + if (num == 0) + { + base.PlaySE_Cancel(); + SceneManager.BackScene(); + } + } + } + } + + // Token: 0x0600074D RID: 1869 RVA: 0x0001F6EC File Offset: 0x0001D8EC + protected override void OnBaseWindowUpdate() + { + if (this.moveBackGround.Moving) + { + if (!this.moveBackGround.Update()) + { + base.SetTexture("BackGround", "screen/title/" + this.pageManager.GetCurrentFPath()); + } + return; + } + INPUT_STATUS status = UnityApp.Input.Status; + if (status == INPUT_STATUS.DRAG || status == INPUT_STATUS.FLICK) + { + this.OnFlick(UnityApp.Input.SlideDragVector); + } + } + + // Token: 0x0600074E RID: 1870 RVA: 0x0001F770 File Offset: 0x0001D970 + private void OnFlick(SLIDE_VECTOR slide) + { + string currentFPath = this.pageManager.GetCurrentFPath(); + if (slide != SLIDE_VECTOR.LEFT) + { + if (slide == SLIDE_VECTOR.RIGHT) + { + base.PlaySE_Select(); + this.pageManager.Left(); + } + } + else + { + base.PlaySE_Select(); + this.pageManager.Right(); + } + string currentFPath2 = this.pageManager.GetCurrentFPath(); + if (currentFPath2 != currentFPath) + { + Qoo.Debug.Print(currentFPath2); + this.ChangeBG(currentFPath, currentFPath2, slide); + } + } + + // Token: 0x0600074F RID: 1871 RVA: 0x0001F7F4 File Offset: 0x0001D9F4 + private void ChangeBG(string beforePath, string afterPath, SLIDE_VECTOR slide) + { + this.moveBackGround.ChangeBG(beforePath, afterPath, slide); + if (this.moveBackGround.Update()) + { + base.StartCoroutine(this.TransitionCoroutine(this.moveBackGround.param)); + } + } + + // Token: 0x06000750 RID: 1872 RVA: 0x0001F838 File Offset: 0x0001DA38 + private IEnumerator TransitionCoroutine(HelpWindow.TransitionParam param) + { + EffectManager.Init(param.effectName, 500, param.renderer, param.before, param.after); + yield return base.StartCoroutine(EffectManager.StartEffect()); + param.action(); + yield break; + } + + // Token: 0x040006A8 RID: 1704 + private readonly int wndz; + + // Token: 0x040006A9 RID: 1705 + private HelpWindow.MoveBackGround moveBackGround; + + // Token: 0x040006AA RID: 1706 + private HelpWindow.PageManager pageManager; + + // Token: 0x02000114 RID: 276 + private class PageManager + { + // Token: 0x06000751 RID: 1873 RVA: 0x0001F864 File Offset: 0x0001DA64 + public PageManager(int pageMax_) + { + this.page = 0; + this.pageMax = pageMax_; + } + + // Token: 0x06000752 RID: 1874 RVA: 0x0001F87C File Offset: 0x0001DA7C + public string GetCurrentFPath() + { + return this.getName(this.page); + } + + // Token: 0x06000753 RID: 1875 RVA: 0x0001F88C File Offset: 0x0001DA8C + public string LeftFPath() + { + return this.getName(this.getLeft()); + } + + // Token: 0x06000754 RID: 1876 RVA: 0x0001F89C File Offset: 0x0001DA9C + public string RightFPath() + { + return this.getName(this.getRight()); + } + + // Token: 0x06000755 RID: 1877 RVA: 0x0001F8AC File Offset: 0x0001DAAC + public void Left() + { + this.page = this.getLeft(); + } + + // Token: 0x06000756 RID: 1878 RVA: 0x0001F8BC File Offset: 0x0001DABC + public void Right() + { + this.page = this.getRight(); + } + + // Token: 0x06000757 RID: 1879 RVA: 0x0001F8CC File Offset: 0x0001DACC + private string getName(int page) + { + return (page + 1).ToString("screen/title/help_00"); + } + + // Token: 0x06000758 RID: 1880 RVA: 0x0001F8EC File Offset: 0x0001DAEC + private int getLeft() + { + return (this.page != 0) ? (this.page - 1) : (this.pageMax - 1); + } + + // Token: 0x06000759 RID: 1881 RVA: 0x0001F91C File Offset: 0x0001DB1C + private int getRight() + { + return (this.page != this.pageMax - 1) ? (this.page + 1) : 0; + } + + // Token: 0x040006AC RID: 1708 + private int page; + + // Token: 0x040006AD RID: 1709 + private int pageMax; + } + + // Token: 0x02000115 RID: 277 + private class MoveImage + { + // Token: 0x0600075A RID: 1882 RVA: 0x0001F940 File Offset: 0x0001DB40 + public MoveImage() + { + this.go = null; + } + + // Token: 0x0600075B RID: 1883 RVA: 0x0001F950 File Offset: 0x0001DB50 + public void Init(GameObject go_) + { + this.go = go_; + } + + // Token: 0x0600075C RID: 1884 RVA: 0x0001F95C File Offset: 0x0001DB5C + public void SetTexture(string fpath) + { + ImageObject component = this.go.GetComponent(); + if (component == null) + { + return; + } + component.SetTexture("screen/title/" + fpath); + } + + // Token: 0x0600075D RID: 1885 RVA: 0x0001F994 File Offset: 0x0001DB94 + public Texture Texture() + { + ImageObject component = this.go.GetComponent(); + if (component == null) + { + return null; + } + return component.Texture; + } + + // Token: 0x040006AE RID: 1710 + private GameObject go; + } + + // Token: 0x02000116 RID: 278 + private class TransitionParam + { + // Token: 0x0600075E RID: 1886 RVA: 0x0001F9C4 File Offset: 0x0001DBC4 + public TransitionParam(string effectName_ = null, Texture before_ = null, Texture after_ = null, Renderer renderer_ = null, Action action_ = null) + { + this.effectName = effectName_; + this.before = before_; + this.after = after_; + this.renderer = renderer_; + this.action = action_; + } + + // Token: 0x040006AF RID: 1711 + public string effectName; + + // Token: 0x040006B0 RID: 1712 + public Texture before; + + // Token: 0x040006B1 RID: 1713 + public Texture after; + + // Token: 0x040006B2 RID: 1714 + public Renderer renderer; + + // Token: 0x040006B3 RID: 1715 + public Action action; + } + + // Token: 0x02000117 RID: 279 + private class MoveBackGround + { + // Token: 0x0600075F RID: 1887 RVA: 0x0001F9F4 File Offset: 0x0001DBF4 + public MoveBackGround() + { + this.param = null; + this.before = new HelpWindow.MoveImage(); + this.after = new HelpWindow.MoveImage(); + this.moving = false; + } + + // Token: 0x170000DE RID: 222 + // (get) Token: 0x06000760 RID: 1888 RVA: 0x0001FA2C File Offset: 0x0001DC2C + public bool Moving + { + get + { + return this.moving; + } + } + + // Token: 0x06000761 RID: 1889 RVA: 0x0001FA34 File Offset: 0x0001DC34 + public void Init(GameObject before_, GameObject after_, GameObject bg_) + { + this.before.Init(before_); + this.after.Init(after_); + ImageObject component = bg_.GetComponent(); + if (component == null) + { + return; + } + this.renderer = component.renderer; + } + + // Token: 0x06000762 RID: 1890 RVA: 0x0001FA7C File Offset: 0x0001DC7C + public void ChangeBG(string beforePath, string afterPath, SLIDE_VECTOR slide) + { + string text = this.calcVector(slide); + this.before.SetTexture(beforePath); + this.after.SetTexture(afterPath); + if (text != null) + { + this.moving = true; + this.param = new HelpWindow.TransitionParam(text, this.before.Texture(), this.after.Texture(), this.renderer, new Action(this.SetTransitionFinish)); + } + } + + // Token: 0x06000763 RID: 1891 RVA: 0x0001FAEC File Offset: 0x0001DCEC + public bool Update() + { + return this.moving; + } + + // Token: 0x06000764 RID: 1892 RVA: 0x0001FAF4 File Offset: 0x0001DCF4 + private string calcVector(SLIDE_VECTOR slide) + { + switch (slide) + { + case SLIDE_VECTOR.LEFT: + return "/bytes/effect/grad_r"; + case SLIDE_VECTOR.RIGHT: + return "/bytes/effect/grad_l"; + case SLIDE_VECTOR.UP: + return "/bytes/effect/grad_d"; + case SLIDE_VECTOR.DOWN: + return "/bytes/effect/grad_u"; + default: + return null; + } + } + + // Token: 0x06000765 RID: 1893 RVA: 0x0001FB3C File Offset: 0x0001DD3C + private void SetTransitionFinish() + { + this.moving = false; + } + + // Token: 0x040006B4 RID: 1716 + public HelpWindow.TransitionParam param; + + // Token: 0x040006B5 RID: 1717 + private HelpWindow.MoveImage before; + + // Token: 0x040006B6 RID: 1718 + private HelpWindow.MoveImage after; + + // Token: 0x040006B7 RID: 1719 + private Renderer renderer; + + // Token: 0x040006B8 RID: 1720 + private bool moving; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/IImageAnimation.cs b/Assets/Scripts/Assembly-CSharp/IImageAnimation.cs new file mode 100644 index 000000000..25207b2c7 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/IImageAnimation.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +// Token: 0x02000192 RID: 402 +public class IImageAnimation +{ + // Token: 0x06000B8A RID: 2954 RVA: 0x00031064 File Offset: 0x0002F264 + public virtual void Update() + { + } + + // Token: 0x06000B8B RID: 2955 RVA: 0x00031068 File Offset: 0x0002F268 + public virtual bool Active() + { + return true; + } + + // Token: 0x06000B8C RID: 2956 RVA: 0x0003106C File Offset: 0x0002F26C + public virtual void Restart() + { + } + + // Token: 0x06000B8D RID: 2957 RVA: 0x00031070 File Offset: 0x0002F270 + public virtual Vector3 CalcPosition(Vector3 position) + { + return position; + } + + // Token: 0x06000B8E RID: 2958 RVA: 0x00031074 File Offset: 0x0002F274 + public virtual Vector3 CalcScale(Vector3 scale) + { + return scale; + } + + // Token: 0x06000B8F RID: 2959 RVA: 0x00031078 File Offset: 0x0002F278 + public virtual Color CalcColor(Color color) + { + return color; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/INPUT_STATUS.cs b/Assets/Scripts/Assembly-CSharp/INPUT_STATUS.cs new file mode 100644 index 000000000..316b92c7d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/INPUT_STATUS.cs @@ -0,0 +1,18 @@ +using System; + +// Token: 0x02000176 RID: 374 +public enum INPUT_STATUS +{ + // Token: 0x0400088F RID: 2191 + NONE, + // Token: 0x04000890 RID: 2192 + PUSH, + // Token: 0x04000891 RID: 2193 + CLICK, + // Token: 0x04000892 RID: 2194 + DRAG_ON, + // Token: 0x04000893 RID: 2195 + DRAG, + // Token: 0x04000894 RID: 2196 + FLICK +} diff --git a/Assets/Scripts/Assembly-CSharp/ImageAnimationLocalPosition.cs b/Assets/Scripts/Assembly-CSharp/ImageAnimationLocalPosition.cs new file mode 100644 index 000000000..494175631 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ImageAnimationLocalPosition.cs @@ -0,0 +1,94 @@ +using System; +using UnityEngine; + +// Token: 0x02000197 RID: 407 +public class ImageAnimationLocalPosition : IImageAnimation +{ + // Token: 0x06000BA8 RID: 2984 RVA: 0x00031464 File Offset: 0x0002F664 + public ImageAnimationLocalPosition(int repeat, float speed, float delay, MoveType moveType, Vector3 offsetBegin, Vector3 offsetEnd) + { + this.param = new AnimationRange_Vector3(repeat, speed, delay, moveType, offsetBegin, offsetEnd); + } + + // Token: 0x06000BA9 RID: 2985 RVA: 0x0003148C File Offset: 0x0002F68C + public override void Update() + { + this.param.Update(); + } + + // Token: 0x06000BAA RID: 2986 RVA: 0x0003149C File Offset: 0x0002F69C + public override bool Active() + { + return this.param.Active; + } + + // Token: 0x06000BAB RID: 2987 RVA: 0x000314AC File Offset: 0x0002F6AC + public override void Restart() + { + this.param.Restart(); + } + + // Token: 0x06000BAC RID: 2988 RVA: 0x000314BC File Offset: 0x0002F6BC + public override Vector3 CalcPosition(Vector3 position) + { + return position + new Vector3(this.param.Offset.x, -this.param.Offset.y, this.param.Offset.z); + } + + // Token: 0x17000193 RID: 403 + // (get) Token: 0x06000BAD RID: 2989 RVA: 0x00031510 File Offset: 0x0002F710 + public Vector3 Offset + { + get + { + return this.param.Offset; + } + } + + // Token: 0x17000194 RID: 404 + // (get) Token: 0x06000BAE RID: 2990 RVA: 0x00031520 File Offset: 0x0002F720 + // (set) Token: 0x06000BAF RID: 2991 RVA: 0x00031530 File Offset: 0x0002F730 + public Vector3 OffsetBegin + { + get + { + return this.param.OffsetBegin; + } + set + { + this.param.OffsetBegin = value; + } + } + + // Token: 0x17000195 RID: 405 + // (get) Token: 0x06000BB0 RID: 2992 RVA: 0x00031540 File Offset: 0x0002F740 + // (set) Token: 0x06000BB1 RID: 2993 RVA: 0x00031550 File Offset: 0x0002F750 + public Vector3 OffsetEnd + { + get + { + return this.param.OffsetEnd; + } + set + { + this.param.OffsetEnd = value; + } + } + + // Token: 0x17000196 RID: 406 + // (get) Token: 0x06000BB2 RID: 2994 RVA: 0x00031560 File Offset: 0x0002F760 + // (set) Token: 0x06000BB3 RID: 2995 RVA: 0x00031570 File Offset: 0x0002F770 + public float Speed + { + get + { + return this.param.Speed; + } + set + { + this.param.Speed = value; + } + } + + // Token: 0x04000921 RID: 2337 + private AnimationRange_Vector3 param; +} diff --git a/Assets/Scripts/Assembly-CSharp/ImageAnimationMaterialColor.cs b/Assets/Scripts/Assembly-CSharp/ImageAnimationMaterialColor.cs new file mode 100644 index 000000000..1d0b16efa --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ImageAnimationMaterialColor.cs @@ -0,0 +1,39 @@ +using System; +using UnityEngine; + +// Token: 0x02000198 RID: 408 +public class ImageAnimationMaterialColor : IImageAnimation +{ + // Token: 0x06000BB4 RID: 2996 RVA: 0x00031580 File Offset: 0x0002F780 + public ImageAnimationMaterialColor(int repeat, float speed, float delay, Color offsetBegin, Color offsetEnd) + { + this.param = new AnimationRange_Color(repeat, speed, delay, offsetBegin, offsetEnd); + } + + // Token: 0x06000BB5 RID: 2997 RVA: 0x000315A8 File Offset: 0x0002F7A8 + public override void Update() + { + this.param.Update(); + } + + // Token: 0x06000BB6 RID: 2998 RVA: 0x000315B8 File Offset: 0x0002F7B8 + public override bool Active() + { + return this.param.Active; + } + + // Token: 0x06000BB7 RID: 2999 RVA: 0x000315C8 File Offset: 0x0002F7C8 + public override void Restart() + { + this.param.Restart(); + } + + // Token: 0x06000BB8 RID: 3000 RVA: 0x000315D8 File Offset: 0x0002F7D8 + public override Color CalcColor(Color color) + { + return color * this.param.Offset; + } + + // Token: 0x04000922 RID: 2338 + private AnimationRange_Color param; +} diff --git a/Assets/Scripts/Assembly-CSharp/ImageBytesInfo.cs b/Assets/Scripts/Assembly-CSharp/ImageBytesInfo.cs new file mode 100644 index 000000000..994319cf9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ImageBytesInfo.cs @@ -0,0 +1,61 @@ +using System; +using UnityEngine; + +// Token: 0x0200016F RID: 367 +public class ImageBytesInfo : MonoBehaviour +{ + // Token: 0x17000156 RID: 342 + // (get) Token: 0x06000A84 RID: 2692 RVA: 0x0002E6EC File Offset: 0x0002C8EC + public string Path + { + get + { + string text = string.Empty; + switch (this.MainCategory) + { + case ImageBytesInfo.ImageCategory.EVENT: + text = "event"; + break; + case ImageBytesInfo.ImageCategory.EFFECT: + text = "effect"; + break; + case ImageBytesInfo.ImageCategory.VIEWER: + text = "viewer"; + break; + case ImageBytesInfo.ImageCategory.SCREEN: + text = "screen"; + break; + } + return string.Concat(new string[] + { + text, + "/", + this.SubCategory, + "/", + this.FileName + }); + } + } + + // Token: 0x0400087A RID: 2170 + public ImageBytesInfo.ImageCategory MainCategory; + + // Token: 0x0400087B RID: 2171 + public string SubCategory; + + // Token: 0x0400087C RID: 2172 + public string FileName; + + // Token: 0x02000170 RID: 368 + public enum ImageCategory + { + // Token: 0x0400087E RID: 2174 + EVENT, + // Token: 0x0400087F RID: 2175 + EFFECT, + // Token: 0x04000880 RID: 2176 + VIEWER, + // Token: 0x04000881 RID: 2177 + SCREEN + } +} diff --git a/Assets/Scripts/Assembly-CSharp/ImageBytesLoader.cs b/Assets/Scripts/Assembly-CSharp/ImageBytesLoader.cs new file mode 100644 index 000000000..b5b7b5f30 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ImageBytesLoader.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +// Token: 0x02000171 RID: 369 +public class ImageBytesLoader : MonoBehaviour +{ + // Token: 0x06000A86 RID: 2694 RVA: 0x0002E788 File Offset: 0x0002C988 + private void Start() + { + } + + // Token: 0x06000A87 RID: 2695 RVA: 0x0002E78C File Offset: 0x0002C98C + private void Update() + { + } +} diff --git a/Assets/Scripts/Assembly-CSharp/ImageObject.cs b/Assets/Scripts/Assembly-CSharp/ImageObject.cs new file mode 100644 index 000000000..7db75759f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ImageObject.cs @@ -0,0 +1,286 @@ +using System; +using System.Collections.Generic; +using Qoo.File; +using Qoo.Table; +using UnityEngine; + +// Token: 0x02000199 RID: 409 +public class ImageObject : MonoBehaviour +{ + // Token: 0x17000197 RID: 407 + // (get) Token: 0x06000BBA RID: 3002 RVA: 0x0003161C File Offset: 0x0002F81C + public bool LoadCompleted + { + get + { + return this.loadCompleted; + } + } + + // Token: 0x17000198 RID: 408 + // (get) Token: 0x06000BBB RID: 3003 RVA: 0x00031624 File Offset: 0x0002F824 + // (set) Token: 0x06000BBC RID: 3004 RVA: 0x0003162C File Offset: 0x0002F82C + public bool RendererEnableAfterLoad + { + get + { + return this.rendererEnableAfterLoad; + } + set + { + this.rendererEnableAfterLoad = value; + } + } + + // Token: 0x17000199 RID: 409 + // (get) Token: 0x06000BBD RID: 3005 RVA: 0x00031638 File Offset: 0x0002F838 + public Texture Texture + { + get + { + return (this.imageUnityTexture != null) ? this.imageUnityTexture.m_Texture : null; + } + } + + // Token: 0x06000BBE RID: 3006 RVA: 0x00031658 File Offset: 0x0002F858 + private void OnDestroy() + { + GraphicManager.ReleaseTexture(this.imageUnityTexture); + } + + // Token: 0x06000BBF RID: 3007 RVA: 0x00031668 File Offset: 0x0002F868 + private void Update() + { + Vector3 vector = this.OnViewPosition; + Vector3 vector2 = this.OnViewScale; + Color color = this.OnViewColor; + if (this.imageAnimations != null) + { + foreach (IImageAnimation imageAnimation in this.imageAnimations) + { + imageAnimation.Update(); + vector = imageAnimation.CalcPosition(vector); + vector2 = imageAnimation.CalcScale(vector2); + color = imageAnimation.CalcColor(color); + } + } + if (base.transform.localPosition != vector) + { + base.transform.localPosition = vector; + } + if (base.transform.localScale != vector2) + { + base.transform.localScale = vector2; + } + if (base.renderer.material.color != color) + { + base.renderer.material.color = color; + } + } + + // Token: 0x06000BC0 RID: 3008 RVA: 0x00031778 File Offset: 0x0002F978 + public static ImageObject Create(UIObjectInfo uiObject, Transform parent = null, bool collisionEnable = false) + { + GameObject gameObject = GameObject.CreatePrimitive(PrimitiveType.Quad); + gameObject.renderer.material = new Material(Resources.Load("Shader/Sprite/Sprite") as Shader); + gameObject.transform.parent = parent; + gameObject.collider.enabled = collisionEnable; + ImageObject imageObject = gameObject.AddComponent(); + imageObject.UIObject = uiObject; + imageObject.InitObject(true, uiObject); + return imageObject; + } + + // Token: 0x06000BC1 RID: 3009 RVA: 0x000317DC File Offset: 0x0002F9DC + public void InitObject(bool initTexture = true, UIObjectInfo uiObject = null) + { + this.UIObject = uiObject; + base.gameObject.name = this.UIObject.ObjectName; + this.ImageBlockIndex = this.UIObject.DefaultTextureIndex; + if (initTexture) + { + this.InitTexture(); + } + else + { + this.OnTextureLoadComplete2(); + } + this.OnViewColor = base.renderer.material.color; + } + + // Token: 0x06000BC2 RID: 3010 RVA: 0x00031844 File Offset: 0x0002FA44 + public void SetTexture(string texturePath) + { + if (this.imageUnityTexture != null) + { + GraphicManager.ReleaseTexture(this.imageUnityTexture); + this.imageUnityTexture = null; + base.renderer.material.mainTexture = null; + } + this.changeTexture = true; + this.UIObject.UITexture.TexturePath = texturePath; + this.InitTexture(); + } + + // Token: 0x06000BC3 RID: 3011 RVA: 0x000318A0 File Offset: 0x0002FAA0 + public void InitTexture() + { + this.loadCompleted = false; + this.InitImageScale(); + GraphicManager.LoadTexture(this.UIObject.UITexture.TexturePath, new Action(this.OnTextureLoadComplete)); + } + + // Token: 0x06000BC4 RID: 3012 RVA: 0x000318DC File Offset: 0x0002FADC + private void InitImageScale() + { + string text = this.UIObject.UITexture.TexturePath; + int num = text.LastIndexOf('/'); + if (num >= 0) + { + text = text.Substring(num + 1); + } + if (text.Length > 0) + { + this.ImageScale = DirScaleTable.GetSize(Nmb.GetFileInfo(text).DirName); + } + } + + // Token: 0x06000BC5 RID: 3013 RVA: 0x00031938 File Offset: 0x0002FB38 + public void InitScale() + { + if (this.imageUnityTexture == null) + { + return; + } + this.OriginalScale = new Vector3(0f, 0f, 1f) + { + x = (float)((int)((float)this.imageUnityTexture.m_Texture.width * this.ImageScale.w) / this.UIObject.UITexture.BlockX), + y = (float)((int)((float)this.imageUnityTexture.m_Texture.height * this.ImageScale.h) / this.UIObject.UITexture.BlockY) + } * (float)this.UIObject.ScaleRate; + } + + // Token: 0x06000BC6 RID: 3014 RVA: 0x000319F0 File Offset: 0x0002FBF0 + public void InitPosition() + { + this.OriginalPosition.Set((float)(-480 + (int)(this.OriginalScale.x / 2f) + this.UIObject.ScreenX), (float)(272 - (int)(this.OriginalScale.y / 2f) - this.UIObject.ScreenY), (float)(-(float)this.UIObject.ScreenZ)); + base.transform.localPosition = this.OriginalPosition; + base.transform.localScale = this.OriginalScale; + this.OnViewPosition = this.OriginalPosition; + this.OnViewScale = this.OriginalScale; + } + + // Token: 0x06000BC7 RID: 3015 RVA: 0x00031A9C File Offset: 0x0002FC9C + public void InitTextureUV() + { + int num = this.ImageBlockIndex / this.UIObject.UITexture.BlockNum + 1; + int num2 = this.ImageBlockIndex % this.UIObject.UITexture.BlockNum + 1; + Vector2 vector = new Vector2(1f / (float)this.UIObject.UITexture.BlockX, 1f / (float)this.UIObject.UITexture.BlockY); + Vector2 vector2 = new Vector2(1f - vector.x * (float)num, 1f - vector.y * (float)num2); + base.transform.renderer.material.SetVector("_UVWH", new Vector4(vector2.x, vector2.y, vector.x, vector.y)); + } + + // Token: 0x06000BC8 RID: 3016 RVA: 0x00031B74 File Offset: 0x0002FD74 + private void OnTextureLoadComplete(UnityTexture unityTexture) + { + this.loadCompleted = true; + this.imageUnityTexture = unityTexture; + base.renderer.material.mainTexture = unityTexture.m_Texture; + base.renderer.enabled = (this.changeTexture && this.rendererEnableAfterLoad); + this.OnTextureLoadComplete2(); + } + + // Token: 0x06000BC9 RID: 3017 RVA: 0x00031BD0 File Offset: 0x0002FDD0 + public void ApplyRendererEnableAfterLoad() + { + base.renderer.enabled = this.rendererEnableAfterLoad; + } + + // Token: 0x06000BCA RID: 3018 RVA: 0x00031BE4 File Offset: 0x0002FDE4 + private void OnTextureLoadComplete2() + { + this.InitScale(); + this.InitPosition(); + this.InitTextureUV(); + } + + // Token: 0x06000BCB RID: 3019 RVA: 0x00031BF8 File Offset: 0x0002FDF8 + public void AddImageAnimation(IImageAnimation ia) + { + if (ia == null) + { + return; + } + if (this.imageAnimations == null) + { + this.imageAnimations = new List(); + } + this.imageAnimations.Add(ia); + } + + // Token: 0x06000BCC RID: 3020 RVA: 0x00031C24 File Offset: 0x0002FE24 + public void RestartAnimation() + { + if (this.imageAnimations != null) + { + foreach (IImageAnimation imageAnimation in this.imageAnimations) + { + imageAnimation.Restart(); + } + } + } + + // Token: 0x06000BCD RID: 3021 RVA: 0x00031C94 File Offset: 0x0002FE94 + public void SetBoxCollider(Vector3 sizeRate) + { + MeshCollider component = base.gameObject.GetComponent(); + if (component != null) + { + component.enabled = false; + } + BoxCollider boxCollider = base.gameObject.GetComponent(); + if (boxCollider == null) + { + boxCollider = base.gameObject.AddComponent(); + } + boxCollider.size = sizeRate; + } + + // Token: 0x04000923 RID: 2339 + public Vector3 OriginalPosition; + + // Token: 0x04000924 RID: 2340 + public Vector3 OriginalScale; + + // Token: 0x04000925 RID: 2341 + public Vector3 OnViewPosition; + + // Token: 0x04000926 RID: 2342 + public Vector3 OnViewScale; + + // Token: 0x04000927 RID: 2343 + public Color OnViewColor; + + // Token: 0x04000928 RID: 2344 + private UnityTexture imageUnityTexture; + + // Token: 0x04000929 RID: 2345 + public SizeF ImageScale = new SizeF(1f, 1f); + + // Token: 0x0400092A RID: 2346 + public int ImageBlockIndex; + + // Token: 0x0400092B RID: 2347 + public UIObjectInfo UIObject; + + // Token: 0x0400092C RID: 2348 + private bool loadCompleted; + + // Token: 0x0400092D RID: 2349 + private bool rendererEnableAfterLoad = true; + + // Token: 0x0400092E RID: 2350 + private bool changeTexture; + + // Token: 0x0400092F RID: 2351 + private List imageAnimations; +} diff --git a/Assets/Scripts/Assembly-CSharp/ImageObject2.cs b/Assets/Scripts/Assembly-CSharp/ImageObject2.cs new file mode 100644 index 000000000..f31599da8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ImageObject2.cs @@ -0,0 +1,288 @@ +using System; +using UnityEngine; + +// Token: 0x0200019A RID: 410 +public class ImageObject2 +{ + // Token: 0x06000BCE RID: 3022 RVA: 0x00031CEC File Offset: 0x0002FEEC + public ImageObject2(GameObject go, int x, int y, int z, UnityTexture uniTex) + { + this.m_GameObject = go; + this.SetTexture(uniTex, true); + this.SetPosition(x, y, z); + } + + // Token: 0x1700019A RID: 410 + // (get) Token: 0x06000BCF RID: 3023 RVA: 0x00031D1C File Offset: 0x0002FF1C + public int X + { + get + { + return this.m_X; + } + } + + // Token: 0x1700019B RID: 411 + // (get) Token: 0x06000BD0 RID: 3024 RVA: 0x00031D24 File Offset: 0x0002FF24 + public int Y + { + get + { + return this.m_Y; + } + } + + // Token: 0x1700019C RID: 412 + // (get) Token: 0x06000BD1 RID: 3025 RVA: 0x00031D2C File Offset: 0x0002FF2C + public int Z + { + get + { + return this.m_Z; + } + } + + // Token: 0x1700019D RID: 413 + // (get) Token: 0x06000BD2 RID: 3026 RVA: 0x00031D34 File Offset: 0x0002FF34 + public int Width + { + get + { + return this.m_Width; + } + } + + // Token: 0x1700019E RID: 414 + // (get) Token: 0x06000BD3 RID: 3027 RVA: 0x00031D3C File Offset: 0x0002FF3C + public int Height + { + get + { + return this.m_Height; + } + } + + // Token: 0x1700019F RID: 415 + // (get) Token: 0x06000BD4 RID: 3028 RVA: 0x00031D44 File Offset: 0x0002FF44 + public Vector4 UVWH + { + get + { + return this.m_UVWH; + } + } + + // Token: 0x170001A0 RID: 416 + // (get) Token: 0x06000BD5 RID: 3029 RVA: 0x00031D4C File Offset: 0x0002FF4C + // (set) Token: 0x06000BD6 RID: 3030 RVA: 0x00031D60 File Offset: 0x0002FF60 + public bool ColliderEnabled + { + get + { + return this.m_GameObject.collider.enabled; + } + set + { + this.m_GameObject.collider.enabled = value; + } + } + + // Token: 0x170001A1 RID: 417 + // (get) Token: 0x06000BD7 RID: 3031 RVA: 0x00031D74 File Offset: 0x0002FF74 + // (set) Token: 0x06000BD8 RID: 3032 RVA: 0x00031D88 File Offset: 0x0002FF88 + public bool RendererEnabled + { + get + { + return this.m_GameObject.renderer.enabled; + } + set + { + this.m_GameObject.collider.enabled = value; + } + } + + // Token: 0x170001A2 RID: 418 + // (get) Token: 0x06000BD9 RID: 3033 RVA: 0x00031D9C File Offset: 0x0002FF9C + public bool HasTexture + { + get + { + return this.m_UniTex != null && this.m_UniTex.IsInit; + } + } + + // Token: 0x06000BDA RID: 3034 RVA: 0x00031DB8 File Offset: 0x0002FFB8 + public static ImageObject2 Create(Transform parent, string name, int x, int y, int z, UnityTexture uniTex) + { + GameObject gameObject = GameObject.CreatePrimitive(PrimitiveType.Quad); + gameObject.renderer.material = new Material(Resources.Load("Shader/Sprite/Sprite") as Shader); + gameObject.name = name; + gameObject.transform.parent = parent; + return new ImageObject2(gameObject, x, y, z, uniTex); + } + + // Token: 0x06000BDB RID: 3035 RVA: 0x00031E0C File Offset: 0x0003000C + public void Hidden(bool hidden) + { + this.m_GameObject.renderer.enabled = !hidden; + this.m_GameObject.collider.enabled = !hidden; + } + + // Token: 0x06000BDC RID: 3036 RVA: 0x00031E44 File Offset: 0x00030044 + public void Enabled(bool enabled) + { + this.m_GameObject.SetActive(enabled); + } + + // Token: 0x06000BDD RID: 3037 RVA: 0x00031E54 File Offset: 0x00030054 + public T AddComponent() where T : MonoBehaviour + { + return this.m_GameObject.AddComponent(); + } + + // Token: 0x06000BDE RID: 3038 RVA: 0x00031E64 File Offset: 0x00030064 + public void RemoveComponent() where T : MonoBehaviour + { + UnityEngine.Object.Destroy(this.m_GameObject.GetComponent()); + } + + // Token: 0x06000BDF RID: 3039 RVA: 0x00031E7C File Offset: 0x0003007C + public T GetComponent() where T : MonoBehaviour + { + return this.m_GameObject.GetComponent(); + } + + // Token: 0x06000BE0 RID: 3040 RVA: 0x00031E8C File Offset: 0x0003008C + public void ReloadTexture(bool fixedTexture = true) + { + if (this.HasTexture) + { + this.SetTexture(this.m_UniTex, fixedTexture); + } + } + + // Token: 0x06000BE1 RID: 3041 RVA: 0x00031EA8 File Offset: 0x000300A8 + public void SetTexture(UnityTexture uniTex, bool fixedTexture = true) + { + this.m_UniTex = uniTex; + if (uniTex == null) + { + return; + } + this.m_GameObject.renderer.material.mainTexture = this.m_UniTex.m_Texture; + if (fixedTexture) + { + this.FixedTexture(); + } + } + + // Token: 0x06000BE2 RID: 3042 RVA: 0x00031EF0 File Offset: 0x000300F0 + public void SetTextureUVWH(float u = 0f, float v = 0f, float w = 1f, float h = 1f) + { + this.SetTextureUVWH(new Vector4(u, v, w, h)); + } + + // Token: 0x06000BE3 RID: 3043 RVA: 0x00031F04 File Offset: 0x00030104 + public void SetTextureUVWH(Vector4 uvwh) + { + this.m_UVWH = uvwh; + this.m_GameObject.renderer.material.SetVector("_UVWH", this.m_UVWH); + } + + // Token: 0x06000BE4 RID: 3044 RVA: 0x00031F30 File Offset: 0x00030130 + public void Move(Vector3 vec) + { + this.Move((int)vec.x, (int)vec.y, (int)vec.z); + } + + // Token: 0x06000BE5 RID: 3045 RVA: 0x00031F50 File Offset: 0x00030150 + public void Move(int x, int y, int z) + { + int x2 = this.m_X + x; + int y2 = this.m_Y + y; + int z2 = this.m_Z + z; + this.SetPosition(x2, y2, z2); + } + + // Token: 0x06000BE6 RID: 3046 RVA: 0x00031F84 File Offset: 0x00030184 + public void SetPosition(Vector3 pos) + { + this.SetPosition((int)pos.x, (int)pos.y, (int)pos.z); + } + + // Token: 0x06000BE7 RID: 3047 RVA: 0x00031FA4 File Offset: 0x000301A4 + public void SetPosition(int x, int y, int z) + { + this.m_X = x; + this.m_Y = y; + this.m_Z = z; + this.UpdatePosition(); + } + + // Token: 0x06000BE8 RID: 3048 RVA: 0x00031FC4 File Offset: 0x000301C4 + public void UpdatePosition() + { + int num = -480; + int num2 = 272; + Vector3 localPosition = new Vector3(0f, 0f, 0f); + localPosition.x = (float)(num + this.Width / 2 - this.X); + localPosition.y = (float)(num2 - this.Height / 2 - this.Y); + localPosition.z = (float)this.Z; + this.m_GameObject.transform.localPosition = localPosition; + } + + // Token: 0x06000BE9 RID: 3049 RVA: 0x00032044 File Offset: 0x00030244 + public virtual void FixedTexture() + { + if (this.HasTexture) + { + this.SetSize(this.m_UniTex.m_Texture.width, this.m_UniTex.m_Texture.height); + } + } + + // Token: 0x06000BEA RID: 3050 RVA: 0x00032084 File Offset: 0x00030284 + public void SetSize(int width, int height) + { + this.m_Width = width; + this.m_Height = height; + this.UpdateScale(); + } + + // Token: 0x06000BEB RID: 3051 RVA: 0x0003209C File Offset: 0x0003029C + public void UpdateScale() + { + Vector3 localScale = new Vector3((float)this.m_Width, (float)this.m_Height, 1f); + this.m_GameObject.transform.localScale = localScale; + } + + // Token: 0x06000BEC RID: 3052 RVA: 0x000320D4 File Offset: 0x000302D4 + public void Destroy() + { + UnityEngine.Object.Destroy(this.m_GameObject); + } + + // Token: 0x04000930 RID: 2352 + private GameObject m_GameObject; + + // Token: 0x04000931 RID: 2353 + private int m_X; + + // Token: 0x04000932 RID: 2354 + private int m_Y; + + // Token: 0x04000933 RID: 2355 + private int m_Z; + + // Token: 0x04000934 RID: 2356 + private int m_Width; + + // Token: 0x04000935 RID: 2357 + private int m_Height; + + // Token: 0x04000936 RID: 2358 + private UnityTexture m_UniTex; + + // Token: 0x04000937 RID: 2359 + private Vector4 m_UVWH; +} diff --git a/Assets/Scripts/Assembly-CSharp/IntroductionWindow.cs b/Assets/Scripts/Assembly-CSharp/IntroductionWindow.cs new file mode 100644 index 000000000..d8eed4ea3 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/IntroductionWindow.cs @@ -0,0 +1,346 @@ +using System; +using Game; +using Qoo; +using Qoo.Game; +using UnityEngine; + +// Token: 0x02000118 RID: 280 +public class IntroductionWindow : BaseWindow +{ + // Token: 0x06000767 RID: 1895 RVA: 0x0001FB6C File Offset: 0x0001DD6C + protected sealed override string GetBGMName() + { + return "lovecheck2_ali"; + } + + // Token: 0x06000768 RID: 1896 RVA: 0x0001FB74 File Offset: 0x0001DD74 + protected sealed override void OnAwake() + { + this.m_chara = UIValue.GalleryCharactor; + this.loading = false; + this.checkFlick = true; + this.checkButton = true; + } + + // Token: 0x06000769 RID: 1897 RVA: 0x0001FBA4 File Offset: 0x0001DDA4 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + this.GetFilenameBackGround(), + this.GetFilenameMessage(), + "screen/title/buy05", + "screen/title/buy09", + "screen/title/kyara_voice", + "screen/sysmenu/sys_smv", + "screen/cgmemory/cgm_arwl", + "screen/cgmemory/cgm_arwr", + "screen/common/cancel" + }; + } + + // Token: 0x0600076A RID: 1898 RVA: 0x0001FC04 File Offset: 0x0001DE04 + protected sealed override void AfterInit() + { + float num = 0f; + int num2 = 3; + float num3 = 0.8f; + ImageObject imageObject = base.GetImageObject("ArrowL"); + imageObject.AddImageAnimation(new ImageAnimationLocalPosition(num2, num3, num, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(-25f, 0f, 0f))); + imageObject.AddImageAnimation(new ImageAnimationMaterialColor(1, num3, num + (float)(num2 - 1) * num3, new Color(1f, 1f, 1f, 1f), new Color(1f, 1f, 1f, 0f))); + ImageObject imageObject2 = base.GetImageObject("ArrowR"); + imageObject2.AddImageAnimation(new ImageAnimationLocalPosition(num2, num3, num, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(25f, 0f, 0f))); + imageObject2.AddImageAnimation(new ImageAnimationMaterialColor(1, num3, num + (float)(num2 - 1) * num3, new Color(1f, 1f, 1f, 1f), new Color(1f, 1f, 1f, 0f))); + bool voiceButtonShow = this.GetVoiceButtonShow(); + base.GameObjectShow("SampleVoice", voiceButtonShow); + base.GameObjectShow("SampleVoice1", voiceButtonShow); + base.GameObjectShow("SampleVoice2", voiceButtonShow); + base.GameObjectShow("SampleVoice3", voiceButtonShow); + } + + // Token: 0x0600076B RID: 1899 RVA: 0x0001FD74 File Offset: 0x0001DF74 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + string filenameBackGround = this.GetFilenameBackGround(); + string filenameMessage = this.GetFilenameMessage(); + string filenameButton = this.GetFilenameButton(); + bool voiceButtonShow = this.GetVoiceButtonShow(); + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("DummyBackGround", 0, 0, this.wndz, filenameBackGround, false, false), + new BaseWindow.UIImage("DummyMessage", 304, 275, this.wndz + 1, filenameMessage, false, false), + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, filenameBackGround, false, true), + new BaseWindow.UIImage("Message", 304, 275, this.wndz + 1, filenameMessage, false, true), + new BaseWindow.UIButton("Start", 465, 172, this.wndz + 1, filenameButton, true, this.GetStartButtonShow(), 1, 2, 0), + new BaseWindow.UIImage("SampleVoice", 50, 423, this.wndz + 1, "screen/title/kyara_voice", true, voiceButtonShow), + new BaseWindow.UIButton("SampleVoice1", 45, 460, this.wndz + 1, "screen/sysmenu/sys_smv", true, voiceButtonShow, 1, 2, 0), + new BaseWindow.UIButton("SampleVoice2", 127, 460, this.wndz + 1, "screen/sysmenu/sys_smv", true, voiceButtonShow, 1, 2, 0), + new BaseWindow.UIButton("SampleVoice3", 208, 460, this.wndz + 1, "screen/sysmenu/sys_smv", true, voiceButtonShow, 1, 2, 0), + new BaseWindow.UIImage("ArrowL", 20, 199, this.wndz + 1, "screen/cgmemory/cgm_arwl", false, true), + new BaseWindow.UIImage("ArrowR", 861, 199, this.wndz + 1, "screen/cgmemory/cgm_arwr", false, true), + new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 1, "screen/common/cancel", true, true, 1, 2, 0) + }; + } + + // Token: 0x0600076C RID: 1900 RVA: 0x0001FF50 File Offset: 0x0001E150 + protected override void OnBaseWindowUpdate() + { + if (this.loading) + { + if (!this.LoadCompleted()) + { + return; + } + this.SetCharaTexture(string.Empty); + base.SetTexture("Start", this.GetFilenameButton()); + this.SetButtonShow(); + base.RestartAnimation("ArrowL"); + base.RestartAnimation("ArrowR"); + this.loading = false; + this.checkFlick = true; + this.checkButton = true; + } + if (!this.checkFlick) + { + return; + } + INPUT_STATUS status = UnityApp.Input.Status; + if (status == INPUT_STATUS.DRAG || status == INPUT_STATUS.FLICK) + { + this.OnFlick(UnityApp.Input.SlideDragVector); + } + } + + // Token: 0x0600076D RID: 1901 RVA: 0x00020000 File Offset: 0x0001E200 + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (this.loading) + { + return; + } + if (!this.checkButton) + { + return; + } + switch (obj) + { + case "Start": + this.checkFlick = false; + base.StopVoice(); + base.PlaySE_Ok(); + UIValue.Payment_Call = PaymentCallType.TITLE; + SceneManager.ChangeScene(UIValue.SCENE_PAYMENT); + break; + case "SampleVoice1": + case "SampleVoice2": + case "SampleVoice3": + base.PlayVoice(Chara.GetVoiceFromId(this.GetCharaId()) + this.voice[this.m_chara, this.VoiceButtonToIndex(obj)].ToString("_0000"), false); + break; + case "Cancel": + this.checkFlick = false; + base.StopVoice(); + base.PlaySE_Cancel(); + SceneManager.BackScene(); + break; + } + } + + // Token: 0x0600076E RID: 1902 RVA: 0x0002012C File Offset: 0x0001E32C + private void SetButtonShow() + { + bool voiceButtonShow = this.GetVoiceButtonShow(); + base.GameObjectShow("SampleVoice", voiceButtonShow); + base.GameObjectShow("SampleVoice1", voiceButtonShow); + base.GameObjectShow("SampleVoice2", voiceButtonShow); + base.GameObjectShow("SampleVoice3", voiceButtonShow); + base.GameObjectShow("Start", this.GetStartButtonShow()); + } + + // Token: 0x0600076F RID: 1903 RVA: 0x00020184 File Offset: 0x0001E384 + private bool GetStartButtonShow() + { + return !base.IsTrial && this.GetCharaId() != CHAR_ID.NIGHTMARE; + } + + // Token: 0x06000770 RID: 1904 RVA: 0x000201A4 File Offset: 0x0001E3A4 + private bool GetVoiceButtonShow() + { + return this.GetCharaId() != CHAR_ID.MOB; + } + + // Token: 0x06000771 RID: 1905 RVA: 0x000201B4 File Offset: 0x0001E3B4 + private int VoiceButtonToIndex(string obj) + { + switch (obj) + { + case "SampleVoice1": + return 0; + case "SampleVoice2": + return 1; + case "SampleVoice3": + return 2; + } + return 0; + } + + // Token: 0x06000772 RID: 1906 RVA: 0x00020234 File Offset: 0x0001E434 + private void OnFlick(SLIDE_VECTOR slide) + { + if (slide == SLIDE_VECTOR.LEFT || slide == SLIDE_VECTOR.RIGHT) + { + this.OnCharaChange((slide != SLIDE_VECTOR.LEFT) ? this.GetRightChara() : this.GetLeftChara()); + } + } + + // Token: 0x06000773 RID: 1907 RVA: 0x0002027C File Offset: 0x0001E47C + private bool LoadCompleted() + { + return base.LoadCompleted("DummyBackGround") && base.LoadCompleted("DummyMessage"); + } + + // Token: 0x06000774 RID: 1908 RVA: 0x0002029C File Offset: 0x0001E49C + private void SetCharaTexture(string prefix) + { + base.SetTexture(prefix + "BackGround", this.GetFilenameBackGround()); + base.SetTexture(prefix + "Message", this.GetFilenameMessage()); + } + + // Token: 0x06000775 RID: 1909 RVA: 0x000202D8 File Offset: 0x0001E4D8 + private void OnCharaChange(int chara) + { + this.loading = true; + this.m_chara = chara; + UIValue.GalleryCharactor = this.m_chara; + this.SetCharaTexture("Dummy"); + this.checkFlick = false; + this.checkButton = false; + base.PlaySE_Select(); + base.StopVoice(); + } + + // Token: 0x06000776 RID: 1910 RVA: 0x00020324 File Offset: 0x0001E524 + private int GetRightChara() + { + int numberOfButton = this.GetNumberOfButton(); + return (this.m_chara - 1 + numberOfButton) % numberOfButton; + } + + // Token: 0x06000777 RID: 1911 RVA: 0x00020344 File Offset: 0x0001E544 + private int GetLeftChara() + { + int numberOfButton = this.GetNumberOfButton(); + return (this.m_chara + 1 + numberOfButton) % numberOfButton; + } + + // Token: 0x06000778 RID: 1912 RVA: 0x00020364 File Offset: 0x0001E564 + private int GetNumberOfButton() + { + return 11; + } + + // Token: 0x06000779 RID: 1913 RVA: 0x00020368 File Offset: 0x0001E568 + private CHAR_ID GetCharaId() + { + return (CHAR_ID)this.m_chara; + } + + // Token: 0x0600077A RID: 1914 RVA: 0x00020370 File Offset: 0x0001E570 + private string GetFilenameBackGround() + { + return this.GetFilenameId(this.m_chara).ToString("screen/title/kyara_00"); + } + + // Token: 0x0600077B RID: 1915 RVA: 0x00020398 File Offset: 0x0001E598 + private string GetFilenameMessage() + { + string text = this.GetFilenameId(this.m_chara).ToString("screen/title/kyara_m_00"); + if (base.IsTrial && this.GetCharaId() == CHAR_ID.MOB) + { + text += "_tri"; + } + Qoo.Debug.Print(text); + return text; + } + + // Token: 0x0600077C RID: 1916 RVA: 0x000203EC File Offset: 0x0001E5EC + private string GetFilenameButton() + { + return (this.GetCharaId() != CHAR_ID.MOB) ? "screen/title/buy05" : "screen/title/buy09"; + } + + // Token: 0x0600077D RID: 1917 RVA: 0x0002040C File Offset: 0x0001E60C + private int GetFilenameId(int i) + { + return i + 1; + } + + // Token: 0x040006B9 RID: 1721 + private readonly int wndz; + + // Token: 0x040006BA RID: 1722 + private int m_chara; + + // Token: 0x040006BB RID: 1723 + private bool loading; + + // Token: 0x040006BC RID: 1724 + private bool checkFlick; + + // Token: 0x040006BD RID: 1725 + private bool checkButton; + + // Token: 0x040006BE RID: 1726 + private int[,] voice = new int[,] + { + { + 642, + 735, + 1334 + }, + { + 15, + 468, + 737 + }, + { + 236, + 811, + 836 + }, + { + 743, + 769, + 1545 + }, + { + 6, + 326, + 742 + }, + { + 321, + 794, + 2510 + }, + { + 395, + 1209, + 1957 + }, + { + 542, + 585, + 1717 + }, + { + 86, + 214, + 656 + }, + { + 40, + 770, + 1454 + } + }; +} diff --git a/Assets/Scripts/Assembly-CSharp/LB_INIT.cs b/Assets/Scripts/Assembly-CSharp/LB_INIT.cs new file mode 100644 index 000000000..7e3094d5c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/LB_INIT.cs @@ -0,0 +1,22 @@ +using System; + +// Token: 0x020000C0 RID: 192 +public struct LB_INIT +{ + // Token: 0x060005D1 RID: 1489 RVA: 0x000173A4 File Offset: 0x000155A4 + public LB_INIT(string caption, DEBUG_ID id, DEBUG_ID parentid) + { + this.szCaption = caption; + this.nId = (int)id; + this.nParentId = (int)parentid; + } + + // Token: 0x04000482 RID: 1154 + public string szCaption; + + // Token: 0x04000483 RID: 1155 + public int nId; + + // Token: 0x04000484 RID: 1156 + public int nParentId; +} diff --git a/Assets/Scripts/Assembly-CSharp/ListItemObject.cs b/Assets/Scripts/Assembly-CSharp/ListItemObject.cs new file mode 100644 index 000000000..aedbb3361 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ListItemObject.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000E8 RID: 232 +public class ListItemObject : MonoBehaviour +{ + // Token: 0x170000D8 RID: 216 + // (get) Token: 0x06000642 RID: 1602 RVA: 0x00019FF8 File Offset: 0x000181F8 + // (set) Token: 0x06000643 RID: 1603 RVA: 0x0001A000 File Offset: 0x00018200 + public bool IsAreaOver { get; set; } + + // Token: 0x06000644 RID: 1604 RVA: 0x0001A00C File Offset: 0x0001820C + public static ListItemObject Create(ImageObject imageObject) + { + ListItemObject listItemObject = imageObject.gameObject.AddComponent(); + listItemObject.m_ImageObject = imageObject; + listItemObject.StartCoroutine(listItemObject.WaitLoadTextureCoroutine()); + return listItemObject; + } + + // Token: 0x06000645 RID: 1605 RVA: 0x0001A03C File Offset: 0x0001823C + public void SetArea(float top, float bot) + { + int num = 272; + this.Top = (float)num - top; + this.Bot = (float)num - bot; + } + + // Token: 0x06000646 RID: 1606 RVA: 0x0001A064 File Offset: 0x00018264 + private IEnumerator WaitLoadTextureCoroutine() + { + while (base.renderer.material.mainTexture == null) + { + yield return 0; + } + this.Init(); + yield break; + } + + // Token: 0x06000647 RID: 1607 RVA: 0x0001A080 File Offset: 0x00018280 + private void Awake() + { + } + + // Token: 0x06000648 RID: 1608 RVA: 0x0001A084 File Offset: 0x00018284 + private void Update() + { + base.transform.localPosition = this.m_ImageObject.OriginalPosition; + base.transform.localScale = this.m_ImageObject.OriginalScale; + this.ListViewPosition = this.m_ImageObject.OnViewPosition; + this.ListViewScale = this.m_ImageObject.OnViewScale; + this.IsAreaOver = false; + this.isBotOver = false; + this.scaling(); + this.positioning(); + this.moveUV(); + base.transform.localPosition = this.ListViewPosition; + base.transform.localScale = this.ListViewScale; + } + + // Token: 0x06000649 RID: 1609 RVA: 0x0001A124 File Offset: 0x00018324 + public void Init() + { + Vector3 localScale = new Vector3(0f, 0f, 1f); + this.m_ImageObject.OriginalScale = base.transform.localScale; + this.m_ImageObject.OriginalPosition = base.transform.localPosition; + this.m_ImageObject.OnViewPosition = this.m_ImageObject.OriginalPosition; + this.m_ImageObject.OnViewScale = this.m_ImageObject.OriginalScale; + if (base.renderer.material.mainTexture != null) + { + localScale.x = (float)base.renderer.material.mainTexture.width; + localScale.y = (float)base.renderer.material.mainTexture.height; + base.transform.localScale = localScale; + this.scaling(); + this.positioning(); + this.moveUV(); + } + } + + // Token: 0x0600064A RID: 1610 RVA: 0x0001A214 File Offset: 0x00018414 + private void scaling() + { + Vector3 position = base.transform.position; + Vector3 listViewScale = this.ListViewScale; + this.myTop = position.y + listViewScale.y / 2f; + this.myBot = position.y - listViewScale.y / 2f; + this.over = 0f; + if (this.myTop > this.Top) + { + this.over = this.Top - this.myTop; + this.IsAreaOver = true; + } + else if (this.myBot < this.Bot) + { + this.over = this.myBot - this.Bot; + this.IsAreaOver = true; + this.isBotOver = true; + } + listViewScale.y = this.m_ImageObject.OriginalScale.y + this.over; + if (listViewScale.y > this.m_ImageObject.OriginalScale.y) + { + listViewScale.y = this.m_ImageObject.OriginalScale.y; + } + if (listViewScale.y < 0f) + { + listViewScale.y = 0f; + } + this.ListViewScale = listViewScale; + } + + // Token: 0x0600064B RID: 1611 RVA: 0x0001A34C File Offset: 0x0001854C + private void positioning() + { + float num = this.over / 2f; + if (this.isBotOver) + { + num *= -1f; + } + this.ListViewPosition.y = this.m_ImageObject.OnViewPosition.y + num; + } + + // Token: 0x0600064C RID: 1612 RVA: 0x0001A398 File Offset: 0x00018598 + private void moveUV() + { + float num = this.ListViewScale.y / this.m_ImageObject.OriginalScale.y; + if (this.isBotOver) + { + base.renderer.material.SetVector("_UVWH", new Vector4(0f, 1f - num, 1f, num)); + } + else + { + base.renderer.material.SetVector("_UVWH", new Vector4(0f, 0f, 1f, num)); + } + } + + // Token: 0x040005BA RID: 1466 + private ImageObject m_ImageObject; + + // Token: 0x040005BB RID: 1467 + public float Top; + + // Token: 0x040005BC RID: 1468 + public float Bot; + + // Token: 0x040005BD RID: 1469 + public Vector3 ListViewPosition; + + // Token: 0x040005BE RID: 1470 + public Vector3 ListViewScale; + + // Token: 0x040005BF RID: 1471 + private Vector3 StartPosition; + + // Token: 0x040005C0 RID: 1472 + private Vector3 StartInputPosition; + + // Token: 0x040005C1 RID: 1473 + private float over; + + // Token: 0x040005C2 RID: 1474 + private float myTop; + + // Token: 0x040005C3 RID: 1475 + private float myBot; + + // Token: 0x040005C4 RID: 1476 + private bool isBotOver; +} diff --git a/Assets/Scripts/Assembly-CSharp/LogoMovieWindow.cs b/Assets/Scripts/Assembly-CSharp/LogoMovieWindow.cs new file mode 100644 index 000000000..791bcaa68 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/LogoMovieWindow.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections; +using Qoo; +using UnityEngine; + +// Token: 0x02000119 RID: 281 +public class LogoMovieWindow : BaseWindow +{ + // Token: 0x0600077F RID: 1919 RVA: 0x0002041C File Offset: 0x0001E61C + protected sealed override void OnAwake() + { + this.state = LogoMovieWindow.STATE.INIT; + } + + // Token: 0x06000780 RID: 1920 RVA: 0x00020428 File Offset: 0x0001E628 + protected override void OnBaseWindowUpdate() + { + switch (this.state) + { + case LogoMovieWindow.STATE.INIT: + base.StartCoroutine(this.PlayMovie()); + this.state = LogoMovieWindow.STATE.PLAYING; + break; + case LogoMovieWindow.STATE.END: + Qoo.Debug.Print("***ムービー再生おわた***"); + SceneManager.ChangeScene(UIValue.SCENE_TITLE); + this.state = LogoMovieWindow.STATE.EXIT; + break; + } + } + + // Token: 0x06000781 RID: 1921 RVA: 0x0002049C File Offset: 0x0001E69C + private IEnumerator PlayMovie() + { + yield return base.StartCoroutine(MovieManager.PlayMovie("mp4/normal/quinrose_logo_8.mp4", FullScreenMovieControlMode.CancelOnInput)); + this.state = LogoMovieWindow.STATE.END; + yield break; + } + + // Token: 0x040006C1 RID: 1729 + private LogoMovieWindow.STATE state; + + // Token: 0x0200011A RID: 282 + private enum STATE + { + // Token: 0x040006C3 RID: 1731 + INIT, + // Token: 0x040006C4 RID: 1732 + PLAYING, + // Token: 0x040006C5 RID: 1733 + END, + // Token: 0x040006C6 RID: 1734 + EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/MOVIE_TEX_TYPE.cs b/Assets/Scripts/Assembly-CSharp/MOVIE_TEX_TYPE.cs new file mode 100644 index 000000000..6bcc82c07 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MOVIE_TEX_TYPE.cs @@ -0,0 +1,10 @@ +using System; + +// Token: 0x0200017F RID: 383 +public enum MOVIE_TEX_TYPE +{ + // Token: 0x040008BE RID: 2238 + NORMAL, + // Token: 0x040008BF RID: 2239 + ADD +} diff --git a/Assets/Scripts/Assembly-CSharp/Man2D.cs b/Assets/Scripts/Assembly-CSharp/Man2D.cs new file mode 100644 index 000000000..5e364d9a1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Man2D.cs @@ -0,0 +1,359 @@ +using System; +using System.Collections; +using Qoo; +using UnityEngine; + +// Token: 0x02000154 RID: 340 +public class Man2D : Singleton +{ + // Token: 0x17000129 RID: 297 + // (get) Token: 0x06000974 RID: 2420 RVA: 0x00029DFC File Offset: 0x00027FFC + public ManSprite SpriteManager + { + get + { + return this.m_Sprite; + } + } + + // Token: 0x1700012A RID: 298 + // (get) Token: 0x06000975 RID: 2421 RVA: 0x00029E04 File Offset: 0x00028004 + public ManTexture TexManager + { + get + { + return this.m_Texture; + } + } + + // Token: 0x06000976 RID: 2422 RVA: 0x00029E0C File Offset: 0x0002800C + private void Awake() + { + this.m_nScreenW = 960; + this.m_nScreenH = 544; + this.CreateCamera(); + this.CreateSpriteManager(); + this.m_Texture = base.gameObject.AddComponent(); + this.CreateFrameBuffer(); + this.m_BackSprite = this.AddSprite(string.Empty); + this.m_BackSprite.z = 0; + this.m_BackSprite.w = this.m_nScreenW; + this.m_BackSprite.h = this.m_nScreenH; + this.m_BackSprite.R = 0; + this.m_BackSprite.G = 0; + this.m_BackSprite.B = 0; + this.m_BackSprite.A = byte.MaxValue; + this.m_BackSprite.Brend = SPRITE_DRAW_MODE.BACK; + base.enabled = false; + } + + // Token: 0x06000977 RID: 2423 RVA: 0x00029ED8 File Offset: 0x000280D8 + private void OnEnable() + { + this.m_Sprite.Enable(); + base.camera.enabled = true; + } + + // Token: 0x06000978 RID: 2424 RVA: 0x00029EF4 File Offset: 0x000280F4 + private void OnDisable() + { + this.m_Sprite.Disable(); + base.camera.enabled = false; + } + + // Token: 0x06000979 RID: 2425 RVA: 0x00029F10 File Offset: 0x00028110 + public IEnumerator EraseFrameBuffer() + { + bool old = Singleton.Instance.enabled; + Singleton.Instance.enabled = true; + yield return 0; + Singleton.Instance.UpdateFrameBuffer(); + yield return 0; + Singleton.Instance.UpdateFrameBuffer(); + yield return 0; + Singleton.Instance.enabled = old; + yield break; + } + + // Token: 0x0600097A RID: 2426 RVA: 0x00029F24 File Offset: 0x00028124 + public static UnitySprite Sprite(string name = "") + { + return Singleton.Instance.AddSprite(name); + } + + // Token: 0x0600097B RID: 2427 RVA: 0x00029F34 File Offset: 0x00028134 + public static UnityTextSprite TextSprite(UIFont font = null) + { + UnityTextSprite unityTextSprite = Singleton.Instance.AddTextSprite(); + if (font == null) + { + unityTextSprite.Font = Singleton.Instance.Font; + } + else + { + unityTextSprite.Font = font; + } + return unityTextSprite; + } + + // Token: 0x0600097C RID: 2428 RVA: 0x00029F78 File Offset: 0x00028178 + public static UnityTexture Texture(string name) + { + return Singleton.Instance.LoadTexture(name); + } + + // Token: 0x0600097D RID: 2429 RVA: 0x00029F88 File Offset: 0x00028188 + internal static void ReadyTexture(string name, bool IsDec = true) + { + if (!Singleton.Instance.m_Texture.IsFind(name)) + { + Singleton.Instance.m_Texture.Ready(name, IsDec); + } + } + + // Token: 0x0600097E RID: 2430 RVA: 0x00029FBC File Offset: 0x000281BC + public static bool IsUseTexture(string name) + { + return Singleton.Instance.m_Texture.IsFind(name) && Singleton.Instance.m_Texture.IsUse(name); + } + + // Token: 0x0600097F RID: 2431 RVA: 0x00029FE8 File Offset: 0x000281E8 + public UnitySprite AddSprite(string grp = "") + { + if (grp != null && grp.Length > 0) + { + UnitySprite unitySprite = this.m_Sprite.Add(new UnitySprite(true, base.gameObject, false)); + unitySprite.SetImage(this.LoadTexture(grp)); + return unitySprite; + } + return this.m_Sprite.Add(new UnitySprite(true, base.gameObject, false)); + } + + // Token: 0x06000980 RID: 2432 RVA: 0x0002A048 File Offset: 0x00028248 + public UnityTextSprite AddTextSprite() + { + UnityTextSprite unityTextSprite = new UnityTextSprite(true, base.gameObject); + this.m_Sprite.Add(unityTextSprite); + return unityTextSprite; + } + + // Token: 0x06000981 RID: 2433 RVA: 0x0002A070 File Offset: 0x00028270 + public bool RemoveSprite(UnitySprite sp) + { + if (sp != null) + { + UnityEngine.Object.Destroy(sp.obj); + if (sp.tex != null && sp.IsTexRelease) + { + this.ReleaseTexture(sp.tex, false); + } + sp.Reset(); + return this.m_Sprite.Remove(sp); + } + return true; + } + + // Token: 0x06000982 RID: 2434 RVA: 0x0002A0C8 File Offset: 0x000282C8 + public UnityTexture LoadTexture(string name) + { + return this.m_Texture.Add(name); + } + + // Token: 0x06000983 RID: 2435 RVA: 0x0002A0D8 File Offset: 0x000282D8 + public bool IsUseTextue(string name) + { + return this.m_Texture.IsUse(name); + } + + // Token: 0x06000984 RID: 2436 RVA: 0x0002A0E8 File Offset: 0x000282E8 + public UnityTexture LoadTexture(string name, byte[] data_) + { + return this.m_Texture.Add(name, data_); + } + + // Token: 0x06000985 RID: 2437 RVA: 0x0002A0F8 File Offset: 0x000282F8 + public UnityTexture SetTexture(string name, Texture2D tex) + { + return this.m_Texture.Add(name, tex); + } + + // Token: 0x06000986 RID: 2438 RVA: 0x0002A108 File Offset: 0x00028308 + public void ReleaseTexture(UnityTexture tex, bool IsForce = false) + { + if (tex != null) + { + this.m_Texture.Remove(tex, IsForce); + } + } + + // Token: 0x06000987 RID: 2439 RVA: 0x0002A120 File Offset: 0x00028320 + public bool ReleaseTexture(string name, bool IsForce = false) + { + return name != null && this.m_Texture.Remove(name, IsForce); + } + + // Token: 0x06000988 RID: 2440 RVA: 0x0002A138 File Offset: 0x00028338 + public RenderTexture GetFrameBuffer() + { + if (!this.IsReadyFrameBuffer()) + { + return null; + } + if (this.m_FrameBufferAr[this.GetFrameNoNew()] != null && this.m_FrameBufferAr[this.GetFrameNoNew()].IsReady) + { + return this.m_FrameBufferAr[this.GetFrameNoNew()].Tex; + } + return null; + } + + // Token: 0x06000989 RID: 2441 RVA: 0x0002A190 File Offset: 0x00028390 + public RenderTexture GetFrameBufferOld() + { + if (!this.IsReadyFrameBuffer()) + { + return null; + } + if (this.m_FrameBufferAr[this.GetFrameNoOld()] != null && this.m_FrameBufferAr[this.GetFrameNoOld()].IsReady) + { + return this.m_FrameBufferAr[this.GetFrameNoOld()].Tex; + } + return null; + } + + // Token: 0x0600098A RID: 2442 RVA: 0x0002A1E8 File Offset: 0x000283E8 + private int GetFrameNoNew() + { + int num = this.m_nFrameNo - 1; + if (num < 0) + { + num += this.m_FrameBufferAr.Length; + } + return num; + } + + // Token: 0x0600098B RID: 2443 RVA: 0x0002A214 File Offset: 0x00028414 + private int GetFrameNoOld() + { + int num = this.m_nFrameNo - 2; + if (num < 0) + { + num += this.m_FrameBufferAr.Length; + } + return num; + } + + // Token: 0x0600098C RID: 2444 RVA: 0x0002A240 File Offset: 0x00028440 + private bool IsReadyFrameBuffer() + { + for (int i = 0; i < this.m_FrameBufferAr.Length; i++) + { + if (this.m_FrameBufferAr[this.m_nFrameNo] == null || !this.m_FrameBufferAr[this.m_nFrameNo].IsReady) + { + return false; + } + } + return true; + } + + // Token: 0x0600098D RID: 2445 RVA: 0x0002A294 File Offset: 0x00028494 + private void Update() + { + this.m_Sprite.Update(); + } + + // Token: 0x0600098E RID: 2446 RVA: 0x0002A2A4 File Offset: 0x000284A4 + public void UpdateFrameBuffer() + { + if (base.camera.targetTexture != null && this.m_FrameBufferAr[this.m_nFrameNo] != null) + { + this.m_FrameBufferAr[this.m_nFrameNo].IsReady = true; + } + this.m_nFrameNo++; + if (this.m_nFrameNo < 0 || this.m_nFrameNo >= this.m_FrameBufferAr.Length) + { + this.m_nFrameNo = 0; + } + if (this.m_FrameBufferAr[this.m_nFrameNo] != null) + { + base.camera.targetTexture = this.m_FrameBufferAr[this.m_nFrameNo].Tex; + } + } + + // Token: 0x0600098F RID: 2447 RVA: 0x0002A350 File Offset: 0x00028550 + private void CreateCamera() + { + base.gameObject.AddComponent(); + CreateSprite.CreateSpriteCamera(base.gameObject, this.m_nScreenH, true); + base.gameObject.camera.aspect = 1.7647059f; + } + + // Token: 0x06000990 RID: 2448 RVA: 0x0002A390 File Offset: 0x00028590 + private void CreateSpriteManager() + { + this.m_Sprite = new ManSprite(); + float z = base.camera.transform.localPosition.z; + this.m_Sprite.SetZ(base.camera.nearClipPlane + z, base.camera.farClipPlane + z); + this.m_Sprite.SetScreenSize(this.m_nScreenW, this.m_nScreenH); + } + + // Token: 0x06000991 RID: 2449 RVA: 0x0002A400 File Offset: 0x00028600 + public void CreateFrameBuffer() + { + this.ReleaseFrameBuffer(); + Qoo.Debug.Print("Create Frame Buffer"); + int w = 960; + int h = 544; + if (iPhone.generation == iPhoneGeneration.iPhone4) + { + w = 512; + h = 512; + } + Qoo.Debug.Print("Info:iPhone.generation:" + iPhone.generation); + for (int i = 0; i < this.m_FrameBufferAr.Length; i++) + { + this.m_FrameBufferAr[i] = new FrameBuffer(w, h, "2D Sprite FrameBuffer" + i); + } + this.m_nFrameNo = 0; + base.camera.targetTexture = this.m_FrameBufferAr[this.m_nFrameNo].Tex; + } + + // Token: 0x06000992 RID: 2450 RVA: 0x0002A4B8 File Offset: 0x000286B8 + public void ReleaseFrameBuffer() + { + Qoo.Debug.Print("Release Frame Buffer"); + base.camera.targetTexture = null; + for (int i = 0; i < this.m_FrameBufferAr.Length; i++) + { + if (this.m_FrameBufferAr[i] != null) + { + UnityEngine.Object.Destroy(this.m_FrameBufferAr[i].Tex); + this.m_FrameBufferAr[i].Tex = null; + } + this.m_FrameBufferAr[i] = null; + } + } + + // Token: 0x040007D3 RID: 2003 + private const int FrameBufferNum = 2; + + // Token: 0x040007D4 RID: 2004 + private ManSprite m_Sprite; + + // Token: 0x040007D5 RID: 2005 + private ManTexture m_Texture; + + // Token: 0x040007D6 RID: 2006 + private int m_nScreenH; + + // Token: 0x040007D7 RID: 2007 + private int m_nScreenW; + + // Token: 0x040007D8 RID: 2008 + private UnitySprite m_BackSprite; + + // Token: 0x040007D9 RID: 2009 + private FrameBuffer[] m_FrameBufferAr = new FrameBuffer[2]; + + // Token: 0x040007DA RID: 2010 + private int m_nFrameNo; +} diff --git a/Assets/Scripts/Assembly-CSharp/ManSound.cs b/Assets/Scripts/Assembly-CSharp/ManSound.cs new file mode 100644 index 000000000..c54afafe9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ManSound.cs @@ -0,0 +1,250 @@ +using System; +using System.Collections.Generic; +using Qoo; + +// Token: 0x02000189 RID: 393 +public class ManSound : Singleton +{ + // Token: 0x17000173 RID: 371 + // (get) Token: 0x06000B18 RID: 2840 RVA: 0x00030064 File Offset: 0x0002E264 + // (set) Token: 0x06000B19 RID: 2841 RVA: 0x0003006C File Offset: 0x0002E26C + public float BgmVolume + { + get + { + return this.volBgm; + } + set + { + this.volBgm = value; + } + } + + // Token: 0x17000174 RID: 372 + // (get) Token: 0x06000B1A RID: 2842 RVA: 0x00030078 File Offset: 0x0002E278 + // (set) Token: 0x06000B1B RID: 2843 RVA: 0x00030080 File Offset: 0x0002E280 + public float SeVolume + { + get + { + return this.volSe; + } + set + { + this.volSe = value; + } + } + + // Token: 0x17000175 RID: 373 + // (get) Token: 0x06000B1C RID: 2844 RVA: 0x0003008C File Offset: 0x0002E28C + // (set) Token: 0x06000B1D RID: 2845 RVA: 0x00030094 File Offset: 0x0002E294 + public float SysSeVolume + { + get + { + return this.volSysSe; + } + set + { + this.volSysSe = value; + } + } + + // Token: 0x06000B1E RID: 2846 RVA: 0x000300A0 File Offset: 0x0002E2A0 + private void Awake() + { + this.bgm = SoundStream.CreateObject(base.gameObject, "Bgm"); + this.voice = SoundStream.CreateObject(base.gameObject, "Voice"); + this.se = SoundVoice.CreateObject(base.gameObject, "SysSe"); + this.player_se = SoundVoice.CreateObject(base.gameObject, "SysSe_Player"); + for (int num = 0; num != this.slotSe.Length; num++) + { + this.slotSe[num] = SoundStream.CreateObject(base.gameObject, "SlotSe" + num.ToString()); + } + this.data.Clear(); + } + + // Token: 0x06000B1F RID: 2847 RVA: 0x00030150 File Offset: 0x0002E350 + private void Update() + { + } + + // Token: 0x06000B20 RID: 2848 RVA: 0x00030154 File Offset: 0x0002E354 + public void BgmPlay(string name, float fVol = 1f, int nInTime = 1000, int nOutTime = 1000) + { + this.bgm.Play("bgm", name, true, fVol * this.BgmVolume, nInTime, nOutTime); + } + + // Token: 0x06000B21 RID: 2849 RVA: 0x00030180 File Offset: 0x0002E380 + public void BgmStop(int timeOut = 1000) + { + this.bgm.Stop(timeOut); + } + + // Token: 0x06000B22 RID: 2850 RVA: 0x00030190 File Offset: 0x0002E390 + public bool BgmIsPlay() + { + return this.bgm.IsPlay; + } + + // Token: 0x06000B23 RID: 2851 RVA: 0x000301A0 File Offset: 0x0002E3A0 + public void BgmSetVolume(float fVol) + { + this.bgm.Current.Volume = fVol; + } + + // Token: 0x06000B24 RID: 2852 RVA: 0x000301B4 File Offset: 0x0002E3B4 + public void VoicePlay(string name, float fVol) + { + if (fVol == 0f) + { + return; + } + this.voice.Play("voice", name, false, fVol, 1000, 1000); + } + + // Token: 0x06000B25 RID: 2853 RVA: 0x000301E0 File Offset: 0x0002E3E0 + public void VoiceStop() + { + this.voice.Stop(1000); + } + + // Token: 0x06000B26 RID: 2854 RVA: 0x000301F4 File Offset: 0x0002E3F4 + public bool VoiceIsPlay() + { + return this.voice.IsPlay; + } + + // Token: 0x06000B27 RID: 2855 RVA: 0x00030204 File Offset: 0x0002E404 + public void VoicePause(bool isPause) + { + this.voice.Pause(isPause); + } + + // Token: 0x06000B28 RID: 2856 RVA: 0x00030214 File Offset: 0x0002E414 + public void VoiceSetVolume(float fVol) + { + this.voice.Current.Volume = fVol; + } + + // Token: 0x06000B29 RID: 2857 RVA: 0x00030228 File Offset: 0x0002E428 + public void SlotSePlay(int slot, string name, float fVol, bool IsLoop) + { + Debug.Assert(slot < this.slotSe.Length && slot >= 0); + if (this.SeVolume > 0f) + { + this.slotSe[slot].Play("se", name, IsLoop, fVol * this.SeVolume, 0, 0); + } + } + + // Token: 0x06000B2A RID: 2858 RVA: 0x00030284 File Offset: 0x0002E484 + public void SlotSeStop(int slot, int timeOut = 1000) + { + Debug.Assert(slot < this.slotSe.Length && slot >= 0); + this.slotSe[slot].Stop(timeOut); + } + + // Token: 0x06000B2B RID: 2859 RVA: 0x000302B4 File Offset: 0x0002E4B4 + public void SlotSeStopAll(int timeOut = 1000) + { + for (int num = 0; num != this.slotSe.Length; num++) + { + this.SlotSeStop(num, timeOut); + } + } + + // Token: 0x06000B2C RID: 2860 RVA: 0x000302E4 File Offset: 0x0002E4E4 + public void SlotSePauseAll(bool isPause) + { + foreach (SoundStream soundStream in this.slotSe) + { + soundStream.Pause(isPause); + } + } + + // Token: 0x06000B2D RID: 2861 RVA: 0x00030318 File Offset: 0x0002E518 + public void SlotSeSetVolume(int slot, float fVol) + { + this.slotSe[slot].Current.Volume = fVol; + } + + // Token: 0x06000B2E RID: 2862 RVA: 0x00030330 File Offset: 0x0002E530 + public void SysPlayerSePlay(string name, float fVol = 1f) + { + this.player_se.FadeOutTime = 0; + if (this.player_se.IsPlay) + { + this.player_se.Stop(); + } + if (fVol > 0f) + { + this.player_se.SetSource("se", name); + this.player_se.FadeInTime = 0; + this.player_se.Loop = false; + this.player_se.Volume = fVol; + this.player_se.Play(); + } + } + + // Token: 0x06000B2F RID: 2863 RVA: 0x000303B0 File Offset: 0x0002E5B0 + public bool SysPlayerSeIsPlay() + { + return this.player_se.IsPlay; + } + + // Token: 0x06000B30 RID: 2864 RVA: 0x000303C0 File Offset: 0x0002E5C0 + public void SysSePlay(string name, float fVol = 1f) + { + if (this.SysSeVolume > 0f) + { + SoundData soundData; + if (!this.data.TryGetValue(name, out soundData)) + { + soundData = new SoundData("se", name); + } + this.se.Play(soundData, fVol * this.SysSeVolume); + } + } + + // Token: 0x06000B31 RID: 2865 RVA: 0x00030410 File Offset: 0x0002E610 + public void AddSeData(string name) + { + if (!this.data.ContainsKey(name)) + { + this.data.Add(name, new SoundData("se", name)); + } + } + + // Token: 0x06000B32 RID: 2866 RVA: 0x00030448 File Offset: 0x0002E648 + public void ClearSeData() + { + this.data.Clear(); + } + + // Token: 0x040008DD RID: 2269 + private SoundStream bgm; + + // Token: 0x040008DE RID: 2270 + private SoundStream voice; + + // Token: 0x040008DF RID: 2271 + private SoundVoice se; + + // Token: 0x040008E0 RID: 2272 + private SoundVoice player_se; + + // Token: 0x040008E1 RID: 2273 + private SoundStream[] slotSe = new SoundStream[2]; + + // Token: 0x040008E2 RID: 2274 + private Dictionary data = new Dictionary(); + + // Token: 0x040008E3 RID: 2275 + private float volBgm = 1f; + + // Token: 0x040008E4 RID: 2276 + private float volSe = 1f; + + // Token: 0x040008E5 RID: 2277 + private float volSysSe = 1f; +} diff --git a/Assets/Scripts/Assembly-CSharp/ManSprite.cs b/Assets/Scripts/Assembly-CSharp/ManSprite.cs new file mode 100644 index 000000000..bc4f5ec09 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ManSprite.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; + +// Token: 0x02000155 RID: 341 +public class ManSprite +{ + // Token: 0x1700012B RID: 299 + // (get) Token: 0x06000994 RID: 2452 RVA: 0x0002A540 File Offset: 0x00028740 + public List SpriteList + { + get + { + return this.m_Array; + } + } + + // Token: 0x06000995 RID: 2453 RVA: 0x0002A548 File Offset: 0x00028748 + public void SetZ(float near_, float far_) + { + this.m_fNear = near_; + this.m_fFar = far_; + } + + // Token: 0x06000996 RID: 2454 RVA: 0x0002A558 File Offset: 0x00028758 + public void SetScreenSize(int screenW_, int screenH_) + { + this.m_nScreenW = screenW_; + this.m_nScreenH = screenH_; + } + + // Token: 0x06000997 RID: 2455 RVA: 0x0002A568 File Offset: 0x00028768 + public void Enable() + { + foreach (UnitySprite unitySprite in this.m_Array) + { + if (unitySprite.Show) + { + unitySprite.obj.SetActive(true); + } + } + } + + // Token: 0x06000998 RID: 2456 RVA: 0x0002A5E0 File Offset: 0x000287E0 + public void Disable() + { + foreach (UnitySprite unitySprite in this.m_Array) + { + if (!unitySprite.Show) + { + unitySprite.obj.SetActive(false); + } + } + } + + // Token: 0x06000999 RID: 2457 RVA: 0x0002A658 File Offset: 0x00028858 + public void Update() + { + this.Sort(); + float num = this.m_fFar - this.m_fNear; + int num2 = 0; + float num3 = this.m_fNear + num * 0.5f; + foreach (UnitySprite unitySprite in this.m_Array) + { + unitySprite.Update(this.m_nScreenW, this.m_nScreenH, num3 + (float)num2); + num2++; + } + } + + // Token: 0x0600099A RID: 2458 RVA: 0x0002A6F8 File Offset: 0x000288F8 + public UnitySprite Add(UnitySprite sprite) + { + this.m_Array.Add(sprite); + return sprite; + } + + // Token: 0x0600099B RID: 2459 RVA: 0x0002A708 File Offset: 0x00028908 + public UnitySprite Get(uint id) + { + return this.m_Array.Find((UnitySprite item) => item.id == id); + } + + // Token: 0x0600099C RID: 2460 RVA: 0x0002A73C File Offset: 0x0002893C + public bool Remove(UnitySprite sprite) + { + if (this.m_Array.Remove(sprite)) + { + if (sprite is UnityTextSprite) + { + UnityTextSprite unityTextSprite = sprite as UnityTextSprite; + unityTextSprite.Clear(); + } + sprite.Reset(); + return true; + } + return false; + } + + // Token: 0x0600099D RID: 2461 RVA: 0x0002A77C File Offset: 0x0002897C + public void Sort() + { + this.m_Array.Sort((UnitySprite x, UnitySprite y) => (x.z <= y.z) ? ((x.z != y.z) ? 1 : 0) : -1); + } + + // Token: 0x0600099E RID: 2462 RVA: 0x0002A7B4 File Offset: 0x000289B4 + public void ResetFx(int mask) + { + if ((mask & 2) != 0) + { + foreach (UnitySprite unitySprite in this.m_Array) + { + if ((unitySprite.Effect & 2) != 0) + { + unitySprite.Effect &= -3; + unitySprite.Brend = SPRITE_DRAW_MODE.MUL; + } + } + } + if ((mask & 1) != 0) + { + foreach (UnitySprite unitySprite2 in this.m_Array) + { + if ((unitySprite2.Effect & 1) != 0) + { + unitySprite2.Effect &= -2; + unitySprite2.SetFxPos(0, 0); + } + } + } + } + + // Token: 0x040007DB RID: 2011 + private List m_Array = new List(); + + // Token: 0x040007DC RID: 2012 + private float m_fNear; + + // Token: 0x040007DD RID: 2013 + private float m_fFar; + + // Token: 0x040007DE RID: 2014 + private int m_nScreenW; + + // Token: 0x040007DF RID: 2015 + private int m_nScreenH; +} diff --git a/Assets/Scripts/Assembly-CSharp/ManTexture.cs b/Assets/Scripts/Assembly-CSharp/ManTexture.cs new file mode 100644 index 000000000..3ef013276 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ManTexture.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Qoo.File; +using Qoo.Table; +using UnityEngine; + +// Token: 0x02000156 RID: 342 +public class ManTexture : MonoBehaviour +{ + // Token: 0x060009A1 RID: 2465 RVA: 0x0002A914 File Offset: 0x00028B14 + public UnityTexture Add(string name) + { + name = ManTexture.NormalizeName(name); + if (this.array.ContainsKey(name)) + { + this.array[name].IncCount(); + return this.array[name]; + } + Texture2D texture_ = new Texture2D(0, 0, TextureFormat.ARGB32, false, false); + UnityFile file = Singleton.Instance.LoadImageFile(name); + SizeF size = DirScaleTable.GetSize(Nmb.GetFileInfo(name).DirName); + this.array.Add(name, new UnityTexture(name, texture_, file, size)); + return this.array[name]; + } + + // Token: 0x060009A2 RID: 2466 RVA: 0x0002A9A4 File Offset: 0x00028BA4 + public UnityTexture Add(string name, byte[] data) + { + name = ManTexture.NormalizeName(name); + if (this.array.ContainsKey(name)) + { + this.array[name].IncCount(); + return this.array[name]; + } + Texture2D texture_ = new Texture2D(0, 0, TextureFormat.ARGB32, false, false); + this.array.Add(name, new UnityTexture(name, texture_, data, null)); + return this.array[name]; + } + + // Token: 0x060009A3 RID: 2467 RVA: 0x0002AA14 File Offset: 0x00028C14 + public UnityTexture Add(string name, Texture2D tex) + { + name = ManTexture.NormalizeName(name); + if (this.array.ContainsKey(name)) + { + this.array[name].IncCount(); + return this.array[name]; + } + this.array.Add(name, new UnityTexture(name, tex, null)); + return this.array[name]; + } + + // Token: 0x060009A4 RID: 2468 RVA: 0x0002AA78 File Offset: 0x00028C78 + public bool Remove(UnityTexture tex, bool IsForce) + { + string name = tex.m_Name; + if (this.array.ContainsKey(tex.m_Name)) + { + if (IsForce) + { + this.m_RemoveList.Add(tex); + this.array.Remove(name); + return true; + } + this.array[name].DecCount(); + if (this.array[name].IsRelease()) + { + this.m_RemoveList.Add(tex); + this.array.Remove(name); + return true; + } + } + return false; + } + + // Token: 0x060009A5 RID: 2469 RVA: 0x0002AB0C File Offset: 0x00028D0C + public bool Remove(string name, bool IsForce) + { + name = ManTexture.NormalizeName(name); + if (this.array.ContainsKey(name)) + { + if (IsForce) + { + this.m_RemoveList.Add(this.array[name]); + this.array.Remove(name); + return true; + } + this.array[name].DecCount(); + if (this.array[name].IsRelease()) + { + this.m_RemoveList.Add(this.array[name]); + this.array.Remove(name); + return true; + } + } + return false; + } + + // Token: 0x060009A6 RID: 2470 RVA: 0x0002ABB4 File Offset: 0x00028DB4 + private void Awake() + { + base.StartCoroutine("EndFrame"); + } + + // Token: 0x060009A7 RID: 2471 RVA: 0x0002ABC4 File Offset: 0x00028DC4 + private void Update() + { + foreach (UnityTexture unityTexture in this.array.Values) + { + unityTexture.Update(); + } + } + + // Token: 0x060009A8 RID: 2472 RVA: 0x0002AC30 File Offset: 0x00028E30 + private IEnumerator EndFrame() + { + for (;;) + { + yield return new WaitForEndOfFrame(); + if (this.m_RemoveList == null) + { + break; + } + bool bDelete = this.m_RemoveList.Count > 0; + foreach (UnityTexture item in this.m_RemoveList) + { + UnityEngine.Object.Destroy(item.m_Texture); + item.m_Texture = null; + } + this.m_RemoveList.Clear(); + if (bDelete) + { + yield return Resources.UnloadUnusedAssets(); + GC.Collect(); + } + } + yield break; + } + + // Token: 0x060009A9 RID: 2473 RVA: 0x0002AC4C File Offset: 0x00028E4C + public bool IsFind(string name) + { + name = ManTexture.NormalizeName(name); + return this.array.ContainsKey(name); + } + + // Token: 0x060009AA RID: 2474 RVA: 0x0002AC64 File Offset: 0x00028E64 + internal bool IsUse(string name) + { + name = ManTexture.NormalizeName(name); + return this.array.ContainsKey(name) && this.array[name].IsInit; + } + + // Token: 0x060009AB RID: 2475 RVA: 0x0002ACA0 File Offset: 0x00028EA0 + public static string NormalizeName(string name) + { + name = name.ToLower(); + int num = name.IndexOf('.'); + if (num != -1) + { + name = name.Substring(0, num); + } + return name; + } + + // Token: 0x060009AC RID: 2476 RVA: 0x0002ACD0 File Offset: 0x00028ED0 + internal void Ready(string name, bool IsDec = true) + { + UnityTexture unityTexture = this.Add(name); + if (IsDec) + { + unityTexture.DecCount(); + } + else + { + unityTexture.IncCount(); + } + } + + // Token: 0x040007E1 RID: 2017 + private Dictionary array = new Dictionary(); + + // Token: 0x040007E2 RID: 2018 + private List m_RemoveList = new List(); +} diff --git a/Assets/Scripts/Assembly-CSharp/MemoryCharaSelectWindow.cs b/Assets/Scripts/Assembly-CSharp/MemoryCharaSelectWindow.cs new file mode 100644 index 000000000..f40d2b637 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MemoryCharaSelectWindow.cs @@ -0,0 +1,35 @@ +using System; + +// Token: 0x0200011B RID: 283 +public class MemoryCharaSelectWindow : GalleryCharaSelectWindow +{ + // Token: 0x06000783 RID: 1923 RVA: 0x000204C0 File Offset: 0x0001E6C0 + protected sealed override int GetCollect() + { + return CSVManager.Instance.CsvSceneMemoryHolder.AllCharaCollect; + } + + // Token: 0x06000784 RID: 1924 RVA: 0x000204D4 File Offset: 0x0001E6D4 + protected sealed override void OnName() + { + SceneManager.ChangeScene(UIValue.SCENE_GALLERYINPUTNAME); + } + + // Token: 0x06000785 RID: 1925 RVA: 0x000204E0 File Offset: 0x0001E6E0 + protected sealed override bool IsNameButton() + { + return true; + } + + // Token: 0x06000786 RID: 1926 RVA: 0x000204E4 File Offset: 0x0001E6E4 + protected sealed override string GetHeaderPath() + { + return "screen/cgmemory/cgm_head_mem"; + } + + // Token: 0x06000787 RID: 1927 RVA: 0x000204EC File Offset: 0x0001E6EC + protected sealed override string GetCharaButtonSceneName() + { + return UIValue.SCENE_MEMORYSELECT; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/MemorySelectWindow.cs b/Assets/Scripts/Assembly-CSharp/MemorySelectWindow.cs new file mode 100644 index 000000000..1e289578a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MemorySelectWindow.cs @@ -0,0 +1,66 @@ +using System; + +// Token: 0x0200011C RID: 284 +public class MemorySelectWindow : GallerySelectWindow +{ + // Token: 0x06000789 RID: 1929 RVA: 0x000204FC File Offset: 0x0001E6FC + protected sealed override void BeforeInitGallerySelect() + { + this.charaData = CSVManager.Instance.CsvSceneMemoryHolder.GetCharaIndex(base.Chara); + } + + // Token: 0x0600078A RID: 1930 RVA: 0x00020524 File Offset: 0x0001E724 + protected sealed override int GetCollect() + { + return this.charaData.Collect; + } + + // Token: 0x0600078B RID: 1931 RVA: 0x00020534 File Offset: 0x0001E734 + protected override string GetThumbnailName(int index) + { + return this.charaData.Thumbnail(index); + } + + // Token: 0x0600078C RID: 1932 RVA: 0x00020544 File Offset: 0x0001E744 + protected override int GetThumbnailLength() + { + return this.charaData.Length; + } + + // Token: 0x0600078D RID: 1933 RVA: 0x00020554 File Offset: 0x0001E754 + protected sealed override string GetOnArrowSceneName() + { + return UIValue.SCENE_MEMORYSELECT; + } + + // Token: 0x0600078E RID: 1934 RVA: 0x0002055C File Offset: 0x0001E75C + protected sealed override bool IsFont() + { + return false; + } + + // Token: 0x0600078F RID: 1935 RVA: 0x00020560 File Offset: 0x0001E760 + protected sealed override string GetFontText(int index) + { + return string.Empty; + } + + // Token: 0x06000790 RID: 1936 RVA: 0x00020568 File Offset: 0x0001E768 + protected sealed override void OnSelect(int index) + { + if (this.charaData.Read(index)) + { + this.charaData.OnSelect(index); + SceneManager.ChangeScene(UIValue.SCENE_ADVMODE); + } + } + + // Token: 0x06000791 RID: 1937 RVA: 0x00020594 File Offset: 0x0001E794 + protected sealed override bool IsSelectable(int index) + { + return this.charaData.Read(index); + } + + // Token: 0x040006C7 RID: 1735 + private CSVSceneMemoryHolder.CharaData charaData; +} diff --git a/Assets/Scripts/Assembly-CSharp/Meter.cs b/Assets/Scripts/Assembly-CSharp/Meter.cs new file mode 100644 index 000000000..64dfd6b48 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Meter.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000E9 RID: 233 +public class Meter : MonoBehaviour +{ + // Token: 0x0600064E RID: 1614 RVA: 0x0001A430 File Offset: 0x00018630 + public void Init() + { + GameObject gameObject = GameObject.Find(base.name + "_collider"); + if (gameObject == null) + { + gameObject = new GameObject(base.name + "_collider"); + } + MeterCollider meterCollider = gameObject.GetComponent(); + if (meterCollider == null) + { + meterCollider = gameObject.AddComponent(); + } + gameObject.transform.parent = base.transform.parent; + meterCollider.Init(base.gameObject); + this.m_ImageObject = base.gameObject.GetComponent(); + base.StartCoroutine(this.WaitLoadTextureCoroutine()); + } + + // Token: 0x0600064F RID: 1615 RVA: 0x0001A4D0 File Offset: 0x000186D0 + protected virtual IEnumerator WaitLoadTextureCoroutine() + { + while (base.gameObject.renderer.material.mainTexture == null) + { + yield return 0; + } + yield break; + } + + // Token: 0x06000650 RID: 1616 RVA: 0x0001A4EC File Offset: 0x000186EC + public virtual void OnEdit(float value) + { + } + + // Token: 0x06000651 RID: 1617 RVA: 0x0001A4F0 File Offset: 0x000186F0 + public virtual void UpdateMeter(float rate) + { + Vector3 originalScale = this.m_ImageObject.OriginalScale; + Vector3 originalPosition = this.m_ImageObject.OriginalPosition; + if (rate < 0f) + { + rate = 0f; + } + if (rate > 1f) + { + rate = 1f; + } + originalScale.x = this.m_ImageObject.OriginalScale.x * rate; + originalPosition.x = this.m_ImageObject.OriginalPosition.x - (this.m_ImageObject.OriginalScale.x - originalScale.x) / 2f; + this.m_ImageObject.OnViewScale = originalScale; + this.m_ImageObject.OnViewPosition = originalPosition; + this.OnEdit(rate); + } + + // Token: 0x06000652 RID: 1618 RVA: 0x0001A5A8 File Offset: 0x000187A8 + public virtual float ValueStep(float value) + { + return value; + } + + // Token: 0x06000653 RID: 1619 RVA: 0x0001A5AC File Offset: 0x000187AC + public virtual void OnEditEnd() + { + } + + // Token: 0x040005C6 RID: 1478 + private ImageObject m_ImageObject; + + // Token: 0x040005C7 RID: 1479 + protected int m_Value; +} diff --git a/Assets/Scripts/Assembly-CSharp/MeterCollider.cs b/Assets/Scripts/Assembly-CSharp/MeterCollider.cs new file mode 100644 index 000000000..150a61d28 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MeterCollider.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000EA RID: 234 +public class MeterCollider : MonoBehaviour +{ + // Token: 0x06000655 RID: 1621 RVA: 0x0001A5B8 File Offset: 0x000187B8 + public void Init(GameObject meterObject) + { + this.m_MeterObject = meterObject; + this.m_MeterScript = this.m_MeterObject.GetComponent(); + base.StartCoroutine(this.WaitLoadTextureCoroutine()); + } + + // Token: 0x06000656 RID: 1622 RVA: 0x0001A5E0 File Offset: 0x000187E0 + private IEnumerator WaitLoadTextureCoroutine() + { + while (this.m_MeterObject.renderer.material.mainTexture == null) + { + yield return 0; + } + base.gameObject.transform.parent = this.m_MeterObject.transform.parent; + base.gameObject.transform.localPosition = this.m_MeterObject.GetComponent().OriginalPosition; + this.m_Collider = base.gameObject.GetComponent(); + if (this.m_Collider == null) + { + this.m_Collider = base.gameObject.AddComponent(); + } + this.m_Collider.size = new Vector3((float)this.m_MeterObject.renderer.material.mainTexture.width, (float)this.m_MeterObject.renderer.material.mainTexture.height, 1f); + this.m_Collider.center = new Vector3(0f, 0f, -3f); + this.m_ImageObject = this.m_MeterObject.GetComponent(); + yield break; + } + + // Token: 0x06000657 RID: 1623 RVA: 0x0001A5FC File Offset: 0x000187FC + private void Update() + { + if (this.m_Collider != null) + { + this.m_Collider.size = new Vector3(this.m_Collider.size.x, this.m_MeterObject.transform.localScale.y, 1f); + } + } + + // Token: 0x06000658 RID: 1624 RVA: 0x0001A65C File Offset: 0x0001885C + private void OnMouseDown() + { + this.m_LastX = Input.mousePosition.x; + } + + // Token: 0x06000659 RID: 1625 RVA: 0x0001A67C File Offset: 0x0001887C + private void OnMouseDrag() + { + float num = this.m_LastX - Input.mousePosition.x; + this.m_LastX = Input.mousePosition.x; + Camera camera = SubPartCamera.GetCamera(); + Vector3 position = camera.WorldToScreenPoint(this.m_ImageObject.OnViewScale); + position.x -= num; + position = camera.ScreenToWorldPoint(position); + this.m_MeterScript.UpdateMeter(position.x / this.m_ImageObject.OriginalScale.x); + } + + // Token: 0x0600065A RID: 1626 RVA: 0x0001A704 File Offset: 0x00018904 + private void OnMouseUp() + { + this.m_MeterScript.OnEditEnd(); + } + + // Token: 0x040005C8 RID: 1480 + private BoxCollider m_Collider; + + // Token: 0x040005C9 RID: 1481 + private GameObject m_MeterObject; + + // Token: 0x040005CA RID: 1482 + private ImageObject m_ImageObject; + + // Token: 0x040005CB RID: 1483 + private Meter m_MeterScript; + + // Token: 0x040005CC RID: 1484 + private float m_LastX; +} diff --git a/Assets/Scripts/Assembly-CSharp/MobileMovieTexture.cs b/Assets/Scripts/Assembly-CSharp/MobileMovieTexture.cs new file mode 100644 index 000000000..4a5b59c5a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MobileMovieTexture.cs @@ -0,0 +1,445 @@ +using System; +using System.Runtime.InteropServices; +using UnityEngine; + +// Token: 0x0200013A RID: 314 +public class MobileMovieTexture : MonoBehaviour +{ + // Token: 0x14000001 RID: 1 + // (add) Token: 0x0600085C RID: 2140 RVA: 0x000259D0 File Offset: 0x00023BD0 + // (remove) Token: 0x0600085D RID: 2141 RVA: 0x000259EC File Offset: 0x00023BEC + public event MobileMovieTexture.OnFinished onFinished; + + // Token: 0x170000EC RID: 236 + // (get) Token: 0x0600085E RID: 2142 RVA: 0x00025A08 File Offset: 0x00023C08 + public string Path + { + get + { + return this.m_path; + } + } + + // Token: 0x170000ED RID: 237 + // (set) Token: 0x0600085F RID: 2143 RVA: 0x00025A10 File Offset: 0x00023C10 + public bool playAutomatically + { + set + { + this.m_playAutomatically = value; + } + } + + // Token: 0x170000EE RID: 238 + // (get) Token: 0x06000860 RID: 2144 RVA: 0x00025A1C File Offset: 0x00023C1C + public Material MovieMaterial + { + get + { + return this.m_movieMaterial; + } + } + + // Token: 0x170000EF RID: 239 + // (get) Token: 0x06000861 RID: 2145 RVA: 0x00025A24 File Offset: 0x00023C24 + public int width + { + get + { + return this.m_picWidth; + } + } + + // Token: 0x170000F0 RID: 240 + // (get) Token: 0x06000862 RID: 2146 RVA: 0x00025A2C File Offset: 0x00023C2C + public int height + { + get + { + return this.m_picHeight; + } + } + + // Token: 0x170000F1 RID: 241 + // (get) Token: 0x06000863 RID: 2147 RVA: 0x00025A34 File Offset: 0x00023C34 + public float aspectRatio + { + get + { + if (this.m_nativeContext != IntPtr.Zero) + { + return MobileMovieTexture.GetAspectRatio(this.m_nativeContext); + } + return 1f; + } + } + + // Token: 0x170000F2 RID: 242 + // (get) Token: 0x06000864 RID: 2148 RVA: 0x00025A68 File Offset: 0x00023C68 + public bool isPlaying + { + get + { + return this.m_nativeContext != IntPtr.Zero && !this.m_hasFinished && this.m_advance; + } + } + + // Token: 0x170000F3 RID: 243 + // (get) Token: 0x06000865 RID: 2149 RVA: 0x00025A94 File Offset: 0x00023C94 + // (set) Token: 0x06000866 RID: 2150 RVA: 0x00025AA0 File Offset: 0x00023CA0 + public bool pause + { + get + { + return !this.m_advance; + } + set + { + this.m_advance = !value; + } + } + + // Token: 0x06000867 RID: 2151 + [DllImport("__Internal")] + private static extern IntPtr OpenStream(string path, int offset, int size, bool loop, bool pot); + + // Token: 0x06000868 RID: 2152 + [DllImport("__Internal")] + private static extern int GetPicWidth(IntPtr context); + + // Token: 0x06000869 RID: 2153 + [DllImport("__Internal")] + private static extern int GetPicHeight(IntPtr context); + + // Token: 0x0600086A RID: 2154 + [DllImport("__Internal")] + private static extern int GetPicX(IntPtr context); + + // Token: 0x0600086B RID: 2155 + [DllImport("__Internal")] + private static extern int GetPicY(IntPtr context); + + // Token: 0x0600086C RID: 2156 + [DllImport("__Internal")] + private static extern bool DecodeFrame(IntPtr context); + + // Token: 0x0600086D RID: 2157 + [DllImport("__Internal")] + private static extern int GetYStride(IntPtr context); + + // Token: 0x0600086E RID: 2158 + [DllImport("__Internal")] + private static extern int GetYHeight(IntPtr context); + + // Token: 0x0600086F RID: 2159 + [DllImport("__Internal")] + private static extern int GetUVStride(IntPtr context); + + // Token: 0x06000870 RID: 2160 + [DllImport("__Internal")] + private static extern int GetUVHeight(IntPtr context); + + // Token: 0x06000871 RID: 2161 + [DllImport("__Internal")] + private static extern bool DecodeAndUpload(IntPtr context, int yHandle, int uHandle, int vHandle); + + // Token: 0x06000872 RID: 2162 + [DllImport("__Internal")] + private static extern void GetPlane(IntPtr context, int planeIndex, IntPtr buffer); + + // Token: 0x06000873 RID: 2163 + [DllImport("__Internal")] + private static extern double GetNextFrameTime(IntPtr context); + + // Token: 0x06000874 RID: 2164 + [DllImport("__Internal")] + private static extern void CloseStream(IntPtr context); + + // Token: 0x06000875 RID: 2165 + [DllImport("__Internal")] + private static extern float GetAspectRatio(IntPtr context); + + // Token: 0x06000876 RID: 2166 RVA: 0x00025AAC File Offset: 0x00023CAC + private void Start() + { + if (this.m_playAutomatically) + { + this.Play(); + } + } + + // Token: 0x06000877 RID: 2167 RVA: 0x00025AC0 File Offset: 0x00023CC0 + public void Play() + { + this.Close(); + this.m_elapsedTime = 0.0; + this.m_nextFrameTime = 0.0; + this.Open(); + this.m_advance = true; + this.m_hasFinished = false; + } + + // Token: 0x06000878 RID: 2168 RVA: 0x00025B08 File Offset: 0x00023D08 + public void Stop() + { + this.Close(); + } + + // Token: 0x06000879 RID: 2169 RVA: 0x00025B10 File Offset: 0x00023D10 + private void Open() + { + bool flag = Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer; + bool pot = !flag; + RuntimePlatform platform = Application.platform; + string path; + long num; + long num2; + if (platform != RuntimePlatform.Android) + { + path = Application.streamingAssetsPath + "/" + this.m_path; + num = 0L; + num2 = 0L; + } + else + { + path = Application.dataPath; + if (!AssetStream.GetZipFileOffsetLength(Application.dataPath, this.m_path, out num, out num2)) + { + throw new Exception("problem opening movie"); + } + } + this.m_nativeContext = MobileMovieTexture.OpenStream(path, (int)num, (int)num2, this.m_loop, pot); + if (this.m_nativeContext != IntPtr.Zero) + { + this.m_picWidth = MobileMovieTexture.GetPicWidth(this.m_nativeContext); + this.m_picHeight = MobileMovieTexture.GetPicHeight(this.m_nativeContext); + this.m_picX = MobileMovieTexture.GetPicX(this.m_nativeContext); + this.m_picY = MobileMovieTexture.GetPicY(this.m_nativeContext); + int ystride = MobileMovieTexture.GetYStride(this.m_nativeContext); + int yheight = MobileMovieTexture.GetYHeight(this.m_nativeContext); + int uvstride = MobileMovieTexture.GetUVStride(this.m_nativeContext); + int uvheight = MobileMovieTexture.GetUVHeight(this.m_nativeContext); + if (ystride != this.m_yStride || yheight != this.m_yHeight || uvstride != this.m_uvStride || uvheight != this.m_uvHeight) + { + this.m_yStride = ystride; + this.m_yHeight = yheight; + this.m_uvStride = uvstride; + this.m_uvHeight = uvheight; + this.DestroyTextures(); + this.AllocateTexures(); + } + this.Decode(true); + this.m_nextFrameTime = MobileMovieTexture.GetNextFrameTime(this.m_nativeContext); + return; + } + throw new Exception("problem opening movie"); + } + + // Token: 0x0600087A RID: 2170 RVA: 0x00025CD0 File Offset: 0x00023ED0 + private void AllocateTexures() + { + this.m_ChannelTextures = new ChannelTexture[3]; + TextureFormat format = TextureFormat.Alpha8; + this.m_ChannelTextures[0] = new ChannelTexture(this.m_yStride, this.m_yHeight, format); + this.m_ChannelTextures[1] = new ChannelTexture(this.m_uvStride, this.m_uvHeight, format); + this.m_ChannelTextures[2] = new ChannelTexture(this.m_uvStride, this.m_uvHeight, format); + Vector2 scale = new Vector2((float)this.m_picWidth / (float)this.m_yStride, -((float)this.m_picHeight / (float)this.m_yHeight)); + Vector2 vector = new Vector2((float)this.m_picX / (float)this.m_yStride, ((float)this.m_picHeight + (float)this.m_picY) / (float)this.m_yHeight); + Vector2 scale2 = default(Vector2); + Vector2 offset = default(Vector2); + if (this.m_uvStride == this.m_yStride) + { + scale2.x = scale.x; + } + else + { + scale2.x = (float)this.m_picWidth / 2f / (float)this.m_uvStride; + } + if (this.m_uvHeight == this.m_yHeight) + { + scale2.y = scale.y; + offset = vector; + } + else + { + scale2.y = -((float)this.m_picHeight / 2f / (float)this.m_uvHeight); + offset = new Vector2((float)this.m_picX / 2f / (float)this.m_uvStride, ((float)this.m_picHeight + (float)this.m_picY) / 2f / (float)this.m_uvHeight); + } + this.m_movieMaterial.SetTexture("_YTex", this.m_ChannelTextures[0].tex); + this.m_movieMaterial.SetTexture("_CrTex", this.m_ChannelTextures[1].tex); + this.m_movieMaterial.SetTexture("_CbTex", this.m_ChannelTextures[2].tex); + this.m_movieMaterial.SetTextureScale("_YTex", scale); + this.m_movieMaterial.SetTextureOffset("_YTex", vector); + this.m_movieMaterial.SetTextureScale("_CbTex", scale2); + this.m_movieMaterial.SetTextureOffset("_CbTex", offset); + } + + // Token: 0x0600087B RID: 2171 RVA: 0x00025EF8 File Offset: 0x000240F8 + private void DestroyTextures() + { + this.m_reallocTextures = false; + if (this.m_ChannelTextures != null) + { + for (int i = 0; i < 3; i++) + { + if (this.m_ChannelTextures[i] != null) + { + this.m_ChannelTextures[i].Destroy(); + } + } + } + this.m_ChannelTextures = null; + } + + // Token: 0x0600087C RID: 2172 RVA: 0x00025F4C File Offset: 0x0002414C + private void Close() + { + if (this.m_nativeContext != IntPtr.Zero) + { + MobileMovieTexture.CloseStream(this.m_nativeContext); + this.m_nativeContext = IntPtr.Zero; + } + } + + // Token: 0x0600087D RID: 2173 RVA: 0x00025F7C File Offset: 0x0002417C + private void OnDestroy() + { + this.Close(); + this.DestroyTextures(); + } + + // Token: 0x0600087E RID: 2174 RVA: 0x00025F8C File Offset: 0x0002418C + private void OnApplicationPause(bool pause) + { + if (!pause) + { + this.m_reallocTextures = true; + } + } + + // Token: 0x0600087F RID: 2175 RVA: 0x00025F9C File Offset: 0x0002419C + private void Update() + { + if (this.m_reallocTextures && this.m_ChannelTextures != null) + { + for (int i = 0; i < 3; i++) + { + this.m_ChannelTextures[i].ReAlloc(); + } + this.m_reallocTextures = false; + } + if (this.m_nativeContext != IntPtr.Zero && !this.m_hasFinished && this.m_advance) + { + this.m_elapsedTime += (double)Time.deltaTime; + while (this.m_elapsedTime > this.m_nextFrameTime) + { + bool upload = false; + if (this.m_nextFrameTime + this.m_lastFrameDelta >= this.m_elapsedTime) + { + upload = true; + } + this.Decode(upload); + double nextFrameTime = MobileMovieTexture.GetNextFrameTime(this.m_nativeContext); + if (nextFrameTime == this.m_nextFrameTime) + { + this.m_hasFinished = true; + if (this.onFinished != null) + { + this.onFinished(this); + } + break; + } + this.m_lastFrameDelta = nextFrameTime - this.m_nextFrameTime; + this.m_nextFrameTime = nextFrameTime; + } + } + } + + // Token: 0x06000880 RID: 2176 RVA: 0x000260AC File Offset: 0x000242AC + private void Decode(bool upload) + { + if (upload) + { + MobileMovieTexture.DecodeAndUpload(this.m_nativeContext, this.m_ChannelTextures[0].tex.GetNativeTextureID(), this.m_ChannelTextures[1].tex.GetNativeTextureID(), this.m_ChannelTextures[2].tex.GetNativeTextureID()); + GL.InvalidateState(); + } + else + { + MobileMovieTexture.DecodeAndUpload(this.m_nativeContext, -1, -1, -1); + } + } + + // Token: 0x04000750 RID: 1872 + private const int CHANNELS = 3; + + // Token: 0x04000751 RID: 1873 + private const string PLATFORM_DLL = "__Internal"; + + // Token: 0x04000752 RID: 1874 + [SerializeField] + public string m_path; + + // Token: 0x04000753 RID: 1875 + [SerializeField] + public Material m_movieMaterial; + + // Token: 0x04000754 RID: 1876 + [SerializeField] + private bool m_playAutomatically = true; + + // Token: 0x04000755 RID: 1877 + [SerializeField] + public bool m_loop; + + // Token: 0x04000756 RID: 1878 + private IntPtr m_nativeContext = IntPtr.Zero; + + // Token: 0x04000757 RID: 1879 + private int m_picWidth; + + // Token: 0x04000758 RID: 1880 + private int m_picHeight; + + // Token: 0x04000759 RID: 1881 + private int m_picX; + + // Token: 0x0400075A RID: 1882 + private int m_picY; + + // Token: 0x0400075B RID: 1883 + private int m_yStride; + + // Token: 0x0400075C RID: 1884 + private int m_yHeight; + + // Token: 0x0400075D RID: 1885 + private int m_uvStride; + + // Token: 0x0400075E RID: 1886 + private int m_uvHeight; + + // Token: 0x0400075F RID: 1887 + private ChannelTexture[] m_ChannelTextures; + + // Token: 0x04000760 RID: 1888 + private bool m_advance = true; + + // Token: 0x04000761 RID: 1889 + private double m_elapsedTime; + + // Token: 0x04000762 RID: 1890 + private double m_nextFrameTime; + + // Token: 0x04000763 RID: 1891 + private double m_lastFrameDelta = double.MaxValue; + + // Token: 0x04000764 RID: 1892 + private bool m_reallocTextures; + + // Token: 0x04000765 RID: 1893 + private bool m_hasFinished = true; + + // Token: 0x020001AF RID: 431 + // (Invoke) Token: 0x06000C68 RID: 3176 + public delegate void OnFinished(MobileMovieTexture sender); +} diff --git a/Assets/Scripts/Assembly-CSharp/MonoBehaviourWrap.cs b/Assets/Scripts/Assembly-CSharp/MonoBehaviourWrap.cs new file mode 100644 index 000000000..e1c3faf6b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MonoBehaviourWrap.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; + +// Token: 0x020001AA RID: 426 +public abstract class MonoBehaviourWrap : MonoBehaviour +{ + // Token: 0x06000C54 RID: 3156 + public abstract void Update(); + + // Token: 0x06000C55 RID: 3157 + public abstract void Awake(); + + // Token: 0x06000C56 RID: 3158 + public abstract void Start(); + + // Token: 0x06000C57 RID: 3159 + public abstract void OnDestroy(); + + // Token: 0x06000C58 RID: 3160 + public abstract void OnButton(string obj); +} diff --git a/Assets/Scripts/Assembly-CSharp/MoveType.cs b/Assets/Scripts/Assembly-CSharp/MoveType.cs new file mode 100644 index 000000000..92b5b514a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MoveType.cs @@ -0,0 +1,14 @@ +using System; + +// Token: 0x02000193 RID: 403 +public enum MoveType +{ + // Token: 0x0400090E RID: 2318 + OneshotLiner, + // Token: 0x0400090F RID: 2319 + LoopSin000to180, + // Token: 0x04000910 RID: 2320 + OneshotCos180to360, + // Token: 0x04000911 RID: 2321 + OneshotSin000to090 +} diff --git a/Assets/Scripts/Assembly-CSharp/MovieDef.cs b/Assets/Scripts/Assembly-CSharp/MovieDef.cs new file mode 100644 index 000000000..bc26db533 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MovieDef.cs @@ -0,0 +1,11 @@ +using System; + +// Token: 0x020000D5 RID: 213 +public class MovieDef +{ + // Token: 0x04000550 RID: 1360 + public const string MOVIE_EXT = ".mp4"; + + // Token: 0x04000551 RID: 1361 + public const string EFFECT_MOVIE_EXT = ".ogv"; +} diff --git a/Assets/Scripts/Assembly-CSharp/MovieManager.cs b/Assets/Scripts/Assembly-CSharp/MovieManager.cs new file mode 100644 index 000000000..9327654d2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MovieManager.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x0200017E RID: 382 +public class MovieManager +{ + // Token: 0x06000ACD RID: 2765 RVA: 0x0002F630 File Offset: 0x0002D830 + public static IEnumerator PlayMovie(string path, FullScreenMovieControlMode mode) + { + Handheld.PlayFullScreenMovie(path, Color.black, mode); + yield return 0; + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/MovieTex.cs b/Assets/Scripts/Assembly-CSharp/MovieTex.cs new file mode 100644 index 000000000..aa292d472 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MovieTex.cs @@ -0,0 +1,73 @@ +using System; +using Qoo; +using UnityEngine; + +// Token: 0x02000180 RID: 384 +public class MovieTex : MonoBehaviour +{ + // Token: 0x17000172 RID: 370 + // (get) Token: 0x06000ACF RID: 2767 RVA: 0x0002F668 File Offset: 0x0002D868 + public bool IsPlay + { + get + { + return this.m_tex.isPlaying; + } + } + + // Token: 0x06000AD0 RID: 2768 RVA: 0x0002F678 File Offset: 0x0002D878 + private void Awake() + { + } + + // Token: 0x06000AD1 RID: 2769 RVA: 0x0002F67C File Offset: 0x0002D87C + private void OnDestroy() + { + UnityEngine.Object.Destroy(this.m_tex); + this.m_tex = null; + } + + // Token: 0x06000AD2 RID: 2770 RVA: 0x0002F690 File Offset: 0x0002D890 + public Material Play(string path, MOVIE_TEX_TYPE eType, bool isLoop = false) + { + if (path.IndexOf('/') == 0) + { + path = path.Substring(1); + } + this.m_tex = base.gameObject.AddComponent(); + this.m_tex.m_path = path; + this.m_tex.m_loop = isLoop; + if (eType != MOVIE_TEX_TYPE.NORMAL) + { + if (eType != MOVIE_TEX_TYPE.ADD) + { + Qoo.Debug.Print("Error:MOVIE_TEX_TYPE:Unknown"); + UnityEngine.Debug.DebugBreak(); + } + else + { + this.m_tex.m_movieMaterial = new Material(Resources.Load("Shader/Movie/YCrCbtoRGB Add") as Shader); + } + } + else + { + this.m_tex.m_movieMaterial = new Material(Resources.Load("Shader/Movie/YCrCbtoRGB") as Shader); + } + this.m_tex.Play(); + return this.m_tex.MovieMaterial; + } + + // Token: 0x06000AD3 RID: 2771 RVA: 0x0002F764 File Offset: 0x0002D964 + private void Update() + { + } + + // Token: 0x06000AD4 RID: 2772 RVA: 0x0002F768 File Offset: 0x0002D968 + public void Stop() + { + this.m_tex.Stop(); + } + + // Token: 0x040008C0 RID: 2240 + private MobileMovieTexture m_tex; +} diff --git a/Assets/Scripts/Assembly-CSharp/MsgWnd.cs b/Assets/Scripts/Assembly-CSharp/MsgWnd.cs new file mode 100644 index 000000000..500049152 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/MsgWnd.cs @@ -0,0 +1,617 @@ +using System; +using Qoo; +using Qoo.Def; +using Qoo.Game; +using Qoo.Input; +using Qoo.Message; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020000B8 RID: 184 +public class MsgWnd : Singleton +{ + // Token: 0x170000BE RID: 190 + // (get) Token: 0x0600055B RID: 1371 RVA: 0x00015200 File Offset: 0x00013400 + // (set) Token: 0x0600055C RID: 1372 RVA: 0x00015208 File Offset: 0x00013408 + public bool IsAutoSkip + { + get + { + return this.m_isAutoSkip; + } + set + { + this.m_isAutoSkip = value; + } + } + + // Token: 0x170000BF RID: 191 + // (get) Token: 0x0600055D RID: 1373 RVA: 0x00015214 File Offset: 0x00013414 + // (set) Token: 0x0600055E RID: 1374 RVA: 0x0001521C File Offset: 0x0001341C + public bool IsSilentMode + { + get + { + return this.m_isSilentMode; + } + set + { + this.m_isSilentMode = value; + if (this.m_isSilentMode) + { + this.m_MsgText.Show(false); + this.Show(false); + } + } + } + + // Token: 0x170000C0 RID: 192 + // (get) Token: 0x0600055F RID: 1375 RVA: 0x00015244 File Offset: 0x00013444 + // (set) Token: 0x06000560 RID: 1376 RVA: 0x0001524C File Offset: 0x0001344C + public int KsNo { get; private set; } + + // Token: 0x170000C1 RID: 193 + // (get) Token: 0x06000561 RID: 1377 RVA: 0x00015258 File Offset: 0x00013458 + // (set) Token: 0x06000562 RID: 1378 RVA: 0x00015260 File Offset: 0x00013460 + public int LabelNo { get; private set; } + + // Token: 0x170000C2 RID: 194 + // (get) Token: 0x06000563 RID: 1379 RVA: 0x0001526C File Offset: 0x0001346C + // (set) Token: 0x06000564 RID: 1380 RVA: 0x00015274 File Offset: 0x00013474 + public int MesNo { get; private set; } + + // Token: 0x170000C3 RID: 195 + // (get) Token: 0x06000565 RID: 1381 RVA: 0x00015280 File Offset: 0x00013480 + public string Message + { + get + { + return this.m_MsgText.GetMessage(); + } + } + + // Token: 0x170000C4 RID: 196 + // (get) Token: 0x06000566 RID: 1382 RVA: 0x00015290 File Offset: 0x00013490 + // (set) Token: 0x06000567 RID: 1383 RVA: 0x00015298 File Offset: 0x00013498 + public MSGWND_STYLE Style + { + get + { + return this.m_Style; + } + private set + { + this.m_Style = value; + } + } + + // Token: 0x170000C5 RID: 197 + // (get) Token: 0x06000568 RID: 1384 RVA: 0x000152A4 File Offset: 0x000134A4 + public bool IsVisible + { + get + { + return this.m_isVisible; + } + } + + // Token: 0x170000C6 RID: 198 + // (get) Token: 0x06000569 RID: 1385 RVA: 0x000152AC File Offset: 0x000134AC + // (set) Token: 0x0600056A RID: 1386 RVA: 0x000152B4 File Offset: 0x000134B4 + public UnitySprite FaceSprite + { + get + { + return this.m_spFace; + } + set + { + this.m_spFace = value; + } + } + + // Token: 0x0600056B RID: 1387 RVA: 0x000152C0 File Offset: 0x000134C0 + private void Awake() + { + this.m_tpMsg = Man2D.TextSprite(null); + this.m_tpMsg.SetName("Message"); + for (int i = 0; i < this.m_tpName.Length; i++) + { + this.m_tpName[i] = Man2D.TextSprite(null); + this.m_tpName[i].SetName("NameText:" + i.ToString()); + this.m_spName[i] = Man2D.Sprite(string.Empty); + this.m_spName[i].SetName("NamePlate:" + i.ToString()); + } + this.m_spFrame = Man2D.Sprite(string.Empty); + this.m_spFrame.SetName("MsgFrame"); + this.m_spCursol = Man2D.Sprite(string.Empty); + this.m_spCursol.SetName("Cursol"); + this.m_spHide = Man2D.Sprite("cancel"); + this.m_spHide.SetName("Hide Btn"); + this.m_spHide.SetPos(899, 318, 800); + this.m_spHide.SetPtnNum(1, 2); + this.m_spHide.SetPtnPos(0, 0); + this.m_spHide.ResetUVAnim(); + this.m_spHide.SetUVAnimWait(1); + this.m_spHide.Show = false; + KsInput.HideSprite = this.m_spHide; + this.m_MsgText = new CMessageText(base.QooGraph.Font, true); + this.m_MsgText.Init(0, 0, 0, 100, 4, 0, 0, 0); + this.m_Style = MSGWND_STYLE.NULL; + } + + // Token: 0x0600056C RID: 1388 RVA: 0x00015454 File Offset: 0x00013654 + private void OnDestroy() + { + if (Singleton.IsReady) + { + Singleton.Instance.RemoveSprite(this.m_tpMsg); + this.m_tpMsg = null; + Singleton.Instance.RemoveSprite(this.m_spFrame); + this.m_spFrame = null; + Singleton.Instance.RemoveSprite(this.m_spCursol); + this.m_spCursol = null; + Singleton.Instance.RemoveSprite(this.m_spHide); + this.m_spHide = null; + KsInput.HideSprite = null; + for (int num = 0; num != this.m_tpName.Length; num++) + { + Singleton.Instance.RemoveSprite(this.m_tpName[num]); + this.m_tpName[num] = null; + } + for (int num2 = 0; num2 != this.m_spName.Length; num2++) + { + Singleton.Instance.RemoveSprite(this.m_spName[num2]); + this.m_spName[num2] = null; + } + this.m_MsgText.Release(); + } + this.m_spFace = null; + } + + // Token: 0x0600056D RID: 1389 RVA: 0x00015550 File Offset: 0x00013750 + private void Update() + { + if (this.m_Style == MSGWND_STYLE.NULL) + { + return; + } + if (this.m_spCursol != null) + { + this.m_spCursol.Show = false; + } + if (!this.IsSilentMode && this.m_isHide) + { + if (!KsInput.IsHide) + { + this.m_isHide = false; + this.Show(true); + } + return; + } + if (!this.m_isVisible && !this.IsSilentMode) + { + return; + } + if (KsInput.IsAuto != this.m_isAutoSkip) + { + Sound.SE_Ok(); + } + this.m_isAutoSkip = KsInput.IsAuto; + this.SetMsgSpeed(); + switch (this.m_Phase) + { + case MsgWnd.MSG_PHASE.MESANIM: + if (this.IsFull()) + { + this.Full(); + this.m_Phase = MsgWnd.MSG_PHASE.KEYWAIT; + } + else if (KsInput.IsTrig || GameData.CheckReadedSkip(this.KsNo, this.LabelNo, this.MesNo)) + { + this.Full(); + this.m_Phase = MsgWnd.MSG_PHASE.KEYWAIT; + KsInput.IsTrig = false; + } + this.CommonInputProc(); + this.m_MsgText.UpdateAnim(); + this.m_tpMsg.SetArray(this.m_MsgText.GetArray()); + break; + case MsgWnd.MSG_PHASE.KEYWAIT: + this.SetAutoSkipTime(); + this.UpdateCurAnim(); + if (KsInput.IsTrig || GameData.CheckReadedSkip(this.KsNo, this.LabelNo, this.MesNo) || this.CheckAutoSkip()) + { + KsInput.IsTrig = false; + this.m_spCursol.Show = false; + this.m_Phase = MsgWnd.MSG_PHASE.NULL; + } + else + { + this.CommonInputProc(); + } + break; + case MsgWnd.MSG_PHASE.MESEND: + this.m_Phase = MsgWnd.MSG_PHASE.NULL; + break; + } + INPUT_STATUS status = UnityApp.Input.Status; + if (status != INPUT_STATUS.PUSH) + { + this.m_spHide.SetPtnPos(0, 0); + this.m_spHide.ResetUVAnim(); + this.m_spHide.EnableUVAnim(false); + } + else if (this.m_spHide.IsHit(UnityApp.Input.Start)) + { + this.m_spHide.EnableUVAnim(true); + } + } + + // Token: 0x0600056E RID: 1390 RVA: 0x00015788 File Offset: 0x00013988 + private bool CommonInputProc() + { + if (this.m_isVisible && KsInput.IsHide) + { + this.Full(); + this.m_isHide = true; + this.Show(false); + return true; + } + if (KsInput.IsBackLog) + { + this.Full(); + return true; + } + return false; + } + + // Token: 0x0600056F RID: 1391 RVA: 0x000157D4 File Offset: 0x000139D4 + public bool IsFull() + { + return this.m_MsgText.IsFull(); + } + + // Token: 0x06000570 RID: 1392 RVA: 0x000157E4 File Offset: 0x000139E4 + public void Full() + { + this.m_MsgText.Full(); + this.m_tpMsg.SetArray(this.m_MsgText.GetArray()); + } + + // Token: 0x06000571 RID: 1393 RVA: 0x00015814 File Offset: 0x00013A14 + private void UpdateCurAnim() + { + MSGWND_STYLE_DATA data = MessageStyle.GetData(this.Style); + if (this.m_isAutoSkip) + { + this.m_spCursol.SetImage(base.QooSprite.LoadTexture(data.BrkAutoCg)); + } + else + { + this.m_spCursol.SetImage(base.QooSprite.LoadTexture(data.BrkCg)); + } + if (!MsgWnd.g_isAnimPosOuter) + { + this.m_spCursol.x = this.m_posBase.x + this.m_MsgText.GetCursorPosX(); + this.m_spCursol.y = this.m_posBase.y + this.m_MsgText.GetCursorPosY() - this.m_spCursol.h + 1; + } + else + { + this.m_spCursol.x = this.m_posBase.x + data.posBrk.x; + this.m_spCursol.y = this.m_posBase.y + data.posBrk.y; + } + this.m_spCursol.z = data.posBrk.z; + this.m_spCursol.A = byte.MaxValue; + this.m_spCursol.SetPtnNum(data.sizeBrkSplit.w, data.sizeBrkSplit.h); + this.m_spCursol.SetUVAnimWait(data.nBrkWait); + this.m_spCursol.EnableUVAnim(true); + this.m_spCursol.RepeatUVAnim(true); + this.m_spCursol.Show = true; + } + + // Token: 0x06000572 RID: 1394 RVA: 0x00015998 File Offset: 0x00013B98 + public void AddMessage(string msg) + { + this.m_MsgText.AddMessage(msg, this.m_Color, this.m_Size, -1); + this.m_Phase = MsgWnd.MSG_PHASE.MESANIM; + this.m_nAutoSkipTime = 0; + } + + // Token: 0x06000573 RID: 1395 RVA: 0x000159C4 File Offset: 0x00013BC4 + public void ResetMessage() + { + this.m_MsgText.ResetMessage(); + this.m_tpMsg.SetArray(this.m_MsgText.GetArray()); + } + + // Token: 0x06000574 RID: 1396 RVA: 0x000159F4 File Offset: 0x00013BF4 + private void SetBasePos(int nX, int nY, bool bApply) + { + this.m_posBase.x = nX; + this.m_posBase.y = nY; + if (bApply) + { + MSGWND_STYLE style = this.Style; + this.Style = MSGWND_STYLE.MAX; + this.SetStyle(style); + } + } + + // Token: 0x06000575 RID: 1397 RVA: 0x00015A34 File Offset: 0x00013C34 + private void ResetBasePos(bool bApply) + { + this.SetBasePos(0, 0, bApply); + } + + // Token: 0x06000576 RID: 1398 RVA: 0x00015A40 File Offset: 0x00013C40 + public void SetStyle(MSGWND_STYLE style_) + { + if (this.Style == style_) + { + return; + } + this.Style = style_; + if (this.Style >= MSGWND_STYLE.MAX) + { + return; + } + MSGWND_STYLE_DATA data = MessageStyle.GetData(this.Style); + this.m_posFrame.x = this.m_posBase.x + data.posFrm.x; + this.m_posFrame.y = this.m_posBase.x + data.posFrm.y; + this.m_spFrame.SetPos(this.m_posFrame.x, this.m_posFrame.y, data.posFrm.z); + this.m_spFrame.SetImage(base.QooSprite.LoadTexture(MessageStyle.GetFrameCgName(this.Style))); + this.m_tpMsg.z = data.posTxt.z; + for (int num = 0; num != 2; num++) + { + this.m_spName[num].x = this.m_posBase.x + data.posName[num].x; + this.m_spName[num].y = this.m_posBase.y + data.posName[num].y; + this.m_spName[num].z = data.posName[num].z; + this.m_spName[num].SetImage(base.QooSprite.LoadTexture("nam_common")); + this.m_spName[num].A = 0; + this.m_tpName[num].x = this.m_posBase.x + data.posName[num].x + 104; + this.m_tpName[num].y = this.m_posBase.y + data.posName[num].y + 4; + this.m_tpName[num].z = data.posName[num].z + 1; + } + if (CMessageText.EnabelLINETOP_PROC) + { + switch (this.Style) + { + case MSGWND_STYLE.NORMAL: + case MSGWND_STYLE.KYARA: + case MSGWND_STYLE.HEROINE: + case MSGWND_STYLE.MONOLOGUE: + this.m_MsgText.EnableLineTopProc(true); + goto IL_236; + } + this.m_MsgText.EnableLineTopProc(false); + } + IL_236: + this.m_MsgText.ChangePos(this.m_posBase.x + data.posTxt.x, this.m_posBase.y + data.posTxt.y, data.posTxt.z, false); + this.m_MsgText.ChangeClipSize(data.sizeTxt.w, data.sizeTxt.h, data.nTxtWEx); + this.m_MsgText.EnableAutoReturn(data.bTxtAutoRet); + this.m_MsgText.SetColor(data.colTxt.r, data.colTxt.g, data.colTxt.b); + this.m_MsgText.SetKeyTxtColor(data.colRefWord.r, data.colRefWord.g, data.colRefWord.b); + this.m_MsgText.SetKeyBgColor(data.colRefBg.r, data.colRefBg.g, data.colRefBg.b, data.colRefBg.a); + this.m_MsgText.SetKeyCurColor(data.colRefCur.r, data.colRefCur.g, data.colRefCur.b, data.colRefCur.a); + } + + // Token: 0x06000577 RID: 1399 RVA: 0x00015DC8 File Offset: 0x00013FC8 + private void SetMsgSpeed() + { + switch (SysData.GetTextSpeed()) + { + case 0: + this.m_MsgText.SetAnimSpeed(1, 2); + break; + case 1: + this.m_MsgText.SetAnimSpeed(1, 0); + break; + case 2: + this.m_MsgText.SetAnimSpeed(2, 0); + break; + case 3: + this.m_MsgText.SetAnimSpeed(255, 0); + break; + } + } + + // Token: 0x06000578 RID: 1400 RVA: 0x00015E44 File Offset: 0x00014044 + public void Show(bool show) + { + if (!this.IsSilentMode) + { + this.m_tpMsg.Show = show; + foreach (UnityTextSprite unityTextSprite in this.m_tpName) + { + unityTextSprite.Show = show; + } + foreach (UnitySprite unitySprite in this.m_spName) + { + unitySprite.Show = show; + } + this.m_spFrame.Show = show; + this.m_spCursol.Show = show; + this.m_spHide.Show = show; + this.m_isVisible = show; + this.m_spFace.Show = show; + } + else + { + show = false; + this.m_tpMsg.Show = show; + foreach (UnityTextSprite unityTextSprite2 in this.m_tpName) + { + unityTextSprite2.Show = show; + } + foreach (UnitySprite unitySprite2 in this.m_spName) + { + unitySprite2.Show = show; + } + this.m_spFrame.Show = show; + this.m_spCursol.Show = show; + this.m_spHide.Show = show; + this.m_isVisible = show; + this.m_spFace.Show = show; + } + } + + // Token: 0x06000579 RID: 1401 RVA: 0x00015FA0 File Offset: 0x000141A0 + public bool ShowHideBtn(bool isShow) + { + bool show = this.m_spHide.Show; + this.m_spHide.Show = isShow; + return show; + } + + // Token: 0x0600057A RID: 1402 RVA: 0x00015FC8 File Offset: 0x000141C8 + public void SetName(string[] name) + { + Qoo.Debug.Assert(name.Length == this.m_tpName.Length); + for (int i = 0; i < name.Length; i++) + { + this.m_tpName[i].ClearText(); + if (name[i].Length > 0) + { + this.m_tpName[i].AddText(name[i], 28); + MSGWND_STYLE_DATA data = MessageStyle.GetData(this.Style); + this.m_spName[i].x = this.m_posBase.x + data.posName[i].x; + this.m_spName[i].y = this.m_posBase.y + data.posName[i].y; + this.m_spName[i].z = data.posName[i].z; + this.m_spName[i].SetImage(base.QooSprite.LoadTexture("nam_common")); + this.m_spName[i].A = 0; + int nX = this.m_spName[i].x + this.m_spName[i].w / 2; + int nY = this.m_posBase.y + data.posName[i].y + 4; + this.m_tpName[i].z = data.posName[i].z + 1; + this.m_tpName[i].SetPosition(nX, nY, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft); + this.m_tpName[i].A = byte.MaxValue; + this.m_spName[i].A = byte.MaxValue; + this.m_tpName[i].Show = true; + this.m_spName[i].Show = true; + } + else + { + this.m_tpName[i].Clear(); + this.m_tpName[i].A = 0; + this.m_spName[i].A = 0; + } + } + } + + // Token: 0x0600057B RID: 1403 RVA: 0x0001619C File Offset: 0x0001439C + public void SetSize(MSGFONTSIZE size_) + { + this.m_Size = size_; + } + + // Token: 0x0600057C RID: 1404 RVA: 0x000161A8 File Offset: 0x000143A8 + internal void SetMesNo(int ks_, int label_, int mes_) + { + this.KsNo = ks_; + this.LabelNo = label_; + this.MesNo = mes_; + } + + // Token: 0x0600057D RID: 1405 RVA: 0x000161C0 File Offset: 0x000143C0 + private void SetAutoSkipTime() + { + if (this.m_nAutoSkipTime != 0) + { + return; + } + if (Sound.VoiceIsPlay()) + { + return; + } + this.m_nAutoSkipTime = base.QooApp.GetTimeMilli(); + } + + // Token: 0x0600057E RID: 1406 RVA: 0x000161F8 File Offset: 0x000143F8 + private bool CheckAutoSkip() + { + return this.m_isAutoSkip && this.m_nAutoSkipTime != 0 && this.m_nAutoSkipTime + SysData.GetAutoPage() * 1000 <= base.QooApp.GetTimeMilli(); + } + + // Token: 0x0600057F RID: 1407 RVA: 0x00016244 File Offset: 0x00014444 + public bool IsSkip() + { + return this.m_Phase == MsgWnd.MSG_PHASE.NULL; + } + + // Token: 0x040003F9 RID: 1017 + private UnityTextSprite m_tpMsg; + + // Token: 0x040003FA RID: 1018 + private UnitySprite m_spFrame; + + // Token: 0x040003FB RID: 1019 + private UnitySprite m_spCursol; + + // Token: 0x040003FC RID: 1020 + private UnitySprite m_spHide; + + // Token: 0x040003FD RID: 1021 + private UnitySprite m_spFace; + + // Token: 0x040003FE RID: 1022 + private UnityTextSprite[] m_tpName = new UnityTextSprite[2]; + + // Token: 0x040003FF RID: 1023 + private UnitySprite[] m_spName = new UnitySprite[2]; + + // Token: 0x04000400 RID: 1024 + private CMessageText m_MsgText; + + // Token: 0x04000401 RID: 1025 + private bool m_isSilentMode; + + // Token: 0x04000402 RID: 1026 + private MSGFONTSIZE m_Size = MSGFONTSIZE.NORMAL; + + // Token: 0x04000403 RID: 1027 + private Color32 m_Color = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + + // Token: 0x04000404 RID: 1028 + private MSGWND_STYLE m_Style = MSGWND_STYLE.NULL; + + // Token: 0x04000405 RID: 1029 + private Point2 m_posFrame = new Point2(0, 0); + + // Token: 0x04000406 RID: 1030 + private Point2 m_posBase = new Point2(0, 0); + + // Token: 0x04000407 RID: 1031 + private bool m_isHide; + + // Token: 0x04000408 RID: 1032 + private bool m_isVisible = true; + + // Token: 0x04000409 RID: 1033 + private bool m_isAutoSkip; + + // Token: 0x0400040A RID: 1034 + private int m_nAutoSkipTime; + + // Token: 0x0400040B RID: 1035 + private MsgWnd.MSG_PHASE m_Phase; + + // Token: 0x0400040C RID: 1036 + public static bool g_isAnimPosOuter = true; + + // Token: 0x020000B9 RID: 185 + private enum MSG_PHASE + { + // Token: 0x04000411 RID: 1041 + NULL, + // Token: 0x04000412 RID: 1042 + MESANIM, + // Token: 0x04000413 RID: 1043 + KEYWAIT, + // Token: 0x04000414 RID: 1044 + MESEND, + // Token: 0x04000415 RID: 1045 + BACKLOG, + // Token: 0x04000416 RID: 1046 + SELWORD + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NameInputKeyboard.cs b/Assets/Scripts/Assembly-CSharp/NameInputKeyboard.cs new file mode 100644 index 000000000..31255b13c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NameInputKeyboard.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000DD RID: 221 +public class NameInputKeyboard : MonoBehaviour +{ + // Token: 0x170000D3 RID: 211 + // (get) Token: 0x0600060B RID: 1547 RVA: 0x00019294 File Offset: 0x00017494 + private static NameInputKeyboard Instance + { + get + { + if (NameInputKeyboard.m_instance == null) + { + GameObject gameObject = GameObject.Find("_NameInputKeyboard"); + if (gameObject == null) + { + gameObject = new GameObject("_NameInputKeyboard"); + } + NameInputKeyboard.m_instance = gameObject.AddComponent(); + NameInputKeyboard.m_instance.m_inputText = string.Empty; + } + return NameInputKeyboard.m_instance; + } + } + + // Token: 0x170000D4 RID: 212 + // (get) Token: 0x0600060C RID: 1548 RVA: 0x000192F4 File Offset: 0x000174F4 + public static string InputText + { + get + { + return NameInputKeyboard.Instance.m_inputText; + } + } + + // Token: 0x170000D5 RID: 213 + // (set) Token: 0x0600060D RID: 1549 RVA: 0x00019300 File Offset: 0x00017500 + public static string DebugInputText + { + set + { + NameInputKeyboard.Instance.m_inputText = value; + } + } + + // Token: 0x0600060E RID: 1550 RVA: 0x00019310 File Offset: 0x00017510 + public static IEnumerator Open(string defaultString = "", bool isUnitySubTask = false) + { + if (isUnitySubTask) + { + yield return NameInputKeyboard.Instance.StartCoroutine(ScreenKeyboardManager.Open(defaultString)); + } + else + { + yield return ScreenKeyboardManager.Open(defaultString); + } + if (ScreenKeyboardManager.IsCancel) + { + NameInputKeyboard.Instance.m_inputText = "アリス"; + } + else + { + NameInputKeyboard.Instance.m_inputText = ScreenKeyboardManager.InputText; + } + yield break; + } + + // Token: 0x0600060F RID: 1551 RVA: 0x00019340 File Offset: 0x00017540 + public static void Close() + { + if (NameInputKeyboard.m_instance != null) + { + UnityEngine.Object.Destroy(NameInputKeyboard.m_instance.gameObject); + NameInputKeyboard.m_instance = null; + } + } + + // Token: 0x040005A7 RID: 1447 + private static NameInputKeyboard m_instance; + + // Token: 0x040005A8 RID: 1448 + private string m_inputText; +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/CQK3Node.cs b/Assets/Scripts/Assembly-CSharp/NsQT/CQK3Node.cs new file mode 100644 index 000000000..279e6dcb1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/CQK3Node.cs @@ -0,0 +1,221 @@ +using System; + +namespace NsQT +{ + // Token: 0x0200009E RID: 158 + public class CQK3Node + { + // Token: 0x06000465 RID: 1125 RVA: 0x000103EC File Offset: 0x0000E5EC + public CQK3Node() + { + this.m_nType = QK3_NODETYPE.INT; + this.Zero(); + } + + // Token: 0x06000466 RID: 1126 RVA: 0x00010404 File Offset: 0x0000E604 + public QK3_NODETYPE GetNodeType() + { + return this.m_nType; + } + + // Token: 0x06000467 RID: 1127 RVA: 0x0001040C File Offset: 0x0000E60C + public int GetInt() + { + return this.m_ValueInt; + } + + // Token: 0x06000468 RID: 1128 RVA: 0x00010414 File Offset: 0x0000E614 + public string GetString() + { + if (this.m_nType == QK3_NODETYPE.STR) + { + return this.m_ValueStr; + } + if (this.m_nType == QK3_NODETYPE.INT) + { + return (this.m_ValueInt != 0) ? string.Empty : null; + } + return null; + } + + // Token: 0x06000469 RID: 1129 RVA: 0x00010458 File Offset: 0x0000E658 + public void SetInt(string szNum) + { + this.m_nType = QK3_NODETYPE.INT; + this.m_ValueInt = int.Parse(szNum); + this.m_ValueStr = null; + } + + // Token: 0x0600046A RID: 1130 RVA: 0x00010474 File Offset: 0x0000E674 + public void SetInt(int nNum) + { + this.m_nType = QK3_NODETYPE.INT; + this.m_ValueInt = nNum; + this.m_ValueStr = null; + } + + // Token: 0x0600046B RID: 1131 RVA: 0x0001048C File Offset: 0x0000E68C + public void SetString(string szStr) + { + this.m_nType = QK3_NODETYPE.STR; + this.m_ValueInt = int.Parse(szStr); + this.m_ValueStr = szStr; + } + + // Token: 0x0600046C RID: 1132 RVA: 0x000104A8 File Offset: 0x0000E6A8 + public void Zero() + { + this.m_ValueInt = 0; + this.m_ValueStr = null; + } + + // Token: 0x0600046D RID: 1133 RVA: 0x000104B8 File Offset: 0x0000E6B8 + public bool Calc_ADD(CQK3Node NodeR) + { + this.m_ValueInt += NodeR.m_ValueInt; + return true; + } + + // Token: 0x0600046E RID: 1134 RVA: 0x000104D0 File Offset: 0x0000E6D0 + public bool Calc_PLUS(CQK3Node NodeR) + { + this.m_ValueInt = NodeR.m_ValueInt; + return true; + } + + // Token: 0x0600046F RID: 1135 RVA: 0x000104E0 File Offset: 0x0000E6E0 + public bool Calc_INC() + { + this.m_ValueInt++; + return true; + } + + // Token: 0x06000470 RID: 1136 RVA: 0x000104F4 File Offset: 0x0000E6F4 + public bool Calc_SUB(CQK3Node NodeR) + { + this.m_ValueInt -= NodeR.m_ValueInt; + return true; + } + + // Token: 0x06000471 RID: 1137 RVA: 0x0001050C File Offset: 0x0000E70C + public bool Calc_MINUS(CQK3Node NodeR) + { + this.m_ValueInt = NodeR.m_ValueInt * -1; + return true; + } + + // Token: 0x06000472 RID: 1138 RVA: 0x00010520 File Offset: 0x0000E720 + public bool Calc_DEC() + { + this.m_ValueInt--; + return true; + } + + // Token: 0x06000473 RID: 1139 RVA: 0x00010534 File Offset: 0x0000E734 + public bool Calc_MUL(CQK3Node NodeR) + { + this.m_ValueInt *= NodeR.m_ValueInt; + return true; + } + + // Token: 0x06000474 RID: 1140 RVA: 0x0001054C File Offset: 0x0000E74C + public bool Calc_DIV(CQK3Node NodeR) + { + this.m_ValueInt /= NodeR.m_ValueInt; + return true; + } + + // Token: 0x06000475 RID: 1141 RVA: 0x00010564 File Offset: 0x0000E764 + public bool Calc_MOD(CQK3Node NodeR) + { + this.m_ValueInt %= NodeR.m_ValueInt; + return true; + } + + // Token: 0x06000476 RID: 1142 RVA: 0x0001057C File Offset: 0x0000E77C + public bool Calc_NOT(CQK3Node NodeR) + { + this.m_ValueInt = ((NodeR.m_ValueInt != 0) ? 0 : 1); + return true; + } + + // Token: 0x06000477 RID: 1143 RVA: 0x00010598 File Offset: 0x0000E798 + public bool Calc_CMP_E(CQK3Node NodeR) + { + if (this.m_nType == QK3_NODETYPE.STR && NodeR.m_nType == QK3_NODETYPE.STR) + { + this.m_ValueInt = ((!string.Equals(this.m_ValueStr, NodeR.m_ValueStr)) ? 0 : 1); + } + else + { + this.m_ValueInt = ((this.m_ValueInt != NodeR.m_ValueInt) ? 0 : 1); + } + return true; + } + + // Token: 0x06000478 RID: 1144 RVA: 0x00010604 File Offset: 0x0000E804 + public bool Calc_CMP_NE(CQK3Node NodeR) + { + if (this.m_nType == QK3_NODETYPE.STR && NodeR.m_nType == QK3_NODETYPE.STR) + { + this.m_ValueInt = ((!string.Equals(this.m_ValueStr, NodeR.m_ValueStr)) ? 1 : 0); + } + else + { + this.m_ValueInt = ((this.m_ValueInt == NodeR.m_ValueInt) ? 0 : 1); + } + return true; + } + + // Token: 0x06000479 RID: 1145 RVA: 0x00010670 File Offset: 0x0000E870 + public bool Calc_CMP_L(CQK3Node NodeR) + { + this.m_ValueInt = ((this.m_ValueInt >= NodeR.m_ValueInt) ? 0 : 1); + return true; + } + + // Token: 0x0600047A RID: 1146 RVA: 0x00010694 File Offset: 0x0000E894 + public bool Calc_CMP_G(CQK3Node NodeR) + { + this.m_ValueInt = ((this.m_ValueInt <= NodeR.m_ValueInt) ? 0 : 1); + return true; + } + + // Token: 0x0600047B RID: 1147 RVA: 0x000106B8 File Offset: 0x0000E8B8 + public bool Calc_CMP_LE(CQK3Node NodeR) + { + this.m_ValueInt = ((this.m_ValueInt > NodeR.m_ValueInt) ? 0 : 1); + return true; + } + + // Token: 0x0600047C RID: 1148 RVA: 0x000106DC File Offset: 0x0000E8DC + public bool Calc_CMP_GE(CQK3Node NodeR) + { + this.m_ValueInt = ((this.m_ValueInt < NodeR.m_ValueInt) ? 0 : 1); + return true; + } + + // Token: 0x0600047D RID: 1149 RVA: 0x00010700 File Offset: 0x0000E900 + public bool Calc_LOP_AND(CQK3Node NodeR) + { + this.m_ValueInt = ((this.m_ValueInt == 0 || NodeR.m_ValueInt == 0) ? 0 : 1); + return true; + } + + // Token: 0x0600047E RID: 1150 RVA: 0x00010734 File Offset: 0x0000E934 + public bool Calc_LOP_OR(CQK3Node NodeR) + { + this.m_ValueInt = ((this.m_ValueInt == 0 && NodeR.m_ValueInt == 0) ? 0 : 1); + return true; + } + + // Token: 0x0400032A RID: 810 + protected QK3_NODETYPE m_nType; + + // Token: 0x0400032B RID: 811 + protected int m_ValueInt; + + // Token: 0x0400032C RID: 812 + protected string m_ValueStr; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/CQPocketK3.cs b/Assets/Scripts/Assembly-CSharp/NsQT/CQPocketK3.cs new file mode 100644 index 000000000..629e8e3f9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/CQPocketK3.cs @@ -0,0 +1,610 @@ +using System; +using Qoo; + +namespace NsQT +{ + // Token: 0x0200009C RID: 156 + public class CQPocketK3 + { + // Token: 0x0600044E RID: 1102 RVA: 0x0000F6EC File Offset: 0x0000D8EC + public CQPocketK3() + { + this.m_aFuncParams = new CQK3Node[32]; + this.m_aOp = new Q_TOKEN[34]; + } + + // Token: 0x170000A6 RID: 166 + // (get) Token: 0x0600044F RID: 1103 RVA: 0x0000F71C File Offset: 0x0000D91C + // (set) Token: 0x06000450 RID: 1104 RVA: 0x0000F724 File Offset: 0x0000D924 + protected CQTkReader m_Scan { get; set; } + + // Token: 0x06000451 RID: 1105 RVA: 0x0000F730 File Offset: 0x0000D930 + private Q_TOKEN Op(QK3_OP op) + { + return this.m_aOp[(int)op]; + } + + // Token: 0x06000452 RID: 1106 RVA: 0x0000F73C File Offset: 0x0000D93C + protected virtual void SetupScanner(string szExp) + { + this.m_Scan.SetSource(szExp); + this.m_Scan.Enable2byteSym(true); + this.m_Scan.EnableUpperId(false); + this.m_Tk = Q_TOKEN.QTK_ERROR; + } + + // Token: 0x06000453 RID: 1107 RVA: 0x0000F774 File Offset: 0x0000D974 + protected virtual bool Analysis_L(ref CQK3Node Node) + { + CQK3Node nodeR = new CQK3Node(); + if (!this.Analysis_C(ref Node)) + { + return false; + } + for (;;) + { + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_AND)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_C(ref nodeR)) + { + break; + } + Node.Calc_LOP_AND(nodeR); + } + else + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_OR)) + { + return true; + } + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_C(ref nodeR)) + { + return false; + } + Node.Calc_LOP_OR(nodeR); + } + } + return false; + } + + // Token: 0x06000454 RID: 1108 RVA: 0x0000F81C File Offset: 0x0000DA1C + protected virtual bool Analysis_C(ref CQK3Node Node) + { + CQK3Node nodeR = new CQK3Node(); + if (!this.Analysis_E(ref Node)) + { + return false; + } + for (;;) + { + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_CMP_E)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref nodeR)) + { + break; + } + Node.Calc_CMP_E(nodeR); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_CMP_NE)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref nodeR)) + { + return false; + } + Node.Calc_CMP_NE(nodeR); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_CMP_L)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref nodeR)) + { + return false; + } + Node.Calc_CMP_L(nodeR); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_CMP_G)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref nodeR)) + { + return false; + } + Node.Calc_CMP_G(nodeR); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_CMP_LE)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref nodeR)) + { + return false; + } + Node.Calc_CMP_LE(nodeR); + } + else + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_CMP_GE)) + { + return true; + } + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref nodeR)) + { + return false; + } + Node.Calc_CMP_GE(nodeR); + } + } + return false; + } + + // Token: 0x06000455 RID: 1109 RVA: 0x0000F9C4 File Offset: 0x0000DBC4 + protected virtual bool Analysis_E(ref CQK3Node Node) + { + CQK3Node nodeR = new CQK3Node(); + if (!this.Analysis_T(ref Node)) + { + return false; + } + for (;;) + { + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_ADD)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_T(ref nodeR)) + { + break; + } + Node.Calc_ADD(nodeR); + } + else + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_SUB)) + { + return true; + } + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_T(ref nodeR)) + { + return false; + } + Node.Calc_SUB(nodeR); + } + } + return false; + } + + // Token: 0x06000456 RID: 1110 RVA: 0x0000FA70 File Offset: 0x0000DC70 + protected virtual bool Analysis_T(ref CQK3Node Node) + { + CQK3Node nodeR = new CQK3Node(); + if (!this.Analysis_F(ref Node)) + { + return false; + } + for (;;) + { + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_MUL)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_F(ref nodeR)) + { + break; + } + Node.Calc_MUL(nodeR); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_DIV)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_F(ref nodeR)) + { + return false; + } + Node.Calc_DIV(nodeR); + } + else + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_MOD)) + { + return true; + } + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_F(ref nodeR)) + { + return false; + } + Node.Calc_MOD(nodeR); + } + } + return false; + } + + // Token: 0x06000457 RID: 1111 RVA: 0x0000FB5C File Offset: 0x0000DD5C + protected virtual bool Analysis_F(ref CQK3Node Node) + { + CQK3Node nodeR = new CQK3Node(); + if (this.m_Tk == Q_TOKEN.QTK_NUM) + { + Node.SetInt(this.m_szId); + this.m_Tk = this.m_Scan.Scan(); + return true; + } + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_BLOCK_L)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref Node)) + { + return false; + } + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_BLOCK_R)) + { + return this.Error(QK3_ERROR.QK3_ERROR_PARENTH_END); + } + this.m_Tk = this.m_Scan.Scan(); + return true; + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_MINUS)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_F(ref nodeR)) + { + return false; + } + Node.Calc_MINUS(nodeR); + return true; + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_PLUS)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_F(ref nodeR)) + { + return false; + } + Node.Calc_PLUS(nodeR); + return true; + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_NOT)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_F(ref nodeR)) + { + return false; + } + Node.Calc_NOT(nodeR); + return true; + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_STR_BEGIN)) + { + this.m_Tk = this.m_Scan.ScanString(this.Op(QK3_OP.QK3_OP_STR_END)); + if (this.m_Tk != Q_TOKEN.QTK_STR) + { + return this.Error(QK3_ERROR.QK3_ERROR_SCAN_STRING); + } + Node.SetString(this.m_szId); + this.m_Tk = this.m_Scan.Scan(); + return true; + } + else + { + if (this.m_Tk != Q_TOKEN.QTK_ID) + { + return this.Error(QK3_ERROR.QK3_ERROR_TOKEN); + } + QK3_ITEMINFO qk3_ITEMINFO = default(QK3_ITEMINFO); + qk3_ITEMINFO.Clear(); + QK3_IDTYPE idType = this.GetIdType(this.m_szId, ref qk3_ITEMINFO); + if (idType == QK3_IDTYPE.QK3_IDTYPE_FUNC) + { + this.m_Tk = this.m_Scan.Scan(); + return this.Analysis_O(ref Node, ref qk3_ITEMINFO); + } + if (idType == QK3_IDTYPE.QK3_IDTYPE_VAR) + { + this.m_Tk = this.m_Scan.Scan(); + return this.Analysis_XV(ref Node, ref qk3_ITEMINFO); + } + return this.Error(QK3_ERROR.QK3_ERROR_ID); + } + } + + // Token: 0x06000458 RID: 1112 RVA: 0x0000FDA4 File Offset: 0x0000DFA4 + protected virtual bool Analysis_XV(ref CQK3Node Node, ref QK3_ITEMINFO ItemInfo) + { + CQK3Node cqk3Node = new CQK3Node(); + CQK3Node cqk3Node2 = new CQK3Node(); + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_IDX_L)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node2)) + { + return false; + } + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_IDX_R)) + { + return this.Error(QK3_ERROR.QK3_ERROR_BRACKET_END); + } + if (cqk3Node2.GetNodeType() != QK3_NODETYPE.INT) + { + return this.Error(QK3_ERROR.QK3_ERROR_ARRAY_INDEX_INT); + } + this.m_Tk = this.m_Scan.Scan(); + } + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node)) + { + return false; + } + if (!this.VarSetValue(ItemInfo, cqk3Node2, cqk3Node)) + { + return false; + } + Node = cqk3Node; + return true; + } + else + { + if (!this.VarGetValue(ItemInfo, cqk3Node2, ref Node)) + { + return false; + } + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET_INC)) + { + Node.Calc_INC(); + this.m_Tk = this.m_Scan.Scan(); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET_DEC)) + { + Node.Calc_DEC(); + this.m_Tk = this.m_Scan.Scan(); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET_ADD)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node)) + { + return false; + } + Node.Calc_ADD(cqk3Node); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET_SUB)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node)) + { + return false; + } + Node.Calc_SUB(cqk3Node); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET_MUL)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node)) + { + return false; + } + Node.Calc_MUL(cqk3Node); + } + else if (this.m_Tk == this.Op(QK3_OP.QK3_OP_SET_DIV)) + { + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node)) + { + return false; + } + Node.Calc_DIV(cqk3Node); + } + else + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_SET_MOD)) + { + return true; + } + this.m_Tk = this.m_Scan.Scan(); + if (!this.Analysis_E(ref cqk3Node)) + { + return false; + } + Node.Calc_MOD(cqk3Node); + } + return this.VarSetValue(ItemInfo, cqk3Node2, Node); + } + } + + // Token: 0x06000459 RID: 1113 RVA: 0x00010054 File Offset: 0x0000E254 + protected virtual bool Analysis_O(ref CQK3Node Node, ref QK3_ITEMINFO ItemInfo) + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_FUNC_L)) + { + return this.Error(QK3_ERROR.QK3_ERROR_FUNC_BEGIN); + } + this.m_Tk = this.m_Scan.Scan(); + this.m_nFuncParamNum = 0; + while (this.Analysis_E(ref this.m_aFuncParams[this.m_nFuncParamNum])) + { + this.m_nFuncParamNum++; + if (this.m_Tk == this.Op(QK3_OP.QK3_OP_PARAMS)) + { + if (this.m_nFuncParamNum >= 32) + { + return this.Error(QK3_ERROR.QK3_ERROR_FUNC_PARAM_OVER); + } + this.m_Tk = this.m_Scan.Scan(); + } + else + { + if (this.m_Tk != this.Op(QK3_OP.QK3_OP_FUNC_R)) + { + return this.Error(QK3_ERROR.QK3_ERROR_TOKEN); + } + if (!this.FuncCall(ItemInfo, this.m_aFuncParams, this.m_nFuncParamNum, ref Node)) + { + return this.Error(QK3_ERROR.QK3_ERROR_FUNC_CALLFUNC); + } + this.m_Tk = this.m_Scan.Scan(); + return true; + } + } + return false; + } + + // Token: 0x0600045A RID: 1114 RVA: 0x0001015C File Offset: 0x0000E35C + protected virtual bool Error(QK3_ERROR nErrNo) + { + this.m_nErr = nErrNo; + Debug.Print(string.Format("QK3-Err: {0} ({1})", this.GetErrMsg(nErrNo), this.m_szId)); + return false; + } + + // Token: 0x0600045B RID: 1115 RVA: 0x00010190 File Offset: 0x0000E390 + protected virtual void SetupOperator() + { + this.SetOp(QK3_OP.QK3_OP_NULL, Q_TOKEN.QTK_ERROR); + this.SetOp(QK3_OP.QK3_OP_AND, Q_TOKEN.QTK_W_AND); + this.SetOp(QK3_OP.QK3_OP_OR, Q_TOKEN.QTK_W_OR); + this.SetOp(QK3_OP.QK3_OP_CMP_E, Q_TOKEN.QTK_W_EQU); + this.SetOp(QK3_OP.QK3_OP_CMP_NE, Q_TOKEN.QTK_NOTEQU); + this.SetOp(QK3_OP.QK3_OP_CMP_L, Q_TOKEN.QTK_LESS); + this.SetOp(QK3_OP.QK3_OP_CMP_G, Q_TOKEN.QTK_GRAT); + this.SetOp(QK3_OP.QK3_OP_CMP_LE, Q_TOKEN.QTK_LESS_EQU); + this.SetOp(QK3_OP.QK3_OP_CMP_GE, Q_TOKEN.QTK_GRAT_EQU); + this.SetOp(QK3_OP.QK3_OP_ADD, Q_TOKEN.QTK_PLUS); + this.SetOp(QK3_OP.QK3_OP_SUB, Q_TOKEN.QTK_MINUS); + this.SetOp(QK3_OP.QK3_OP_MUL, Q_TOKEN.QTK_ASTERISK); + this.SetOp(QK3_OP.QK3_OP_DIV, Q_TOKEN.QTK_SLASH); + this.SetOp(QK3_OP.QK3_OP_MOD, Q_TOKEN.QTK_PERCENT); + this.SetOp(QK3_OP.QK3_OP_BLOCK_L, Q_TOKEN.QTK_PARENTH_L); + this.SetOp(QK3_OP.QK3_OP_BLOCK_R, Q_TOKEN.QTK_PARENTH_R); + this.SetOp(QK3_OP.QK3_OP_IDX_L, Q_TOKEN.QTK_BRACKET_L); + this.SetOp(QK3_OP.QK3_OP_IDX_R, Q_TOKEN.QTK_BRACKET_R); + this.SetOp(QK3_OP.QK3_OP_FUNC_L, Q_TOKEN.QTK_PARENTH_L); + this.SetOp(QK3_OP.QK3_OP_FUNC_R, Q_TOKEN.QTK_PARENTH_R); + this.SetOp(QK3_OP.QK3_OP_MINUS, Q_TOKEN.QTK_MINUS); + this.SetOp(QK3_OP.QK3_OP_PLUS, Q_TOKEN.QTK_PLUS); + this.SetOp(QK3_OP.QK3_OP_NOT, Q_TOKEN.QTK_EXCLAM); + this.SetOp(QK3_OP.QK3_OP_SET, Q_TOKEN.QTK_EQU); + this.SetOp(QK3_OP.QK3_OP_SET_ADD, Q_TOKEN.QTK_PLUS_EQU); + this.SetOp(QK3_OP.QK3_OP_SET_SUB, Q_TOKEN.QTK_MINUS_EQU); + this.SetOp(QK3_OP.QK3_OP_SET_MUL, Q_TOKEN.QTK_ASTERISK_EQU); + this.SetOp(QK3_OP.QK3_OP_SET_DIV, Q_TOKEN.QTK_SLASH_EQU); + this.SetOp(QK3_OP.QK3_OP_SET_MOD, Q_TOKEN.QTK_PER_EQU); + this.SetOp(QK3_OP.QK3_OP_SET_INC, Q_TOKEN.QTK_W_PLUS); + this.SetOp(QK3_OP.QK3_OP_SET_DEC, Q_TOKEN.QTK_W_MINUS); + this.SetOp(QK3_OP.QK3_OP_PARAMS, Q_TOKEN.QTK_COMMA); + this.SetOp(QK3_OP.QK3_OP_STR_BEGIN, Q_TOKEN.QTK_W_QUOT); + this.SetOp(QK3_OP.QK3_OP_STR_END, Q_TOKEN.QTK_W_QUOT); + } + + // Token: 0x0600045C RID: 1116 RVA: 0x000102E8 File Offset: 0x0000E4E8 + protected virtual QK3_IDTYPE GetIdType(string szName, ref QK3_ITEMINFO ItemInfo) + { + return QK3_IDTYPE.QK3_IDTYPE_NULL; + } + + // Token: 0x0600045D RID: 1117 RVA: 0x000102EC File Offset: 0x0000E4EC + protected virtual bool VarSetValue(QK3_ITEMINFO ItemInfo, CQK3Node nIndex, CQK3Node NodeValue) + { + return false; + } + + // Token: 0x0600045E RID: 1118 RVA: 0x000102F0 File Offset: 0x0000E4F0 + protected virtual bool VarGetValue(QK3_ITEMINFO ItemInfo, CQK3Node nIndex, ref CQK3Node NodeRet) + { + return false; + } + + // Token: 0x0600045F RID: 1119 RVA: 0x000102F4 File Offset: 0x0000E4F4 + protected virtual bool FuncCall(QK3_ITEMINFO ItemInfo, CQK3Node[] pParams, int nParamNum, ref CQK3Node NodeRet) + { + return false; + } + + // Token: 0x06000460 RID: 1120 RVA: 0x000102F8 File Offset: 0x0000E4F8 + public virtual void Init() + { + this.SetupOperator(); + } + + // Token: 0x06000461 RID: 1121 RVA: 0x00010300 File Offset: 0x0000E500 + public virtual bool ExecCalc(string szExp, ref CQK3Node Node) + { + this.SetupScanner(szExp); + this.m_nErr = QK3_ERROR.QK3_ERROR_NULL; + Node.Zero(); + this.m_Tk = this.m_Scan.Scan(); + return this.Analysis_L(ref Node); + } + + // Token: 0x06000462 RID: 1122 RVA: 0x00010348 File Offset: 0x0000E548 + public virtual void SetOp(QK3_OP nOp, Q_TOKEN nTk) + { + this.m_aOp[(int)nOp] = nTk; + } + + // Token: 0x06000463 RID: 1123 RVA: 0x00010354 File Offset: 0x0000E554 + public QK3_ERROR GetErrorNo() + { + return this.m_nErr; + } + + // Token: 0x06000464 RID: 1124 RVA: 0x0001035C File Offset: 0x0000E55C + public string GetErrMsg(QK3_ERROR nNo) + { + switch (nNo) + { + case QK3_ERROR.QK3_ERROR_NULL: + return "ERROR"; + case QK3_ERROR.QK3_ERROR_TOKEN: + return "対応外の記号/名前です。"; + case QK3_ERROR.QK3_ERROR_ID: + return "変数名/関数名ではありません。"; + case QK3_ERROR.QK3_ERROR_PARENTH_END: + return "「 ) 」がありません。"; + case QK3_ERROR.QK3_ERROR_BRACKET_END: + return "「 ] 」がありません。"; + case QK3_ERROR.QK3_ERROR_FUNC_BEGIN: + return "関数の「 ( 」がありません。"; + case QK3_ERROR.QK3_ERROR_FUNC_END: + return "関数の「 ) 」がありません。"; + case QK3_ERROR.QK3_ERROR_FUNC_PARAM_OVER: + return "関数パラメータ数オーバーです。"; + case QK3_ERROR.QK3_ERROR_FUNC_CALLFUNC: + return "関数呼び出し中にエラーが発生しました。"; + case QK3_ERROR.QK3_ERROR_SCAN_STRING: + return "文字列取得中にエラーが発生しました。"; + case QK3_ERROR.QK3_ERROR_ARRAY_INDEX_INT: + return "配列のインデックスが整数でありません。"; + default: + return string.Empty; + } + } + + // Token: 0x0400031E RID: 798 + private const int ID_LEN_MAX = 40; + + // Token: 0x0400031F RID: 799 + private const int FUNC_PARAN_MAX = 32; + + // Token: 0x04000320 RID: 800 + protected Q_TOKEN m_Tk; + + // Token: 0x04000321 RID: 801 + protected QK3_ERROR m_nErr; + + // Token: 0x04000322 RID: 802 + protected string m_szId; + + // Token: 0x04000323 RID: 803 + protected CQK3Node[] m_aFuncParams; + + // Token: 0x04000324 RID: 804 + protected int m_nFuncParamNum; + + // Token: 0x04000325 RID: 805 + protected Q_TOKEN[] m_aOp; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/CQTkReader.cs b/Assets/Scripts/Assembly-CSharp/NsQT/CQTkReader.cs new file mode 100644 index 000000000..acff6bef4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/CQTkReader.cs @@ -0,0 +1,840 @@ +using System; +using System.Collections.Generic; + +namespace NsQT +{ + // Token: 0x020000A0 RID: 160 + public class CQTkReader + { + // Token: 0x170000A7 RID: 167 + // (get) Token: 0x06000480 RID: 1152 RVA: 0x00010770 File Offset: 0x0000E970 + private char NOW + { + get + { + return this.Buf[this.m_iRead]; + } + } + + // Token: 0x170000A8 RID: 168 + // (get) Token: 0x06000481 RID: 1153 RVA: 0x00010784 File Offset: 0x0000E984 + private char AFTER + { + get + { + return (this.m_iRead + 1 < this.Buf.Length) ? this.Buf[this.m_iRead + 1] : '\0'; + } + } + + // Token: 0x06000482 RID: 1154 RVA: 0x000107B8 File Offset: 0x0000E9B8 + private bool _NEXT() + { + this.ADD_ID(); + return this.INC_READPTR; + } + + // Token: 0x06000483 RID: 1155 RVA: 0x000107C8 File Offset: 0x0000E9C8 + private bool IsEnd() + { + return this.m_iRead >= this.Buf.Length; + } + + // Token: 0x06000484 RID: 1156 RVA: 0x000107E0 File Offset: 0x0000E9E0 + private bool IsAfterEnd() + { + return this.m_iRead + 1 >= this.Buf.Length; + } + + // Token: 0x06000485 RID: 1157 RVA: 0x000107FC File Offset: 0x0000E9FC + private bool _NEXT2() + { + return this._NEXT() || this._NEXT(); + } + + // Token: 0x170000A9 RID: 169 + // (get) Token: 0x06000486 RID: 1158 RVA: 0x00010814 File Offset: 0x0000EA14 + private bool INC_READPTR + { + get + { + this.m_iRead++; + return this.IsEnd(); + } + } + + // Token: 0x06000487 RID: 1159 RVA: 0x0001082C File Offset: 0x0000EA2C + private bool IsIdChar(char c) + { + return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'; + } + + // Token: 0x06000488 RID: 1160 RVA: 0x0001087C File Offset: 0x0000EA7C + protected virtual Q_TOKEN ScanNum() + { + this.RESET_ID(); + while (char.IsDigit(this.NOW)) + { + if (this._NEXT()) + { + IL_35: + this.END_ID(); + return Q_TOKEN.QTK_NUM; + } + } + goto IL_35; + } + + // Token: 0x06000489 RID: 1161 RVA: 0x000108C8 File Offset: 0x0000EAC8 + protected virtual Q_TOKEN ScanId() + { + this.RESET_ID(); + do + { + char c = this.NOW; + if (!this.IsIdChar(c)) + { + break; + } + if (this.m_bUpper) + { + c = char.ToUpper(c); + } + } + while (!this._NEXT()); + this.END_ID(); + if (this.m_pKeywords.Count > 0) + { + for (int num = 0; num != this.m_pKeywords.Count; num++) + { + if (this.m_pKeywords[num] == this.m_nowIdBuff) + { + return (Q_TOKEN)(num + this.m_nKeywordsTopNum); + } + } + } + return Q_TOKEN.QTK_ID; + } + + // Token: 0x0600048A RID: 1162 RVA: 0x00010978 File Offset: 0x0000EB78 + protected virtual Q_TOKEN ScanWSym() + { + this.RESET_ID(); + if (!this.m_bWSym) + { + char now = this.NOW; + switch (now) + { + case '%': + this._NEXT(); + return Q_TOKEN.QTK_PERCENT; + case '&': + this._NEXT(); + return Q_TOKEN.QTK_AND; + default: + switch (now) + { + case ':': + this._NEXT(); + return Q_TOKEN.QTK_COLON; + default: + if (now == '!') + { + this._NEXT(); + return Q_TOKEN.QTK_EXCLAM; + } + if (now == '|') + { + this._NEXT(); + return Q_TOKEN.QTK_OR; + } + break; + case '<': + this._NEXT(); + return Q_TOKEN.QTK_LESS; + case '=': + this._NEXT(); + return Q_TOKEN.QTK_EQU; + case '>': + this._NEXT(); + return Q_TOKEN.QTK_GRAT; + } + break; + case '*': + this._NEXT(); + return Q_TOKEN.QTK_ASTERISK; + case '+': + this._NEXT(); + return Q_TOKEN.QTK_PLUS; + case '-': + this._NEXT(); + return Q_TOKEN.QTK_MINUS; + case '/': + this._NEXT(); + return Q_TOKEN.QTK_SLASH; + } + } + else + { + char now = this.NOW; + switch (now) + { + case '%': + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_PER_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_PERCENT; + case '&': + if (this.AFTER == '&') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_AND; + } + this._NEXT(); + return Q_TOKEN.QTK_AND; + default: + switch (now) + { + case ':': + if (this.AFTER == ':') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_COLON; + } + this._NEXT(); + return Q_TOKEN.QTK_COLON; + default: + if (now != '!') + { + if (now == '|') + { + if (this.AFTER == '|') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_OR; + } + this._NEXT(); + return Q_TOKEN.QTK_OR; + } + } + else + { + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_NOTEQU; + } + this._NEXT(); + return Q_TOKEN.QTK_EXCLAM; + } + break; + case '<': + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_LESS_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_LESS; + case '=': + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_EQU; + case '>': + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_GRAT_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_GRAT; + } + break; + case '*': + if (this.AFTER == '/') + { + this._NEXT2(); + return Q_TOKEN.QTK_REM_R; + } + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_ASTERISK_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_ASTERISK; + case '+': + if (this.AFTER == '+') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_PLUS; + } + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_PLUS_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_PLUS; + case '-': + if (this.AFTER == '-') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_MINUS; + } + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_MINUS_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_MINUS; + case '/': + if (this.AFTER == '/') + { + this._NEXT2(); + return Q_TOKEN.QTK_W_SLASH; + } + if (this.AFTER == '*') + { + this._NEXT2(); + return Q_TOKEN.QTK_REM_L; + } + if (this.AFTER == '=') + { + this._NEXT2(); + return Q_TOKEN.QTK_SLASH_EQU; + } + this._NEXT(); + return Q_TOKEN.QTK_SLASH; + } + } + return Q_TOKEN.QTK_ERROR; + } + + // Token: 0x0600048B RID: 1163 RVA: 0x00010CF0 File Offset: 0x0000EEF0 + protected virtual Q_TOKEN ScanHex() + { + this.RESET_ID(); + for (;;) + { + switch (char.ToUpper(this.NOW)) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + if (!this._NEXT()) + { + continue; + } + break; + } + break; + } + this.END_ID(); + return Q_TOKEN.QTK_HEXNUM; + } + + // Token: 0x0600048C RID: 1164 RVA: 0x00010DA4 File Offset: 0x0000EFA4 + public virtual void SetSource(string text) + { + this.Buf = text; + this.m_iRead = 0; + } + + // Token: 0x0600048D RID: 1165 RVA: 0x00010DB4 File Offset: 0x0000EFB4 + public virtual void SetReadPtr(int i) + { + this.m_iRead = i; + } + + // Token: 0x0600048E RID: 1166 RVA: 0x00010DC0 File Offset: 0x0000EFC0 + public virtual void Enable2byteSym(bool bWSym) + { + this.m_bWSym = bWSym; + } + + // Token: 0x0600048F RID: 1167 RVA: 0x00010DCC File Offset: 0x0000EFCC + public virtual void EnableUpperId(bool bUpper) + { + this.m_bUpper = bUpper; + } + + // Token: 0x06000490 RID: 1168 RVA: 0x00010DD8 File Offset: 0x0000EFD8 + public virtual void SetKeywordList(string[] ppNames, int TopNum) + { + this.m_pKeywords.AddRange(ppNames); + this.m_nKeywordsTopNum = TopNum; + } + + // Token: 0x06000491 RID: 1169 RVA: 0x00010DF0 File Offset: 0x0000EFF0 + public virtual List GetIdBuff() + { + return this.m_pIdBuff; + } + + // Token: 0x06000492 RID: 1170 RVA: 0x00010DF8 File Offset: 0x0000EFF8 + public virtual string GetTokenChar(Q_TOKEN nTk) + { + switch (nTk) + { + case Q_TOKEN.QTK_SPACE: + return " "; + case Q_TOKEN.QTK_RETURN: + return "\n"; + case Q_TOKEN.QTK_PARENTH_L: + return "("; + case Q_TOKEN.QTK_PARENTH_R: + return ")"; + case Q_TOKEN.QTK_BRACE_L: + return "{"; + case Q_TOKEN.QTK_BRACE_R: + return "}"; + case Q_TOKEN.QTK_BRACKET_L: + return "["; + case Q_TOKEN.QTK_BRACKET_R: + return "]"; + case Q_TOKEN.QTK_COLON: + return ":"; + case Q_TOKEN.QTK_SEMICOLON: + return ";"; + case Q_TOKEN.QTK_W_COLON: + return "::"; + case Q_TOKEN.QTK_COMMA: + return ","; + case Q_TOKEN.QTK_POINT: + return "."; + case Q_TOKEN.QTK_W_QUOT: + return "\""; + case Q_TOKEN.QTK_S_QUOT: + return "'"; + case Q_TOKEN.QTK_EQU: + return "="; + case Q_TOKEN.QTK_EXCLAM: + return "!"; + case Q_TOKEN.QTK_PLUS: + return "+"; + case Q_TOKEN.QTK_MINUS: + return "-"; + case Q_TOKEN.QTK_ASTERISK: + return "*"; + case Q_TOKEN.QTK_SLASH: + return "/"; + case Q_TOKEN.QTK_W_PLUS: + return "++"; + case Q_TOKEN.QTK_W_MINUS: + return "--"; + case Q_TOKEN.QTK_PLUS_EQU: + return "+="; + case Q_TOKEN.QTK_MINUS_EQU: + return "-="; + case Q_TOKEN.QTK_ASTERISK_EQU: + return "*="; + case Q_TOKEN.QTK_SLASH_EQU: + return "/="; + case Q_TOKEN.QTK_W_EQU: + return "=="; + case Q_TOKEN.QTK_NOTEQU: + return "!="; + case Q_TOKEN.QTK_LESS: + return "<"; + case Q_TOKEN.QTK_GRAT: + return ">"; + case Q_TOKEN.QTK_LESS_EQU: + return "<="; + case Q_TOKEN.QTK_GRAT_EQU: + return ">="; + case Q_TOKEN.QTK_OR: + return "|"; + case Q_TOKEN.QTK_AND: + return "&"; + case Q_TOKEN.QTK_W_AND: + return "&&"; + case Q_TOKEN.QTK_W_OR: + return "||"; + case Q_TOKEN.QTK_YEN: + return "\\"; + case Q_TOKEN.QTK_AMARK: + return "@"; + case Q_TOKEN.QTK_SHARP: + return "#"; + case Q_TOKEN.QTK_QUESTION: + return "?"; + case Q_TOKEN.QTK_DOLLAR: + return "$"; + case Q_TOKEN.QTK_PERCENT: + return "%"; + case Q_TOKEN.QTK_REM_L: + return "/*"; + case Q_TOKEN.QTK_REM_R: + return "*/"; + case Q_TOKEN.QTK_W_SLASH: + return "//"; + case Q_TOKEN.QTK_PER_EQU: + return "%="; + default: + return null; + } + } + + // Token: 0x06000493 RID: 1171 RVA: 0x00010FEC File Offset: 0x0000F1EC + public virtual Q_TOKEN Scan() + { + this.RESET_ID(); + while (!this.IsEnd()) + { + char now = this.NOW; + switch (now) + { + case ' ': + this._NEXT(); + break; + default: + switch (now) + { + case ';': + this._NEXT(); + return Q_TOKEN.QTK_SEMICOLON; + default: + switch (now) + { + case '[': + this._NEXT(); + return Q_TOKEN.QTK_BRACKET_L; + case '\\': + this._NEXT(); + return Q_TOKEN.QTK_YEN; + case ']': + this._NEXT(); + return Q_TOKEN.QTK_BRACKET_R; + case '^': + this._NEXT(); + return Q_TOKEN.QTK_OTHER_SYM; + default: + switch (now) + { + case '\t': + this._NEXT(); + break; + case '\n': + this._NEXT(); + return Q_TOKEN.QTK_RETURN; + default: + switch (now) + { + case '{': + this._NEXT(); + return Q_TOKEN.QTK_BRACE_L; + default: + { + if (now == '\0') + { + return Q_TOKEN.QTK_END; + } + if (now == '・') + { + this._NEXT(); + return Q_TOKEN.QTK_OTHER_SYM; + } + Q_TOKEN q_TOKEN = this.ScanWSym(); + if (q_TOKEN != Q_TOKEN.QTK_ERROR) + { + return q_TOKEN; + } + if (!this.IsAfterEnd() && this.NOW == '0' && (this.AFTER == 'x' || this.AFTER == 'X')) + { + this._NEXT2(); + return this.ScanHex(); + } + if (char.IsDigit(this.NOW)) + { + return this.ScanNum(); + } + return this.ScanId(); + } + case '}': + this._NEXT(); + return Q_TOKEN.QTK_BRACE_R; + } + break; + case '\r': + if (this.AFTER == '\n') + { + this._NEXT2(); + return Q_TOKEN.QTK_RETURN; + } + this._NEXT(); + return Q_TOKEN.QTK_RETURN; + } + break; + case '`': + this._NEXT(); + return Q_TOKEN.QTK_OTHER_SYM; + } + break; + case '?': + this._NEXT(); + return Q_TOKEN.QTK_QUESTION; + case '@': + this._NEXT(); + return Q_TOKEN.QTK_AMARK; + } + break; + case '"': + this._NEXT(); + return Q_TOKEN.QTK_W_QUOT; + case '#': + this._NEXT(); + return Q_TOKEN.QTK_SHARP; + case '$': + this._NEXT(); + return Q_TOKEN.QTK_DOLLAR; + case '\'': + this._NEXT(); + return Q_TOKEN.QTK_S_QUOT; + case '(': + this._NEXT(); + return Q_TOKEN.QTK_PARENTH_L; + case ')': + this._NEXT(); + return Q_TOKEN.QTK_PARENTH_R; + case ',': + this._NEXT(); + return Q_TOKEN.QTK_COMMA; + case '.': + this._NEXT(); + return Q_TOKEN.QTK_POINT; + } + } + return Q_TOKEN.QTK_END; + } + + // Token: 0x06000494 RID: 1172 RVA: 0x00011254 File Offset: 0x0000F454 + public virtual Q_TOKEN ScanString() + { + this.RESET_ID(); + while (this.NOW != '"') + { + if (this.IsEnd()) + { + this.END_ID(); + return Q_TOKEN.QTK_ERROR; + } + if (this.NOW == '\n' || this.NOW == '\r' || this.NOW == '\0') + { + this.END_ID(); + return Q_TOKEN.QTK_ERROR; + } + if (this._NEXT()) + { + IL_7D: + this.END_ID(); + return Q_TOKEN.QTK_STR; + } + } + if (this.INC_READPTR) + { + goto IL_7D; + } + goto IL_7D; + } + + // Token: 0x06000495 RID: 1173 RVA: 0x000112E8 File Offset: 0x0000F4E8 + public virtual Q_TOKEN ScanString(Q_TOKEN nEndTk) + { + string tokenChar = this.GetTokenChar(nEndTk); + if (tokenChar == null) + { + return Q_TOKEN.QTK_ERROR; + } + this.RESET_ID(); + for (;;) + { + if (this.NOW == tokenChar[0]) + { + if (tokenChar.Length <= 1) + { + goto IL_7B; + } + if (!this.IsAfterEnd() && this.AFTER == tokenChar[1]) + { + break; + } + } + if (this.IsEnd()) + { + goto Block_9; + } + if (this.NOW == '\n' || this.NOW == '\r' || this.NOW == '\0') + { + goto IL_C8; + } + if (this._NEXT()) + { + goto Block_12; + } + } + if (this.INC_READPTR) + { + goto IL_E5; + } + if (this.INC_READPTR) + { + goto IL_E5; + } + goto IL_E5; + IL_7B: + if (this.INC_READPTR) + { + goto IL_E5; + } + goto IL_E5; + Block_9: + this.RESET_ID(); + return Q_TOKEN.QTK_ERROR; + IL_C8: + this.RESET_ID(); + return Q_TOKEN.QTK_ERROR; + Block_12: + IL_E5: + this.RESET_ID(); + return Q_TOKEN.QTK_STR; + } + + // Token: 0x06000496 RID: 1174 RVA: 0x000113E4 File Offset: 0x0000F5E4 + public virtual bool LineSkip() + { + while (this.NOW != '\n') + { + if (this.NOW == '\r') + { + if (!this.INC_READPTR) + { + if (this.NOW == '\n' && this.INC_READPTR) + { + } + } + } + else if (this.NOW != '\0') + { + if (!this.INC_READPTR) + { + continue; + } + } + return true; + } + if (this.INC_READPTR) + { + return true; + } + return true; + } + + // Token: 0x06000497 RID: 1175 RVA: 0x00011478 File Offset: 0x0000F678 + public virtual Q_TOKEN GetLineText() + { + this.RESET_ID(); + while (this.NOW != '\n') + { + if (this.NOW == '\r') + { + if (!this.INC_READPTR) + { + if (this.NOW == '\n' && this.INC_READPTR) + { + } + } + } + else if (this.NOW != '\0') + { + if (!this._NEXT()) + { + continue; + } + } + IL_8C: + this.RESET_ID(); + return Q_TOKEN.QTK_STR; + } + if (this.INC_READPTR) + { + goto IL_8C; + } + goto IL_8C; + } + + // Token: 0x06000498 RID: 1176 RVA: 0x00011518 File Offset: 0x0000F718 + private void RESET_ID() + { + this.END_ID(); + this.m_nowIdBuff = string.Empty; + } + + // Token: 0x06000499 RID: 1177 RVA: 0x0001152C File Offset: 0x0000F72C + private void ADD_ID() + { + this.m_nowIdBuff += this.Buf[this.m_iRead]; + this.m_isAddYet = true; + } + + // Token: 0x0600049A RID: 1178 RVA: 0x00011568 File Offset: 0x0000F768 + private void END_ID() + { + if (this.m_isAddYet) + { + this.m_pIdBuff.Add(this.m_nowIdBuff); + } + this.m_isAddYet = false; + } + + // Token: 0x04000368 RID: 872 + private string Buf; + + // Token: 0x04000369 RID: 873 + protected int m_iRead; + + // Token: 0x0400036A RID: 874 + protected bool m_bWSym; + + // Token: 0x0400036B RID: 875 + protected bool m_bUpper; + + // Token: 0x0400036C RID: 876 + protected List m_pIdBuff; + + // Token: 0x0400036D RID: 877 + private string m_nowIdBuff; + + // Token: 0x0400036E RID: 878 + private bool m_isAddYet; + + // Token: 0x0400036F RID: 879 + protected List m_pSum; + + // Token: 0x04000370 RID: 880 + protected List m_pKeywords; + + // Token: 0x04000371 RID: 881 + protected int m_nKeywordsTopNum; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/QK3_ERROR.cs b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_ERROR.cs new file mode 100644 index 000000000..a6822c459 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_ERROR.cs @@ -0,0 +1,33 @@ +using System; + +namespace NsQT +{ + // Token: 0x02000099 RID: 153 + public enum QK3_ERROR + { + // Token: 0x0400030B RID: 779 + QK3_ERROR_NULL, + // Token: 0x0400030C RID: 780 + QK3_ERROR_TOKEN, + // Token: 0x0400030D RID: 781 + QK3_ERROR_ID, + // Token: 0x0400030E RID: 782 + QK3_ERROR_PARENTH_END, + // Token: 0x0400030F RID: 783 + QK3_ERROR_BRACKET_END, + // Token: 0x04000310 RID: 784 + QK3_ERROR_FUNC_BEGIN, + // Token: 0x04000311 RID: 785 + QK3_ERROR_FUNC_END, + // Token: 0x04000312 RID: 786 + QK3_ERROR_FUNC_PARAM_OVER, + // Token: 0x04000313 RID: 787 + QK3_ERROR_FUNC_CALLFUNC, + // Token: 0x04000314 RID: 788 + QK3_ERROR_SCAN_STRING, + // Token: 0x04000315 RID: 789 + QK3_ERROR_ARRAY_INDEX_INT, + // Token: 0x04000316 RID: 790 + QK3_ERROR_MAX + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/QK3_IDTYPE.cs b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_IDTYPE.cs new file mode 100644 index 000000000..c2361ea77 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_IDTYPE.cs @@ -0,0 +1,15 @@ +using System; + +namespace NsQT +{ + // Token: 0x0200009A RID: 154 + public enum QK3_IDTYPE + { + // Token: 0x04000318 RID: 792 + QK3_IDTYPE_NULL, + // Token: 0x04000319 RID: 793 + QK3_IDTYPE_VAR, + // Token: 0x0400031A RID: 794 + QK3_IDTYPE_FUNC + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/QK3_ITEMINFO.cs b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_ITEMINFO.cs new file mode 100644 index 000000000..c3239c984 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_ITEMINFO.cs @@ -0,0 +1,25 @@ +using System; + +namespace NsQT +{ + // Token: 0x0200009B RID: 155 + public struct QK3_ITEMINFO + { + // Token: 0x0600044D RID: 1101 RVA: 0x0000F6D4 File Offset: 0x0000D8D4 + public void Clear() + { + this.nId = 0; + this.nType = 0; + this.nIndex = 0; + } + + // Token: 0x0400031B RID: 795 + public int nType; + + // Token: 0x0400031C RID: 796 + public int nId; + + // Token: 0x0400031D RID: 797 + public int nIndex; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/QK3_NODETYPE.cs b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_NODETYPE.cs new file mode 100644 index 000000000..2c5ee7bb6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_NODETYPE.cs @@ -0,0 +1,13 @@ +using System; + +namespace NsQT +{ + // Token: 0x0200009D RID: 157 + public enum QK3_NODETYPE + { + // Token: 0x04000328 RID: 808 + INT, + // Token: 0x04000329 RID: 809 + STR + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/QK3_OP.cs b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_OP.cs new file mode 100644 index 000000000..a3c1f060e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/QK3_OP.cs @@ -0,0 +1,79 @@ +using System; + +namespace NsQT +{ + // Token: 0x02000098 RID: 152 + public enum QK3_OP + { + // Token: 0x040002E7 RID: 743 + QK3_OP_NULL, + // Token: 0x040002E8 RID: 744 + QK3_OP_AND, + // Token: 0x040002E9 RID: 745 + QK3_OP_OR, + // Token: 0x040002EA RID: 746 + QK3_OP_CMP_E, + // Token: 0x040002EB RID: 747 + QK3_OP_CMP_NE, + // Token: 0x040002EC RID: 748 + QK3_OP_CMP_L, + // Token: 0x040002ED RID: 749 + QK3_OP_CMP_G, + // Token: 0x040002EE RID: 750 + QK3_OP_CMP_LE, + // Token: 0x040002EF RID: 751 + QK3_OP_CMP_GE, + // Token: 0x040002F0 RID: 752 + QK3_OP_ADD, + // Token: 0x040002F1 RID: 753 + QK3_OP_SUB, + // Token: 0x040002F2 RID: 754 + QK3_OP_MUL, + // Token: 0x040002F3 RID: 755 + QK3_OP_DIV, + // Token: 0x040002F4 RID: 756 + QK3_OP_MOD, + // Token: 0x040002F5 RID: 757 + QK3_OP_BLOCK_L, + // Token: 0x040002F6 RID: 758 + QK3_OP_BLOCK_R, + // Token: 0x040002F7 RID: 759 + QK3_OP_IDX_L, + // Token: 0x040002F8 RID: 760 + QK3_OP_IDX_R, + // Token: 0x040002F9 RID: 761 + QK3_OP_FUNC_L, + // Token: 0x040002FA RID: 762 + QK3_OP_FUNC_R, + // Token: 0x040002FB RID: 763 + QK3_OP_MINUS, + // Token: 0x040002FC RID: 764 + QK3_OP_PLUS, + // Token: 0x040002FD RID: 765 + QK3_OP_NOT, + // Token: 0x040002FE RID: 766 + QK3_OP_SET, + // Token: 0x040002FF RID: 767 + QK3_OP_SET_ADD, + // Token: 0x04000300 RID: 768 + QK3_OP_SET_SUB, + // Token: 0x04000301 RID: 769 + QK3_OP_SET_MUL, + // Token: 0x04000302 RID: 770 + QK3_OP_SET_DIV, + // Token: 0x04000303 RID: 771 + QK3_OP_SET_MOD, + // Token: 0x04000304 RID: 772 + QK3_OP_SET_INC, + // Token: 0x04000305 RID: 773 + QK3_OP_SET_DEC, + // Token: 0x04000306 RID: 774 + QK3_OP_PARAMS, + // Token: 0x04000307 RID: 775 + QK3_OP_STR_BEGIN, + // Token: 0x04000308 RID: 776 + QK3_OP_STR_END, + // Token: 0x04000309 RID: 777 + QK3_OP_MAX + } +} diff --git a/Assets/Scripts/Assembly-CSharp/NsQT/Q_TOKEN.cs b/Assets/Scripts/Assembly-CSharp/NsQT/Q_TOKEN.cs new file mode 100644 index 000000000..d99321e39 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/NsQT/Q_TOKEN.cs @@ -0,0 +1,125 @@ +using System; + +namespace NsQT +{ + // Token: 0x0200009F RID: 159 + public enum Q_TOKEN + { + // Token: 0x0400032E RID: 814 + QTK_ERROR, + // Token: 0x0400032F RID: 815 + QTK_NUM, + // Token: 0x04000330 RID: 816 + QTK_HEXNUM, + // Token: 0x04000331 RID: 817 + QTK_ID, + // Token: 0x04000332 RID: 818 + QTK_STR, + // Token: 0x04000333 RID: 819 + QTK_END, + // Token: 0x04000334 RID: 820 + QTK_SPACE, + // Token: 0x04000335 RID: 821 + QTK_RETURN, + // Token: 0x04000336 RID: 822 + QTK_PARENTH_L, + // Token: 0x04000337 RID: 823 + QTK_PARENTH_R, + // Token: 0x04000338 RID: 824 + QTK_BRACE_L, + // Token: 0x04000339 RID: 825 + QTK_BRACE_R, + // Token: 0x0400033A RID: 826 + QTK_BRACKET_L, + // Token: 0x0400033B RID: 827 + QTK_BRACKET_R, + // Token: 0x0400033C RID: 828 + QTK_COLON, + // Token: 0x0400033D RID: 829 + QTK_SEMICOLON, + // Token: 0x0400033E RID: 830 + QTK_W_COLON, + // Token: 0x0400033F RID: 831 + QTK_COMMA, + // Token: 0x04000340 RID: 832 + QTK_POINT, + // Token: 0x04000341 RID: 833 + QTK_W_QUOT, + // Token: 0x04000342 RID: 834 + QTK_S_QUOT, + // Token: 0x04000343 RID: 835 + QTK_EQU, + // Token: 0x04000344 RID: 836 + QTK_EXCLAM, + // Token: 0x04000345 RID: 837 + QTK_PLUS, + // Token: 0x04000346 RID: 838 + QTK_MINUS, + // Token: 0x04000347 RID: 839 + QTK_ASTERISK, + // Token: 0x04000348 RID: 840 + QTK_SLASH, + // Token: 0x04000349 RID: 841 + QTK_W_PLUS, + // Token: 0x0400034A RID: 842 + QTK_W_MINUS, + // Token: 0x0400034B RID: 843 + QTK_PLUS_EQU, + // Token: 0x0400034C RID: 844 + QTK_MINUS_EQU, + // Token: 0x0400034D RID: 845 + QTK_ASTERISK_EQU, + // Token: 0x0400034E RID: 846 + QTK_SLASH_EQU, + // Token: 0x0400034F RID: 847 + QTK_W_EQU, + // Token: 0x04000350 RID: 848 + QTK_NOTEQU, + // Token: 0x04000351 RID: 849 + QTK_LESS, + // Token: 0x04000352 RID: 850 + QTK_GRAT, + // Token: 0x04000353 RID: 851 + QTK_LESS_EQU, + // Token: 0x04000354 RID: 852 + QTK_GRAT_EQU, + // Token: 0x04000355 RID: 853 + QTK_OR, + // Token: 0x04000356 RID: 854 + QTK_AND, + // Token: 0x04000357 RID: 855 + QTK_W_AND, + // Token: 0x04000358 RID: 856 + QTK_W_OR, + // Token: 0x04000359 RID: 857 + QTK_YEN, + // Token: 0x0400035A RID: 858 + QTK_AMARK, + // Token: 0x0400035B RID: 859 + QTK_SHARP, + // Token: 0x0400035C RID: 860 + QTK_QUESTION, + // Token: 0x0400035D RID: 861 + QTK_DOLLAR, + // Token: 0x0400035E RID: 862 + QTK_PERCENT, + // Token: 0x0400035F RID: 863 + QTK_REM_L, + // Token: 0x04000360 RID: 864 + QTK_REM_R, + // Token: 0x04000361 RID: 865 + QTK_W_SLASH, + // Token: 0x04000362 RID: 866 + QTK_PER_EQU, + // Token: 0x04000363 RID: 867 + QTK_OTHER_SYM, + // Token: 0x04000364 RID: 868 + QTK_1BYTECHAR, + // Token: 0x04000365 RID: 869 + QTK_2BYTECHAR, + // Token: 0x04000366 RID: 870 + QTK_MAX, + // Token: 0x04000367 RID: 871 + QTK_USER = 256 + } +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionBackWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionBackWindow.cs new file mode 100644 index 000000000..856971759 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionBackWindow.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using Qoo.Input; +using UnityEngine; + +// Token: 0x0200011D RID: 285 +public class OptionBackWindow : OptionBaseWindow +{ + // Token: 0x06000793 RID: 1939 RVA: 0x000205AC File Offset: 0x0001E7AC + private void OnClose() + { + GameObject gameObject = GameObject.Find(UIValue.SCENE_ADVMENU + "/Wnd"); + SubTaskBaseWindow component = gameObject.GetComponent(); + component.IsTaskEnd = true; + base.DeleteLastAddScene(); + ScreenEffect.Term(); + } + + // Token: 0x06000794 RID: 1940 RVA: 0x000205E8 File Offset: 0x0001E7E8 + protected override OptionBaseWindow.OptionType GetOptionType() + { + return OptionBaseWindow.OptionType.Back; + } + + // Token: 0x06000795 RID: 1941 RVA: 0x000205EC File Offset: 0x0001E7EC + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/sysmenu/skip_3", + "screen/sysmenu/skip_4" + }; + } + + // Token: 0x06000796 RID: 1942 RVA: 0x00020614 File Offset: 0x0001E814 + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -50f; + base.transform.parent.localPosition = localPosition; + } + + // Token: 0x06000797 RID: 1943 RVA: 0x00020650 File Offset: 0x0001E850 + protected sealed override void AfterInit() + { + } + + // Token: 0x06000798 RID: 1944 RVA: 0x00020654 File Offset: 0x0001E854 + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + } + + // Token: 0x06000799 RID: 1945 RVA: 0x0002065C File Offset: 0x0001E85C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIButton("NextNodeSkip", 305, 139, this.wndz + 1, "screen/sysmenu/skip_3", true, true, 1, 2, 0), + new BaseWindow.UIButton("AutoSkip", 305, 268, this.wndz + 1, "screen/sysmenu/skip_4", true, true, 1, 2, 0) + }; + } + + // Token: 0x0600079A RID: 1946 RVA: 0x000206E4 File Offset: 0x0001E8E4 + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (obj != null) + { + if (OptionBackWindow.<>f__switch$mapF == null) + { + OptionBackWindow.<>f__switch$mapF = new Dictionary(2) + { + { + "NextNodeSkip", + 0 + }, + { + "AutoSkip", + 1 + } + }; + } + int num; + if (OptionBackWindow.<>f__switch$mapF.TryGetValue(obj, out num)) + { + if (num != 0) + { + if (num == 1) + { + base.PlaySE_Ok(); + KsInput.SetSkip(false); + this.OnClose(); + } + } + else + { + base.PlaySE_Ok(); + KsInput.SetJump(false); + this.OnClose(); + } + } + } + base.OnBaseWindowOnButton(obj); + } + + // Token: 0x040006C8 RID: 1736 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionBaseWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionBaseWindow.cs new file mode 100644 index 000000000..9a01a1f88 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionBaseWindow.cs @@ -0,0 +1,331 @@ +using System; +using Game; +using Qoo.Game; +using UnityEngine; + +// Token: 0x020000EB RID: 235 +public abstract class OptionBaseWindow : BaseWindow +{ + // Token: 0x0600065C RID: 1628 + protected abstract OptionBaseWindow.OptionType GetOptionType(); + + // Token: 0x0600065D RID: 1629 RVA: 0x0001A71C File Offset: 0x0001891C + public void BackupOptionValue() + { + this.m_OptionValueBackUp.GetSysData(); + } + + // Token: 0x0600065E RID: 1630 RVA: 0x0001A72C File Offset: 0x0001892C + public void RestoreOptionValue() + { + this.m_OptionValueBackUp.SetSysData(); + } + + // Token: 0x0600065F RID: 1631 RVA: 0x0001A73C File Offset: 0x0001893C + public void ResetOptionValue() + { + switch (this.m_OptionType) + { + case OptionBaseWindow.OptionType.Text: + this.ResetTextOptionValue(); + break; + case OptionBaseWindow.OptionType.Screen: + this.ResetScreenOptionValue(); + break; + case OptionBaseWindow.OptionType.Sound: + this.ResetSoundOptionValue(); + break; + case OptionBaseWindow.OptionType.Voice: + this.ResetVoiceOptionValue(); + break; + } + SysData.Apply(); + } + + // Token: 0x06000660 RID: 1632 RVA: 0x0001A79C File Offset: 0x0001899C + public void ResetTextOptionValue() + { + SysData.SetTextSpeed(1); + SysData.SetAutoPage(1); + } + + // Token: 0x06000661 RID: 1633 RVA: 0x0001A7AC File Offset: 0x000189AC + public void ResetScreenOptionValue() + { + SysData.SetEnableLoveAnim(false); + SysData.SetDrawFace(true); + } + + // Token: 0x06000662 RID: 1634 RVA: 0x0001A7BC File Offset: 0x000189BC + public void ResetSoundOptionValue() + { + SysData.SetVolumeBgm(3); + SysData.SetVolumeSe(3); + SysData.SetVolumeSys(3); + } + + // Token: 0x06000663 RID: 1635 RVA: 0x0001A7D0 File Offset: 0x000189D0 + public void ResetVoiceOptionValue() + { + SysData.SetVoiceEnable(true); + for (int i = 0; i < 11; i++) + { + SysData.SetVoiceVolume((CHAR_ID)i, 5); + } + } + + // Token: 0x06000664 RID: 1636 RVA: 0x0001A800 File Offset: 0x00018A00 + private int Step(int value, int[] steps) + { + for (int i = steps.Length - 1; i >= 0; i--) + { + if (value >= steps[i]) + { + return i + 1; + } + } + return 0; + } + + // Token: 0x06000665 RID: 1637 RVA: 0x0001A834 File Offset: 0x00018A34 + private int GetLoveStep(CHAR_ID chara, int love) + { + int result = 0; + switch (chara) + { + case CHAR_ID.BLOOD: + case CHAR_ID.ELLIOT: + case CHAR_ID.DEEDUM: + result = this.Step(love, new int[] + { + 2, + 4, + 6, + 9, + 11 + }); + break; + case CHAR_ID.VIVALDI: + case CHAR_ID.PETER: + case CHAR_ID.ACE: + case CHAR_ID.GOWLAND: + case CHAR_ID.BORIS: + case CHAR_ID.JULIUS: + result = this.Step(love, new int[] + { + 2, + 4, + 6, + 9, + 12 + }); + break; + case CHAR_ID.NIGHTMARE: + result = this.Step(love, new int[] + { + 3, + 4, + 5, + 6, + 7 + }); + break; + } + return result; + } + + // Token: 0x06000666 RID: 1638 RVA: 0x0001A8D4 File Offset: 0x00018AD4 + private void GetLoveStatus() + { + this.m_Route = GameData.GetRoute(); + if (this.m_Route == CHAR_ID.NOTHING) + { + return; + } + this.m_Love = GameData.GetParamInt("love", Chara.GetNameFromId(this.m_Route)); + this.m_LoveStep = this.GetLoveStep(this.m_Route, this.m_Love); + } + + // Token: 0x06000667 RID: 1639 RVA: 0x0001A92C File Offset: 0x00018B2C + private void SaveSysData() + { + SaveLoadManager.SaveSystem(); + } + + // Token: 0x06000668 RID: 1640 RVA: 0x0001A934 File Offset: 0x00018B34 + protected override void OnAwake() + { + base.OnAwake(); + this.m_OptionType = this.GetOptionType(); + this.m_OptionValueBackUp = new OptionBaseWindow.OptionValue(); + this.m_OptionValueBackUp.GetSysData(); + } + + // Token: 0x06000669 RID: 1641 RVA: 0x0001A96C File Offset: 0x00018B6C + protected override string[] newSceneTextureNameArray() + { + this.GetLoveStatus(); + if (this.m_Route == CHAR_ID.NOTHING) + { + return new string[0]; + } + string text = this.m_LoveStep.ToString("sys_lovemark_0"); + string text2 = ((int)(this.m_Route + 1)).ToString("sys_love_cha00"); + return new string[] + { + text, + text2 + }; + } + + // Token: 0x0600066A RID: 1642 RVA: 0x0001A9C8 File Offset: 0x00018BC8 + protected override BaseWindow.UIComponent[] newComponentArray() + { + this.GetLoveStatus(); + if (this.m_Route == CHAR_ID.NOTHING) + { + return new BaseWindow.UIComponent[0]; + } + string fpath_ = this.m_LoveStep.ToString("sys_lovemark_0"); + string fpath_2 = ((int)(this.m_Route + 1)).ToString("sys_love_cha00"); + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("LoveStep", 124, 77, 5, fpath_, false, true), + new BaseWindow.UIImage("Route", 71, 276, 5, fpath_2, false, true) + }; + } + + // Token: 0x0600066B RID: 1643 RVA: 0x0001AA4C File Offset: 0x00018C4C + protected void CreateScreenBackEffect() + { + Color black = Color.black; + black.a = 0.5f; + ScreenEffect.Init(0, black, base.transform); + } + + // Token: 0x0600066C RID: 1644 RVA: 0x0001AA78 File Offset: 0x00018C78 + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + this.CreateScreenBackEffect(); + } + + // Token: 0x0600066D RID: 1645 RVA: 0x0001AA88 File Offset: 0x00018C88 + protected override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "Decide": + base.PlaySE_Ok(); + base.DeleteLastAddScene(); + break; + case "Clear": + base.PlaySE_Cancel(); + this.ResetOptionValue(); + break; + case "Cancel": + case "Close": + base.PlaySE_Cancel(); + this.RestoreOptionValue(); + base.DeleteLastAddScene(); + break; + } + } + + // Token: 0x040005CD RID: 1485 + private OptionBaseWindow.OptionType m_OptionType; + + // Token: 0x040005CE RID: 1486 + private OptionBaseWindow.OptionValue m_OptionValueBackUp; + + // Token: 0x040005CF RID: 1487 + private int m_Love; + + // Token: 0x040005D0 RID: 1488 + private int m_LoveStep; + + // Token: 0x040005D1 RID: 1489 + private CHAR_ID m_Route; + + // Token: 0x020000EC RID: 236 + private class OptionValue + { + // Token: 0x0600066F RID: 1647 RVA: 0x0001AB60 File Offset: 0x00018D60 + public void GetSysData() + { + this.IsLoveAnim = SysData.IsEnableLoveAnim(); + this.IsDrawFace = SysData.IsDrawFace(); + this.TextWait = SysData.GetTextSpeed(); + this.AutoWait = SysData.GetAutoPage(); + this.VolumeBGM = SysData.GetVolumeBgm(); + this.VolumeSE = SysData.GetVolumeSe(); + this.VolumeSYS = SysData.GetVolumeSys(); + this.IsPlayVoice = SysData.IsVoiceEnable(); + for (int i = 0; i < 11; i++) + { + this.VolumeVoice[i] = SysData.GetVoiceVolume((CHAR_ID)i); + } + } + + // Token: 0x06000670 RID: 1648 RVA: 0x0001ABE8 File Offset: 0x00018DE8 + public void SetSysData() + { + SysData.SetEnableLoveAnim(this.IsLoveAnim); + SysData.SetDrawFace(this.IsDrawFace); + SysData.SetTextSpeed(this.TextWait); + SysData.SetAutoPage(this.AutoWait); + SysData.SetVolumeBgm(this.VolumeBGM); + SysData.SetVolumeSe(this.VolumeSE); + SysData.SetVolumeSys(this.VolumeSYS); + SysData.SetVoiceEnable(this.IsPlayVoice); + for (int i = 0; i < 11; i++) + { + SysData.SetVoiceVolume((CHAR_ID)i, this.VolumeVoice[i]); + } + } + + // Token: 0x040005D3 RID: 1491 + public bool IsLoveAnim; + + // Token: 0x040005D4 RID: 1492 + public bool IsDrawFace; + + // Token: 0x040005D5 RID: 1493 + public int TextWait; + + // Token: 0x040005D6 RID: 1494 + public int AutoWait; + + // Token: 0x040005D7 RID: 1495 + public int VolumeBGM; + + // Token: 0x040005D8 RID: 1496 + public int VolumeSE; + + // Token: 0x040005D9 RID: 1497 + public int VolumeSYS; + + // Token: 0x040005DA RID: 1498 + public bool IsPlayVoice; + + // Token: 0x040005DB RID: 1499 + public int[] VolumeVoice = new int[11]; + } + + // Token: 0x020000ED RID: 237 + public enum OptionType + { + // Token: 0x040005DD RID: 1501 + Text, + // Token: 0x040005DE RID: 1502 + Screen, + // Token: 0x040005DF RID: 1503 + Sound, + // Token: 0x040005E0 RID: 1504 + Voice, + // Token: 0x040005E1 RID: 1505 + Back, + // Token: 0x040005E2 RID: 1506 + Skip + } +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionScreenWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionScreenWindow.cs new file mode 100644 index 000000000..4f36e33ed --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionScreenWindow.cs @@ -0,0 +1,132 @@ +using System; +using System.Collections.Generic; +using Qoo.Game; +using UnityEngine; + +// Token: 0x0200011E RID: 286 +public class OptionScreenWindow : OptionBaseWindow +{ + // Token: 0x0600079C RID: 1948 RVA: 0x0002078C File Offset: 0x0001E98C + private void SetLoveAnim(int n) + { + SysData.SetEnableLoveAnim(n == 1); + } + + // Token: 0x0600079D RID: 1949 RVA: 0x00020798 File Offset: 0x0001E998 + private void SetDrawFace(int n) + { + SysData.SetDrawFace(n == 1); + } + + // Token: 0x0600079E RID: 1950 RVA: 0x000207A4 File Offset: 0x0001E9A4 + private void UpdateCursor() + { + ImageObject imageObject = base.GetImageObject("LoveCursor"); + ImageObject imageObject2 = base.GetImageObject("FaceCursor"); + imageObject.UIObject.ScreenX = ((!SysData.IsEnableLoveAnim()) ? 526 : 314); + imageObject2.UIObject.ScreenX = ((!SysData.IsDrawFace()) ? 526 : 314); + imageObject.InitPosition(); + imageObject2.InitPosition(); + } + + // Token: 0x0600079F RID: 1951 RVA: 0x00020820 File Offset: 0x0001EA20 + protected override OptionBaseWindow.OptionType GetOptionType() + { + return OptionBaseWindow.OptionType.Screen; + } + + // Token: 0x060007A0 RID: 1952 RVA: 0x00020824 File Offset: 0x0001EA24 + protected sealed override string[] newSceneTextureNameArray() + { + string[] collection = base.newSceneTextureNameArray(); + string[] collection2 = new string[] + { + "screen/sysmenu/sys_plate", + "screen/sysmenu/sys_btn_10", + "screen/sysmenu/sys_btn_11", + "screen/sysmenu/sys_plate_love", + "screen/sysmenu/sys_plate_face", + "screen/sysmenu/sys_check", + "screen/common/cancel" + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007A1 RID: 1953 RVA: 0x00020894 File Offset: 0x0001EA94 + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -50f; + base.transform.parent.localPosition = localPosition; + } + + // Token: 0x060007A2 RID: 1954 RVA: 0x000208D0 File Offset: 0x0001EAD0 + protected sealed override void AfterInit() + { + this.UpdateCursor(); + } + + // Token: 0x060007A3 RID: 1955 RVA: 0x000208D8 File Offset: 0x0001EAD8 + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + } + + // Token: 0x060007A4 RID: 1956 RVA: 0x000208E0 File Offset: 0x0001EAE0 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + BaseWindow.UIComponent[] collection = base.newComponentArray(); + BaseWindow.UIComponent[] collection2 = new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UICollision("LoveON", 321, 178, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("LoveOFF", 533, 178, this.wndz + 4, 88, 34), + new BaseWindow.UICollision("FaceON", 321, 300, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("FaceOFF", 533, 300, this.wndz + 4, 88, 34), + new BaseWindow.UIImage("BackGround", 153, 68, this.wndz + 1, "screen/sysmenu/sys_plate", true, true), + new BaseWindow.UIButton("Clear", 208, 380, this.wndz + 2, "screen/sysmenu/sys_btn_10", true, true, 1, 2, 0), + new BaseWindow.UIButton("Decide", 686, 380, this.wndz + 2, "screen/sysmenu/sys_btn_11", true, true, 1, 2, 0), + new BaseWindow.UIButton("Cancel", 715, 73, this.wndz + 2, "screen/common/cancel", true, true, 1, 2, 0), + new BaseWindow.UIImage("Love", 225, 129, this.wndz + 2, "screen/sysmenu/sys_plate_love", false, true), + new BaseWindow.UIImage("Face", 225, 251, this.wndz + 2, "screen/sysmenu/sys_plate_face", false, true), + new BaseWindow.UIImage("LoveCursor", 314, 182, this.wndz + 3, "screen/sysmenu/sys_check", false, true), + new BaseWindow.UIImage("FaceCursor", 314, 304, this.wndz + 3, "screen/sysmenu/sys_check", false, true) + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007A5 RID: 1957 RVA: 0x00020AF8 File Offset: 0x0001ECF8 + protected sealed override void OnBaseWindowOnButton(string obj) + { + base.OnBaseWindowOnButton(obj); + switch (obj) + { + case "LoveOFF": + base.PlaySE_Select(); + this.SetLoveAnim(0); + break; + case "LoveON": + base.PlaySE_Select(); + this.SetLoveAnim(1); + break; + case "FaceOFF": + base.PlaySE_Select(); + this.SetDrawFace(0); + break; + case "FaceON": + base.PlaySE_Select(); + this.SetDrawFace(1); + break; + } + this.UpdateCursor(); + } + + // Token: 0x040006CA RID: 1738 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionSkipWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionSkipWindow.cs new file mode 100644 index 000000000..153e6f7fd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionSkipWindow.cs @@ -0,0 +1,150 @@ +using System; +using Qoo.Def; +using Qoo.Game; +using Qoo.Input; +using UnityEngine; + +// Token: 0x0200011F RID: 287 +public class OptionSkipWindow : OptionBaseWindow +{ + // Token: 0x060007A7 RID: 1959 RVA: 0x00020BE0 File Offset: 0x0001EDE0 + private bool IsSkipReadOnly() + { + return SysData.GetSkip() == SKIP_MODE.READ; + } + + // Token: 0x060007A8 RID: 1960 RVA: 0x00020BEC File Offset: 0x0001EDEC + private int GetSkipTypePosition() + { + return (!this.IsSkipReadOnly()) ? 540 : 318; + } + + // Token: 0x060007A9 RID: 1961 RVA: 0x00020C08 File Offset: 0x0001EE08 + private void UpdateSkipTypeUI() + { + ImageObject imageObject = base.GetImageObject("Check"); + imageObject.UIObject.ScreenX = this.GetSkipTypePosition(); + imageObject.InitPosition(); + } + + // Token: 0x060007AA RID: 1962 RVA: 0x00020C38 File Offset: 0x0001EE38 + private void OnSkipTypeSwitch(bool isReadOnly) + { + if (isReadOnly) + { + SysData.SetSkip(1); + } + else + { + SysData.SetSkip(2); + } + } + + // Token: 0x060007AB RID: 1963 RVA: 0x00020C54 File Offset: 0x0001EE54 + private void OnClose() + { + GameObject gameObject = GameObject.Find(UIValue.SCENE_ADVMENU + "/Wnd"); + SubTaskBaseWindow component = gameObject.GetComponent(); + component.IsTaskEnd = true; + base.DeleteLastAddScene(); + ScreenEffect.Term(); + } + + // Token: 0x060007AC RID: 1964 RVA: 0x00020C90 File Offset: 0x0001EE90 + private void OnNextNodeSkip() + { + KsInput.SetJump(true); + } + + // Token: 0x060007AD RID: 1965 RVA: 0x00020C98 File Offset: 0x0001EE98 + private void OnAutoSkip() + { + KsInput.SetSkip(true); + } + + // Token: 0x060007AE RID: 1966 RVA: 0x00020CA0 File Offset: 0x0001EEA0 + protected override OptionBaseWindow.OptionType GetOptionType() + { + return OptionBaseWindow.OptionType.Skip; + } + + // Token: 0x060007AF RID: 1967 RVA: 0x00020CA4 File Offset: 0x0001EEA4 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/sysmenu/skip_1", + "screen/sysmenu/skip_2", + "screen/sysmenu/skip_5", + "screen/sysmenu/sys_check" + }; + } + + // Token: 0x060007B0 RID: 1968 RVA: 0x00020CDC File Offset: 0x0001EEDC + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -50f; + base.transform.parent.localPosition = localPosition; + } + + // Token: 0x060007B1 RID: 1969 RVA: 0x00020D18 File Offset: 0x0001EF18 + protected sealed override void AfterInit() + { + } + + // Token: 0x060007B2 RID: 1970 RVA: 0x00020D1C File Offset: 0x0001EF1C + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + this.UpdateSkipTypeUI(); + } + + // Token: 0x060007B3 RID: 1971 RVA: 0x00020D2C File Offset: 0x0001EF2C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + int skipTypePosition = this.GetSkipTypePosition(); + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UICollision("READ", 350, 80, this.wndz + 2, 115, 45), + new BaseWindow.UICollision("ALL", 570, 80, this.wndz + 2, 115, 45), + new BaseWindow.UIButton("NextNodeSkip", 305, 139, this.wndz + 1, "screen/sysmenu/skip_1", true, true, 1, 2, 0), + new BaseWindow.UIButton("AutoSkip", 305, 268, this.wndz + 1, "screen/sysmenu/skip_2", true, true, 1, 2, 0), + new BaseWindow.UIImage("READ_ALL", 305, 15, this.wndz + 1, "screen/sysmenu/skip_5", true, true), + new BaseWindow.UIImage("Check", skipTypePosition, 87, this.wndz + 1, "screen/sysmenu/sys_check", true, true) + }; + } + + // Token: 0x060007B4 RID: 1972 RVA: 0x00020E3C File Offset: 0x0001F03C + protected sealed override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "NextNodeSkip": + base.PlaySE_Ok(); + this.OnNextNodeSkip(); + this.OnClose(); + break; + case "AutoSkip": + base.PlaySE_Ok(); + this.OnAutoSkip(); + this.OnClose(); + break; + case "READ": + base.PlaySE_Select(); + this.OnSkipTypeSwitch(true); + this.UpdateSkipTypeUI(); + break; + case "ALL": + base.PlaySE_Select(); + this.OnSkipTypeSwitch(false); + this.UpdateSkipTypeUI(); + break; + } + base.OnBaseWindowOnButton(obj); + } + + // Token: 0x040006CC RID: 1740 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionSoundItems.cs b/Assets/Scripts/Assembly-CSharp/OptionSoundItems.cs new file mode 100644 index 000000000..2ba46d8c8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionSoundItems.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x020000EE RID: 238 +public class OptionSoundItems : MonoBehaviour +{ + // Token: 0x170000D9 RID: 217 + // (get) Token: 0x06000672 RID: 1650 RVA: 0x0001AC84 File Offset: 0x00018E84 + public List ListGameObjects + { + get + { + return this.UIGameObjects; + } + } + + // Token: 0x06000673 RID: 1651 RVA: 0x0001AC8C File Offset: 0x00018E8C + public static OptionSoundItems Create(Transform parent = null) + { + return new GameObject("OptionSoundItems") + { + transform = + { + parent = parent, + localPosition = default(Vector3) + } + }.AddComponent(); + } + + // Token: 0x06000674 RID: 1652 RVA: 0x0001ACCC File Offset: 0x00018ECC + public void ResetMeter() + { + this.m_MeterBGM.Init(373, 29, SoundOptionType.BGM); + this.m_MeterSE.Init(373, 29, SoundOptionType.SE); + this.m_MeterSystem.Init(373, 29, SoundOptionType.SYSTEM); + } + + // Token: 0x06000675 RID: 1653 RVA: 0x0001AD14 File Offset: 0x00018F14 + public void AddItem(SoundOptionType type, GameObject label, GameObject meter, GameObject frame) + { + label.transform.parent = base.transform; + meter.transform.parent = base.transform; + frame.transform.parent = base.transform; + OptionSoundMeter optionSoundMeter = meter.AddComponent(); + switch (type) + { + case SoundOptionType.BGM: + this.m_MeterBGM = optionSoundMeter; + break; + case SoundOptionType.SE: + this.m_MeterSE = optionSoundMeter; + break; + case SoundOptionType.SYSTEM: + this.m_MeterSystem = optionSoundMeter; + break; + } + } + + // Token: 0x06000676 RID: 1654 RVA: 0x0001AD9C File Offset: 0x00018F9C + public void Init() + { + this.ResetMeter(); + } + + // Token: 0x040005E3 RID: 1507 + private List UIGameObjects = new List(); + + // Token: 0x040005E4 RID: 1508 + private OptionSoundMeter m_MeterBGM; + + // Token: 0x040005E5 RID: 1509 + private OptionSoundMeter m_MeterSE; + + // Token: 0x040005E6 RID: 1510 + private OptionSoundMeter m_MeterSystem; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionSoundMeter.cs b/Assets/Scripts/Assembly-CSharp/OptionSoundMeter.cs new file mode 100644 index 000000000..6af2ff6e0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionSoundMeter.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections; +using Qoo.Game; +using UnityEngine; + +// Token: 0x020000EF RID: 239 +public class OptionSoundMeter : Meter +{ + // Token: 0x06000678 RID: 1656 RVA: 0x0001ADAC File Offset: 0x00018FAC + public void Init(int width, int height, SoundOptionType type) + { + this.m_Type = type; + switch (this.m_Type) + { + case SoundOptionType.BGM: + this.m_Value = SysData.GetVolumeBgm(); + break; + case SoundOptionType.SE: + this.m_Value = SysData.GetVolumeSe(); + break; + case SoundOptionType.SYSTEM: + this.m_Value = SysData.GetVolumeSys(); + break; + } + base.Init(); + } + + // Token: 0x06000679 RID: 1657 RVA: 0x0001AE14 File Offset: 0x00019014 + protected override IEnumerator WaitLoadTextureCoroutine() + { + while (base.gameObject.renderer.material.mainTexture == null) + { + yield return 0; + } + this.UpdateMeter((float)this.m_Value / 5f); + yield break; + } + + // Token: 0x0600067A RID: 1658 RVA: 0x0001AE30 File Offset: 0x00019030 + public override void OnEdit(float value) + { + float num = value * 5f; + if (num > 0f && num < 1f) + { + num = 1f; + } + else + { + num = Mathf.Round(num); + } + if (this.m_Value != (int)num) + { + this.UpdateVolume((int)num); + } + } + + // Token: 0x0600067B RID: 1659 RVA: 0x0001AE84 File Offset: 0x00019084 + private void UpdateVolume(int volume) + { + this.m_Value = volume; + switch (this.m_Type) + { + case SoundOptionType.BGM: + SysData.SetVolumeBgm(this.m_Value); + break; + case SoundOptionType.SE: + SysData.SetVolumeSe(this.m_Value); + break; + case SoundOptionType.SYSTEM: + SysData.SetVolumeSys(this.m_Value); + break; + } + SysData.Apply(); + } + + // Token: 0x0600067C RID: 1660 RVA: 0x0001AEEC File Offset: 0x000190EC + public override void OnEditEnd() + { + this.UpdateMeter((float)this.m_Value / 5f); + } + + // Token: 0x040005E7 RID: 1511 + private SoundOptionType m_Type; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionSoundWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionSoundWindow.cs new file mode 100644 index 000000000..d92919a4b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionSoundWindow.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using Qoo.Game; +using UnityEngine; + +// Token: 0x02000120 RID: 288 +public class OptionSoundWindow : OptionBaseWindow +{ + // Token: 0x060007B6 RID: 1974 RVA: 0x00020F34 File Offset: 0x0001F134 + private void MeterUpdate() + { + GameObject gameObject = base.GetGameObject("OptionSoundItems"); + OptionSoundItems component = gameObject.GetComponent(); + component.ResetMeter(); + } + + // Token: 0x060007B7 RID: 1975 RVA: 0x00020F5C File Offset: 0x0001F15C + protected override OptionBaseWindow.OptionType GetOptionType() + { + return OptionBaseWindow.OptionType.Sound; + } + + // Token: 0x060007B8 RID: 1976 RVA: 0x00020F60 File Offset: 0x0001F160 + protected sealed override string[] newSceneTextureNameArray() + { + string[] collection = base.newSceneTextureNameArray(); + string[] collection2 = new string[] + { + "screen/sysmenu/sys_plate", + "screen/sysmenu/sys_btn_10", + "screen/sysmenu/sys_btn_11", + "screen/screen/sysmenu/sys_volume_bgm", + "screen/screen/sysmenu/sys_volume_se", + "screen/screen/sysmenu/sys_volume_system", + "screen/screen/sysmenu/sys_volume_bar1", + "screen/screen/sysmenu/sys_volume_meter1", + "screen/common/cancel" + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007B9 RID: 1977 RVA: 0x00020FE0 File Offset: 0x0001F1E0 + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -50f; + base.transform.parent.localPosition = localPosition; + UIValue.VolumeBGM = SysData.GetVolumeBgm(); + UIValue.VolumeSE = SysData.GetVolumeSe(); + UIValue.VolumeSystem = SysData.GetVolumeSys(); + } + + // Token: 0x060007BA RID: 1978 RVA: 0x0002103C File Offset: 0x0001F23C + protected sealed override void AfterInit() + { + OptionSoundItems optionSoundItems = OptionSoundItems.Create(base.transform); + optionSoundItems.AddItem(SoundOptionType.BGM, base.GetGameObject("BGM_Label"), base.GetGameObject("BGM_Meter"), base.GetGameObject("BGM_Bar")); + optionSoundItems.AddItem(SoundOptionType.SE, base.GetGameObject("SE_Label"), base.GetGameObject("SE_Meter"), base.GetGameObject("SE_Bar")); + optionSoundItems.AddItem(SoundOptionType.SYSTEM, base.GetGameObject("SYS_Label"), base.GetGameObject("SYS_Meter"), base.GetGameObject("SYS_Bar")); + optionSoundItems.Init(); + base.AddGameObject("OptionSoundItems", optionSoundItems.gameObject); + } + + // Token: 0x060007BB RID: 1979 RVA: 0x000210E4 File Offset: 0x0001F2E4 + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + } + + // Token: 0x060007BC RID: 1980 RVA: 0x000210EC File Offset: 0x0001F2EC + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + BaseWindow.UIComponent[] collection = base.newComponentArray(); + BaseWindow.UIComponent[] collection2 = new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("BackGround", 153, 68, this.wndz + 1, "screen/sysmenu/sys_plate", true, true), + new BaseWindow.UIButton("Clear", 208, 380, this.wndz + 2, "screen/sysmenu/sys_btn_10", true, true, 1, 2, 0), + new BaseWindow.UIButton("Decide", 686, 380, this.wndz + 2, "screen/sysmenu/sys_btn_11", true, true, 1, 2, 0), + new BaseWindow.UIButton("Cancel", 715, 73, this.wndz + 2, "screen/common/cancel", true, true, 1, 2, 0), + new BaseWindow.UIImage("BGM_Label", 222, 141, this.wndz + 5, "sys_volume_bgm", false, true), + new BaseWindow.UIImage("SE_Label", 222, 213, this.wndz + 5, "sys_volume_se", false, true), + new BaseWindow.UIImage("SYS_Label", 222, 285, this.wndz + 5, "sys_volume_system", false, true), + new BaseWindow.UIImage("BGM_Meter", 354, 146, this.wndz + 6, "sys_volume_meter1", false, true), + new BaseWindow.UIImage("SE_Meter", 354, 219, this.wndz + 6, "sys_volume_meter1", false, true), + new BaseWindow.UIImage("SYS_Meter", 354, 292, this.wndz + 6, "sys_volume_meter1", false, true), + new BaseWindow.UIImage("BGM_Bar", 354, 146, this.wndz + 7, "sys_volume_bar1", false, true), + new BaseWindow.UIImage("SE_Bar", 354, 219, this.wndz + 7, "sys_volume_bar1", false, true), + new BaseWindow.UIImage("SYS_Bar", 354, 292, this.wndz + 7, "sys_volume_bar1", false, true) + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007BD RID: 1981 RVA: 0x00021338 File Offset: 0x0001F538 + protected sealed override void OnBaseWindowOnButton(string obj) + { + base.OnBaseWindowOnButton(obj); + this.MeterUpdate(); + } + + // Token: 0x040006CE RID: 1742 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionTextWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionTextWindow.cs new file mode 100644 index 000000000..7ca15fead --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionTextWindow.cs @@ -0,0 +1,243 @@ +using System; +using System.Collections.Generic; +using Qoo.Game; +using UnityEngine; + +// Token: 0x02000121 RID: 289 +public class OptionTextWindow : OptionBaseWindow +{ + // Token: 0x060007BF RID: 1983 RVA: 0x0002138C File Offset: 0x0001F58C + private void SetTextWaitHandler(int value) + { + SysData.SetTextSpeed(value); + } + + // Token: 0x060007C0 RID: 1984 RVA: 0x00021394 File Offset: 0x0001F594 + private void SetAutoWaitHandler(int value) + { + SysData.SetAutoPage(value); + } + + // Token: 0x060007C1 RID: 1985 RVA: 0x0002139C File Offset: 0x0001F59C + private void SetCursorPosition() + { + ImageObject imageObject = base.GetImageObject("SpeedCursor"); + ImageObject imageObject2 = base.GetImageObject("PageCursor"); + imageObject.UIObject.ScreenX = this.TextWaitCursorPositions[SysData.GetTextSpeed()]; + imageObject2.UIObject.ScreenX = this.AutoWaitCursorPositions[SysData.GetAutoPage()]; + imageObject.InitPosition(); + imageObject2.InitPosition(); + } + + // Token: 0x060007C2 RID: 1986 RVA: 0x000213FC File Offset: 0x0001F5FC + protected override OptionBaseWindow.OptionType GetOptionType() + { + return OptionBaseWindow.OptionType.Text; + } + + // Token: 0x060007C3 RID: 1987 RVA: 0x00021400 File Offset: 0x0001F600 + protected sealed override string[] newSceneTextureNameArray() + { + string[] collection = base.newSceneTextureNameArray(); + string[] collection2 = new string[] + { + "screen/sysmenu/sys_plate", + "screen/sysmenu/sys_btn_10", + "screen/sysmenu/sys_btn_11", + "screen/sysmenu/sys_plate_speed", + "screen/sysmenu/sys_plate_page", + "screen/sysmenu/sys_check", + "screen/common/cancel" + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007C4 RID: 1988 RVA: 0x00021470 File Offset: 0x0001F670 + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -50f; + base.transform.parent.localPosition = localPosition; + } + + // Token: 0x060007C5 RID: 1989 RVA: 0x000214AC File Offset: 0x0001F6AC + protected sealed override void AfterInit() + { + this.SetCursorPosition(); + } + + // Token: 0x060007C6 RID: 1990 RVA: 0x000214B4 File Offset: 0x0001F6B4 + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + } + + // Token: 0x060007C7 RID: 1991 RVA: 0x000214BC File Offset: 0x0001F6BC + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + BaseWindow.UIComponent[] collection = base.newComponentArray(); + BaseWindow.UIComponent[] collection2 = new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UICollision("TextWait0", 216, 178, this.wndz + 4, 88, 34), + new BaseWindow.UICollision("TextWait1", 356, 178, this.wndz + 4, 88, 34), + new BaseWindow.UICollision("TextWait2", 497, 178, this.wndz + 4, 88, 34), + new BaseWindow.UICollision("TextWait3", 615, 178, this.wndz + 4, 132, 34), + new BaseWindow.UICollision("AutoWait0", 223, 300, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("AutoWait1", 313, 300, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("AutoWait2", 403, 300, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("AutoWait3", 493, 300, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("AutoWait4", 583, 300, this.wndz + 4, 75, 34), + new BaseWindow.UICollision("AutoWait5", 673, 300, this.wndz + 4, 75, 34), + new BaseWindow.UIImage("BackGround", 153, 68, this.wndz + 1, "screen/sysmenu/sys_plate", true, true), + new BaseWindow.UIButton("Clear", 208, 380, this.wndz + 2, "screen/sysmenu/sys_btn_10", true, true, 1, 2, 0), + new BaseWindow.UIButton("Decide", 686, 380, this.wndz + 2, "screen/sysmenu/sys_btn_11", true, true, 1, 2, 0), + new BaseWindow.UIButton("Cancel", 715, 73, this.wndz + 2, "screen/common/cancel", true, true, 1, 2, 0), + new BaseWindow.UIImage("Speed", 225, 129, this.wndz + 2, "screen/sysmenu/sys_plate_speed", false, true), + new BaseWindow.UIImage("Page", 225, 251, this.wndz + 2, "screen/sysmenu/sys_plate_page", false, true), + new BaseWindow.UIImage("SpeedCursor", 216, 182, this.wndz + 3, "screen/sysmenu/sys_check", false, true), + new BaseWindow.UIImage("PageCursor", 216, 304, this.wndz + 3, "screen/sysmenu/sys_check", false, true) + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007C8 RID: 1992 RVA: 0x000217B0 File Offset: 0x0001F9B0 + protected sealed override void OnBaseWindowOnButton(string obj) + { + base.OnBaseWindowOnButton(obj); + if (obj != null) + { + if (OptionTextWindow.<>f__switch$map12 == null) + { + OptionTextWindow.<>f__switch$map12 = new Dictionary(10) + { + { + "TextWait0", + 0 + }, + { + "TextWait1", + 0 + }, + { + "TextWait2", + 0 + }, + { + "TextWait3", + 0 + }, + { + "AutoWait0", + 1 + }, + { + "AutoWait1", + 1 + }, + { + "AutoWait2", + 1 + }, + { + "AutoWait3", + 1 + }, + { + "AutoWait4", + 1 + }, + { + "AutoWait5", + 1 + } + }; + } + int num; + if (OptionTextWindow.<>f__switch$map12.TryGetValue(obj, out num)) + { + if (num != 0) + { + if (num == 1) + { + base.PlaySE_Select(); + this.SetAutoWaitHandler(this.AutoWaitToInt(obj)); + } + } + else + { + base.PlaySE_Select(); + this.SetTextWaitHandler(this.TextWaitToString(obj)); + } + } + } + this.SetCursorPosition(); + } + + // Token: 0x060007C9 RID: 1993 RVA: 0x000218B8 File Offset: 0x0001FAB8 + private int TextWaitToString(string obj) + { + switch (obj) + { + case "TextWait0": + return 0; + case "TextWait1": + return 1; + case "TextWait2": + return 2; + case "TextWait3": + return 3; + } + return -1; + } + + // Token: 0x060007CA RID: 1994 RVA: 0x0002194C File Offset: 0x0001FB4C + private int AutoWaitToInt(string obj) + { + switch (obj) + { + case "AutoWait0": + return 0; + case "AutoWait1": + return 1; + case "AutoWait2": + return 2; + case "AutoWait3": + return 3; + case "AutoWait4": + return 4; + case "AutoWait5": + return 5; + } + return -1; + } + + // Token: 0x040006CF RID: 1743 + private readonly int wndz; + + // Token: 0x040006D0 RID: 1744 + private int[] TextWaitCursorPositions = new int[] + { + 216, + 356, + 497, + 615 + }; + + // Token: 0x040006D1 RID: 1745 + private int[] AutoWaitCursorPositions = new int[] + { + 216, + 306, + 396, + 486, + 576, + 666 + }; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionVoiceMeter.cs b/Assets/Scripts/Assembly-CSharp/OptionVoiceMeter.cs new file mode 100644 index 000000000..155f1c2ad --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionVoiceMeter.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections; +using Game; +using Qoo.Game; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020000F0 RID: 240 +public class OptionVoiceMeter : Meter +{ + // Token: 0x0600067E RID: 1662 RVA: 0x0001AF0C File Offset: 0x0001910C + public void Init(int width, int height, int index) + { + this.m_Index = index; + this.m_Value = SysData.GetVoiceVolume((CHAR_ID)this.m_Index); + base.Init(); + } + + // Token: 0x0600067F RID: 1663 RVA: 0x0001AF2C File Offset: 0x0001912C + protected override IEnumerator WaitLoadTextureCoroutine() + { + while (base.gameObject.renderer.material.mainTexture == null) + { + yield return 0; + } + this.UpdateMeter((float)this.m_Value / 5f); + yield break; + } + + // Token: 0x06000680 RID: 1664 RVA: 0x0001AF48 File Offset: 0x00019148 + public override void OnEdit(float value) + { + float num = value * 5f; + if (num > 0f && num < 1f) + { + num = 1f; + } + else + { + num = Mathf.Round(num); + } + if (this.m_Value != (int)num) + { + this.m_Value = (int)num; + SysData.SetVoiceVolume((CHAR_ID)this.m_Index, (int)num); + } + } + + // Token: 0x06000681 RID: 1665 RVA: 0x0001AFA8 File Offset: 0x000191A8 + public override void OnEditEnd() + { + string text = Chara.GetVoiceFromId((CHAR_ID)this.m_Index); + this.UpdateMeter((float)this.m_Value / 5f); + Sound.VoiceStop(); + if (text == null) + { + text = "mob"; + } + Sound.VoicePlay(text + "_v", 1f); + } + + // Token: 0x040005E8 RID: 1512 + private int m_Index; +} diff --git a/Assets/Scripts/Assembly-CSharp/OptionVoiceWindow.cs b/Assets/Scripts/Assembly-CSharp/OptionVoiceWindow.cs new file mode 100644 index 000000000..2392ec2f3 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/OptionVoiceWindow.cs @@ -0,0 +1,208 @@ +using System; +using System.Collections.Generic; +using Game; +using Qoo.Game; +using UnityEngine; + +// Token: 0x02000122 RID: 290 +public class OptionVoiceWindow : OptionBaseWindow +{ + // Token: 0x060007CC RID: 1996 RVA: 0x00021A0C File Offset: 0x0001FC0C + private void OnVoiceFlag() + { + UIActionToggle actionToggle = base.GetActionToggle("VoiceFlag"); + actionToggle.SwitchToggle(); + SysData.SetVoiceEnable(actionToggle.IsSwitchOn()); + } + + // Token: 0x060007CD RID: 1997 RVA: 0x00021A38 File Offset: 0x0001FC38 + private void MeterInit() + { + for (int i = 0; i < 11; i++) + { + string name = "Meter" + (i + 1).ToString("00"); + if (base.ExistsGameObject(name)) + { + OptionVoiceMeter component = base.GetGameObject(name).GetComponent(); + component.Init(462, 66, i); + } + } + } + + // Token: 0x060007CE RID: 1998 RVA: 0x00021A9C File Offset: 0x0001FC9C + private void GetSysData() + { + UIActionToggle actionToggle = base.GetActionToggle("VoiceFlag"); + if (SysData.IsVoiceEnable()) + { + actionToggle.SwitchOn(); + } + else + { + actionToggle.SwitchOff(); + } + this.MeterInit(); + } + + // Token: 0x060007CF RID: 1999 RVA: 0x00021AD8 File Offset: 0x0001FCD8 + protected override OptionBaseWindow.OptionType GetOptionType() + { + return OptionBaseWindow.OptionType.Voice; + } + + // Token: 0x060007D0 RID: 2000 RVA: 0x00021ADC File Offset: 0x0001FCDC + protected sealed override string[] newSceneTextureNameArray() + { + string[] collection = base.newSceneTextureNameArray(); + string[] collection2 = new string[] + { + "screen/sysmenu/sys_plate", + "screen/sysmenu/sys_btn_10", + "screen/sysmenu/sys_btn_11", + "screen/sysmenu/sys_plate_voice", + "screen/common/cancel", + "sys_vname_cha01", + "sys_vname_cha02", + "sys_vname_cha03", + "sys_vname_cha04", + "sys_vname_cha05", + "sys_vname_cha06", + "sys_vname_cha07", + "sys_vname_cha08", + "sys_vname_cha09", + "sys_vname_cha10", + "sys_vname_cha11", + "sys_volume_bar2", + "sys_volume_meter2", + "voice_ber1", + "voice_ber2" + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007D1 RID: 2001 RVA: 0x00021BC0 File Offset: 0x0001FDC0 + protected sealed override void BeforeInit() + { + Vector3 localPosition = base.transform.parent.localPosition; + localPosition.z = -50f; + base.transform.parent.localPosition = localPosition; + for (int i = 0; i < 11; i++) + { + UIValue.CharaVoiceVolume[i] = SysData.GetVoiceVolume((CHAR_ID)i); + } + } + + // Token: 0x060007D2 RID: 2002 RVA: 0x00021C1C File Offset: 0x0001FE1C + protected sealed override void AfterInit() + { + VoiceOptionList voiceOptionList = VoiceOptionList.Create(250, 155, this.wndz + 3, 490, 216, 11, base.transform); + for (int i = 0; i < 11; i++) + { + string name = "Chara" + (i + 1).ToString("00"); + string name2 = "Frame" + (i + 1).ToString("00"); + string name3 = "Meter" + (i + 1).ToString("00"); + voiceOptionList.AddListItem(base.GetImageObject(name)); + voiceOptionList.AddListItem(base.GetImageObject(name2)); + voiceOptionList.AddListItem(base.GetImageObject(name3)); + base.GetGameObject(name3).AddComponent(); + } + voiceOptionList.SetScrollbar(base.GetGameObject("ScrollArea"), base.GetGameObject("ScrollBar")); + base.AddGameObject("VoiceOptionList", voiceOptionList.gameObject); + this.GetSysData(); + } + + // Token: 0x060007D3 RID: 2003 RVA: 0x00021D24 File Offset: 0x0001FF24 + protected override void OnGraphicLoadComplete() + { + base.OnGraphicLoadComplete(); + } + + // Token: 0x060007D4 RID: 2004 RVA: 0x00021D2C File Offset: 0x0001FF2C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + BaseWindow.UIComponent[] collection = base.newComponentArray(); + BaseWindow.UIComponent[] collection2 = new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("BackGround", 153, 68, this.wndz + 1, "screen/sysmenu/sys_plate", true, true), + new BaseWindow.UIButton("Clear", 208, 380, this.wndz + 2, "screen/sysmenu/sys_btn_10", true, true, 1, 2, 0), + new BaseWindow.UIButton("Decide", 686, 380, this.wndz + 2, "screen/sysmenu/sys_btn_11", true, true, 1, 2, 0), + new BaseWindow.UIToggle("VoiceFlag", 366, 99, this.wndz + 2, "screen/sysmenu/sys_plate_voice", true, true, 1, 2, 1, 0, false), + new BaseWindow.UIButton("Cancel", 715, 73, this.wndz + 2, "screen/common/cancel", true, true, 1, 2, 0), + new BaseWindow.UIImage("Chara01", 250, 155, this.wndz + 3, "sys_vname_cha01", false, true), + new BaseWindow.UIImage("Chara02", 250, 230, this.wndz + 3, "sys_vname_cha02", false, true), + new BaseWindow.UIImage("Chara03", 250, 305, this.wndz + 3, "sys_vname_cha03", false, true), + new BaseWindow.UIImage("Chara04", 250, 380, this.wndz + 3, "sys_vname_cha04", false, true), + new BaseWindow.UIImage("Chara05", 250, 455, this.wndz + 3, "sys_vname_cha05", false, true), + new BaseWindow.UIImage("Chara06", 250, 530, this.wndz + 3, "sys_vname_cha06", false, true), + new BaseWindow.UIImage("Chara07", 250, 605, this.wndz + 3, "sys_vname_cha07", false, true), + new BaseWindow.UIImage("Chara08", 250, 680, this.wndz + 3, "sys_vname_cha08", false, true), + new BaseWindow.UIImage("Chara09", 250, 755, this.wndz + 3, "sys_vname_cha09", false, true), + new BaseWindow.UIImage("Chara10", 250, 830, this.wndz + 3, "sys_vname_cha10", false, true), + new BaseWindow.UIImage("Chara11", 250, 905, this.wndz + 3, "sys_vname_cha11", false, true), + new BaseWindow.UIImage("Frame01", 434, 185, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame02", 434, 260, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame03", 434, 335, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame04", 434, 410, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame05", 434, 485, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame06", 434, 560, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame07", 434, 635, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame08", 434, 710, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame09", 434, 785, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame10", 434, 860, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Frame11", 434, 935, this.wndz + 4, "sys_volume_bar2", false, true), + new BaseWindow.UIImage("Meter01", 436, 187, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter02", 436, 262, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter03", 436, 337, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter04", 436, 412, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter05", 436, 487, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter06", 436, 562, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter07", 436, 637, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter08", 436, 712, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter09", 436, 787, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter10", 436, 862, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("Meter11", 436, 937, this.wndz + 5, "sys_volume_meter2", false, true), + new BaseWindow.UIImage("ScrollArea", 740, 155, this.wndz + 6, "voice_ber1", false, true), + new BaseWindow.UIImage("ScrollBar", 740, 155, this.wndz + 7, "voice_ber2", true, true) + }; + List list = new List(); + list.AddRange(collection); + list.AddRange(collection2); + return list.ToArray(); + } + + // Token: 0x060007D5 RID: 2005 RVA: 0x00022398 File Offset: 0x00020598 + protected sealed override void OnBaseWindowOnButton(string obj) + { + base.OnBaseWindowOnButton(obj); + if (obj != null) + { + if (OptionVoiceWindow.<>f__switch$map15 == null) + { + OptionVoiceWindow.<>f__switch$map15 = new Dictionary(1) + { + { + "VoiceFlag", + 0 + } + }; + } + int num; + if (OptionVoiceWindow.<>f__switch$map15.TryGetValue(obj, out num)) + { + if (num == 0) + { + base.PlaySE_Select(); + this.OnVoiceFlag(); + } + } + } + this.GetSysData(); + } + + // Token: 0x040006D5 RID: 1749 + private readonly int wndz; +} diff --git a/Assets/Scripts/Assembly-CSharp/ParamWnd.cs b/Assets/Scripts/Assembly-CSharp/ParamWnd.cs new file mode 100644 index 000000000..054258205 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ParamWnd.cs @@ -0,0 +1,112 @@ +using System; +using Qoo.Game; +using UnityEngine; + +// Token: 0x020000A6 RID: 166 +public class ParamWnd : Singleton +{ + // Token: 0x060004DD RID: 1245 RVA: 0x000120B8 File Offset: 0x000102B8 + private void Awake() + { + this.m_Tp[0] = Man2D.TextSprite(null); + this.m_Tp[0].SetName("Param"); + this.m_Tp[0].SetPos(0, 0, 8000); + this.m_Tp[1] = Man2D.TextSprite(null); + this.m_Tp[1].SetName("Param"); + this.m_Tp[1].SetPos(480, 0, 8000); + this.m_log[0] = string.Empty; + this.m_log[1] = string.Empty; + base.enabled = false; + } + + // Token: 0x060004DE RID: 1246 RVA: 0x00012154 File Offset: 0x00010354 + private void OnDestroy() + { + if (Singleton.IsReady) + { + Singleton.Instance.RemoveSprite(this.m_Tp[0]); + this.m_Tp[0] = null; + Singleton.Instance.RemoveSprite(this.m_Tp[1]); + this.m_Tp[1] = null; + } + } + + // Token: 0x060004DF RID: 1247 RVA: 0x000121A4 File Offset: 0x000103A4 + private void OnEnable() + { + this.m_Tp[0].Show = true; + this.m_Tp[1].Show = true; + } + + // Token: 0x060004E0 RID: 1248 RVA: 0x000121C4 File Offset: 0x000103C4 + private void OnDisable() + { + this.m_Tp[0].Show = false; + this.m_Tp[1].Show = false; + } + + // Token: 0x060004E1 RID: 1249 RVA: 0x000121E4 File Offset: 0x000103E4 + private void Update() + { + this.UpdateParam(); + } + + // Token: 0x060004E2 RID: 1250 RVA: 0x000121EC File Offset: 0x000103EC + private void UpdateParam() + { + this.Clear(); + this.AddLine(string.Concat(new object[] + { + "fps:", + (1f / Time.deltaTime).ToString("0.0"), + " heap:", + Profiler.usedHeapSize / 1048576U, + "MB all=", + SystemInfo.systemMemorySize, + "MB" + })); + for (int num = 0; num != GameData.Param.Num; num++) + { + this.AddLine("value=" + GameData.Param.GetName(num) + " param=" + GameData.Param.GetParamString(num)); + } + this.m_Tp[0].AddText(this.m_log[0], 18); + this.m_Tp[1].AddText(this.m_log[1], 18); + } + + // Token: 0x060004E3 RID: 1251 RVA: 0x000122E4 File Offset: 0x000104E4 + private void Clear() + { + this.m_Tp[0].ClearText(); + this.m_Tp[1].ClearText(); + this.count = 0; + this.m_log[0] = string.Empty; + this.m_log[1] = string.Empty; + } + + // Token: 0x060004E4 RID: 1252 RVA: 0x00012324 File Offset: 0x00010524 + private void AddLine(string str) + { + if (this.count < 20) + { + string[] log = this.m_log; + int num = 0; + log[num] = log[num] + str + "\n"; + } + else + { + string[] log2 = this.m_log; + int num2 = 1; + log2[num2] = log2[num2] + str + "\n"; + } + this.count++; + } + + // Token: 0x0400037E RID: 894 + private UnityTextSprite[] m_Tp = new UnityTextSprite[2]; + + // Token: 0x0400037F RID: 895 + private string[] m_log = new string[2]; + + // Token: 0x04000380 RID: 896 + private int count; +} diff --git a/Assets/Scripts/Assembly-CSharp/Pathing.cs b/Assets/Scripts/Assembly-CSharp/Pathing.cs new file mode 100644 index 000000000..f186df2b0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Pathing.cs @@ -0,0 +1,80 @@ +using System; +using System.IO; +using UnityEngine; + +// Token: 0x02000172 RID: 370 +public static class Pathing +{ + // Token: 0x17000157 RID: 343 + // (get) Token: 0x06000A89 RID: 2697 RVA: 0x0002E7C8 File Offset: 0x0002C9C8 + public static string appDataPath + { + get + { + return Application.dataPath; + } + } + + // Token: 0x17000158 RID: 344 + // (get) Token: 0x06000A8A RID: 2698 RVA: 0x0002E7D0 File Offset: 0x0002C9D0 + public static string appContentDataPath + { + get + { + return Pathing.appContentDataUri.ToString(); + } + } + + // Token: 0x17000159 RID: 345 + // (get) Token: 0x06000A8B RID: 2699 RVA: 0x0002E7DC File Offset: 0x0002C9DC + public static Uri appContentDataUri + { + get + { + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + return new UriBuilder + { + Scheme = "file", + Path = Path.Combine(Pathing.appDataPath, "Raw") + }.Uri; + } + if (Application.platform == RuntimePlatform.Android) + { + return new Uri("jar:file://" + Application.dataPath + "!/assets"); + } + return new UriBuilder + { + Scheme = "file", + Path = Path.Combine(Pathing.appDataPath, Pathing.STREAMING_ASSETS) + }.Uri; + } + } + + // Token: 0x06000A8C RID: 2700 RVA: 0x0002E874 File Offset: 0x0002CA74 + public static string ToPlatformAssetBundleName(string fileName) + { + return fileName + Pathing.EXTENSION_ASSETBUNDLE_IOS; + } + + // Token: 0x06000A8D RID: 2701 RVA: 0x0002E890 File Offset: 0x0002CA90 + public static string GetAppSandboxPathIPhone() + { + return Path.GetDirectoryName(Path.GetDirectoryName(Application.dataPath)); + } + + // Token: 0x06000A8E RID: 2702 RVA: 0x0002E8A4 File Offset: 0x0002CAA4 + public static string GetAppPersistencePathIPhone() + { + return Path.Combine(Pathing.GetAppSandboxPathIPhone(), "Documents"); + } + + // Token: 0x04000882 RID: 2178 + private static readonly string STREAMING_ASSETS = "StreamingAssets"; + + // Token: 0x04000883 RID: 2179 + private static readonly string EXTENSION_ASSETBUNDLE = ".unity3d"; + + // Token: 0x04000884 RID: 2180 + private static readonly string EXTENSION_ASSETBUNDLE_IOS = ".ios" + Pathing.EXTENSION_ASSETBUNDLE; +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentCallType.cs b/Assets/Scripts/Assembly-CSharp/PaymentCallType.cs new file mode 100644 index 000000000..668742b8d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentCallType.cs @@ -0,0 +1,12 @@ +using System; + +// Token: 0x020000FC RID: 252 +public enum PaymentCallType +{ + // Token: 0x04000621 RID: 1569 + INVALID, + // Token: 0x04000622 RID: 1570 + TITLE, + // Token: 0x04000623 RID: 1571 + ADV +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentDialogWindow.cs b/Assets/Scripts/Assembly-CSharp/PaymentDialogWindow.cs new file mode 100644 index 000000000..058c3b13c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentDialogWindow.cs @@ -0,0 +1,281 @@ +using System; +using System.Collections.Generic; +using PaymentGameApi; +using Qoo; + +// Token: 0x02000123 RID: 291 +public class PaymentDialogWindow : BaseWindow +{ + // Token: 0x060007D7 RID: 2007 RVA: 0x0002241C File Offset: 0x0002061C + protected sealed override void OnAwake() + { + this.state = PaymentDialogWindow.STATE.INIT; + this.tm = new PaymentDialogWindow.TanakaMain(); + this.purchaseList = new PaymentDialogWindow.PurchaseList(); + this.productId = UIValue.Payment_ProductId; + } + + // Token: 0x060007D8 RID: 2008 RVA: 0x00022454 File Offset: 0x00020654 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/common/sys_dialog" + }; + } + + // Token: 0x060007D9 RID: 2009 RVA: 0x00022474 File Offset: 0x00020674 + protected sealed override void BeforeInit() + { + } + + // Token: 0x060007DA RID: 2010 RVA: 0x00022478 File Offset: 0x00020678 + protected sealed override void AfterInit() + { + } + + // Token: 0x060007DB RID: 2011 RVA: 0x0002247C File Offset: 0x0002067C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("MsgWnd", 137, 182, this.wndz + 1, "screen/common/sys_dialog", false, true), + new BaseWindow.UIText("Text", 480, 272, this.wndz + 2, "購入処理中です。", 22, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + + // Token: 0x060007DC RID: 2012 RVA: 0x00022514 File Offset: 0x00020714 + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (obj != null) + { + if (PaymentDialogWindow.<>f__switch$map16 == null) + { + PaymentDialogWindow.<>f__switch$map16 = new Dictionary(1) + { + { + "Close", + 0 + } + }; + } + int num; + if (PaymentDialogWindow.<>f__switch$map16.TryGetValue(obj, out num)) + { + if (num == 0) + { + base.PlaySE_Cancel(); + this.OnClose(); + } + } + } + } + + // Token: 0x060007DD RID: 2013 RVA: 0x0002257C File Offset: 0x0002077C + protected override void OnBaseWindowUpdate() + { + switch (this.state) + { + case PaymentDialogWindow.STATE.INIT: + this.tm.Init(this.productId); + this.state = PaymentDialogWindow.STATE.EXEC; + break; + case PaymentDialogWindow.STATE.EXEC: + if (this.tm.Exec()) + { + switch (this.tm.Result()) + { + case AMAppStore.ResultStatus.RESULT_SUCCESS: + this.state = PaymentDialogWindow.STATE.PURCHASE_INIT; + break; + case AMAppStore.ResultStatus.RESULT_FAILD: + this.state = PaymentDialogWindow.STATE.FAILD; + base.StartTime(); + this.SetText(this.tm.ResultMessage()); + break; + case AMAppStore.ResultStatus.RESULT_CANCEL: + this.state = PaymentDialogWindow.STATE.CANCEL; + break; + } + } + break; + case PaymentDialogWindow.STATE.PURCHASE_INIT: + this.purchaseList.Init(); + this.state = PaymentDialogWindow.STATE.PURCHASE_EXEC; + break; + case PaymentDialogWindow.STATE.PURCHASE_EXEC: + if (this.purchaseList.Exec()) + { + base.StartTime(); + this.SetText(this.purchaseList.ResultMessage()); + this.state = ((this.purchaseList.Result() != AMAppStore.ResultStatus.RESULT_SUCCESS) ? PaymentDialogWindow.STATE.FAILD : PaymentDialogWindow.STATE.SUCCESS); + } + break; + case PaymentDialogWindow.STATE.SUCCESS: + if (base.CheckTime(1f)) + { + this.OnClose(); + } + break; + case PaymentDialogWindow.STATE.FAILD: + if (base.CheckTime(1f)) + { + this.OnClose(); + } + break; + case PaymentDialogWindow.STATE.CANCEL: + this.OnClose(); + break; + case PaymentDialogWindow.STATE.EXIT: + base.DeleteLastAddScene(); + this.state = PaymentDialogWindow.STATE.AFTER_EXIT; + break; + } + } + + // Token: 0x060007DE RID: 2014 RVA: 0x0002270C File Offset: 0x0002090C + private void OnClose() + { + switch (this.state) + { + case PaymentDialogWindow.STATE.SUCCESS: + UIValue.Payment_Exit = PaymentExitType.SUCCESS; + this.state = PaymentDialogWindow.STATE.EXIT; + break; + case PaymentDialogWindow.STATE.FAILD: + UIValue.Payment_Exit = PaymentExitType.FAILD; + this.state = PaymentDialogWindow.STATE.EXIT; + break; + case PaymentDialogWindow.STATE.CANCEL: + UIValue.Payment_Exit = PaymentExitType.CANCEL; + this.state = PaymentDialogWindow.STATE.EXIT; + break; + } + } + + // Token: 0x060007DF RID: 2015 RVA: 0x00022770 File Offset: 0x00020970 + private void SetText(string message) + { + UnityTextSprite textSprite = base.GetTextSprite("Text"); + textSprite.ClearText(); + textSprite.AddText(message, 22); + textSprite.SetPosition(480, 272, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 2))); + } + + // Token: 0x040006D7 RID: 1751 + private PaymentDialogWindow.STATE state; + + // Token: 0x040006D8 RID: 1752 + private PaymentDialogWindow.TanakaMain tm; + + // Token: 0x040006D9 RID: 1753 + private PaymentDialogWindow.PurchaseList purchaseList; + + // Token: 0x040006DA RID: 1754 + private string productId; + + // Token: 0x040006DB RID: 1755 + private readonly int wndz = 10; + + // Token: 0x02000124 RID: 292 + private class TanakaMain + { + // Token: 0x060007E0 RID: 2016 RVA: 0x000227C8 File Offset: 0x000209C8 + public TanakaMain() + { + this.m_eResut = AMAppStore.ResultStatus.RESULT_FAILD; + } + + // Token: 0x060007E1 RID: 2017 RVA: 0x000227D8 File Offset: 0x000209D8 + public void Init(string productId) + { + AMAppStore.RequestPurchase(productId); + } + + // Token: 0x060007E2 RID: 2018 RVA: 0x000227E4 File Offset: 0x000209E4 + public bool Exec() + { + return AMAppStore.ResultWaitPurchase(ref this.m_eResut); + } + + // Token: 0x060007E3 RID: 2019 RVA: 0x000227F4 File Offset: 0x000209F4 + public AMAppStore.ResultStatus Result() + { + return this.m_eResut; + } + + // Token: 0x060007E4 RID: 2020 RVA: 0x000227FC File Offset: 0x000209FC + public string ResultMessage() + { + Debug.Print(AMAppStore.GetErrorPurchase()); + return (this.m_eResut != AMAppStore.ResultStatus.RESULT_SUCCESS) ? "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。" : " "; + } + + // Token: 0x040006DD RID: 1757 + private AMAppStore.ResultStatus m_eResut; + } + + // Token: 0x02000125 RID: 293 + private class PurchaseList + { + // Token: 0x060007E5 RID: 2021 RVA: 0x00022830 File Offset: 0x00020A30 + public PurchaseList() + { + this.m_eResut = AMAppStore.ResultStatus.RESULT_FAILD; + } + + // Token: 0x060007E6 RID: 2022 RVA: 0x00022840 File Offset: 0x00020A40 + public void Init() + { + DatabaseProductID databaseProductID = new DatabaseProductID(); + AMAppStore.RequestAfterPurchase(databaseProductID.GetAllProductId()); + } + + // Token: 0x060007E7 RID: 2023 RVA: 0x00022860 File Offset: 0x00020A60 + public bool Exec() + { + return AMAppStore.ResultWaitPurchased(ref this.m_eResut); + } + + // Token: 0x060007E8 RID: 2024 RVA: 0x00022870 File Offset: 0x00020A70 + public AMAppStore.ResultStatus Result() + { + return this.m_eResut; + } + + // Token: 0x060007E9 RID: 2025 RVA: 0x00022878 File Offset: 0x00020A78 + public string ResultMessage() + { + Debug.Print(AMAppStore.GetErrorPurchased()); + return (this.m_eResut != AMAppStore.ResultStatus.RESULT_SUCCESS) ? "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。" : "アドオンの購入が完了しました。"; + } + + // Token: 0x040006DE RID: 1758 + private AMAppStore.ResultStatus m_eResut; + } + + // Token: 0x02000126 RID: 294 + private enum STATE + { + // Token: 0x040006E0 RID: 1760 + INIT, + // Token: 0x040006E1 RID: 1761 + EXEC, + // Token: 0x040006E2 RID: 1762 + PURCHASE_INIT, + // Token: 0x040006E3 RID: 1763 + PURCHASE_EXEC, + // Token: 0x040006E4 RID: 1764 + SUCCESS, + // Token: 0x040006E5 RID: 1765 + FAILD, + // Token: 0x040006E6 RID: 1766 + CANCEL, + // Token: 0x040006E7 RID: 1767 + EXIT, + // Token: 0x040006E8 RID: 1768 + AFTER_EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentExitType.cs b/Assets/Scripts/Assembly-CSharp/PaymentExitType.cs new file mode 100644 index 000000000..44b5677d5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentExitType.cs @@ -0,0 +1,14 @@ +using System; + +// Token: 0x020000FB RID: 251 +public enum PaymentExitType +{ + // Token: 0x0400061C RID: 1564 + INVALID, + // Token: 0x0400061D RID: 1565 + CANCEL, + // Token: 0x0400061E RID: 1566 + SUCCESS, + // Token: 0x0400061F RID: 1567 + FAILD +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentGameApi/DatabaseProductID.cs b/Assets/Scripts/Assembly-CSharp/PaymentGameApi/DatabaseProductID.cs new file mode 100644 index 000000000..4373a55ea --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentGameApi/DatabaseProductID.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections.Generic; +using Game; +using Qoo.Game; + +namespace PaymentGameApi +{ + // Token: 0x020000E0 RID: 224 + public class DatabaseProductID + { + // Token: 0x0600061E RID: 1566 RVA: 0x00019878 File Offset: 0x00017A78 + public DatabaseProductID() + { + this.dic = new Dictionary(); + for (CHAR_ID char_ID = CHAR_ID.BLOOD; char_ID <= CHAR_ID.NIGHTMARE; char_ID++) + { + for (DatabaseProductID.CheckType checkType = DatabaseProductID.CheckType.ROUTE_VOICE; checkType <= DatabaseProductID.CheckType.VOICE; checkType++) + { + this.dic.Add(this.GetAddonName(char_ID, checkType), new DatabaseProductID.PairCharID_CheckType(char_ID, checkType)); + } + } + } + + // Token: 0x0600061F RID: 1567 RVA: 0x000198D8 File Offset: 0x00017AD8 + public string GetAddonName(CHAR_ID charId, DatabaseProductID.CheckType checkType) + { + return string.Concat(new string[] + { + this.GetAddonCompanyName(), + this.GetAddonGameName(), + this.GetAddonPrefixName(charId), + this.GetAddonCharName(charId), + this.GetAddonTypeName(checkType) + }); + } + + // Token: 0x06000620 RID: 1568 RVA: 0x00019920 File Offset: 0x00017B20 + private string GetAddonCompanyName() + { + return "com.quinrose."; + } + + // Token: 0x06000621 RID: 1569 RVA: 0x00019928 File Offset: 0x00017B28 + private string GetAddonGameName() + { + return "aliceheart."; + } + + // Token: 0x06000622 RID: 1570 RVA: 0x00019930 File Offset: 0x00017B30 + private string GetAddonPrefixName(CHAR_ID charId) + { + switch (charId) + { + case CHAR_ID.BLOOD: + case CHAR_ID.ELLIOT: + case CHAR_ID.DEEDUM: + case CHAR_ID.VIVALDI: + case CHAR_ID.PETER: + case CHAR_ID.ACE: + case CHAR_ID.GOWLAND: + case CHAR_ID.BORIS: + case CHAR_ID.JULIUS: + return "t1."; + default: + return "t0."; + } + } + + // Token: 0x06000623 RID: 1571 RVA: 0x0001997C File Offset: 0x00017B7C + private string GetAddonCharName(CHAR_ID charId) + { + switch (charId) + { + case CHAR_ID.BLOOD: + case CHAR_ID.ELLIOT: + case CHAR_ID.DEEDUM: + case CHAR_ID.VIVALDI: + case CHAR_ID.PETER: + case CHAR_ID.ACE: + case CHAR_ID.GOWLAND: + case CHAR_ID.BORIS: + case CHAR_ID.JULIUS: + return Chara.GetNameFromId(charId) + "."; + default: + return "full."; + } + } + + // Token: 0x06000624 RID: 1572 RVA: 0x000199D0 File Offset: 0x00017BD0 + private string GetAddonTypeName(DatabaseProductID.CheckType checkType) + { + switch (checkType) + { + case DatabaseProductID.CheckType.ROUTE_VOICE: + return "routevoice"; + case DatabaseProductID.CheckType.ROUTE: + return "route"; + case DatabaseProductID.CheckType.VOICE: + return "voice"; + default: + return string.Empty; + } + } + + // Token: 0x06000625 RID: 1573 RVA: 0x00019A10 File Offset: 0x00017C10 + public CHAR_ID GetCharaIdForProductId(string ProductId) + { + if (!this.dic.ContainsKey(ProductId)) + { + return CHAR_ID.NOTHING; + } + return this.dic[ProductId].charId; + } + + // Token: 0x06000626 RID: 1574 RVA: 0x00019A44 File Offset: 0x00017C44 + public DatabaseProductID.CheckType GetCheckTypeForProductId(string ProductId) + { + if (!this.dic.ContainsKey(ProductId)) + { + return DatabaseProductID.CheckType.ROUTE_VOICE; + } + return this.dic[ProductId].checkType; + } + + // Token: 0x06000627 RID: 1575 RVA: 0x00019A78 File Offset: 0x00017C78 + public string[] GetAllProductId() + { + List list = new List(); + for (CHAR_ID char_ID = CHAR_ID.BLOOD; char_ID <= CHAR_ID.NIGHTMARE; char_ID++) + { + list.Add(this.GetAddonName(char_ID, DatabaseProductID.CheckType.ROUTE_VOICE)); + list.Add(this.GetAddonName(char_ID, DatabaseProductID.CheckType.ROUTE)); + list.Add(this.GetAddonName(char_ID, DatabaseProductID.CheckType.VOICE)); + } + return list.ToArray(); + } + + // Token: 0x040005AD RID: 1453 + private Dictionary dic; + + // Token: 0x020000E1 RID: 225 + public enum CheckType + { + // Token: 0x040005AF RID: 1455 + ROUTE_VOICE, + // Token: 0x040005B0 RID: 1456 + ROUTE, + // Token: 0x040005B1 RID: 1457 + VOICE + } + + // Token: 0x020000E2 RID: 226 + private struct PairCharID_CheckType + { + // Token: 0x06000628 RID: 1576 RVA: 0x00019AD0 File Offset: 0x00017CD0 + public PairCharID_CheckType(CHAR_ID charId_, DatabaseProductID.CheckType checkType_) + { + this.charId = charId_; + this.checkType = checkType_; + } + + // Token: 0x040005B2 RID: 1458 + public CHAR_ID charId; + + // Token: 0x040005B3 RID: 1459 + public DatabaseProductID.CheckType checkType; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentGameApi/PaymentInit.cs b/Assets/Scripts/Assembly-CSharp/PaymentGameApi/PaymentInit.cs new file mode 100644 index 000000000..eb6bdfa7f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentGameApi/PaymentInit.cs @@ -0,0 +1,43 @@ +using System; +using Qoo; + +namespace PaymentGameApi +{ + // Token: 0x020000E4 RID: 228 + public class PaymentInit + { + // Token: 0x0600062E RID: 1582 RVA: 0x00019B5C File Offset: 0x00017D5C + public PaymentInit() + { + this.m_eResut = AMAppStore.ResultStatus.RESULT_FAILD; + } + + // Token: 0x0600062F RID: 1583 RVA: 0x00019B6C File Offset: 0x00017D6C + public void Init() + { + AMAppStore.Init(string.Empty); + } + + // Token: 0x06000630 RID: 1584 RVA: 0x00019B7C File Offset: 0x00017D7C + public bool Exec() + { + return AMAppStore.ResultWaitInit(ref this.m_eResut); + } + + // Token: 0x06000631 RID: 1585 RVA: 0x00019B8C File Offset: 0x00017D8C + public AMAppStore.ResultStatus Result() + { + return this.m_eResut; + } + + // Token: 0x06000632 RID: 1586 RVA: 0x00019B94 File Offset: 0x00017D94 + public string ResultMessage() + { + Debug.Print(AMAppStore.GetErrorInit()); + return (this.m_eResut != AMAppStore.ResultStatus.RESULT_SUCCESS) ? "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。" : " "; + } + + // Token: 0x040005B5 RID: 1461 + private AMAppStore.ResultStatus m_eResut; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentGameApi/RestoreMain.cs b/Assets/Scripts/Assembly-CSharp/PaymentGameApi/RestoreMain.cs new file mode 100644 index 000000000..d8d9d5cae --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentGameApi/RestoreMain.cs @@ -0,0 +1,44 @@ +using System; +using Qoo; + +namespace PaymentGameApi +{ + // Token: 0x020000E3 RID: 227 + public class RestoreMain + { + // Token: 0x06000629 RID: 1577 RVA: 0x00019AE0 File Offset: 0x00017CE0 + public RestoreMain() + { + this.m_eResut = AMAppStore.ResultStatus.RESULT_FAILD; + } + + // Token: 0x0600062A RID: 1578 RVA: 0x00019AF0 File Offset: 0x00017CF0 + public void Init() + { + DatabaseProductID databaseProductID = new DatabaseProductID(); + AMAppStore.RequestRestore(databaseProductID.GetAllProductId()); + } + + // Token: 0x0600062B RID: 1579 RVA: 0x00019B10 File Offset: 0x00017D10 + public bool Exec() + { + return AMAppStore.ResultWaitRestore(ref this.m_eResut); + } + + // Token: 0x0600062C RID: 1580 RVA: 0x00019B20 File Offset: 0x00017D20 + public AMAppStore.ResultStatus Result() + { + return this.m_eResut; + } + + // Token: 0x0600062D RID: 1581 RVA: 0x00019B28 File Offset: 0x00017D28 + public string ResultMessage() + { + Debug.Print(AMAppStore.GetErrorRestore()); + return (this.m_eResut != AMAppStore.ResultStatus.RESULT_SUCCESS) ? "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。" : "リストア(アドオン情報の復元)が完了しました。"; + } + + // Token: 0x040005B4 RID: 1460 + private AMAppStore.ResultStatus m_eResut; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentListWindow.cs b/Assets/Scripts/Assembly-CSharp/PaymentListWindow.cs new file mode 100644 index 000000000..c4b4ba6e1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentListWindow.cs @@ -0,0 +1,291 @@ +using System; +using System.Collections.Generic; +using PaymentGameApi; +using Qoo; + +// Token: 0x02000127 RID: 295 +public class PaymentListWindow : BaseWindow +{ + // Token: 0x060007EB RID: 2027 RVA: 0x000228BC File Offset: 0x00020ABC + protected sealed override void OnAwake() + { + this.state = PaymentListWindow.STATE.PAYINIT; + this.menuList = new PaymentListWindow.MenuList(); + this.purchaseList = new PaymentListWindow.PurchaseList(); + this.pi = new PaymentInit(); + } + + // Token: 0x060007EC RID: 2028 RVA: 0x000228F4 File Offset: 0x00020AF4 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/common/sys_dialog" + }; + } + + // Token: 0x060007ED RID: 2029 RVA: 0x00022914 File Offset: 0x00020B14 + protected override BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("MsgWnd", 137, 182, this.wndz + 1, "screen/common/sys_dialog", false, true), + new BaseWindow.UIText("Text", 480, 272, this.wndz + 2, "アドオン購入履歴を更新中です。", 22, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + + // Token: 0x060007EE RID: 2030 RVA: 0x000229AC File Offset: 0x00020BAC + protected override void OnBaseWindowOnButton(string obj) + { + if (obj != null) + { + if (PaymentListWindow.<>f__switch$map17 == null) + { + PaymentListWindow.<>f__switch$map17 = new Dictionary(1) + { + { + "Close", + 0 + } + }; + } + int num; + if (PaymentListWindow.<>f__switch$map17.TryGetValue(obj, out num)) + { + if (num == 0) + { + base.PlaySE_Cancel(); + this.OnClose(); + } + } + } + } + + // Token: 0x060007EF RID: 2031 RVA: 0x00022A14 File Offset: 0x00020C14 + protected override void OnBaseWindowUpdate() + { + switch (this.state) + { + case PaymentListWindow.STATE.PAYINIT: + this.pi.Init(); + this.state = PaymentListWindow.STATE.PAYEXEC; + break; + case PaymentListWindow.STATE.PAYEXEC: + if (this.pi.Exec()) + { + if (this.pi.Result() == AMAppStore.ResultStatus.RESULT_SUCCESS) + { + this.state = PaymentListWindow.STATE.INIT; + } + else + { + base.StartTime(); + this.SetText(this.pi.ResultMessage()); + this.state = PaymentListWindow.STATE.FAILD; + } + } + break; + case PaymentListWindow.STATE.INIT: + if (!AMAppStore.CheckCondition()) + { + this.SetText("App内での購入が許可されていません。\n「機能制限」の設定画面から\n「App内での購入」をオンにしてください。"); + this.state = PaymentListWindow.STATE.FAILD; + base.StartTime(); + } + else + { + this.menuList.Init(); + this.state = PaymentListWindow.STATE.EXEC; + } + break; + case PaymentListWindow.STATE.EXEC: + if (this.menuList.Exec()) + { + AMAppStore.ResultStatus resultStatus = this.menuList.Result(); + this.state = ((resultStatus != AMAppStore.ResultStatus.RESULT_SUCCESS) ? PaymentListWindow.STATE.FAILD : PaymentListWindow.STATE.PURCHASE_INIT); + if (resultStatus == AMAppStore.ResultStatus.RESULT_FAILD) + { + base.StartTime(); + this.SetText(this.menuList.ResultMessage()); + } + } + break; + case PaymentListWindow.STATE.PURCHASE_INIT: + this.purchaseList.Init(); + this.state = PaymentListWindow.STATE.PURCHASE_EXEC; + break; + case PaymentListWindow.STATE.PURCHASE_EXEC: + if (this.purchaseList.Exec()) + { + base.StartTime(); + this.SetText(this.purchaseList.ResultMessage()); + this.state = ((this.purchaseList.Result() != AMAppStore.ResultStatus.RESULT_SUCCESS) ? PaymentListWindow.STATE.FAILD : PaymentListWindow.STATE.SUCCESS); + } + break; + case PaymentListWindow.STATE.SUCCESS: + if (base.CheckTime(1f)) + { + this.OnClose(); + } + break; + case PaymentListWindow.STATE.FAILD: + if (base.CheckTime(1f)) + { + this.OnClose(); + } + break; + case PaymentListWindow.STATE.EXIT: + base.DeleteLastAddScene(); + this.state = PaymentListWindow.STATE.AFTER_EXIT; + break; + } + } + + // Token: 0x060007F0 RID: 2032 RVA: 0x00022C04 File Offset: 0x00020E04 + private void OnClose() + { + PaymentListWindow.STATE state = this.state; + if (state != PaymentListWindow.STATE.SUCCESS) + { + if (state == PaymentListWindow.STATE.FAILD) + { + UIValue.Payment_Exit = PaymentExitType.FAILD; + this.state = PaymentListWindow.STATE.EXIT; + } + } + else + { + UIValue.Payment_Exit = PaymentExitType.SUCCESS; + this.state = PaymentListWindow.STATE.EXIT; + } + } + + // Token: 0x060007F1 RID: 2033 RVA: 0x00022C50 File Offset: 0x00020E50 + private void SetText(string message) + { + UnityTextSprite textSprite = base.GetTextSprite("Text"); + textSprite.ClearText(); + textSprite.AddText(message, 22); + textSprite.SetPosition(480, 272, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 2))); + } + + // Token: 0x040006E9 RID: 1769 + private PaymentListWindow.STATE state; + + // Token: 0x040006EA RID: 1770 + private PaymentListWindow.MenuList menuList; + + // Token: 0x040006EB RID: 1771 + private PaymentListWindow.PurchaseList purchaseList; + + // Token: 0x040006EC RID: 1772 + private PaymentInit pi; + + // Token: 0x040006ED RID: 1773 + private readonly int wndz = 10; + + // Token: 0x02000128 RID: 296 + private class MenuList + { + // Token: 0x060007F2 RID: 2034 RVA: 0x00022CA8 File Offset: 0x00020EA8 + public MenuList() + { + this.m_eResut = AMAppStore.ResultStatus.RESULT_FAILD; + } + + // Token: 0x060007F3 RID: 2035 RVA: 0x00022CB8 File Offset: 0x00020EB8 + public void Init() + { + DatabaseProductID databaseProductID = new DatabaseProductID(); + AMAppStore.RequestMenuList(databaseProductID.GetAllProductId()); + } + + // Token: 0x060007F4 RID: 2036 RVA: 0x00022CD8 File Offset: 0x00020ED8 + public bool Exec() + { + return AMAppStore.ResultWaitMenu(ref this.m_eResut); + } + + // Token: 0x060007F5 RID: 2037 RVA: 0x00022CE8 File Offset: 0x00020EE8 + public AMAppStore.ResultStatus Result() + { + return this.m_eResut; + } + + // Token: 0x060007F6 RID: 2038 RVA: 0x00022CF0 File Offset: 0x00020EF0 + public string ResultMessage() + { + Debug.Print(AMAppStore.GetErrorMenu()); + return (this.m_eResut != AMAppStore.ResultStatus.RESULT_SUCCESS) ? "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。" : "\u3000"; + } + + // Token: 0x040006EF RID: 1775 + private AMAppStore.ResultStatus m_eResut; + } + + // Token: 0x02000129 RID: 297 + private class PurchaseList + { + // Token: 0x060007F7 RID: 2039 RVA: 0x00022D24 File Offset: 0x00020F24 + public PurchaseList() + { + this.m_eResut = AMAppStore.ResultStatus.RESULT_FAILD; + } + + // Token: 0x060007F8 RID: 2040 RVA: 0x00022D34 File Offset: 0x00020F34 + public void Init() + { + DatabaseProductID databaseProductID = new DatabaseProductID(); + AMAppStore.RequestAfterPurchase(databaseProductID.GetAllProductId()); + } + + // Token: 0x060007F9 RID: 2041 RVA: 0x00022D54 File Offset: 0x00020F54 + public bool Exec() + { + return AMAppStore.ResultWaitPurchased(ref this.m_eResut); + } + + // Token: 0x060007FA RID: 2042 RVA: 0x00022D64 File Offset: 0x00020F64 + public AMAppStore.ResultStatus Result() + { + return this.m_eResut; + } + + // Token: 0x060007FB RID: 2043 RVA: 0x00022D6C File Offset: 0x00020F6C + public string ResultMessage() + { + Debug.Print(AMAppStore.GetErrorPurchased()); + return (this.m_eResut != AMAppStore.ResultStatus.RESULT_SUCCESS) ? "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。" : "アドオンの購入履歴を更新しました。"; + } + + // Token: 0x040006F0 RID: 1776 + private AMAppStore.ResultStatus m_eResut; + } + + // Token: 0x0200012A RID: 298 + private enum STATE + { + // Token: 0x040006F2 RID: 1778 + PAYINIT, + // Token: 0x040006F3 RID: 1779 + PAYEXEC, + // Token: 0x040006F4 RID: 1780 + INIT, + // Token: 0x040006F5 RID: 1781 + EXEC, + // Token: 0x040006F6 RID: 1782 + PURCHASE_INIT, + // Token: 0x040006F7 RID: 1783 + PURCHASE_EXEC, + // Token: 0x040006F8 RID: 1784 + SUCCESS, + // Token: 0x040006F9 RID: 1785 + FAILD, + // Token: 0x040006FA RID: 1786 + EXIT, + // Token: 0x040006FB RID: 1787 + AFTER_EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentStoreApi/PaymentSave.cs b/Assets/Scripts/Assembly-CSharp/PaymentStoreApi/PaymentSave.cs new file mode 100644 index 000000000..67e87e72a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentStoreApi/PaymentSave.cs @@ -0,0 +1,59 @@ +using System; +using Game; +using PaymentGameApi; +using Qoo; +using Qoo.Game; + +namespace PaymentStoreApi +{ + // Token: 0x020000E6 RID: 230 + public class PaymentSave + { + // Token: 0x06000636 RID: 1590 RVA: 0x00019C60 File Offset: 0x00017E60 + public void Save(string szProductId) + { + DatabaseProductID databaseProductID = new DatabaseProductID(); + CHAR_ID charaIdForProductId = databaseProductID.GetCharaIdForProductId(szProductId); + DatabaseProductID.CheckType checkTypeForProductId = databaseProductID.GetCheckTypeForProductId(szProductId); + if (charaIdForProductId == CHAR_ID.NIGHTMARE) + { + switch (checkTypeForProductId) + { + case DatabaseProductID.CheckType.ROUTE_VOICE: + SysData.SetPayFull(true, true); + break; + case DatabaseProductID.CheckType.ROUTE: + SysData.SetPayFullRoute(true); + break; + case DatabaseProductID.CheckType.VOICE: + SysData.SetPayFullVoice(true); + break; + } + Debug.Print("セーブデータ:フルパック " + checkTypeForProductId); + } + else + { + switch (checkTypeForProductId) + { + case DatabaseProductID.CheckType.ROUTE_VOICE: + SysData.SetPay(charaIdForProductId, true, true); + break; + case DatabaseProductID.CheckType.ROUTE: + SysData.SetPayRoute(charaIdForProductId, true); + break; + case DatabaseProductID.CheckType.VOICE: + SysData.SetPayVoice(charaIdForProductId, true); + break; + } + Debug.Print(string.Concat(new object[] + { + "セーブデータ:Chara:", + charaIdForProductId, + ":", + checkTypeForProductId + })); + } + SaveLoadManager.SaveSystem(); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentTask.cs b/Assets/Scripts/Assembly-CSharp/PaymentTask.cs new file mode 100644 index 000000000..aae1d6ad9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentTask.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections; +using Game; + +// Token: 0x020000F3 RID: 243 +public class PaymentTask : SubPartTask +{ + // Token: 0x06000687 RID: 1671 RVA: 0x0001B07C File Offset: 0x0001927C + public IEnumerator Open(CHAR_ID charaId) + { + UIValue.GalleryCharactor = (int)charaId; + yield return base.Open(UIValue.SCENE_PAYMENT, true); + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/PaymentWindow.cs b/Assets/Scripts/Assembly-CSharp/PaymentWindow.cs new file mode 100644 index 000000000..f3127daab --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/PaymentWindow.cs @@ -0,0 +1,902 @@ +using System; +using System.Collections.Generic; +using Game; +using PaymentGameApi; +using Qoo; +using Qoo.Game; +using UnityEngine; + +// Token: 0x0200012B RID: 299 +public class PaymentWindow : SubTaskBaseWindow +{ + // Token: 0x060007FD RID: 2045 RVA: 0x00022E14 File Offset: 0x00021014 + protected sealed override void OnAwake() + { + Qoo.Debug.Print("m_chara = " + this.GetChara()); + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.callType = UIValue.Payment_Call; + this.state = PaymentWindow.STATE.INIT; + this.m_chara = this.GetChara(); + this.ProductDB = new DatabaseProductID(); + this.buttonStatus = new PaymentWindow.CheckButtonStatus(this.ProductDB); + this.buttonStatus.Check(this.GetCharaId()); + } + + // Token: 0x060007FE RID: 2046 RVA: 0x00022E8C File Offset: 0x0002108C + protected sealed override string[] newSceneTextureNameArray() + { + string str = this.GetFilenameId(this.m_chara).ToString("00"); + return new string[] + { + "screen/title/kyara_" + str, + "screen/title/buy01", + "screen/title/buy02", + "screen/title/buy03", + "screen/title/buy04", + "screen/title/buy06", + "screen/title/buy07", + "screen/title/buy08", + "screen/title/buy10", + "screen/title/buy11", + "screen/title/buy12", + "screen/common/back" + }; + } + + // Token: 0x060007FF RID: 2047 RVA: 0x00022F28 File Offset: 0x00021128 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + string str = this.GetFilenameId(this.m_chara).ToString("00"); + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/title/kyara_" + str, true, true), + new BaseWindow.UIImage("Plate1", 351, 160, this.wndz + 1, (this.GetCharaId() != CHAR_ID.MOB) ? "screen/title/buy04" : "screen/title/buy12", false, true), + new BaseWindow.UIButton("ButtonFull_ALL", 314, 320, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE_VOICE), true, false, 1, 2, 0), + new BaseWindow.UIButton("ButtonFull_VOICE", 314, 320, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_VOICE), true, false, 1, 2, 0), + new BaseWindow.UIImage("ButtonFull_OFF", 314, 320, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED), false, false), + new BaseWindow.UIText("ButtonFull_PRICE", this.btn_fp_x, this.btn_fp_y, this.wndz + 2, " ", 22, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIButton("ButtonFullRoute", 633, 320, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE), true, false, 1, 2, 0), + new BaseWindow.UIImage("ButtonFullRoute_OFF", 633, 320, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED), false, false), + new BaseWindow.UIText("ButtonFullRoute_PRICE", this.btn_frp_x, this.btn_frp_y, this.wndz + 2, " ", 22, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIButton("ButtonChar_ALL", 314, 398, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE_VOICE), true, false, 1, 2, 0), + new BaseWindow.UIButton("ButtonChar_VOICE", 314, 398, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.CHAR_VOICE), true, false, 1, 2, 0), + new BaseWindow.UIImage("ButtonChar_OFF", 314, 398, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED), false, false), + new BaseWindow.UIText("ButtonChar_PRICE", this.btn_cp_x, this.btn_cp_y, this.wndz + 2, " ", 22, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIButton("ButtonCharRoute", 633, 398, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE), true, false, 1, 2, 0), + new BaseWindow.UIImage("ButoonCharRoute_OFF", 633, 398, this.wndz + 1, this.GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED), false, false), + new BaseWindow.UIText("ButtonCharRoute_PRICE", this.btn_crp_x, this.btn_crp_y, this.wndz + 2, " ", 22, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIButton("Cancel", 486, 479, this.wndz + 1, "screen/title/buy07", true, true, 1, 2, 0), + new BaseWindow.UIButton("Back", 887, 6, this.wndz + 1, "screen/common/back", true, this.callType == PaymentCallType.TITLE, 1, 2, 0) + }; + } + + // Token: 0x06000800 RID: 2048 RVA: 0x000232B0 File Offset: 0x000214B0 + protected sealed override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "ButtonFull_ALL": + case "ButtonFull_VOICE": + case "ButtonFull_OFF": + case "ButtonFullRoute": + case "ButtonFullRoute_OFF": + case "ButtonChar_ALL": + case "ButtonChar_VOICE": + case "ButtonChar_OFF": + case "ButtonCharRoute": + case "ButoonCharRoute_OFF": + base.PlaySE_Ok(); + this.OnPayment(this.ButtonNameToPaymentType(obj)); + break; + case "Cancel": + base.PlaySE_Cancel(); + this.OnCancel(); + break; + case "Back": + base.PlaySE_Cancel(); + this.OnBack(); + break; + } + } + + // Token: 0x06000801 RID: 2049 RVA: 0x000233D0 File Offset: 0x000215D0 + private int GetChara() + { + return UIValue.GalleryCharactor; + } + + // Token: 0x06000802 RID: 2050 RVA: 0x000233D8 File Offset: 0x000215D8 + private CHAR_ID GetCharaId() + { + return (CHAR_ID)this.m_chara; + } + + // Token: 0x06000803 RID: 2051 RVA: 0x000233E0 File Offset: 0x000215E0 + private int GetFilenameId(int i) + { + return i + 1; + } + + // Token: 0x06000804 RID: 2052 RVA: 0x000233E8 File Offset: 0x000215E8 + private string GetButtonFPath(PaymentWindow.CheckButtonStatus.ButtonType buttonType) + { + switch (buttonType) + { + case PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED: + return "screen/title/buy08"; + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE_VOICE: + return "screen/title/buy01"; + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE: + return "screen/title/buy03"; + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_VOICE: + return "screen/title/buy11"; + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE_VOICE: + return "screen/title/buy02"; + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE: + return "screen/title/buy06"; + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_VOICE: + return "screen/title/buy10"; + default: + return string.Empty; + } + } + + // Token: 0x06000805 RID: 2053 RVA: 0x00023450 File Offset: 0x00021650 + private void RenewalButtonStatus() + { + base.GameObjectShow("ButtonFull_ALL", false); + base.GameObjectShow("ButtonFull_VOICE", false); + base.GameObjectShow("ButtonFull_OFF", false); + base.GameObjectShow("ButtonFullRoute", false); + base.GameObjectShow("ButtonFullRoute_OFF", false); + base.GameObjectShow("ButtonChar_ALL", false); + base.GameObjectShow("ButtonChar_VOICE", false); + base.GameObjectShow("ButtonChar_OFF", false); + base.GameObjectShow("ButtonCharRoute", false); + base.GameObjectShow("ButoonCharRoute_OFF", false); + string str_ = " "; + UnityTextSprite textSprite = base.GetTextSprite("ButtonFull_PRICE"); + textSprite.ClearText(); + textSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + switch (this.buttonStatus.ButtonFull) + { + case PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED: + base.GameObjectShow("ButtonFull_OFF", true); + str_ = " "; + break; + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE_VOICE: + base.GameObjectShow("ButtonFull_ALL", true); + str_ = AMAppStore.GetPrice(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.ROUTE_VOICE)); + break; + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_VOICE: + base.GameObjectShow("ButtonFull_VOICE", true); + str_ = AMAppStore.GetPrice(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.VOICE)); + break; + } + Qoo.Debug.Print(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.ROUTE_VOICE)); + textSprite.AddText(str_, 22); + textSprite.SetPosition(this.btn_fp_x, this.btn_fp_y, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 2))); + textSprite = base.GetTextSprite("ButtonFullRoute_PRICE"); + textSprite.ClearText(); + textSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + switch (this.buttonStatus.ButtonFullRoute) + { + case PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED: + base.GameObjectShow("ButtonFullRoute_OFF", true); + str_ = " "; + break; + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE: + base.GameObjectShow("ButtonFullRoute", true); + str_ = AMAppStore.GetPrice(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.ROUTE)); + break; + } + Qoo.Debug.Print(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.ROUTE)); + textSprite.AddText(str_, 22); + textSprite.SetPosition(this.btn_frp_x, this.btn_frp_y, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 2))); + if (this.GetCharaId() == CHAR_ID.MOB) + { + return; + } + textSprite = base.GetTextSprite("ButtonChar_PRICE"); + textSprite.ClearText(); + textSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + PaymentWindow.CheckButtonStatus.ButtonType buttonType = this.buttonStatus.ButtonChar; + switch (buttonType) + { + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE_VOICE: + base.GameObjectShow("ButtonChar_ALL", true); + str_ = AMAppStore.GetPrice(this.ProductDB.GetAddonName(this.GetCharaId(), DatabaseProductID.CheckType.ROUTE_VOICE)); + break; + default: + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED) + { + base.GameObjectShow("ButtonChar_OFF", true); + str_ = " "; + } + break; + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_VOICE: + base.GameObjectShow("ButtonChar_VOICE", true); + str_ = AMAppStore.GetPrice(this.ProductDB.GetAddonName(this.GetCharaId(), DatabaseProductID.CheckType.VOICE)); + break; + } + textSprite.AddText(str_, 22); + textSprite.SetPosition(this.btn_cp_x, this.btn_cp_y, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 2))); + textSprite = base.GetTextSprite("ButtonCharRoute_PRICE"); + textSprite.ClearText(); + textSprite.SetTextColor(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue)); + buttonType = this.buttonStatus.ButtonCharRoute; + if (buttonType != PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED) + { + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE) + { + base.GameObjectShow("ButtonCharRoute", true); + str_ = AMAppStore.GetPrice(this.ProductDB.GetAddonName(this.GetCharaId(), DatabaseProductID.CheckType.ROUTE)); + } + } + else + { + base.GameObjectShow("ButoonCharRoute_OFF", true); + str_ = " "; + } + textSprite.AddText(str_, 22); + textSprite.SetPosition(this.btn_crp_x, this.btn_crp_y, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 2))); + } + + // Token: 0x06000806 RID: 2054 RVA: 0x00023894 File Offset: 0x00021A94 + protected override void OnBaseWindowUpdate() + { + switch (this.state) + { + case PaymentWindow.STATE.INIT: + base.AddScene(UIValue.SCENE_PAYMENTLIST); + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.state = PaymentWindow.STATE.LISTNEW; + break; + case PaymentWindow.STATE.LISTNEW: + switch (UIValue.Payment_Exit) + { + case PaymentExitType.SUCCESS: + this.buttonStatus.Check(this.GetCharaId()); + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.RenewalButtonStatus(); + this.UpdateSysdata(); + this.state = PaymentWindow.STATE.WAIT; + break; + case PaymentExitType.FAILD: + this.buttonStatus.Check(this.GetCharaId()); + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.RenewalButtonStatus(); + this.state = PaymentWindow.STATE.FAILD; + break; + } + break; + case PaymentWindow.STATE.EXEC: + switch (UIValue.Payment_Exit) + { + case PaymentExitType.CANCEL: + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.state = PaymentWindow.STATE.WAIT; + break; + case PaymentExitType.SUCCESS: + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.state = PaymentWindow.STATE.SUCCESS; + break; + case PaymentExitType.FAILD: + UIValue.Payment_Exit = PaymentExitType.INVALID; + this.state = PaymentWindow.STATE.FAILD; + break; + } + break; + case PaymentWindow.STATE.SUCCESS: + if (this.callType == PaymentCallType.TITLE) + { + SceneManager.ChangeScene(UIValue.SCENE_TITLE); + } + else + { + base.IsTaskEnd = true; + } + this.state = PaymentWindow.STATE.EXIT; + break; + case PaymentWindow.STATE.FAILD: + if (this.callType == PaymentCallType.TITLE) + { + SceneManager.ChangeScene(UIValue.SCENE_TITLE); + } + else + { + base.IsTaskEnd = true; + } + this.state = PaymentWindow.STATE.EXIT; + break; + case PaymentWindow.STATE.EXIT: + this.state = PaymentWindow.STATE.AFTER_EXIT; + break; + } + } + + // Token: 0x06000807 RID: 2055 RVA: 0x00023A48 File Offset: 0x00021C48 + private void OnPayment(int index) + { + PaymentWindow.STATE state = this.state; + if (state != PaymentWindow.STATE.WAIT) + { + return; + } + string productId = this.GetProductId(index); + if (productId.Length != 0) + { + this.state = PaymentWindow.STATE.EXEC; + UIValue.Payment_ProductId = productId; + base.AddScene(UIValue.SCENE_PAYMENTDIALOG); + } + } + + // Token: 0x06000808 RID: 2056 RVA: 0x00023A9C File Offset: 0x00021C9C + private int ButtonNameToPaymentType(string obj) + { + switch (obj) + { + case "ButtonFull_ALL": + return 0; + case "ButtonFull_VOICE": + return 0; + case "ButtonFull_OFF": + return -1; + case "ButtonFullRoute": + return 1; + case "ButtonFullRoute_OFF": + return -1; + case "ButtonChar_ALL": + return 2; + case "ButtonChar_VOICE": + return 2; + case "ButtonChar_OFF": + return -1; + case "ButtonCharRoute": + return 3; + case "ButoonCharRoute_OFF": + return -1; + } + return -1; + } + + // Token: 0x06000809 RID: 2057 RVA: 0x00023B9C File Offset: 0x00021D9C + private string GetProductId(int index) + { + switch (index) + { + case 0: + switch (this.buttonStatus.ButtonFull) + { + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE_VOICE: + return this.ProductDB.GetAddonName(CHAR_ID.NOTHING, DatabaseProductID.CheckType.ROUTE_VOICE); + case PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_VOICE: + return this.ProductDB.GetAddonName(CHAR_ID.NOTHING, DatabaseProductID.CheckType.VOICE); + } + break; + case 1: + { + PaymentWindow.CheckButtonStatus.ButtonType buttonType = this.buttonStatus.ButtonFullRoute; + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE) + { + return this.ProductDB.GetAddonName(CHAR_ID.NOTHING, DatabaseProductID.CheckType.ROUTE); + } + break; + } + case 2: + switch (this.buttonStatus.ButtonChar) + { + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE_VOICE: + return this.ProductDB.GetAddonName(this.GetCharaId(), DatabaseProductID.CheckType.ROUTE_VOICE); + case PaymentWindow.CheckButtonStatus.ButtonType.CHAR_VOICE: + return this.ProductDB.GetAddonName(this.GetCharaId(), DatabaseProductID.CheckType.VOICE); + } + break; + case 3: + { + PaymentWindow.CheckButtonStatus.ButtonType buttonType = this.buttonStatus.ButtonCharRoute; + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE) + { + return this.ProductDB.GetAddonName(this.GetCharaId(), DatabaseProductID.CheckType.ROUTE); + } + break; + } + } + return string.Empty; + } + + // Token: 0x0600080A RID: 2058 RVA: 0x00023CBC File Offset: 0x00021EBC + private void OnCancel() + { + Qoo.Debug.Print("state = " + this.state); + PaymentWindow.STATE state = this.state; + if (state != PaymentWindow.STATE.WAIT) + { + return; + } + if (this.callType == PaymentCallType.TITLE) + { + SceneManager.ChangeScene(UIValue.SCENE_TITLE); + } + else + { + base.IsTaskEnd = true; + } + } + + // Token: 0x0600080B RID: 2059 RVA: 0x00023D20 File Offset: 0x00021F20 + private void OnBack() + { + Qoo.Debug.Print("state = " + this.state); + PaymentWindow.STATE state = this.state; + if (state != PaymentWindow.STATE.WAIT) + { + return; + } + SceneManager.BackScene(); + } + + // Token: 0x0600080C RID: 2060 RVA: 0x00023D68 File Offset: 0x00021F68 + private void UpdateSysdata() + { + bool flag; + bool flag2; + for (CHAR_ID char_ID = CHAR_ID.BLOOD; char_ID < CHAR_ID.NIGHTMARE; char_ID++) + { + flag = false; + flag2 = false; + if (AMAppStore.CheckPurchased(this.ProductDB.GetAddonName(char_ID, DatabaseProductID.CheckType.ROUTE_VOICE))) + { + flag = true; + flag2 = true; + } + if (AMAppStore.CheckPurchased(this.ProductDB.GetAddonName(char_ID, DatabaseProductID.CheckType.ROUTE))) + { + flag = true; + } + if (AMAppStore.CheckPurchased(this.ProductDB.GetAddonName(char_ID, DatabaseProductID.CheckType.VOICE))) + { + flag2 = true; + } + Qoo.Debug.Print(string.Concat(new object[] + { + "セーブデータ:Chara ", + char_ID, + "ルート ", + flag, + "ボイス ", + flag2 + })); + SysData.SetPay(char_ID, flag, flag2); + } + flag = false; + flag2 = false; + if (AMAppStore.CheckPurchased(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.ROUTE_VOICE))) + { + flag = true; + flag2 = true; + } + if (AMAppStore.CheckPurchased(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.ROUTE))) + { + flag = true; + } + if (AMAppStore.CheckPurchased(this.ProductDB.GetAddonName(CHAR_ID.NIGHTMARE, DatabaseProductID.CheckType.VOICE))) + { + flag2 = true; + } + Qoo.Debug.Print(string.Concat(new object[] + { + "セーブデータ:フルパック ルート ", + flag, + "ボイス ", + flag2 + })); + SysData.SetPayFull(flag, flag2); + SaveLoadManager.SaveSystem(); + } + + // Token: 0x040006FC RID: 1788 + private PaymentWindow.STATE state; + + // Token: 0x040006FD RID: 1789 + private int m_chara; + + // Token: 0x040006FE RID: 1790 + private PaymentWindow.CheckButtonStatus buttonStatus; + + // Token: 0x040006FF RID: 1791 + private PaymentCallType callType; + + // Token: 0x04000700 RID: 1792 + private readonly int wndz = 5; + + // Token: 0x04000701 RID: 1793 + private DatabaseProductID ProductDB; + + // Token: 0x04000702 RID: 1794 + private int btn_fp_x = 575; + + // Token: 0x04000703 RID: 1795 + private int btn_fp_y = 349; + + // Token: 0x04000704 RID: 1796 + private int btn_frp_x = 894; + + // Token: 0x04000705 RID: 1797 + private int btn_frp_y = 349; + + // Token: 0x04000706 RID: 1798 + private int btn_cp_x = 575; + + // Token: 0x04000707 RID: 1799 + private int btn_cp_y = 427; + + // Token: 0x04000708 RID: 1800 + private int btn_crp_x = 894; + + // Token: 0x04000709 RID: 1801 + private int btn_crp_y = 427; + + // Token: 0x0200012C RID: 300 + private class PurchasedStatus + { + // Token: 0x0600080D RID: 2061 RVA: 0x00023EB8 File Offset: 0x000220B8 + public PurchasedStatus(CHAR_ID charId_, DatabaseProductID db_) + { + this.charId = charId_; + this.db = db_; + this.routeVoice = false; + this.route = false; + this.voice = false; + } + + // Token: 0x170000DF RID: 223 + // (get) Token: 0x0600080E RID: 2062 RVA: 0x00023EE4 File Offset: 0x000220E4 + public bool RouteVoice + { + get + { + return this.routeVoice; + } + } + + // Token: 0x170000E0 RID: 224 + // (get) Token: 0x0600080F RID: 2063 RVA: 0x00023EEC File Offset: 0x000220EC + public bool Route + { + get + { + return this.route; + } + } + + // Token: 0x170000E1 RID: 225 + // (get) Token: 0x06000810 RID: 2064 RVA: 0x00023EF4 File Offset: 0x000220F4 + public bool Voice + { + get + { + return this.voice; + } + } + + // Token: 0x170000E2 RID: 226 + // (get) Token: 0x06000811 RID: 2065 RVA: 0x00023EFC File Offset: 0x000220FC + public bool RouteMix + { + get + { + return this.routeVoice | this.route; + } + } + + // Token: 0x170000E3 RID: 227 + // (get) Token: 0x06000812 RID: 2066 RVA: 0x00023F0C File Offset: 0x0002210C + public bool VoiceMix + { + get + { + return this.routeVoice | this.voice; + } + } + + // Token: 0x06000813 RID: 2067 RVA: 0x00023F1C File Offset: 0x0002211C + public void Check() + { + Qoo.Debug.Print("check Id =" + this.charId); + this.routeVoice = this.Check(this.db.GetAddonName(this.charId, DatabaseProductID.CheckType.ROUTE_VOICE)); + this.route = this.Check(this.db.GetAddonName(this.charId, DatabaseProductID.CheckType.ROUTE)); + this.voice = this.Check(this.db.GetAddonName(this.charId, DatabaseProductID.CheckType.VOICE)); + Qoo.Debug.Print(string.Concat(new object[] + { + "RV = ", + this.routeVoice, + " R = ", + this.route, + " V = ", + this.voice + })); + } + + // Token: 0x06000814 RID: 2068 RVA: 0x00023FF0 File Offset: 0x000221F0 + public void Check(Dictionary dic) + { + bool flag = true; + bool flag2 = true; + bool flag3 = true; + foreach (KeyValuePair keyValuePair in dic) + { + if (!keyValuePair.Value.RouteVoice) + { + flag = false; + } + if (!keyValuePair.Value.Route) + { + flag2 = false; + } + if (!keyValuePair.Value.Voice) + { + flag3 = false; + } + } + this.routeVoice = flag; + this.route = flag2; + this.voice = flag3; + } + + // Token: 0x06000815 RID: 2069 RVA: 0x000240A0 File Offset: 0x000222A0 + public bool Check(string productId) + { + return AMAppStore.CheckPurchased(productId); + } + + // Token: 0x0400070C RID: 1804 + private CHAR_ID charId; + + // Token: 0x0400070D RID: 1805 + private DatabaseProductID db; + + // Token: 0x0400070E RID: 1806 + private bool routeVoice; + + // Token: 0x0400070F RID: 1807 + private bool route; + + // Token: 0x04000710 RID: 1808 + private bool voice; + } + + // Token: 0x0200012D RID: 301 + private class CheckButtonStatus + { + // Token: 0x06000816 RID: 2070 RVA: 0x000240A8 File Offset: 0x000222A8 + public CheckButtonStatus(DatabaseProductID db) + { + this.char2PurchasedStatus = new Dictionary(); + CHAR_ID[] array = new CHAR_ID[] + { + CHAR_ID.BLOOD, + CHAR_ID.ELLIOT, + CHAR_ID.DEEDUM, + CHAR_ID.VIVALDI, + CHAR_ID.PETER, + CHAR_ID.ACE, + CHAR_ID.GOWLAND, + CHAR_ID.BORIS, + CHAR_ID.JULIUS + }; + foreach (CHAR_ID char_ID in array) + { + this.char2PurchasedStatus.Add(char_ID, new PaymentWindow.PurchasedStatus(char_ID, db)); + } + this.fullPurchasedStatus = new PaymentWindow.PurchasedStatus(CHAR_ID.NOTHING, db); + this.totalPurchasedStatus = new PaymentWindow.PurchasedStatus(CHAR_ID.NOTHING, db); + } + + // Token: 0x170000E4 RID: 228 + // (get) Token: 0x06000817 RID: 2071 RVA: 0x00024138 File Offset: 0x00022338 + public PaymentWindow.CheckButtonStatus.ButtonType ButtonFull + { + get + { + return this.buttonFull; + } + } + + // Token: 0x170000E5 RID: 229 + // (get) Token: 0x06000818 RID: 2072 RVA: 0x00024140 File Offset: 0x00022340 + public PaymentWindow.CheckButtonStatus.ButtonType ButtonFullRoute + { + get + { + return this.buttonFullRoute; + } + } + + // Token: 0x170000E6 RID: 230 + // (get) Token: 0x06000819 RID: 2073 RVA: 0x00024148 File Offset: 0x00022348 + public PaymentWindow.CheckButtonStatus.ButtonType ButtonChar + { + get + { + return this.buttonChar; + } + } + + // Token: 0x170000E7 RID: 231 + // (get) Token: 0x0600081A RID: 2074 RVA: 0x00024150 File Offset: 0x00022350 + public PaymentWindow.CheckButtonStatus.ButtonType ButtonCharRoute + { + get + { + return this.buttonCharRoute; + } + } + + // Token: 0x170000E8 RID: 232 + // (get) Token: 0x0600081B RID: 2075 RVA: 0x00024158 File Offset: 0x00022358 + private PaymentWindow.CheckButtonStatus.ButtonType CheckButtonFull + { + get + { + if (this.fullPurchasedStatus.VoiceMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED; + } + if (this.fullPurchasedStatus.RouteMix && this.totalPurchasedStatus.VoiceMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED; + } + if (this.fullPurchasedStatus.RouteMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_VOICE; + } + return PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE_VOICE; + } + } + + // Token: 0x170000E9 RID: 233 + // (get) Token: 0x0600081C RID: 2076 RVA: 0x000241AC File Offset: 0x000223AC + private PaymentWindow.CheckButtonStatus.ButtonType CheckButtonFullRoute + { + get + { + if (this.fullPurchasedStatus.RouteMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED; + } + return PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_ROUTE; + } + } + + // Token: 0x170000EA RID: 234 + // (get) Token: 0x0600081D RID: 2077 RVA: 0x000241C4 File Offset: 0x000223C4 + private PaymentWindow.CheckButtonStatus.ButtonType CheckButtonChar + { + get + { + PaymentWindow.CheckButtonStatus.ButtonType buttonType = this.ButtonFull; + PaymentWindow.PurchasedStatus purchasedStatus = this.char2PurchasedStatus[this.charId]; + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED || purchasedStatus.VoiceMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED; + } + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.FULLPACKAGE_VOICE || purchasedStatus.RouteMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.CHAR_VOICE; + } + return PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE_VOICE; + } + } + + // Token: 0x170000EB RID: 235 + // (get) Token: 0x0600081E RID: 2078 RVA: 0x00024214 File Offset: 0x00022414 + private PaymentWindow.CheckButtonStatus.ButtonType CheckButtonCharRoute + { + get + { + PaymentWindow.CheckButtonStatus.ButtonType buttonType = this.ButtonFullRoute; + PaymentWindow.PurchasedStatus purchasedStatus = this.char2PurchasedStatus[this.charId]; + if (buttonType == PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED || purchasedStatus.RouteMix) + { + return PaymentWindow.CheckButtonStatus.ButtonType.PURCHASED; + } + return PaymentWindow.CheckButtonStatus.ButtonType.CHAR_ROUTE; + } + } + + // Token: 0x0600081F RID: 2079 RVA: 0x00024250 File Offset: 0x00022450 + public void Check(CHAR_ID charId_) + { + foreach (KeyValuePair keyValuePair in this.char2PurchasedStatus) + { + keyValuePair.Value.Check(); + } + this.fullPurchasedStatus.Check(); + this.totalPurchasedStatus.Check(this.char2PurchasedStatus); + if (charId_ == CHAR_ID.MOB) + { + this.charId = CHAR_ID.BLOOD; + } + else + { + this.charId = charId_; + } + this.buttonFull = this.CheckButtonFull; + this.buttonFullRoute = this.CheckButtonFullRoute; + this.buttonChar = this.CheckButtonChar; + this.buttonCharRoute = this.CheckButtonCharRoute; + } + + // Token: 0x04000711 RID: 1809 + private Dictionary char2PurchasedStatus; + + // Token: 0x04000712 RID: 1810 + private PaymentWindow.PurchasedStatus fullPurchasedStatus; + + // Token: 0x04000713 RID: 1811 + private PaymentWindow.PurchasedStatus totalPurchasedStatus; + + // Token: 0x04000714 RID: 1812 + private CHAR_ID charId; + + // Token: 0x04000715 RID: 1813 + private PaymentWindow.CheckButtonStatus.ButtonType buttonFull; + + // Token: 0x04000716 RID: 1814 + private PaymentWindow.CheckButtonStatus.ButtonType buttonFullRoute; + + // Token: 0x04000717 RID: 1815 + private PaymentWindow.CheckButtonStatus.ButtonType buttonChar; + + // Token: 0x04000718 RID: 1816 + private PaymentWindow.CheckButtonStatus.ButtonType buttonCharRoute; + + // Token: 0x0200012E RID: 302 + public enum ButtonType + { + // Token: 0x0400071A RID: 1818 + INVALID, + // Token: 0x0400071B RID: 1819 + PURCHASED, + // Token: 0x0400071C RID: 1820 + FULLPACKAGE_ROUTE_VOICE, + // Token: 0x0400071D RID: 1821 + FULLPACKAGE_ROUTE, + // Token: 0x0400071E RID: 1822 + FULLPACKAGE_VOICE, + // Token: 0x0400071F RID: 1823 + CHAR_ROUTE_VOICE, + // Token: 0x04000720 RID: 1824 + CHAR_ROUTE, + // Token: 0x04000721 RID: 1825 + CHAR_VOICE + } + } + + // Token: 0x0200012F RID: 303 + private enum STATE + { + // Token: 0x04000723 RID: 1827 + INIT, + // Token: 0x04000724 RID: 1828 + LISTNEW, + // Token: 0x04000725 RID: 1829 + WAIT, + // Token: 0x04000726 RID: 1830 + EXEC, + // Token: 0x04000727 RID: 1831 + SUCCESS, + // Token: 0x04000728 RID: 1832 + FAILD, + // Token: 0x04000729 RID: 1833 + EXIT, + // Token: 0x0400072A RID: 1834 + AFTER_EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Point2.cs b/Assets/Scripts/Assembly-CSharp/Point2.cs new file mode 100644 index 000000000..33cc50446 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Point2.cs @@ -0,0 +1,25 @@ +using System; + +// Token: 0x0200017B RID: 379 +public class Point2 +{ + // Token: 0x06000AC8 RID: 2760 RVA: 0x0002F5B0 File Offset: 0x0002D7B0 + public Point2(int x_ = 0, int y_ = 0) + { + this.x = x_; + this.y = y_; + } + + // Token: 0x06000AC9 RID: 2761 RVA: 0x0002F5C8 File Offset: 0x0002D7C8 + public void Scale(float fX, float fY) + { + this.x = (int)((float)this.x * fX); + this.y = (int)((float)this.y * fY); + } + + // Token: 0x040008B7 RID: 2231 + public int x; + + // Token: 0x040008B8 RID: 2232 + public int y; +} diff --git a/Assets/Scripts/Assembly-CSharp/Point3.cs b/Assets/Scripts/Assembly-CSharp/Point3.cs new file mode 100644 index 000000000..0a68ac22b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Point3.cs @@ -0,0 +1,30 @@ +using System; + +// Token: 0x0200017A RID: 378 +public class Point3 +{ + // Token: 0x06000AC6 RID: 2758 RVA: 0x0002F550 File Offset: 0x0002D750 + public Point3(int x_ = 0, int y_ = 0, int z_ = 0) + { + this.x = x_; + this.y = y_; + this.z = z_; + } + + // Token: 0x06000AC7 RID: 2759 RVA: 0x0002F570 File Offset: 0x0002D770 + public void Scale(float fX, float fY, float fZ) + { + this.x = (int)((float)this.x * fX); + this.y = (int)((float)this.y * fY); + this.z = (int)((float)this.z * fZ); + } + + // Token: 0x040008B4 RID: 2228 + public int x; + + // Token: 0x040008B5 RID: 2229 + public int y; + + // Token: 0x040008B6 RID: 2230 + public int z; +} diff --git a/Assets/Scripts/Assembly-CSharp/Properties/AssemblyInfo.cs b/Assets/Scripts/Assembly-CSharp/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..1b279f879 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Properties/AssemblyInfo.cs @@ -0,0 +1,5 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; + +[assembly: AssemblyVersion("0.0.0.0")] diff --git a/Assets/Scripts/Assembly-CSharp/QO/AllocMem.cs b/Assets/Scripts/Assembly-CSharp/QO/AllocMem.cs new file mode 100644 index 000000000..c7bd313b4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/QO/AllocMem.cs @@ -0,0 +1,121 @@ +using System; +using System.Text; +using UnityEngine; + +namespace QO +{ + // Token: 0x0200015F RID: 351 + [ExecuteInEditMode] + public class AllocMem : MonoBehaviour + { + // Token: 0x06000A22 RID: 2594 RVA: 0x0002D02C File Offset: 0x0002B22C + public void Start() + { + base.useGUILayout = false; + } + + // Token: 0x06000A23 RID: 2595 RVA: 0x0002D038 File Offset: 0x0002B238 + public void OnGUI() + { + if (!this.show || (!Application.isPlaying && !this.showInEditor)) + { + return; + } + int num = GC.CollectionCount(0); + if (this.lastCollectNum != (float)num) + { + this.lastCollectNum = (float)num; + this.delta = Time.realtimeSinceStartup - this.lastCollect; + this.lastCollect = Time.realtimeSinceStartup; + this.lastDeltaTime = Time.deltaTime; + this.collectAlloc = this.allocMem; + } + this.allocMem = (int)GC.GetTotalMemory(false); + this.peakAlloc = ((this.allocMem <= this.peakAlloc) ? this.peakAlloc : this.allocMem); + if (Time.realtimeSinceStartup - this.lastAllocSet > 0.3f) + { + int num2 = this.allocMem - this.lastAllocMemory; + this.lastAllocMemory = this.allocMem; + this.lastAllocSet = Time.realtimeSinceStartup; + if (num2 >= 0) + { + this.allocRate = num2; + } + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append("usedHeapSize "); + stringBuilder.Append(string.Concat(new object[] + { + Profiler.usedHeapSize / 1024f, + " KB / ", + (float)SystemInfo.systemMemorySize * 1024f, + " KB" + })); + stringBuilder.Append("\r\n"); + stringBuilder.Append("Currently allocated "); + stringBuilder.Append(((float)this.allocMem / 1024f).ToString("0")); + stringBuilder.Append("KB\r\n"); + stringBuilder.Append("Peak allocated "); + stringBuilder.Append(((float)this.peakAlloc / 1024f).ToString("0")); + stringBuilder.Append("KB (last collect "); + stringBuilder.Append(((float)this.collectAlloc / 1024f).ToString("0")); + stringBuilder.Append(" KB)\r\n"); + stringBuilder.Append("Allocation rate "); + stringBuilder.Append(((float)this.allocRate / 1024f).ToString("0.0")); + stringBuilder.Append("KB\r\n"); + stringBuilder.Append("Collection frequency "); + stringBuilder.Append(this.delta.ToString("0.00")); + stringBuilder.Append("s\r\n"); + stringBuilder.Append("Last collect delta "); + stringBuilder.Append(this.lastDeltaTime.ToString("0.000")); + stringBuilder.Append("s ("); + stringBuilder.Append((1f / this.lastDeltaTime).ToString("0.0")); + stringBuilder.Append(" fps)"); + if (this.showFPS) + { + stringBuilder.Append("\r\n" + (1f / Time.deltaTime).ToString("0.0") + " fps"); + } + GUI.Box(new Rect(5f, 5f, 310f, (float)(80 + ((!this.showFPS) ? 0 : 16))), string.Empty); + GUI.Label(new Rect(10f, 5f, 2000f, 400f), stringBuilder.ToString()); + } + + // Token: 0x0400083E RID: 2110 + public bool show = true; + + // Token: 0x0400083F RID: 2111 + public bool showFPS; + + // Token: 0x04000840 RID: 2112 + public bool showInEditor; + + // Token: 0x04000841 RID: 2113 + private float lastCollect; + + // Token: 0x04000842 RID: 2114 + private float lastCollectNum; + + // Token: 0x04000843 RID: 2115 + private float delta; + + // Token: 0x04000844 RID: 2116 + private float lastDeltaTime; + + // Token: 0x04000845 RID: 2117 + private int allocRate; + + // Token: 0x04000846 RID: 2118 + private int lastAllocMemory; + + // Token: 0x04000847 RID: 2119 + private float lastAllocSet = -9999f; + + // Token: 0x04000848 RID: 2120 + private int allocMem; + + // Token: 0x04000849 RID: 2121 + private int collectAlloc; + + // Token: 0x0400084A RID: 2122 + private int peakAlloc; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/QO/IO/QODirectory.cs b/Assets/Scripts/Assembly-CSharp/QO/IO/QODirectory.cs new file mode 100644 index 000000000..b7e7b8fce --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/QO/IO/QODirectory.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace QO.IO +{ + // Token: 0x02000173 RID: 371 + public class QODirectory + { + // Token: 0x06000A90 RID: 2704 RVA: 0x0002E8C0 File Offset: 0x0002CAC0 + public static List CollectFile(string directory, string extension, bool isWithChild = false) + { + List list = new List(); + if (!Directory.Exists(directory)) + { + return list; + } + foreach (string text in Directory.GetFiles(directory)) + { + if (text.IndexOf(".meta") < 0) + { + if (text.IndexOf(extension) >= 0) + { + list.Add(text); + } + } + } + if (isWithChild) + { + string[] directories = Directory.GetDirectories(directory); + foreach (string directory2 in directories) + { + foreach (string item in QODirectory.CollectFile(directory2, extension, isWithChild)) + { + list.Add(item); + } + } + } + return list; + } + + // Token: 0x06000A91 RID: 2705 RVA: 0x0002E9BC File Offset: 0x0002CBBC + public static void CreatePathToFileDirectory(string filePath) + { + string text = string.Empty; + string[] array = filePath.Split(new char[] + { + '/' + }); + for (int i = 0; i < array.Length - 1; i++) + { + text = text + "/" + array[i]; + } + if (text != string.Empty) + { + text = text.Substring(1); + if (!Directory.Exists(text)) + { + Directory.CreateDirectory(text); + } + } + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SYS_SAVE_DATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SYS_SAVE_DATA.cs new file mode 100644 index 000000000..58745a8d4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SYS_SAVE_DATA.cs @@ -0,0 +1,68 @@ +using System; +using Qoo.Game; +using Qoo.Memory; +using Qoo.Param; + +namespace Qoo.AM.Game +{ + // Token: 0x02000027 RID: 39 + public class SYS_SAVE_DATA + { + // Token: 0x0600010A RID: 266 RVA: 0x00005C50 File Offset: 0x00003E50 + public bool Ready() + { + this.m_Read = SysData.ReadData; + this.m_LookCg = SysData.LookCg; + this.m_LookMovie = SysData.LookMovie; + this.m_LookBgm = SysData.LookBgm; + this.m_Param = SysData.Param; + return true; + } + + // Token: 0x0600010B RID: 267 RVA: 0x00005C98 File Offset: 0x00003E98 + public bool Save(MemFile mem) + { + this.m_Header.Save(mem); + this.m_Read.Save(mem); + this.m_LookCg.Save(mem); + this.m_LookMovie.Save(mem); + this.m_LookBgm.Save(mem); + this.m_Param.Save(mem); + return true; + } + + // Token: 0x0600010C RID: 268 RVA: 0x00005CF4 File Offset: 0x00003EF4 + public bool Load(MemFile mem) + { + this.Ready(); + if (this.m_Header.Load(mem)) + { + this.m_Read.Load(mem); + this.m_LookCg.Load(mem); + this.m_LookMovie.Load(mem); + this.m_LookBgm.Load(mem); + this.m_Param.Load(mem); + return true; + } + return false; + } + + // Token: 0x04000117 RID: 279 + public SYS_SAVE_DATA_HEADER m_Header = new SYS_SAVE_DATA_HEADER(); + + // Token: 0x04000118 RID: 280 + public Read m_Read; + + // Token: 0x04000119 RID: 281 + public Look m_LookCg; + + // Token: 0x0400011A RID: 282 + public Look m_LookMovie; + + // Token: 0x0400011B RID: 283 + public Look m_LookBgm; + + // Token: 0x0400011C RID: 284 + public SystemParam m_Param; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SYS_SAVE_DATA_HEADER.cs b/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SYS_SAVE_DATA_HEADER.cs new file mode 100644 index 000000000..8cf6bf44e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SYS_SAVE_DATA_HEADER.cs @@ -0,0 +1,38 @@ +using System; +using Qoo.Memory; + +namespace Qoo.AM.Game +{ + // Token: 0x02000026 RID: 38 + public class SYS_SAVE_DATA_HEADER + { + // Token: 0x06000107 RID: 263 RVA: 0x00005BE0 File Offset: 0x00003DE0 + public bool Save(MemFile mem) + { + mem.SetStringUtf16(this.m_ID); + mem.SetInt32(this.m_iVersion); + return true; + } + + // Token: 0x06000108 RID: 264 RVA: 0x00005BFC File Offset: 0x00003DFC + public bool Load(MemFile mem) + { + string stringUtf = mem.GetStringUtf16(); + if (stringUtf != this.m_ID) + { + return false; + } + int @int = mem.GetInt32(); + return @int == this.m_iVersion; + } + + // Token: 0x04000114 RID: 276 + public const int SYS_SAVE_DATA_VERSION = 1; + + // Token: 0x04000115 RID: 277 + public string m_ID = "QOO.SAVEDATA.SYSTEM"; + + // Token: 0x04000116 RID: 278 + public int m_iVersion = 1; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SysSaveData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SysSaveData.cs new file mode 100644 index 000000000..0bd7a9cad --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/AM/Game/SysSaveData.cs @@ -0,0 +1,61 @@ +using System; +using Qoo.Memory; + +namespace Qoo.AM.Game +{ + // Token: 0x02000028 RID: 40 + public class SysSaveData + { + // Token: 0x17000022 RID: 34 + // (get) Token: 0x0600010E RID: 270 RVA: 0x00005D74 File Offset: 0x00003F74 + public byte[] Data + { + get + { + return this.m_Data.Data.ToArray(); + } + } + + // Token: 0x17000023 RID: 35 + // (get) Token: 0x0600010F RID: 271 RVA: 0x00005D88 File Offset: 0x00003F88 + public SYS_SAVE_DATA LoadData + { + get + { + return this.m_SysData; + } + } + + // Token: 0x06000110 RID: 272 RVA: 0x00005D90 File Offset: 0x00003F90 + public byte[] Save() + { + this.m_Data.Clear(); + this.m_SysData = new SYS_SAVE_DATA(); + this.m_SysData.Ready(); + if (this.m_SysData.Save(this.m_Data)) + { + return this.m_Data.Data.ToArray(); + } + return null; + } + + // Token: 0x06000111 RID: 273 RVA: 0x00005DE8 File Offset: 0x00003FE8 + public bool Load(byte[] data_) + { + if (data_ != null && data_.Length > 0) + { + this.m_Data = new MemFile(data_); + this.m_SysData = new SYS_SAVE_DATA(); + this.m_SysData.Ready(); + return this.m_SysData.Load(this.m_Data); + } + return false; + } + + // Token: 0x0400011D RID: 285 + private MemFile m_Data = new MemFile(null); + + // Token: 0x0400011E RID: 286 + private SYS_SAVE_DATA m_SysData; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Application/App.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Application/App.cs new file mode 100644 index 000000000..5811aea99 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Application/App.cs @@ -0,0 +1,128 @@ +using System; +using Game; +using Qoo.Ks; +using Qoo.Message; +using Qoo.Select; + +namespace Qoo.Application +{ + // Token: 0x02000009 RID: 9 + public static class App + { + // Token: 0x06000013 RID: 19 RVA: 0x00002258 File Offset: 0x00000458 + static App() + { + App.rnd = new Random(); + } + + // Token: 0x17000001 RID: 1 + // (get) Token: 0x06000014 RID: 20 RVA: 0x000022A0 File Offset: 0x000004A0 + // (set) Token: 0x06000015 RID: 21 RVA: 0x000022A8 File Offset: 0x000004A8 + public static int AdvMode { get; set; } + + // Token: 0x17000002 RID: 2 + // (get) Token: 0x06000016 RID: 22 RVA: 0x000022B0 File Offset: 0x000004B0 + // (set) Token: 0x06000017 RID: 23 RVA: 0x000022B8 File Offset: 0x000004B8 + public static bool IsInit + { + get + { + return App.m_bInit; + } + private set + { + App.m_bInit = value; + } + } + + // Token: 0x06000018 RID: 24 RVA: 0x000022C0 File Offset: 0x000004C0 + public static bool Init() + { + GameInitilize.Init(); + App.IsInit = true; + return true; + } + + // Token: 0x06000019 RID: 25 RVA: 0x000022D0 File Offset: 0x000004D0 + public static void FrameUpdate(bool bFrame) + { + UnityTask.FrameUpdate(); + } + + // Token: 0x0600001A RID: 26 RVA: 0x000022D8 File Offset: 0x000004D8 + public static int GetTimeMilli() + { + return Singleton.Instance.GetTimeMilli(); + } + + // Token: 0x0600001B RID: 27 RVA: 0x000022E4 File Offset: 0x000004E4 + public static int GetRandom(int max) + { + return App.rnd.Next(max); + } + + // Token: 0x0600001C RID: 28 RVA: 0x000022F4 File Offset: 0x000004F4 + public static void SetAdvMode(int iMode) + { + App.AdvMode = iMode; + } + + // Token: 0x17000003 RID: 3 + // (get) Token: 0x0600001D RID: 29 RVA: 0x000022FC File Offset: 0x000004FC + public static KsData QooKsData + { + get + { + return App.m_KsData; + } + } + + // Token: 0x17000004 RID: 4 + // (get) Token: 0x0600001E RID: 30 RVA: 0x00002304 File Offset: 0x00000504 + public static KsLog QooKsLog + { + get + { + return App.m_KsLog; + } + } + + // Token: 0x17000005 RID: 5 + // (get) Token: 0x0600001F RID: 31 RVA: 0x0000230C File Offset: 0x0000050C + public static BackLog QooBackLog + { + get + { + return App.m_BackLog; + } + } + + // Token: 0x17000006 RID: 6 + // (get) Token: 0x06000020 RID: 32 RVA: 0x00002314 File Offset: 0x00000514 + public static SceneSelect QooSelect + { + get + { + return App.m_Select; + } + } + + // Token: 0x04000010 RID: 16 + private static bool m_bInit = false; + + // Token: 0x04000011 RID: 17 + private static Random rnd; + + // Token: 0x04000012 RID: 18 + private static KsData m_KsData = new KsData(); + + // Token: 0x04000013 RID: 19 + private static KsLog m_KsLog = new KsLog(); + + // Token: 0x04000014 RID: 20 + private static BackLog m_BackLog = new BackLog(); + + // Token: 0x04000015 RID: 21 + private static SceneSelect m_Select = new SceneSelect(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/CheckString.cs b/Assets/Scripts/Assembly-CSharp/Qoo/CheckString.cs new file mode 100644 index 000000000..e8c1b826e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/CheckString.cs @@ -0,0 +1,36 @@ +using System; + +namespace Qoo +{ + // Token: 0x0200000B RID: 11 + public class CheckString + { + // Token: 0x06000029 RID: 41 RVA: 0x00002408 File Offset: 0x00000608 + public CheckString(string str) + { + this.debug_string = string.Empty; + Debug.Print(string.Format("CheckString() {0}", str)); + } + + // Token: 0x0600002A RID: 42 RVA: 0x0000242C File Offset: 0x0000062C + public void end() + { + if (this.debug_string.Length != 0) + { + Debug.Print(this.debug_string); + } + } + + // Token: 0x0600002B RID: 43 RVA: 0x0000244C File Offset: 0x0000064C + public void check(string a, string b) + { + if (a != b) + { + this.debug_string += string.Format("ちがうよ(a,b)=({0},{1})\n", a, b); + } + } + + // Token: 0x04000019 RID: 25 + private string debug_string; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Debug.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Debug.cs new file mode 100644 index 000000000..61ae02beb --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Debug.cs @@ -0,0 +1,95 @@ +using System; +using System.IO; +using Qoo.Memory; +using UnityEngine; + +namespace Qoo +{ + // Token: 0x0200000A RID: 10 + public static class Debug + { + // Token: 0x06000021 RID: 33 RVA: 0x0000231C File Offset: 0x0000051C + static Debug() + { + if (Debug.isDebugBuild) + { + Debug.m_IsDebug = true; + } + } + + // Token: 0x17000007 RID: 7 + // (get) Token: 0x06000022 RID: 34 RVA: 0x00002330 File Offset: 0x00000530 + public static bool IsDebug + { + get + { + return Debug.m_IsDebug; + } + } + + // Token: 0x17000008 RID: 8 + // (get) Token: 0x06000023 RID: 35 RVA: 0x00002338 File Offset: 0x00000538 + // (set) Token: 0x06000024 RID: 36 RVA: 0x00002340 File Offset: 0x00000540 + public static bool IsAutoKsDebug + { + get + { + return Debug.m_isAutoKsDebug; + } + set + { + if (Debug.IsDebug) + { + Debug.m_isAutoKsDebug = value; + } + } + } + + // Token: 0x06000025 RID: 37 RVA: 0x00002354 File Offset: 0x00000554 + public static void Print(string message) + { + if (Debug.IsDebug) + { + Debug.Log(message); + } + } + + // Token: 0x06000026 RID: 38 RVA: 0x00002368 File Offset: 0x00000568 + public static void Assert(bool assert) + { + if (Debug.IsDebug && !assert) + { + Debug.Print("ASSERT!!"); + Debug.DebugBreak(); + } + } + + // Token: 0x06000027 RID: 39 RVA: 0x0000238C File Offset: 0x0000058C + public static void Assert(bool assert, string message) + { + if (Debug.IsDebug && !assert) + { + Debug.Print(message); + Debug.DebugBreak(); + } + } + + // Token: 0x06000028 RID: 40 RVA: 0x000023AC File Offset: 0x000005AC + public static void PrintLog(string path, string message) + { + MemFile memFile = new MemFile(null); + memFile.SetStringUtf16(message); + FileStream fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); + fileStream.Seek(0L, SeekOrigin.End); + fileStream.Write(memFile.Data.ToArray(), 0, memFile.Data.Count); + fileStream.Flush(); + fileStream.Close(); + } + + // Token: 0x04000017 RID: 23 + private static bool m_IsDebug; + + // Token: 0x04000018 RID: 24 + private static bool m_isAutoKsDebug; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/BackLogDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/BackLogDef.cs new file mode 100644 index 000000000..4132e5d9e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/BackLogDef.cs @@ -0,0 +1,29 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000C4 RID: 196 + public class BackLogDef + { + // Token: 0x04000488 RID: 1160 + public const int FONT_SIZE = 28; + + // Token: 0x04000489 RID: 1161 + public const int POS_X_NAME = 128; + + // Token: 0x0400048A RID: 1162 + public const int POS_X_MES = 204; + + // Token: 0x0400048B RID: 1163 + public const int POS_Y_TEXT = 4; + + // Token: 0x0400048C RID: 1164 + public const int VOICEMARK_X = 64; + + // Token: 0x0400048D RID: 1165 + public const int DISPLINE_NUM = 16; + + // Token: 0x0400048E RID: 1166 + public const string HIDE_BTN_CG = "cancel"; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/CHAR_POS.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/CHAR_POS.cs new file mode 100644 index 000000000..0c376364a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/CHAR_POS.cs @@ -0,0 +1,21 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D1 RID: 209 + public enum CHAR_POS + { + // Token: 0x0400050B RID: 1291 + CENTER, + // Token: 0x0400050C RID: 1292 + LEFT, + // Token: 0x0400050D RID: 1293 + RIGHT, + // Token: 0x0400050E RID: 1294 + LEFT_CENTER, + // Token: 0x0400050F RID: 1295 + RIGHT_CENTER, + // Token: 0x04000510 RID: 1296 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/CharaDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/CharaDef.cs new file mode 100644 index 000000000..69f97e48a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/CharaDef.cs @@ -0,0 +1,43 @@ +using System; +using Game; +using Qoo.Game; + +namespace Qoo.Def +{ + // Token: 0x020000C6 RID: 198 + public class CharaDef + { + // Token: 0x060005E7 RID: 1511 RVA: 0x00017F38 File Offset: 0x00016138 + public static void InitCharIdTable() + { + Chara.Clear(); + Chara.Add(CHAR_ID.BLOOD, CharaDef.CHARA_TABLE[0]); + Chara.Add(CHAR_ID.ELLIOT, CharaDef.CHARA_TABLE[1]); + Chara.Add(CHAR_ID.DEEDUM, CharaDef.CHARA_TABLE[2]); + Chara.Add(CHAR_ID.VIVALDI, CharaDef.CHARA_TABLE[3]); + Chara.Add(CHAR_ID.PETER, CharaDef.CHARA_TABLE[4]); + Chara.Add(CHAR_ID.ACE, CharaDef.CHARA_TABLE[5]); + Chara.Add(CHAR_ID.GOWLAND, CharaDef.CHARA_TABLE[6]); + Chara.Add(CHAR_ID.BORIS, CharaDef.CHARA_TABLE[7]); + Chara.Add(CHAR_ID.JULIUS, CharaDef.CHARA_TABLE[8]); + Chara.Add(CHAR_ID.NIGHTMARE, CharaDef.CHARA_TABLE[9]); + Chara.Add(CHAR_ID.MOB, CharaDef.CHARA_TABLE[10]); + } + + // Token: 0x0400049D RID: 1181 + private static GAMECHAR_TABLE[] CHARA_TABLE = new GAMECHAR_TABLE[] + { + new GAMECHAR_TABLE("blood", "ブラッド=デュプレ", "ブラッド", "blo", "blo"), + new GAMECHAR_TABLE("elliot", "エリオット=マーチ", "エリオット", "ell", "ell"), + new GAMECHAR_TABLE("deedum", "ディー&ダム", "ィー&ダム", "dad", "dad"), + new GAMECHAR_TABLE("vivaldi", "ビバルディ", "ビバルディ", "viv", "viv"), + new GAMECHAR_TABLE("peter", "ペーター=ホワイト", "ペーター", "pet", "pet"), + new GAMECHAR_TABLE("ace", "エース", "エース", "ace", "ace"), + new GAMECHAR_TABLE("gowland", "メリー=ゴーランド", "ゴーランド", "gow", "gow"), + new GAMECHAR_TABLE("boris", "ボリス=エレイ", "ボリス", "bor", "bor"), + new GAMECHAR_TABLE("julius", "ユリウス=モンレー", "ユリウス", "jul", "jul"), + new GAMECHAR_TABLE("nightmare", "ナイトメア", "ナイトメア", "nig", "nig"), + new GAMECHAR_TABLE("other", "モブ", "モブ", null, null) + }; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/DefSysParam.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/DefSysParam.cs new file mode 100644 index 000000000..edb0c1758 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/DefSysParam.cs @@ -0,0 +1,148 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Def +{ + // Token: 0x02000011 RID: 17 + public static class DefSysParam + { + // Token: 0x06000054 RID: 84 RVA: 0x00002F98 File Offset: 0x00001198 + static DefSysParam() + { + DefSysParam.Default.Add(SYSTEM_IDX.CLEAR_NUM, 0); + DefSysParam.Default.Add(SYSTEM_IDX.READ_BGM, 0); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_SYS, 3); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_BGM, 3); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_SE, 3); + DefSysParam.Default.Add(SYSTEM_IDX.ENABLE_VOICE, 1); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR00, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR01, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR02, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR03, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR04, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR05, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR06, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR07, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR08, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR09, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR10, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR11, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR12, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR13, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR14, 5); + DefSysParam.Default.Add(SYSTEM_IDX.VOL_CHR15, 5); + DefSysParam.Default.Add(SYSTEM_IDX.SKIP, 1); + DefSysParam.Default.Add(SYSTEM_IDX.AUTO_PAGE_TIME, 1); + DefSysParam.Default.Add(SYSTEM_IDX.TEXT_SPPED, 1); + DefSysParam.Default.Add(SYSTEM_IDX.FONT_TYPE, 0); + DefSysParam.Default.Add(SYSTEM_IDX.READ_TEXT_COLOR, 1); + DefSysParam.Default.Add(SYSTEM_IDX.PASSAGE_ANIM, 1); + DefSysParam.Default.Add(SYSTEM_IDX.LOVE_ANIM, 0); + DefSysParam.Default.Add(SYSTEM_IDX.SKIP_COTINUE, 1); + DefSysParam.Default.Add(SYSTEM_IDX.ENABLE_JUMP, 0); + DefSysParam.Default.Add(SYSTEM_IDX.ENABLE_FACE, 1); + DefSysParam.Default.Add(SYSTEM_IDX.TIME, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR00, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR01, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR02, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR03, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR04, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR05, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR06, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR07, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR08, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR09, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR10, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR11, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR12, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR13, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR14, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_CHR15, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR00, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR01, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR02, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR03, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR04, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR05, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR06, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR07, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR08, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR09, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR10, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR11, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR12, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR13, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR14, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_CHR15, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_ROUTE_FULL, 0); + DefSysParam.Default.Add(SYSTEM_IDX.PAY_VOICE_FULL, 0); + } + + // Token: 0x17000011 RID: 17 + // (get) Token: 0x06000055 RID: 85 RVA: 0x00003310 File Offset: 0x00001510 + public static Dictionary Default + { + get + { + return DefSysParam.m_Default; + } + } + + // Token: 0x0400007C RID: 124 + public const int DEF_SYSTEM_DATA_CLEAR_NUM = 0; + + // Token: 0x0400007D RID: 125 + public const int DEF_SYSTEM_DATA_READ_BGM = 0; + + // Token: 0x0400007E RID: 126 + public const int DEF_SYSTEM_DATA_VOL_SYS = 3; + + // Token: 0x0400007F RID: 127 + public const int DEF_SYSTEM_DATA_VOL_BGM = 3; + + // Token: 0x04000080 RID: 128 + public const int DEF_SYSTEM_DATA_VOL_SE = 3; + + // Token: 0x04000081 RID: 129 + public const int DEF_SYSTEM_DATA_ENABLE_VOICE = 1; + + // Token: 0x04000082 RID: 130 + public const int DEF_SYSTEM_IDX_VOL = 5; + + // Token: 0x04000083 RID: 131 + public const int DEF_SYSTEM_DATA_SKIP = 1; + + // Token: 0x04000084 RID: 132 + public const int DEF_SYSTEM_DATA_AUTO_PAGE_TIME = 1; + + // Token: 0x04000085 RID: 133 + public const int DEF_SYSTEM_DATA_TEXT_SPPED = 1; + + // Token: 0x04000086 RID: 134 + public const int DEF_SYSTEM_DATA_FONT_TYPE = 0; + + // Token: 0x04000087 RID: 135 + public const int DEF_SYSTEM_DATA_READ_TEXT_COLOR = 1; + + // Token: 0x04000088 RID: 136 + public const int DEF_SYSTEM_DATA_PASSAGE_ANIM = 1; + + // Token: 0x04000089 RID: 137 + public const int DEF_SYSTEM_DATA_LOVE_ANIM = 0; + + // Token: 0x0400008A RID: 138 + public const int DEF_SYSTEM_DATA_SKIP_COTINUE = 1; + + // Token: 0x0400008B RID: 139 + public const int DEF_SYSTEM_DATA_ENABLE_JUMP = 0; + + // Token: 0x0400008C RID: 140 + public const int DEF_SYSTEM_DATA_ENABLE_FACE = 1; + + // Token: 0x0400008D RID: 141 + public const int DEF_SYSTEM_DATA_PAY = 0; + + // Token: 0x0400008E RID: 142 + public static Dictionary m_Default = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/EffectDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/EffectDef.cs new file mode 100644 index 000000000..08ef5a708 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/EffectDef.cs @@ -0,0 +1,17 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000C7 RID: 199 + public class EffectDef + { + // Token: 0x0400049E RID: 1182 + public const string EFFECT_NAME_WAVE = "wave"; + + // Token: 0x0400049F RID: 1183 + public const string EFFECT_NAME_RIPPLE = "ripple"; + + // Token: 0x040004A0 RID: 1184 + public const string EFFECT_NAME_MOSAIC = "mosaic"; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/ErrorDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/ErrorDef.cs new file mode 100644 index 000000000..728edd218 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/ErrorDef.cs @@ -0,0 +1,115 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000C8 RID: 200 + public class ErrorDef + { + // Token: 0x040004A1 RID: 1185 + public const string DLG_CG = "sys_dialog"; + + // Token: 0x040004A2 RID: 1186 + public const string DLG_Y_CG = "dlog_btn_y"; + + // Token: 0x040004A3 RID: 1187 + public const string DLG_N_CG = "dlog_btn_n"; + + // Token: 0x040004A4 RID: 1188 + public const int DLG_BTN_W = 1; + + // Token: 0x040004A5 RID: 1189 + public const int DLG_BTN_H = 2; + + // Token: 0x040004A6 RID: 1190 + public const int DLG_X = 480; + + // Token: 0x040004A7 RID: 1191 + public const int DLG_Y = 240; + + // Token: 0x040004A8 RID: 1192 + public const int DLG_Z = 1500; + + // Token: 0x040004A9 RID: 1193 + public const int DLG_BTN_Y_X = 176; + + // Token: 0x040004AA RID: 1194 + public const int DLG_BTN_Y_Y = 95; + + // Token: 0x040004AB RID: 1195 + public const int DLG_BTN_N_X = 377; + + // Token: 0x040004AC RID: 1196 + public const int DLG_BTN_N_Y = 95; + + // Token: 0x040004AD RID: 1197 + public const int DLG_BTN_Z = 1501; + + // Token: 0x040004AE RID: 1198 + public const int DLG_MSG_X = 140; + + // Token: 0x040004AF RID: 1199 + public const int DLG_MSG_Y = 50; + + // Token: 0x040004B0 RID: 1200 + public const int DLG_MSG_Z = 1501; + + // Token: 0x040004B1 RID: 1201 + public const int DLG_MSG_OFS_Y = 40; + + // Token: 0x040004B2 RID: 1202 + public const string ERROR_MSG_NO_GLYPH = "表示できない文字が含まれています。"; + + // Token: 0x040004B3 RID: 1203 + public const string ERROR_MSG_MAX_OVER = "入力できる名前は7文字までです。"; + + // Token: 0x040004B4 RID: 1204 + public const string ERROR_MSG_NO_NAME = "名前が入力されていません。"; + + // Token: 0x040004B5 RID: 1205 + public const string ERROR_MSG_FAIL_CONNECT = "通信に失敗しました。通信状態の良いところで再度接続を試みてください。"; + + // Token: 0x040004B6 RID: 1206 + public const string ERROR_MSG_ASSERT_FORMAT = "ご迷惑をお掛けし、大変申し訳ございません。\n継続不能なエラーが発生しました。\n\nエラーコード={0}\n{1}\n\n上記のエラーコードを記載し、\n<info@quinrose.com>までご連絡ください。\n\nご協力のほどよろしくお願い申し上げます。"; + + // Token: 0x040004B7 RID: 1207 + public const string ERROR_MSG_UNKOWN = "予期せぬエラー"; + + // Token: 0x040004B8 RID: 1208 + public const string ERROR_MSG_FAIL_SAVE = "ゲームデータの保存を正常に終了できませんでした。"; + + // Token: 0x040004B9 RID: 1209 + public const string ERROR_MSG_FAIL_LOAD = "ゲームデータの読込を正常に終了できませんでした。"; + + // Token: 0x040004BA RID: 1210 + public const string CONFIRM_MSG_0 = "「{0}={1}」です。"; + + // Token: 0x040004BB RID: 1211 + public const string CONFIRM_MSG_1 = "よろしいですか?"; + + // Token: 0x040004BC RID: 1212 + public const float WAIT_TIME = 1f; + + // Token: 0x020000C9 RID: 201 + public enum ASSERT_ERROR_CODE + { + // Token: 0x040004BE RID: 1214 + UNKNOWN, + // Token: 0x040004BF RID: 1215 + FAIL_SAVE_CATCH_EXCEPTION, + // Token: 0x040004C0 RID: 1216 + FAIL_SAVE_DATA_CREATE, + // Token: 0x040004C1 RID: 1217 + FAIL_SAVE_HASHCODE_CREATE, + // Token: 0x040004C2 RID: 1218 + FAIL_SAVE_HEADER_CREATE, + // Token: 0x040004C3 RID: 1219 + FAIL_SAVE_RENAME, + // Token: 0x040004C4 RID: 1220 + FAIL_LOAD, + // Token: 0x040004C5 RID: 1221 + FAIL_LOAD_CATCH_EXCEPTION, + // Token: 0x040004C6 RID: 1222 + UNMATCH_SAVE_HASH + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/FONTINFO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/FONTINFO.cs new file mode 100644 index 000000000..961f96cbc --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/FONTINFO.cs @@ -0,0 +1,29 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000CD RID: 205 + public struct FONTINFO + { + // Token: 0x060005EF RID: 1519 RVA: 0x00018104 File Offset: 0x00016304 + public FONTINFO(int font_, int size_, float stretch_, int offset_) + { + this.nFont = font_; + this.nSize = size_; + this.fStretch = stretch_; + this.nOffsetY = offset_; + } + + // Token: 0x040004E5 RID: 1253 + public int nFont; + + // Token: 0x040004E6 RID: 1254 + public int nSize; + + // Token: 0x040004E7 RID: 1255 + public float fStretch; + + // Token: 0x040004E8 RID: 1256 + public int nOffsetY; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/FileDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/FileDef.cs new file mode 100644 index 000000000..dbcceca02 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/FileDef.cs @@ -0,0 +1,41 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000CA RID: 202 + public class FileDef + { + // Token: 0x040004C7 RID: 1223 + public const string NMB0_FILE_NAME = "data0.nmb"; + + // Token: 0x040004C8 RID: 1224 + public const string NMB1_FILE_NAME = "data1.nmb"; + + // Token: 0x040004C9 RID: 1225 + public const string NMB_FILE_PATH = "/nmb/"; + + // Token: 0x040004CA RID: 1226 + public const string AKB_FILE_NAME = "kslist.akb"; + + // Token: 0x040004CB RID: 1227 + public const string AKB_FILE_PATH = "/ks/"; + + // Token: 0x040004CC RID: 1228 + public const string FONT_FILE_NAME = "h2m_font.fnt"; + + // Token: 0x040004CD RID: 1229 + public const string FONT_FILE_PATH = "/font/"; + + // Token: 0x040004CE RID: 1230 + public const string FONT_NAME = "FOT-ニューロダン Pro B"; + + // Token: 0x040004CF RID: 1231 + public const string FONT_TEX_FILE_NAME = "h2m_font_0"; + + // Token: 0x040004D0 RID: 1232 + public const string FONT_TEX_FILE_PATH = "font/"; + + // Token: 0x040004D1 RID: 1233 + public static bool KS_LOAD_DIR_MODE = true; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/FontDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/FontDef.cs new file mode 100644 index 000000000..242cca2e2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/FontDef.cs @@ -0,0 +1,62 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000CC RID: 204 + public class FontDef + { + // Token: 0x060005EE RID: 1518 RVA: 0x000180F0 File Offset: 0x000162F0 + public static FONTINFO GetFontInfo(MSGFONTSIZE eSize) + { + return FontDef.FontInfo[(int)eSize]; + } + + // Token: 0x040004D7 RID: 1239 + public const bool KERNING_MODE = true; + + // Token: 0x040004D8 RID: 1240 + public const int FONT_SMALL_FONT = 22; + + // Token: 0x040004D9 RID: 1241 + public const int FONT_SMALL_SIZE = 22; + + // Token: 0x040004DA RID: 1242 + public const float FONT_SMALL_STRETCH = 1f; + + // Token: 0x040004DB RID: 1243 + public const int FONT_NORMAL_FONT = 28; + + // Token: 0x040004DC RID: 1244 + public const int FONT_NORMAL_SIZE = 28; + + // Token: 0x040004DD RID: 1245 + public const float FONT_NORMAL_STRETCH = 1f; + + // Token: 0x040004DE RID: 1246 + public const int FONT_MIDDLE_FONT = 42; + + // Token: 0x040004DF RID: 1247 + public const int FONT_MIDDLE_SIZE = 42; + + // Token: 0x040004E0 RID: 1248 + public const float FONT_MIDDLE_STRETCH = 1f; + + // Token: 0x040004E1 RID: 1249 + public const int FONT_LARGE_FONT = 62; + + // Token: 0x040004E2 RID: 1250 + public const int FONT_LARGE_SIZE = 62; + + // Token: 0x040004E3 RID: 1251 + public const float FONT_LARGE_STRETCH = 1f; + + // Token: 0x040004E4 RID: 1252 + private static FONTINFO[] FontInfo = new FONTINFO[] + { + new FONTINFO(22, 22, 1f, 0), + new FONTINFO(28, 28, 1f, 0), + new FONTINFO(42, 42, 1f, -1), + new FONTINFO(62, 62, 1f, -2) + }; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/GameDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/GameDef.cs new file mode 100644 index 000000000..8f2a50b34 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/GameDef.cs @@ -0,0 +1,151 @@ +using System; +using Qoo.Game; + +namespace Qoo.Def +{ + // Token: 0x020000CE RID: 206 + public class GameDef + { + // Token: 0x060005F2 RID: 1522 RVA: 0x00018310 File Offset: 0x00016510 + public static bool InitGameDataTbl() + { + GameData.Clear(); + foreach (GameDef.GAME_PARAM_TABLE game_PARAM_TABLE in GameDef.g_GameParamTable) + { + if (game_PARAM_TABLE.m_isStringParam) + { + GameData.AttachParam(game_PARAM_TABLE.m_Name, game_PARAM_TABLE.m_strInit, (!game_PARAM_TABLE.m_isCharArray) ? null : Chara.GetCharNameArray()); + } + else + { + GameData.AttachParam(game_PARAM_TABLE.m_Name, game_PARAM_TABLE.m_nInit, (!game_PARAM_TABLE.m_isCharArray) ? null : Chara.GetCharNameArray()); + } + } + return true; + } + + // Token: 0x040004E9 RID: 1257 + public const string INIT_FIRST_NAME = "アリス"; + + // Token: 0x040004EA RID: 1258 + public const string INIT_FAMILY_NAME = "リデル"; + + // Token: 0x040004EB RID: 1259 + public const int INIT_FIRST_MAX = 7; + + // Token: 0x040004EC RID: 1260 + public const int DEF_FONTSIZE = 28; + + // Token: 0x040004ED RID: 1261 + public const string PARAM_NAME_FIRSTNAME = "firstname"; + + // Token: 0x040004EE RID: 1262 + public const string PARAM_NAME_FAMILYNAME = "familyname"; + + // Token: 0x040004EF RID: 1263 + public const string PARAM_NAME_SCENE = "scene"; + + // Token: 0x040004F0 RID: 1264 + public const string PARAM_NAME_MEMORY = "memory"; + + // Token: 0x040004F1 RID: 1265 + public const string PARAM_NAME_MAP_BG = "map_bg"; + + // Token: 0x040004F2 RID: 1266 + public const string PARAM_NAME_KARMA = "karma"; + + // Token: 0x040004F3 RID: 1267 + public const string PARAM_NAME_ROUTE = "route"; + + // Token: 0x040004F4 RID: 1268 + public const string PARAM_NAME_SCENARIO_CHAR = "scenario_char"; + + // Token: 0x040004F5 RID: 1269 + public const string PARAM_NAME_SCENARIO_NO = "scenario_no"; + + // Token: 0x040004F6 RID: 1270 + public const string PARAM_NAME_RAND = "rand"; + + // Token: 0x040004F7 RID: 1271 + public const string PARAM_NAME_RESULT = "result"; + + // Token: 0x040004F8 RID: 1272 + public const string PARAM_NAME_MAP = "map"; + + // Token: 0x040004F9 RID: 1273 + public const string PARAM_NAME_STAY = "stay"; + + // Token: 0x040004FA RID: 1274 + public const string PARAM_NAME_LOVE = "love"; + + // Token: 0x040004FB RID: 1275 + public const string PARAM_NAME_MONEY = "money"; + + // Token: 0x040004FC RID: 1276 + public const string PARAM_NAME_MONEY_FULL = "moneyfull"; + + // Token: 0x040004FD RID: 1277 + public const string PARAM_NAME_VOICE_CHECK = "voicecheck"; + + // Token: 0x040004FE RID: 1278 + private static readonly GameDef.GAME_PARAM_TABLE[] g_GameParamTable = new GameDef.GAME_PARAM_TABLE[] + { + new GameDef.GAME_PARAM_TABLE("firstname", "アリス", false), + new GameDef.GAME_PARAM_TABLE("familyname", "リデル", false), + new GameDef.GAME_PARAM_TABLE("scene", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("memory", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("map_bg", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("karma", 0, false), + new GameDef.GAME_PARAM_TABLE("route", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("scenario_char", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("scenario_no", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("rand", 0, false), + new GameDef.GAME_PARAM_TABLE("result", 0, false), + new GameDef.GAME_PARAM_TABLE("map", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("stay", string.Empty, false), + new GameDef.GAME_PARAM_TABLE("love", 0, true), + new GameDef.GAME_PARAM_TABLE("money", 0, true), + new GameDef.GAME_PARAM_TABLE("moneyfull", 0, false), + new GameDef.GAME_PARAM_TABLE("voicecheck", 0, false) + }; + + // Token: 0x020000CF RID: 207 + public struct GAME_PARAM_TABLE + { + // Token: 0x060005F3 RID: 1523 RVA: 0x000183B4 File Offset: 0x000165B4 + public GAME_PARAM_TABLE(string strName, string strInit, bool IsCharArray = false) + { + this.m_Name = strName; + this.m_isStringParam = true; + this.m_nInit = 0; + this.m_strInit = strInit; + this.m_isCharArray = IsCharArray; + } + + // Token: 0x060005F4 RID: 1524 RVA: 0x000183DC File Offset: 0x000165DC + public GAME_PARAM_TABLE(string strName, int nInit, bool IsCharArray = false) + { + this.m_Name = strName; + this.m_isStringParam = false; + this.m_nInit = nInit; + this.m_strInit = string.Empty; + this.m_isCharArray = IsCharArray; + } + + // Token: 0x040004FF RID: 1279 + public string m_Name; + + // Token: 0x04000500 RID: 1280 + public bool m_isStringParam; + + // Token: 0x04000501 RID: 1281 + public int m_nInit; + + // Token: 0x04000502 RID: 1282 + public string m_strInit; + + // Token: 0x04000503 RID: 1283 + public bool m_isCharArray; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/GrpDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/GrpDef.cs new file mode 100644 index 000000000..35082181f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/GrpDef.cs @@ -0,0 +1,26 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D0 RID: 208 + public class GrpDef + { + // Token: 0x04000504 RID: 1284 + public const int PspScreenW = 480; + + // Token: 0x04000505 RID: 1285 + public const int PspScreenH = 272; + + // Token: 0x04000506 RID: 1286 + public const float ScaleW = 2f; + + // Token: 0x04000507 RID: 1287 + public const float ScaleH = 2f; + + // Token: 0x04000508 RID: 1288 + public const int ScreenW = 960; + + // Token: 0x04000509 RID: 1289 + public const int ScreenH = 544; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/KsDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/KsDef.cs new file mode 100644 index 000000000..2d2a795b5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/KsDef.cs @@ -0,0 +1,133 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D2 RID: 210 + public class KsDef + { + // Token: 0x04000511 RID: 1297 + public const string INIT_KS_NAME = "prologue.ks"; + + // Token: 0x04000512 RID: 1298 + public const string MAIN_KS_NAME = "honpen.ks"; + + // Token: 0x04000513 RID: 1299 + public const string TRIAL_KS_NAME = "op00_trial.ks"; + + // Token: 0x04000514 RID: 1300 + public const int CGMAX = 4; + + // Token: 0x04000515 RID: 1301 + public const int CHRMAX = 5; + + // Token: 0x04000516 RID: 1302 + public const int SEMAX = 2; + + // Token: 0x04000517 RID: 1303 + public const int MSG_NAME_MAX = 2; + + // Token: 0x04000518 RID: 1304 + public const int WORKMAX = 2; + + // Token: 0x04000519 RID: 1305 + public const int KSNUM = 1000; + + // Token: 0x0400051A RID: 1306 + public const int TAGMAX = 1536; + + // Token: 0x0400051B RID: 1307 + public const int MSGTAGMAX = 1024; + + // Token: 0x0400051C RID: 1308 + public const int PARAMMAX = 3096; + + // Token: 0x0400051D RID: 1309 + public const int MSGMAX = 2048; + + // Token: 0x0400051E RID: 1310 + public const int TEXTSIZE = 131072; + + // Token: 0x0400051F RID: 1311 + public const int LABELMAX = 200; + + // Token: 0x04000520 RID: 1312 + public const int REWINDMAX = 4096; + + // Token: 0x04000521 RID: 1313 + public const int CALLLOGMAX = 512; + + // Token: 0x04000522 RID: 1314 + public const int KSMAX = 20; + + // Token: 0x04000523 RID: 1315 + public const int SAVEOLDREWINDMAX = 1024; + + // Token: 0x04000524 RID: 1316 + public const int LOGMAX = 64; + + // Token: 0x04000525 RID: 1317 + public const string MARK_FRONT_CG = "sys_skip_ff"; + + // Token: 0x04000526 RID: 1318 + public const string MARK_BACK_CG = "sys_skip_rew"; + + // Token: 0x04000527 RID: 1319 + public const int MARK_FRONT_X = 880; + + // Token: 0x04000528 RID: 1320 + public const int MARK_FRONT_Y = 0; + + // Token: 0x04000529 RID: 1321 + public const int MARK_BACK_X = 880; + + // Token: 0x0400052A RID: 1322 + public const int MARK_BACK_Y = 0; + + // Token: 0x0400052B RID: 1323 + public const int MARK_PAT_W_NUM = 4; + + // Token: 0x0400052C RID: 1324 + public const int MARK_PAT_H_NUM = 2; + + // Token: 0x0400052D RID: 1325 + public const int MARK_Z = 910; + + // Token: 0x0400052E RID: 1326 + public const int MARK_PAT_TIME = 8; + + // Token: 0x0400052F RID: 1327 + public const int SKIPMARK_WAIT = 5; + + // Token: 0x04000530 RID: 1328 + public static Point3[] CharPos = new Point3[] + { + new Point3(0, 0, 770), + new Point3(-106, 0, 740), + new Point3(494, 0, 730), + new Point3(-150, 0, 760), + new Point3(278, 0, 750) + }; + + // Token: 0x04000531 RID: 1329 + public static string[] INIT_TEX_NAME_LIST = new string[] + { + "pagebreak_a", + "pagebreak_b", + "frame_togaki", + "frame_kyara", + "frame_heroine", + "frame_monologue", + "nam_common", + "sel_kidoku.png", + "select_bar.png", + "sys_love.png", + "jimon", + "sys_skip_ff", + "sys_skip_rew", + "cancel", + "sys_dialog", + "dlog_btn_y", + "dlog_btn_n" + }; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/MSGFONTSIZE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/MSGFONTSIZE.cs new file mode 100644 index 000000000..df1360a5a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/MSGFONTSIZE.cs @@ -0,0 +1,17 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000CB RID: 203 + public enum MSGFONTSIZE + { + // Token: 0x040004D3 RID: 1235 + SMALL, + // Token: 0x040004D4 RID: 1236 + NORMAL, + // Token: 0x040004D5 RID: 1237 + LARGE, + // Token: 0x040004D6 RID: 1238 + DOUBLE + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/MSGWND_STYLE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/MSGWND_STYLE.cs new file mode 100644 index 000000000..548ab78c0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/MSGWND_STYLE.cs @@ -0,0 +1,25 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D3 RID: 211 + public enum MSGWND_STYLE + { + // Token: 0x04000533 RID: 1331 + NULL = -1, + // Token: 0x04000534 RID: 1332 + NORMAL, + // Token: 0x04000535 RID: 1333 + KYARA, + // Token: 0x04000536 RID: 1334 + TOGAKI, + // Token: 0x04000537 RID: 1335 + HEROINE, + // Token: 0x04000538 RID: 1336 + MONOLOGUE, + // Token: 0x04000539 RID: 1337 + TEST, + // Token: 0x0400053A RID: 1338 + MAX + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/MsgDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/MsgDef.cs new file mode 100644 index 000000000..0a5643eeb --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/MsgDef.cs @@ -0,0 +1,150 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D4 RID: 212 + public static class MsgDef + { + // Token: 0x060005F8 RID: 1528 RVA: 0x00018524 File Offset: 0x00016724 + static MsgDef() + { + CMessageText.IsHyphenation = false; + CMessageText.EnabelLINETOP_PROC = true; + } + + // Token: 0x0400053B RID: 1339 + public const int KEYCUR_OFF_X = 0; + + // Token: 0x0400053C RID: 1340 + public const int KEYCUR_OFF_Y = 0; + + // Token: 0x0400053D RID: 1341 + public const int KEYCUR_OFF_W = 0; + + // Token: 0x0400053E RID: 1342 + public const int KEYCUR_OFF_H = 2; + + // Token: 0x0400053F RID: 1343 + public const bool DEF_MSG_ANIM_POS_OUTER = true; + + // Token: 0x04000540 RID: 1344 + public const int WND_MSG_CHRNUM_X = 100; + + // Token: 0x04000541 RID: 1345 + public const int WND_MSG_CHRNUM_Y = 4; + + // Token: 0x04000542 RID: 1346 + public const int DEF_MSG_LINE_MARGIN = 4; + + // Token: 0x04000543 RID: 1347 + public const string DEF_MSG_NAME_PLATE_CG = "nam_common"; + + // Token: 0x04000544 RID: 1348 + public const int DEF_MSG_NAME_STRING_AX = 52; + + // Token: 0x04000545 RID: 1349 + public const int DEF_MSG_NAME_STRING_AY = 2; + + // Token: 0x04000546 RID: 1350 + public const int DEF_MSG_NAME_STRING_AZ = 1; + + // Token: 0x04000547 RID: 1351 + public const int HIDE_BTN_X = 899; + + // Token: 0x04000548 RID: 1352 + public const int HIDE_BTN_Y = 318; + + // Token: 0x04000549 RID: 1353 + public const int HIDE_BTN_Z = 800; + + // Token: 0x0400054A RID: 1354 + public const string HIDE_BTN_CG = "cancel"; + + // Token: 0x0400054B RID: 1355 + public const int DEF_MSG_NAME_MAX = 20; + + // Token: 0x0400054C RID: 1356 + public const bool DEF_IS_HYPHENATION = false; + + // Token: 0x0400054D RID: 1357 + public const bool DEF_IS_LINEPROC = true; + + // Token: 0x0400054E RID: 1358 + public static char[] SP_CODES = new char[] + { + '\u3000', + '、', + '。', + ',', + '.', + '・', + '?', + '!', + '゛', + '゜', + 'ヽ', + 'ヾ', + 'ゝ', + 'ゞ', + '々', + 'ー', + '~', + ')', + ']', + '}', + '」', + '』', + '〕', + '〉', + '》', + '】', + '〟', + '’', + '”', + 'ぁ', + 'ぃ', + 'ぅ', + 'ぇ', + 'ぉ', + 'っ', + 'ゃ', + 'ゅ', + 'ょ', + 'ゎ', + 'ァ', + 'ィ', + 'ゥ', + 'ェ', + 'ォ', + 'ヵ', + 'ヶ', + 'ッ', + 'ャ', + 'ュ', + 'ョ', + 'ヮ', + ',', + '.', + '-', + ')', + '"', + '\'', + '`', + ' ' + }; + + // Token: 0x0400054F RID: 1359 + public static char[] LINETOP_CODES = new char[] + { + '「', + '『', + '《', + '【', + '(', + '[', + '(', + '[', + '{' + }; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/PayDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/PayDef.cs new file mode 100644 index 000000000..ebfe6ba76 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/PayDef.cs @@ -0,0 +1,155 @@ +using System; +using System.Collections.Generic; +using Game; +using Qoo.Game; + +namespace Qoo.Def +{ + // Token: 0x020000D6 RID: 214 + public class PayDef + { + // Token: 0x060005FB RID: 1531 RVA: 0x0001857C File Offset: 0x0001677C + static PayDef() + { + PayDef.m_Route.Clear(); + CHAR_ID[] value = new CHAR_ID[] + { + CHAR_ID.ACE + }; + PayDef.m_Route.Add(CHAR_ID.ACE, value); + CHAR_ID[] value2 = new CHAR_ID[1]; + PayDef.m_Route.Add(CHAR_ID.BLOOD, value2); + CHAR_ID[] value3 = new CHAR_ID[] + { + CHAR_ID.BORIS + }; + PayDef.m_Route.Add(CHAR_ID.BORIS, value3); + CHAR_ID[] value4 = new CHAR_ID[] + { + CHAR_ID.DEEDUM + }; + PayDef.m_Route.Add(CHAR_ID.DEEDUM, value4); + CHAR_ID[] value5 = new CHAR_ID[] + { + CHAR_ID.ELLIOT + }; + PayDef.m_Route.Add(CHAR_ID.ELLIOT, value5); + CHAR_ID[] value6 = new CHAR_ID[] + { + CHAR_ID.GOWLAND + }; + PayDef.m_Route.Add(CHAR_ID.GOWLAND, value6); + CHAR_ID[] value7 = new CHAR_ID[] + { + CHAR_ID.JULIUS + }; + PayDef.m_Route.Add(CHAR_ID.JULIUS, value7); + CHAR_ID[] value8 = new CHAR_ID[] + { + CHAR_ID.PETER + }; + PayDef.m_Route.Add(CHAR_ID.PETER, value8); + CHAR_ID[] value9 = new CHAR_ID[] + { + CHAR_ID.VIVALDI + }; + PayDef.m_Route.Add(CHAR_ID.VIVALDI, value9); + CHAR_ID[] value10 = new CHAR_ID[0]; + PayDef.m_Route.Add(CHAR_ID.NIGHTMARE, value10); + CHAR_ID[] value11 = new CHAR_ID[] + { + CHAR_ID.ACE + }; + PayDef.m_Voice.Add(CHAR_ID.ACE, value11); + CHAR_ID[] value12 = new CHAR_ID[1]; + PayDef.m_Voice.Add(CHAR_ID.BLOOD, value12); + CHAR_ID[] value13 = new CHAR_ID[] + { + CHAR_ID.BORIS + }; + PayDef.m_Voice.Add(CHAR_ID.BORIS, value13); + CHAR_ID[] value14 = new CHAR_ID[] + { + CHAR_ID.DEEDUM + }; + PayDef.m_Voice.Add(CHAR_ID.DEEDUM, value14); + CHAR_ID[] value15 = new CHAR_ID[] + { + CHAR_ID.ELLIOT + }; + PayDef.m_Voice.Add(CHAR_ID.ELLIOT, value15); + CHAR_ID[] value16 = new CHAR_ID[] + { + CHAR_ID.GOWLAND + }; + PayDef.m_Voice.Add(CHAR_ID.GOWLAND, value16); + CHAR_ID[] value17 = new CHAR_ID[] + { + CHAR_ID.JULIUS + }; + PayDef.m_Voice.Add(CHAR_ID.JULIUS, value17); + CHAR_ID[] value18 = new CHAR_ID[] + { + CHAR_ID.PETER + }; + PayDef.m_Voice.Add(CHAR_ID.PETER, value18); + CHAR_ID[] value19 = new CHAR_ID[] + { + CHAR_ID.VIVALDI + }; + PayDef.m_Voice.Add(CHAR_ID.VIVALDI, value19); + CHAR_ID[] value20 = new CHAR_ID[] + { + CHAR_ID.ACE, + CHAR_ID.BLOOD, + CHAR_ID.BORIS, + CHAR_ID.DEEDUM, + CHAR_ID.ELLIOT, + CHAR_ID.GOWLAND, + CHAR_ID.JULIUS, + CHAR_ID.PETER, + CHAR_ID.VIVALDI + }; + PayDef.m_Voice.Add(CHAR_ID.NIGHTMARE, value20); + PayDef.m_Voice.Clear(); + } + + // Token: 0x060005FC RID: 1532 RVA: 0x000187B0 File Offset: 0x000169B0 + public static bool IsRoutePay(CHAR_ID id) + { + if (PayDef.m_Route.ContainsKey(id)) + { + foreach (CHAR_ID idChar in PayDef.m_Route[id]) + { + if (!SysData.IsPay(idChar)) + { + return false; + } + } + } + return true; + } + + // Token: 0x060005FD RID: 1533 RVA: 0x00018800 File Offset: 0x00016A00 + public static bool IsVoicePay(CHAR_ID id) + { + if (PayDef.m_Route.ContainsKey(id)) + { + foreach (CHAR_ID idChar in PayDef.m_Route[id]) + { + if (!SysData.IsPayVoice(idChar)) + { + return false; + } + } + } + return true; + } + + // Token: 0x04000552 RID: 1362 + private static Dictionary m_Route = new Dictionary(); + + // Token: 0x04000553 RID: 1363 + private static Dictionary m_Voice = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/PaymentDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/PaymentDef.cs new file mode 100644 index 000000000..7bfc4cc54 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/PaymentDef.cs @@ -0,0 +1,59 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D7 RID: 215 + public class PaymentDef + { + // Token: 0x04000554 RID: 1364 + public const string APLICATION_ID = ""; + + // Token: 0x04000555 RID: 1365 + public const string DLG_CG = "screen/common/sys_dialog"; + + // Token: 0x04000556 RID: 1366 + public const int DLG_WND_W = 685; + + // Token: 0x04000557 RID: 1367 + public const int DLG_WND_H = 180; + + // Token: 0x04000558 RID: 1368 + public const int DLG_WND_X = 137; + + // Token: 0x04000559 RID: 1369 + public const int DLG_WND_Y = 182; + + // Token: 0x0400055A RID: 1370 + public const int DLG_MSG_X = 480; + + // Token: 0x0400055B RID: 1371 + public const int DLG_MSG_Y = 272; + + // Token: 0x0400055C RID: 1372 + public const float DLG_ENDTIME = 1f; + + // Token: 0x0400055D RID: 1373 + public const string SCCESS_MSG_PURCHASE = "アドオンの購入が完了しました。"; + + // Token: 0x0400055E RID: 1374 + public const string PROCESS_MSG_PURCHASE = "購入処理中です。"; + + // Token: 0x0400055F RID: 1375 + public const string SCCESS_MSG_RENEWAL_LIST = "アドオンの購入履歴を更新しました。"; + + // Token: 0x04000560 RID: 1376 + public const string PROCESS_MSG_RENEWAL_LIST = "アドオン購入履歴を更新中です。"; + + // Token: 0x04000561 RID: 1377 + public const string SCCESS_MSG_RESTORE = "リストア(アドオン情報の復元)が完了しました。"; + + // Token: 0x04000562 RID: 1378 + public const string PROCESS_MSG_RESTORE = "リストア処理中です。"; + + // Token: 0x04000563 RID: 1379 + public const string ERROR_MSG_FAIL_CONNECT = "通信に失敗しました。\n通信状態の良いところで再度接続を試みてください。"; + + // Token: 0x04000564 RID: 1380 + public const string ERROR_MSG_NOUSE_APP = "App内での購入が許可されていません。\n「機能制限」の設定画面から\n「App内での購入」をオンにしてください。"; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/SKIP_MODE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SKIP_MODE.cs new file mode 100644 index 000000000..200d11ec2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SKIP_MODE.cs @@ -0,0 +1,15 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x0200000F RID: 15 + public enum SKIP_MODE + { + // Token: 0x04000033 RID: 51 + DISABLE, + // Token: 0x04000034 RID: 52 + READ, + // Token: 0x04000035 RID: 53 + ALL + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/SYSTEM_IDX.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SYSTEM_IDX.cs new file mode 100644 index 000000000..2fd953a5a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SYSTEM_IDX.cs @@ -0,0 +1,147 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x02000010 RID: 16 + public enum SYSTEM_IDX + { + // Token: 0x04000037 RID: 55 + CLEAR_NUM, + // Token: 0x04000038 RID: 56 + READ_BGM, + // Token: 0x04000039 RID: 57 + VOL_SYS, + // Token: 0x0400003A RID: 58 + VOL_BGM, + // Token: 0x0400003B RID: 59 + VOL_SE, + // Token: 0x0400003C RID: 60 + ENABLE_VOICE, + // Token: 0x0400003D RID: 61 + VOL_CHR00, + // Token: 0x0400003E RID: 62 + VOL_CHR01, + // Token: 0x0400003F RID: 63 + VOL_CHR02, + // Token: 0x04000040 RID: 64 + VOL_CHR03, + // Token: 0x04000041 RID: 65 + VOL_CHR04, + // Token: 0x04000042 RID: 66 + VOL_CHR05, + // Token: 0x04000043 RID: 67 + VOL_CHR06, + // Token: 0x04000044 RID: 68 + VOL_CHR07, + // Token: 0x04000045 RID: 69 + VOL_CHR08, + // Token: 0x04000046 RID: 70 + VOL_CHR09, + // Token: 0x04000047 RID: 71 + VOL_CHR10, + // Token: 0x04000048 RID: 72 + VOL_CHR11, + // Token: 0x04000049 RID: 73 + VOL_CHR12, + // Token: 0x0400004A RID: 74 + VOL_CHR13, + // Token: 0x0400004B RID: 75 + VOL_CHR14, + // Token: 0x0400004C RID: 76 + VOL_CHR15, + // Token: 0x0400004D RID: 77 + SKIP, + // Token: 0x0400004E RID: 78 + AUTO_PAGE_TIME, + // Token: 0x0400004F RID: 79 + TEXT_SPPED, + // Token: 0x04000050 RID: 80 + FONT_TYPE, + // Token: 0x04000051 RID: 81 + READ_TEXT_COLOR, + // Token: 0x04000052 RID: 82 + PASSAGE_ANIM, + // Token: 0x04000053 RID: 83 + LOVE_ANIM, + // Token: 0x04000054 RID: 84 + SKIP_COTINUE, + // Token: 0x04000055 RID: 85 + ENABLE_JUMP, + // Token: 0x04000056 RID: 86 + ENABLE_FACE, + // Token: 0x04000057 RID: 87 + TIME, + // Token: 0x04000058 RID: 88 + PAY_ROUTE_CHR00, + // Token: 0x04000059 RID: 89 + PAY_ROUTE_CHR01, + // Token: 0x0400005A RID: 90 + PAY_ROUTE_CHR02, + // Token: 0x0400005B RID: 91 + PAY_ROUTE_CHR03, + // Token: 0x0400005C RID: 92 + PAY_ROUTE_CHR04, + // Token: 0x0400005D RID: 93 + PAY_ROUTE_CHR05, + // Token: 0x0400005E RID: 94 + PAY_ROUTE_CHR06, + // Token: 0x0400005F RID: 95 + PAY_ROUTE_CHR07, + // Token: 0x04000060 RID: 96 + PAY_ROUTE_CHR08, + // Token: 0x04000061 RID: 97 + PAY_ROUTE_CHR09, + // Token: 0x04000062 RID: 98 + PAY_ROUTE_CHR10, + // Token: 0x04000063 RID: 99 + PAY_ROUTE_CHR11, + // Token: 0x04000064 RID: 100 + PAY_ROUTE_CHR12, + // Token: 0x04000065 RID: 101 + PAY_ROUTE_CHR13, + // Token: 0x04000066 RID: 102 + PAY_ROUTE_CHR14, + // Token: 0x04000067 RID: 103 + PAY_ROUTE_CHR15, + // Token: 0x04000068 RID: 104 + PAY_VOICE_CHR00, + // Token: 0x04000069 RID: 105 + PAY_VOICE_CHR01, + // Token: 0x0400006A RID: 106 + PAY_VOICE_CHR02, + // Token: 0x0400006B RID: 107 + PAY_VOICE_CHR03, + // Token: 0x0400006C RID: 108 + PAY_VOICE_CHR04, + // Token: 0x0400006D RID: 109 + PAY_VOICE_CHR05, + // Token: 0x0400006E RID: 110 + PAY_VOICE_CHR06, + // Token: 0x0400006F RID: 111 + PAY_VOICE_CHR07, + // Token: 0x04000070 RID: 112 + PAY_VOICE_CHR08, + // Token: 0x04000071 RID: 113 + PAY_VOICE_CHR09, + // Token: 0x04000072 RID: 114 + PAY_VOICE_CHR10, + // Token: 0x04000073 RID: 115 + PAY_VOICE_CHR11, + // Token: 0x04000074 RID: 116 + PAY_VOICE_CHR12, + // Token: 0x04000075 RID: 117 + PAY_VOICE_CHR13, + // Token: 0x04000076 RID: 118 + PAY_VOICE_CHR14, + // Token: 0x04000077 RID: 119 + PAY_VOICE_CHR15, + // Token: 0x04000078 RID: 120 + PAY_ROUTE_FULL, + // Token: 0x04000079 RID: 121 + PAY_VOICE_FULL, + // Token: 0x0400007A RID: 122 + NUM, + // Token: 0x0400007B RID: 123 + USER_START + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/SaveLoadDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SaveLoadDef.cs new file mode 100644 index 000000000..0d476870b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SaveLoadDef.cs @@ -0,0 +1,32 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000D8 RID: 216 + public class SaveLoadDef + { + // Token: 0x04000565 RID: 1381 + public const string DLG_CG = "screen/common/sys_dialog"; + + // Token: 0x04000566 RID: 1382 + public const string DLG_Y_CG = "screen/common/dlog_btn_y"; + + // Token: 0x04000567 RID: 1383 + public const string DLG_N_CG = "screen/common/dlog_btn_n"; + + // Token: 0x04000568 RID: 1384 + public const int DLG_MSG_X = 480; + + // Token: 0x04000569 RID: 1385 + public const int DLG_MSG_Y = 230; + + // Token: 0x0400056A RID: 1386 + public const string MSG_SAVE_CONFIRM = "セーブしますか?"; + + // Token: 0x0400056B RID: 1387 + public const string MSG_OVER_CONFIRM = "上書きしますか?"; + + // Token: 0x0400056C RID: 1388 + public const string MSG_LOAD_CONFIRM = "ロードしますか?"; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/SelectDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SelectDef.cs new file mode 100644 index 000000000..f43de7f18 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SelectDef.cs @@ -0,0 +1,338 @@ +using System; +using System.Collections.Generic; +using Qoo.Table; +using UnityEngine; + +namespace Qoo.Def +{ + // Token: 0x020000D9 RID: 217 + internal static class SelectDef + { + // Token: 0x06000600 RID: 1536 RVA: 0x00018860 File Offset: 0x00016A60 + static SelectDef() + { + foreach (SelectDef.BTN_TABLE btn_TABLE in SelectDef.g_SelectBtnTable) + { + SelectTable selectTable = new SelectTable(); + selectTable.Create(btn_TABLE.name); + for (int j = 0; j < btn_TABLE.table.GetLength(0); j++) + { + selectTable.Add(btn_TABLE.table[j].Length, btn_TABLE.table[j]); + } + SelectDef.m_PosTable.Add(btn_TABLE.name, selectTable); + if (btn_TABLE.isScale) + { + SelectDef.m_PosTable[btn_TABLE.name].Scale(2f, 2f); + } + } + } + + // Token: 0x06000601 RID: 1537 RVA: 0x00018EC0 File Offset: 0x000170C0 + public static Point2[] GetBtnPos(string name, bool IsGrp, int num) + { + name += ((!IsGrp) ? "_text" : "_grp"); + Debug.Assert(SelectDef.m_PosTable[name] != null, string.Format("Error:指定名称のテーブルはありません name={0}", name)); + Debug.Assert(SelectDef.m_PosTable[name].GetPoint(num) != null, string.Format("Error:指定個数のテーブルはありません name={0} num={1}", name, num)); + return SelectDef.m_PosTable[name].GetPoint(num); + } + + // Token: 0x0400056D RID: 1389 + public const int MAX = 10; + + // Token: 0x0400056E RID: 1390 + public const string GRP_MARK_FILE = "sel_kidoku.png"; + + // Token: 0x0400056F RID: 1391 + public const int GRP_W_NUM = 1; + + // Token: 0x04000570 RID: 1392 + public const int GRP_H_NUM = 2; + + // Token: 0x04000571 RID: 1393 + public const int GRP_KIDOKUOFF_X = 16; + + // Token: 0x04000572 RID: 1394 + public const int GRP_KIDOKUOFF_Y = 12; + + // Token: 0x04000573 RID: 1395 + public const int GRP_MARK_POS_Z = 782; + + // Token: 0x04000574 RID: 1396 + public const int GRP_BTN_POS_Z = 781; + + // Token: 0x04000575 RID: 1397 + public const string BAR_FILE = "select_bar.png"; + + // Token: 0x04000576 RID: 1398 + public const int BAR_W_NUM = 1; + + // Token: 0x04000577 RID: 1399 + public const int BAR_H_NUM = 2; + + // Token: 0x04000578 RID: 1400 + public const int BAR_POS_X = 27; + + // Token: 0x04000579 RID: 1401 + public const int BAR_POS_Z = 781; + + // Token: 0x0400057A RID: 1402 + public const int TXT_OFF_Y = 32; + + // Token: 0x0400057B RID: 1403 + public const int TXT_POS_Z = 782; + + // Token: 0x0400057C RID: 1404 + public const int TXT_FONT_SIZE = 28; + + // Token: 0x0400057D RID: 1405 + public const string LOVE_ANIM_FILE = "sys_love.png"; + + // Token: 0x0400057E RID: 1406 + public const int LOVE_ANIM_W_NUM = 7; + + // Token: 0x0400057F RID: 1407 + public const int LOVE_ANIM_H_NUM = 2; + + // Token: 0x04000580 RID: 1408 + public const int LOVE_ANIM_TIME = 4; + + // Token: 0x04000581 RID: 1409 + public const int LOVE_ANIM_TXT_X = 364; + + // Token: 0x04000582 RID: 1410 + public const int LOVE_ANIM_TXT_Y = -18; + + // Token: 0x04000583 RID: 1411 + public const int LOVE_ANIM_GRP_X = 50; + + // Token: 0x04000584 RID: 1412 + public const int LOVE_ANIM_GRP_Y = 186; + + // Token: 0x04000585 RID: 1413 + public const int LOVE_ANIM_Z = 783; + + // Token: 0x04000586 RID: 1414 + private const string TEXT_EXT_NAME = "_text"; + + // Token: 0x04000587 RID: 1415 + private const string GRP_EXT_NAME = "_grp"; + + // Token: 0x04000588 RID: 1416 + private const string NORMAL_NAME = "normal"; + + // Token: 0x04000589 RID: 1417 + private const string MAP_NAME = "map"; + + // Token: 0x0400058A RID: 1418 + public const string TXTBTN_NAME = "normal_text"; + + // Token: 0x0400058B RID: 1419 + public const string GRPBTN_NAME = "normal_grp"; + + // Token: 0x0400058C RID: 1420 + public const string MAPBTN_NAME = "map_grp"; + + // Token: 0x0400058D RID: 1421 + public const string MAPBTN_NO_CASTLE_NAME = "map_no_castle_grp"; + + // Token: 0x0400058E RID: 1422 + public const string MAPBTN_NO_HATTER_NAME = "map_no_hatter_grp"; + + // Token: 0x0400058F RID: 1423 + public const string MAPBTN_NO_AMUSE_NAME = "map_no_amuse_grp"; + + // Token: 0x04000590 RID: 1424 + public const string MAPBTN_NO_TOWER_NAME = "map_no_tower_grp"; + + // Token: 0x04000591 RID: 1425 + public static Color32 TEXT_COLOR = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + + // Token: 0x04000592 RID: 1426 + public static Color32 SELECT_COLOR = new Color32(29, 32, 136, byte.MaxValue); + + // Token: 0x04000593 RID: 1427 + private static Point2[][] TxtBtnPosAr = new Point2[][] + { + new Point2[] + { + new Point2(27, 73), + new Point2(27, 153) + }, + new Point2[] + { + new Point2(27, 33), + new Point2(27, 113), + new Point2(27, 193) + }, + new Point2[] + { + new Point2(27, 25), + new Point2(27, 85), + new Point2(27, 145), + new Point2(27, 205) + } + }; + + // Token: 0x04000594 RID: 1428 + private static Point2[][] GrpBtnPosAr = new Point2[][] + { + new Point2[] + { + new Point2(114, 56), + new Point2(254, 56) + }, + new Point2[] + { + new Point2(44, 56), + new Point2(184, 56), + new Point2(324, 56) + }, + new Point2[] + { + new Point2(15, 61), + new Point2(81, 206), + new Point2(318, 20), + new Point2(170, 126) + }, + new Point2[] + { + new Point2(121, 45), + new Point2(201, 45), + new Point2(280, 45), + new Point2(121, 148), + new Point2(201, 148), + new Point2(280, 148) + }, + new Point2[] + { + new Point2(82, 45), + new Point2(161, 45), + new Point2(240, 45), + new Point2(319, 45), + new Point2(121, 148), + new Point2(201, 148), + new Point2(280, 148) + }, + new Point2[] + { + new Point2(82, 45), + new Point2(161, 45), + new Point2(240, 45), + new Point2(319, 45), + new Point2(82, 148), + new Point2(161, 148), + new Point2(240, 148), + new Point2(319, 148) + }, + new Point2[] + { + new Point2(42, 45), + new Point2(121, 45), + new Point2(201, 45), + new Point2(280, 45), + new Point2(359, 45), + new Point2(82, 148), + new Point2(161, 148), + new Point2(240, 148), + new Point2(319, 148) + } + }; + + // Token: 0x04000595 RID: 1429 + private static Point2[][] MapBtnPosAr = new Point2[][] + { + new Point2[] + { + new Point2(30, 122), + new Point2(162, 412), + new Point2(636, 40), + new Point2(340, 252) + } + }; + + // Token: 0x04000596 RID: 1430 + private static Point2[][] MapBtnPosAr_NoCASTLE = new Point2[][] + { + new Point2[] + { + SelectDef.MapBtnPosAr[0][1], + SelectDef.MapBtnPosAr[0][2], + SelectDef.MapBtnPosAr[0][3] + } + }; + + // Token: 0x04000597 RID: 1431 + private static Point2[][] MapBtnPosAr_NoHATTER = new Point2[][] + { + new Point2[] + { + SelectDef.MapBtnPosAr[0][0], + SelectDef.MapBtnPosAr[0][2], + SelectDef.MapBtnPosAr[0][3] + } + }; + + // Token: 0x04000598 RID: 1432 + private static Point2[][] MapBtnPosAr_NoAMUSE = new Point2[][] + { + new Point2[] + { + SelectDef.MapBtnPosAr[0][0], + SelectDef.MapBtnPosAr[0][1], + SelectDef.MapBtnPosAr[0][3] + } + }; + + // Token: 0x04000599 RID: 1433 + private static Point2[][] MapBtnPosAr_NoTOWER = new Point2[][] + { + new Point2[] + { + SelectDef.MapBtnPosAr[0][1], + SelectDef.MapBtnPosAr[0][2] + }, + new Point2[] + { + SelectDef.MapBtnPosAr[0][0], + SelectDef.MapBtnPosAr[0][1], + SelectDef.MapBtnPosAr[0][2] + } + }; + + // Token: 0x0400059A RID: 1434 + private static readonly SelectDef.BTN_TABLE[] g_SelectBtnTable = new SelectDef.BTN_TABLE[] + { + new SelectDef.BTN_TABLE("normal_text", SelectDef.TxtBtnPosAr, true), + new SelectDef.BTN_TABLE("normal_grp", SelectDef.GrpBtnPosAr, true), + new SelectDef.BTN_TABLE("map_grp", SelectDef.MapBtnPosAr, false), + new SelectDef.BTN_TABLE("map_no_castle_grp", SelectDef.MapBtnPosAr_NoCASTLE, false), + new SelectDef.BTN_TABLE("map_no_hatter_grp", SelectDef.MapBtnPosAr_NoHATTER, false), + new SelectDef.BTN_TABLE("map_no_amuse_grp", SelectDef.MapBtnPosAr_NoAMUSE, false), + new SelectDef.BTN_TABLE("map_no_tower_grp", SelectDef.MapBtnPosAr_NoTOWER, false) + }; + + // Token: 0x0400059B RID: 1435 + private static Dictionary m_PosTable = new Dictionary(); + + // Token: 0x020000DA RID: 218 + public struct BTN_TABLE + { + // Token: 0x06000602 RID: 1538 RVA: 0x00018F4C File Offset: 0x0001714C + public BTN_TABLE(string name_, Point2[][] table_, bool isScalePsp = true) + { + this.name = name_; + this.table = table_; + this.isScale = isScalePsp; + } + + // Token: 0x0400059C RID: 1436 + public string name; + + // Token: 0x0400059D RID: 1437 + public Point2[][] table; + + // Token: 0x0400059E RID: 1438 + public bool isScale; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/SoundDef.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SoundDef.cs new file mode 100644 index 000000000..0b388da09 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/SoundDef.cs @@ -0,0 +1,37 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x020000DB RID: 219 + internal static class SoundDef + { + // Token: 0x0400059F RID: 1439 + public const string DIRNAME_SOUND = "mp3"; + + // Token: 0x040005A0 RID: 1440 + public const string DIRNAME_VOICE = "voice"; + + // Token: 0x040005A1 RID: 1441 + public const string DIRNAME_SE = "se"; + + // Token: 0x040005A2 RID: 1442 + public const string DIRNAME_BGM = "bgm"; + + // Token: 0x040005A3 RID: 1443 + public const string SE_SELECT = "sysse_hover"; + + // Token: 0x040005A4 RID: 1444 + public const string SE_OK = "sysse_decide"; + + // Token: 0x040005A5 RID: 1445 + public const string SE_BACK = "sysse_back"; + + // Token: 0x040005A6 RID: 1446 + public static string[] SE_LOAD_DATA = new string[] + { + "sysse_hover", + "sysse_decide", + "sysse_back" + }; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Def/WndPri.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Def/WndPri.cs new file mode 100644 index 000000000..361e0f704 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Def/WndPri.cs @@ -0,0 +1,197 @@ +using System; + +namespace Qoo.Def +{ + // Token: 0x02000012 RID: 18 + public static class WndPri + { + // Token: 0x0400008F RID: 143 + public const int WND_Z_SCREEN_MAIN = 200; + + // Token: 0x04000090 RID: 144 + public const int WND_Z_SCREEN_SUB1 = 300; + + // Token: 0x04000091 RID: 145 + public const int WND_Z_SCREEN_SUB2 = 400; + + // Token: 0x04000092 RID: 146 + public const int WND_Z_MINI_MAIN = 500; + + // Token: 0x04000093 RID: 147 + public const int WND_Z_MINI_SUB = 600; + + // Token: 0x04000094 RID: 148 + public const int WND_Z_EVENT1 = 700; + + // Token: 0x04000095 RID: 149 + public const int WND_Z_MAP = 700; + + // Token: 0x04000096 RID: 150 + public const int WND_Z_EVENT2 = 800; + + // Token: 0x04000097 RID: 151 + public const int WND_Z_EVENTANIM = 850; + + // Token: 0x04000098 RID: 152 + public const int WND_Z_SYSMENU_1 = 1000; + + // Token: 0x04000099 RID: 153 + public const int WND_Z_SYSMENU_2 = 1100; + + // Token: 0x0400009A RID: 154 + public const int WND_Z_SYSMENU_3 = 1200; + + // Token: 0x0400009B RID: 155 + public const int WND_Z_DIALOG1 = 1300; + + // Token: 0x0400009C RID: 156 + public const int WND_Z_DIALOG2 = 1400; + + // Token: 0x0400009D RID: 157 + public const int WND_Z_DIALOG3 = 1500; + + // Token: 0x0400009E RID: 158 + public const int WND_Z_SCREENSHOT = 7000; + + // Token: 0x0400009F RID: 159 + public const int WND_Z_DEBUG1 = 8000; + + // Token: 0x040000A0 RID: 160 + public const int WND_Z_DEBUG2 = 8100; + + // Token: 0x040000A1 RID: 161 + public const int WND_Z_TITLELOGO = 200; + + // Token: 0x040000A2 RID: 162 + public const int WND_Z_MAINMENU = 200; + + // Token: 0x040000A3 RID: 163 + public const int WND_Z_DEBUGTITLE = 200; + + // Token: 0x040000A4 RID: 164 + public const int WND_Z_MEM_TITLE = 200; + + // Token: 0x040000A5 RID: 165 + public const int WND_Z_MEM_CHRSEL = 200; + + // Token: 0x040000A6 RID: 166 + public const int WND_Z_MEM_THUMSEL = 200; + + // Token: 0x040000A7 RID: 167 + public const int WND_Z_BGMPLAYER = 200; + + // Token: 0x040000A8 RID: 168 + public const int WND_Z_OMAKE = 200; + + // Token: 0x040000A9 RID: 169 + public const int WND_Z_BACKLOG = 1300; + + // Token: 0x040000AA RID: 170 + public const int WND_Z_REQMENU = 1400; + + // Token: 0x040000AB RID: 171 + public const int WND_Z_LOVESTATUS = 1200; + + // Token: 0x040000AC RID: 172 + public const int WND_Z_MAPSELECT = 700; + + // Token: 0x040000AD RID: 173 + public const int WND_Z_SAVRLOAD = 1500; + + // Token: 0x040000AE RID: 174 + public const int WND_Z_NAMESETTING = 1300; + + // Token: 0x040000AF RID: 175 + public const int WND_Z_DBG_POPUP = 8000; + + // Token: 0x040000B0 RID: 176 + public const int WND_Z_DBG_LOG = 8000; + + // Token: 0x040000B1 RID: 177 + public const int WND_Z_DBG_KSSELECT = 8000; + + // Token: 0x040000B2 RID: 178 + public const int SPR_Z_LAYER_12 = 905; + + // Token: 0x040000B3 RID: 179 + public const int SPR_Z_LAYER_MESSAGE = 800; + + // Token: 0x040000B4 RID: 180 + public const int SPR_Z_LAYER_11 = 795; + + // Token: 0x040000B5 RID: 181 + public const int SPR_Z_LAYER_10 = 790; + + // Token: 0x040000B6 RID: 182 + public const int SPR_Z_LAYER_09 = 785; + + // Token: 0x040000B7 RID: 183 + public const int SPR_Z_LAYER_CG = 780; + + // Token: 0x040000B8 RID: 184 + public const int SPR_Z_LAYER_08 = 775; + + // Token: 0x040000B9 RID: 185 + public const int SPR_Z_LAYER_CHARA_C = 770; + + // Token: 0x040000BA RID: 186 + public const int SPR_Z_LAYER_07 = 765; + + // Token: 0x040000BB RID: 187 + public const int SPR_Z_LAYER_CHARA_LC = 760; + + // Token: 0x040000BC RID: 188 + public const int SPR_Z_LAYER_06 = 755; + + // Token: 0x040000BD RID: 189 + public const int SPR_Z_LAYER_CHARA_RC = 750; + + // Token: 0x040000BE RID: 190 + public const int SPR_Z_LAYER_05 = 745; + + // Token: 0x040000BF RID: 191 + public const int SPR_Z_LAYER_CHARA_L = 740; + + // Token: 0x040000C0 RID: 192 + public const int SPR_Z_LAYER_04 = 735; + + // Token: 0x040000C1 RID: 193 + public const int SPR_Z_LAYER_CHARA_R = 730; + + // Token: 0x040000C2 RID: 194 + public const int SPR_Z_LAYER_03 = 725; + + // Token: 0x040000C3 RID: 195 + public const int SPR_Z_LAYER_02 = 720; + + // Token: 0x040000C4 RID: 196 + public const int SPR_Z_LAYER_01 = 715; + + // Token: 0x040000C5 RID: 197 + public const int SPR_Z_LAYER_BG = 710; + + // Token: 0x040000C6 RID: 198 + public const int SPR_Z_EVENT_BG = 710; + + // Token: 0x040000C7 RID: 199 + public const int SPR_Z_EVENT_CHARA = 730; + + // Token: 0x040000C8 RID: 200 + public const int SPR_Z_EVENT_CG = 780; + + // Token: 0x040000C9 RID: 201 + public const int SPR_Z_MESSAGE = 800; + + // Token: 0x040000CA RID: 202 + public const int SPR_Z_MESSAGE_TEXT = 801; + + // Token: 0x040000CB RID: 203 + public const int SPR_Z_MESSAGE_NAME = 802; + + // Token: 0x040000CC RID: 204 + public const int SPR_Z_MESSAGE_FACE = 803; + + // Token: 0x040000CD RID: 205 + public const int SPR_Z_SCREENSHOT = 7000; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/DispAssert.cs b/Assets/Scripts/Assembly-CSharp/Qoo/DispAssert.cs new file mode 100644 index 000000000..59cf052ae --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/DispAssert.cs @@ -0,0 +1,101 @@ +using System; +using Qoo.Def; +using UnityEngine; + +namespace Qoo +{ + // Token: 0x0200000C RID: 12 + public class DispAssert : MonoBehaviour + { + // Token: 0x17000009 RID: 9 + // (get) Token: 0x0600002D RID: 45 RVA: 0x0000248C File Offset: 0x0000068C + // (set) Token: 0x0600002E RID: 46 RVA: 0x00002494 File Offset: 0x00000694 + public ErrorDef.ASSERT_ERROR_CODE ErrorCode + { + get + { + return this.errorCode; + } + set + { + this.errorCode = value; + } + } + + // Token: 0x1700000A RID: 10 + // (get) Token: 0x0600002F RID: 47 RVA: 0x000024A0 File Offset: 0x000006A0 + // (set) Token: 0x06000030 RID: 48 RVA: 0x000024A8 File Offset: 0x000006A8 + public string ErrorMessage + { + get + { + return this.errorMessage; + } + set + { + this.errorMessage = value; + } + } + + // Token: 0x06000031 RID: 49 RVA: 0x000024B4 File Offset: 0x000006B4 + public static void Show(ErrorDef.ASSERT_ERROR_CODE errorCode, string errorMessage) + { + if (DispAssert.instance != null) + { + return; + } + GameObject gameObject = new GameObject(); + DispAssert.instance = gameObject.AddComponent(); + DispAssert.instance.init(errorCode, errorMessage); + } + + // Token: 0x06000032 RID: 50 RVA: 0x000024F0 File Offset: 0x000006F0 + public static bool IsAssert() + { + return DispAssert.instance != null; + } + + // Token: 0x06000033 RID: 51 RVA: 0x00002500 File Offset: 0x00000700 + private void Start() + { + this.guiStyle = new GUIStyle(); + } + + // Token: 0x06000034 RID: 52 RVA: 0x00002510 File Offset: 0x00000710 + private void Update() + { + } + + // Token: 0x06000035 RID: 53 RVA: 0x00002514 File Offset: 0x00000714 + private void OnGUI() + { + this.guiStyle = GUI.skin.textArea; + this.guiStyle.fontSize = 20; + string format = "ご迷惑をお掛けし、大変申し訳ございません。\n継続不能なエラーが発生しました。\n\nエラーコード={0}\n{1}\n\n上記のエラーコードを記載し、\n<info@quinrose.com>までご連絡ください。\n\nご協力のほどよろしくお願い申し上げます。"; + string str = "E"; + int num = (int)this.errorCode; + string text = string.Format(format, str + num.ToString("0000"), this.errorMessage); + GUI.Box(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), string.Empty); + GUI.TextArea(new Rect(0f, (float)Screen.height / 6f, (float)Screen.width, (float)Screen.height / 6f * 4f), text, this.guiStyle); + } + + // Token: 0x06000036 RID: 54 RVA: 0x000025CC File Offset: 0x000007CC + private void init(ErrorDef.ASSERT_ERROR_CODE errorCode, string errorMessage) + { + this.ErrorCode = errorCode; + this.ErrorMessage = errorMessage; + } + + // Token: 0x0400001A RID: 26 + private static DispAssert instance; + + // Token: 0x0400001B RID: 27 + private ErrorDef.ASSERT_ERROR_CODE errorCode; + + // Token: 0x0400001C RID: 28 + private string errorMessage = "予期せぬエラー"; + + // Token: 0x0400001D RID: 29 + private GUIStyle guiStyle; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/File/FileId.cs b/Assets/Scripts/Assembly-CSharp/Qoo/File/FileId.cs new file mode 100644 index 000000000..bf2f4bf59 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/File/FileId.cs @@ -0,0 +1,37 @@ +using System; + +namespace Qoo.File +{ + // Token: 0x02000013 RID: 19 + public class FileId + { + // Token: 0x06000056 RID: 86 RVA: 0x00003318 File Offset: 0x00001518 + public FileId(string name = "") + { + this.Set(name); + } + + // Token: 0x17000012 RID: 18 + // (get) Token: 0x06000057 RID: 87 RVA: 0x00003328 File Offset: 0x00001528 + // (set) Token: 0x06000058 RID: 88 RVA: 0x00003330 File Offset: 0x00001530 + public string Name { get; private set; } + + // Token: 0x06000059 RID: 89 RVA: 0x0000333C File Offset: 0x0000153C + public static string Normalize(string name) + { + int num = name.IndexOf('.'); + if (num >= 0) + { + name = name.Substring(0, num); + } + return name.ToLower(); + } + + // Token: 0x0600005A RID: 90 RVA: 0x0000336C File Offset: 0x0000156C + public bool Set(string name) + { + this.Name = FileId.Normalize(name); + return this.Name.Length > 0; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_BTREEITEM.cs b/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_BTREEITEM.cs new file mode 100644 index 000000000..aece1e4af --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_BTREEITEM.cs @@ -0,0 +1,23 @@ +using System; + +namespace Qoo.File +{ + // Token: 0x02000016 RID: 22 + public struct NMB_BTREEITEM + { + // Token: 0x040000DB RID: 219 + public uint nKey; + + // Token: 0x040000DC RID: 220 + public int nIndex; + + // Token: 0x040000DD RID: 221 + public int nL; + + // Token: 0x040000DE RID: 222 + public int nR; + + // Token: 0x040000DF RID: 223 + public int nE; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_FILEHEADER.cs b/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_FILEHEADER.cs new file mode 100644 index 000000000..0b6379314 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_FILEHEADER.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.File +{ + // Token: 0x02000014 RID: 20 + public struct NMB_FILEHEADER + { + // Token: 0x040000CF RID: 207 + public uint FourCC; + + // Token: 0x040000D0 RID: 208 + public int nItemNum; + + // Token: 0x040000D1 RID: 209 + public int nSearchTop; + + // Token: 0x040000D2 RID: 210 + public int nStrSize; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_FILEINFO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_FILEINFO.cs new file mode 100644 index 000000000..af04104dc --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/File/NMB_FILEINFO.cs @@ -0,0 +1,32 @@ +using System; + +namespace Qoo.File +{ + // Token: 0x02000015 RID: 21 + public class NMB_FILEINFO + { + // Token: 0x040000D3 RID: 211 + public string StrName; + + // Token: 0x040000D4 RID: 212 + public string DirName; + + // Token: 0x040000D5 RID: 213 + public string FileName; + + // Token: 0x040000D6 RID: 214 + public int nStrName; + + // Token: 0x040000D7 RID: 215 + public int nStrDir; + + // Token: 0x040000D8 RID: 216 + public int nStrFile; + + // Token: 0x040000D9 RID: 217 + public uint nCRC; + + // Token: 0x040000DA RID: 218 + public uint nSUM; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/File/Nmb.cs b/Assets/Scripts/Assembly-CSharp/Qoo/File/Nmb.cs new file mode 100644 index 000000000..f3c26699d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/File/Nmb.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.File +{ + // Token: 0x02000018 RID: 24 + public static class Nmb + { + // Token: 0x06000066 RID: 102 RVA: 0x0000374C File Offset: 0x0000194C + public static bool Add(byte[] data_) + { + NmbFile nmbFile = new NmbFile(); + bool flag = nmbFile.Create(data_, Nmb.m_NmbFile.Count); + if (flag) + { + Nmb.m_NmbFile.Add(nmbFile); + } + return flag; + } + + // Token: 0x06000067 RID: 103 RVA: 0x00003784 File Offset: 0x00001984 + public static bool Clear() + { + foreach (NmbFile nmbFile in Nmb.m_NmbFile) + { + if (nmbFile != null) + { + nmbFile.Release(); + } + } + Nmb.m_NmbFile.Clear(); + return true; + } + + // Token: 0x06000068 RID: 104 RVA: 0x000037FC File Offset: 0x000019FC + public static int GetFileNum() + { + int num = 0; + foreach (NmbFile nmbFile in Nmb.m_NmbFile) + { + num += nmbFile.GetFileNum(); + } + return num; + } + + // Token: 0x06000069 RID: 105 RVA: 0x00003868 File Offset: 0x00001A68 + public static NMB_FILEINFO GetFileInfo(int nFileNo) + { + int num = nFileNo; + foreach (NmbFile nmbFile in Nmb.m_NmbFile) + { + if (num < nmbFile.GetFileNum()) + { + return nmbFile.GetFileInfo(num); + } + num -= nmbFile.GetFileNum(); + } + Debug.Print(string.Format("指定ファイルが見つかりません ({0})", nFileNo)); + return null; + } + + // Token: 0x0600006A RID: 106 RVA: 0x00003904 File Offset: 0x00001B04 + public static NMB_FILEINFO GetFileInfo(string szName) + { + NMB_FILEINFO nmb_FILEINFO = null; + foreach (NmbFile nmbFile in Nmb.m_NmbFile) + { + nmb_FILEINFO = nmbFile.GetFileInfo(szName); + if (nmb_FILEINFO != null) + { + return nmb_FILEINFO; + } + } + Debug.Print(string.Format("指定ファイルが見つかりません ({0})", szName)); + return nmb_FILEINFO; + } + + // Token: 0x0600006B RID: 107 RVA: 0x0000398C File Offset: 0x00001B8C + public static int GetPackNo(string name) + { + foreach (NmbFile nmbFile in Nmb.m_NmbFile) + { + NMB_FILEINFO fileInfo = nmbFile.GetFileInfo(name); + if (fileInfo != null) + { + return nmbFile.No; + } + } + return -1; + } + + // Token: 0x0600006C RID: 108 RVA: 0x00003A08 File Offset: 0x00001C08 + public static int NameToNo(string szName) + { + int num = 0; + foreach (NmbFile nmbFile in Nmb.m_NmbFile) + { + int num2 = nmbFile.NameToNo(szName); + if (num2 >= 0) + { + return num + num2; + } + num += nmbFile.GetFileNum(); + } + Debug.Assert(false, string.Format("指定ファイルが見つかりません ({0})", szName)); + return -1; + } + + // Token: 0x040000E6 RID: 230 + private static List m_NmbFile = new List(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/File/NmbFile.cs b/Assets/Scripts/Assembly-CSharp/Qoo/File/NmbFile.cs new file mode 100644 index 000000000..638fe9a79 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/File/NmbFile.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using Qoo.Memory; + +namespace Qoo.File +{ + // Token: 0x02000017 RID: 23 + internal class NmbFile + { + // Token: 0x17000013 RID: 19 + // (get) Token: 0x0600005D RID: 93 RVA: 0x000033E0 File Offset: 0x000015E0 + public int No + { + get + { + return this.m_nNo; + } + } + + // Token: 0x0600005E RID: 94 RVA: 0x000033E8 File Offset: 0x000015E8 + public bool Create(byte[] data_, int no) + { + this.Release(); + this.m_nNo = no; + MemFile memFile = new MemFile(data_); + this.m_Header.FourCC = memFile.GetUInt32(); + this.m_Header.nItemNum = memFile.GetInt32(); + this.m_Header.nSearchTop = memFile.GetInt32(); + this.m_Header.nStrSize = memFile.GetInt32(); + for (int num = 0; num != this.m_Header.nItemNum; num++) + { + NMB_FILEINFO nmb_FILEINFO = new NMB_FILEINFO(); + nmb_FILEINFO.nStrName = memFile.GetInt32(); + nmb_FILEINFO.nStrDir = memFile.GetInt32(); + nmb_FILEINFO.nStrFile = memFile.GetInt32(); + nmb_FILEINFO.nCRC = (uint)memFile.GetUInt16(); + nmb_FILEINFO.nSUM = (uint)memFile.GetUInt16(); + this.m_FileInfo.Add(nmb_FILEINFO); + } + for (int num2 = 0; num2 != this.m_Header.nItemNum; num2++) + { + NMB_BTREEITEM item = default(NMB_BTREEITEM); + item.nKey = memFile.GetUInt32(); + item.nIndex = (int)memFile.GetInt16(); + item.nL = (int)memFile.GetInt16(); + item.nR = (int)memFile.GetInt16(); + item.nE = (int)memFile.GetInt16(); + this.m_TreeItem.Add(item); + } + memFile.SetPos(memFile.Length() - this.m_Header.nStrSize); + string @string = memFile.GetString(this.m_Header.nStrSize); + Func func = delegate(string str, int pos) + { + int num4 = str.IndexOf('\0', pos); + return str.Substring(pos, num4 - pos); + }; + for (int num3 = 0; num3 != this.m_Header.nItemNum; num3++) + { + NMB_FILEINFO nmb_FILEINFO2 = this.m_FileInfo[num3]; + nmb_FILEINFO2.StrName = func(@string, nmb_FILEINFO2.nStrName).ToLower(); + nmb_FILEINFO2.DirName = func(@string, nmb_FILEINFO2.nStrDir).ToLower(); + nmb_FILEINFO2.FileName = func(@string, nmb_FILEINFO2.nStrFile).ToLower(); + this.m_FileInfo[num3] = nmb_FILEINFO2; + if (this.m_FileDictionary.ContainsKey(nmb_FILEINFO2.StrName)) + { + Debug.Print(string.Format("ERROR:NMB ITEM :{0}/{1}", nmb_FILEINFO2.DirName, nmb_FILEINFO2.StrName)); + } + else + { + this.m_FileDictionary.Add(nmb_FILEINFO2.StrName, num3); + } + } + return true; + } + + // Token: 0x0600005F RID: 95 RVA: 0x00003654 File Offset: 0x00001854 + public bool Release() + { + this.m_Header = default(NMB_FILEHEADER); + this.m_FileDictionary.Clear(); + this.m_FileInfo.Clear(); + this.m_TreeItem.Clear(); + return true; + } + + // Token: 0x06000060 RID: 96 RVA: 0x00003694 File Offset: 0x00001894 + public int GetFileNum() + { + return this.m_Header.nItemNum; + } + + // Token: 0x06000061 RID: 97 RVA: 0x000036A4 File Offset: 0x000018A4 + public NMB_FILEINFO GetFileInfo(int nFileNo) + { + return this.m_FileInfo[nFileNo]; + } + + // Token: 0x06000062 RID: 98 RVA: 0x000036B4 File Offset: 0x000018B4 + public NMB_FILEINFO GetFileInfo(string szName) + { + szName = szName.ToLower(); + if (this.m_FileDictionary.ContainsKey(szName)) + { + return this.m_FileInfo[this.m_FileDictionary[szName]]; + } + return null; + } + + // Token: 0x06000063 RID: 99 RVA: 0x000036F4 File Offset: 0x000018F4 + public int NameToNo(string szName) + { + szName = szName.ToLower(); + if (this.m_FileDictionary.ContainsKey(szName)) + { + return this.m_FileDictionary[szName]; + } + return -1; + } + + // Token: 0x040000E0 RID: 224 + private NMB_FILEHEADER m_Header = default(NMB_FILEHEADER); + + // Token: 0x040000E1 RID: 225 + private List m_FileInfo = new List(); + + // Token: 0x040000E2 RID: 226 + private List m_TreeItem = new List(); + + // Token: 0x040000E3 RID: 227 + private Dictionary m_FileDictionary = new Dictionary(); + + // Token: 0x040000E4 RID: 228 + private int m_nNo; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/Chara.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/Chara.cs new file mode 100644 index 000000000..739998fa9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/Chara.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using Game; + +namespace Qoo.Game +{ + // Token: 0x0200001A RID: 26 + public static class Chara + { + // Token: 0x0600006F RID: 111 RVA: 0x00003AD4 File Offset: 0x00001CD4 + public static void Clear() + { + Chara.m_CharTbl.Clear(); + } + + // Token: 0x06000070 RID: 112 RVA: 0x00003AE0 File Offset: 0x00001CE0 + public static void Add(CHAR_ID id, GAMECHAR_TABLE tbl) + { + Chara.m_CharTbl.Add(id, tbl); + Debug.Print(string.Format("INFO:キャラ番号を追加しました ID={0} Name={1}", id.ToString(), tbl.szNameJFull)); + } + + // Token: 0x06000071 RID: 113 RVA: 0x00003B10 File Offset: 0x00001D10 + public static string[] GetCharNameArray() + { + List list = new List(); + foreach (KeyValuePair keyValuePair in Chara.m_CharTbl) + { + list.Add(keyValuePair.Value.szName); + } + return list.ToArray(); + } + + // Token: 0x06000072 RID: 114 RVA: 0x00003B90 File Offset: 0x00001D90 + public static string GetFirstName() + { + return "アリス"; + } + + // Token: 0x06000073 RID: 115 RVA: 0x00003B98 File Offset: 0x00001D98 + public static string GetFamilyName() + { + return "リデル"; + } + + // Token: 0x06000074 RID: 116 RVA: 0x00003BA0 File Offset: 0x00001DA0 + public static string GetNameFromId(CHAR_ID nCharId) + { + Debug.Assert(nCharId < CHAR_ID.NUM, string.Format("範囲外のキャラIDです{0}\n", nCharId)); + return Chara.m_CharTbl[nCharId].szName; + } + + // Token: 0x06000075 RID: 117 RVA: 0x00003BDC File Offset: 0x00001DDC + public static CHAR_ID GetIdFromName(string szName) + { + string a = szName.ToLower(); + foreach (KeyValuePair keyValuePair in Chara.m_CharTbl) + { + if (string.Equals(a, keyValuePair.Value.szName)) + { + return keyValuePair.Key; + } + } + return CHAR_ID.NOTHING; + } + + // Token: 0x06000076 RID: 118 RVA: 0x00003C70 File Offset: 0x00001E70 + public static CHAR_ID GetIdFromVoice(string szVoiceName) + { + string text = szVoiceName.ToLower(); + foreach (KeyValuePair keyValuePair in Chara.m_CharTbl) + { + if (keyValuePair.Value.szVoice != null && keyValuePair.Value.szVoice.Length > 0 && text.IndexOf(keyValuePair.Value.szVoice) == 0) + { + return keyValuePair.Key; + } + } + return CHAR_ID.MOB; + } + + // Token: 0x06000077 RID: 119 RVA: 0x00003D34 File Offset: 0x00001F34 + public static string GetVoiceFromId(CHAR_ID nCharId) + { + Debug.Assert(nCharId < CHAR_ID.NUM, string.Format("範囲外のキャラIDです{0}\n", nCharId)); + return Chara.m_CharTbl[nCharId].szVoice; + } + + // Token: 0x06000078 RID: 120 RVA: 0x00003D70 File Offset: 0x00001F70 + public static string GetKsName(CHAR_ID eChar, int iNo) + { + Debug.Assert(Chara.m_CharTbl[eChar].szKsName != null, "指定キャラにはKS名がセットされていません\n"); + return string.Format("{0}{1:00}.ks", Chara.m_CharTbl[eChar].szKsName, iNo); + } + + // Token: 0x040000EC RID: 236 + private static Dictionary m_CharTbl = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAMECHAR_TABLE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAMECHAR_TABLE.cs new file mode 100644 index 000000000..12e8187fa --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAMECHAR_TABLE.cs @@ -0,0 +1,33 @@ +using System; + +namespace Qoo.Game +{ + // Token: 0x02000019 RID: 25 + public struct GAMECHAR_TABLE + { + // Token: 0x0600006D RID: 109 RVA: 0x00003AA0 File Offset: 0x00001CA0 + public GAMECHAR_TABLE(string a, string b, string c, string d, string e) + { + this.szName = a; + this.szNameJFull = b; + this.szNameJ = c; + this.szKsName = d; + this.szVoice = e; + } + + // Token: 0x040000E7 RID: 231 + public string szName; + + // Token: 0x040000E8 RID: 232 + public string szNameJFull; + + // Token: 0x040000E9 RID: 233 + public string szNameJ; + + // Token: 0x040000EA RID: 234 + public string szKsName; + + // Token: 0x040000EB RID: 235 + public string szVoice; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAME_SAVE_DATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAME_SAVE_DATA.cs new file mode 100644 index 000000000..8eff132a1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAME_SAVE_DATA.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using Qoo.Ks; +using Qoo.Memory; +using Qoo.Param; + +namespace Qoo.Game +{ + // Token: 0x02000021 RID: 33 + public class GAME_SAVE_DATA + { + // Token: 0x060000ED RID: 237 RVA: 0x00005370 File Offset: 0x00003570 + public bool Ready() + { + this.m_Read = new Read(); + this.m_Read.Copy(GameData.ReadData); + this.m_Param = GameData.GetSaveParam(); + this.m_Log = new KS_LOG_DATA(); + this.m_Log.Ready(); + this.m_Scene = Singleton.Instance.SceneBackup; + return true; + } + + // Token: 0x060000EE RID: 238 RVA: 0x000053CC File Offset: 0x000035CC + public bool Save(MemFile mem) + { + this.m_Header.Save(mem); + this.m_Read.Save(mem); + this.m_Param.Save(mem); + this.m_Log.Save(mem); + this.m_Scene.Save(mem); + return true; + } + + // Token: 0x060000EF RID: 239 RVA: 0x0000541C File Offset: 0x0000361C + public bool Load(MemFile mem) + { + this.m_Header.Load(mem); + this.m_Read = new Read(); + this.m_Read.Load(mem); + this.m_Param = new GameParam(); + this.m_Param.Load(mem); + this.m_Log = new KS_LOG_DATA(); + this.m_Log.Load(mem); + this.m_Scene = new EVENTBACKUPDATA(); + this.m_Scene.Load(mem); + return true; + } + + // Token: 0x060000F0 RID: 240 RVA: 0x00005498 File Offset: 0x00003698 + public void Apply() + { + List list = new List(); + list.AddRange(this.m_Log.m_KsNameArray); + foreach (SCENEPOSDATA sceneposdata in this.m_Log.m_LogData) + { + if (!list.Contains(Akb.GetFileInfo((int)sceneposdata.sFileNo).Name)) + { + list.Add(Akb.GetFileInfo((int)sceneposdata.sFileNo).Name); + } + } + this.m_Log.m_KsNameArray = list.ToArray(); + } + + // Token: 0x04000106 RID: 262 + public GAME_SAVE_DATA_HEADER m_Header = new GAME_SAVE_DATA_HEADER(); + + // Token: 0x04000107 RID: 263 + public Read m_Read; + + // Token: 0x04000108 RID: 264 + public GameParam m_Param; + + // Token: 0x04000109 RID: 265 + public KS_LOG_DATA m_Log; + + // Token: 0x0400010A RID: 266 + public EVENTBACKUPDATA m_Scene; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAME_SAVE_DATA_HEADER.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAME_SAVE_DATA_HEADER.cs new file mode 100644 index 000000000..b10031527 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GAME_SAVE_DATA_HEADER.cs @@ -0,0 +1,38 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Game +{ + // Token: 0x02000020 RID: 32 + public class GAME_SAVE_DATA_HEADER + { + // Token: 0x060000EA RID: 234 RVA: 0x00005300 File Offset: 0x00003500 + public bool Save(MemFile mem) + { + mem.SetStringUtf16(this.m_ID); + mem.SetInt32(this.m_iVersion); + return true; + } + + // Token: 0x060000EB RID: 235 RVA: 0x0000531C File Offset: 0x0000351C + public bool Load(MemFile mem) + { + string stringUtf = mem.GetStringUtf16(); + if (stringUtf != this.m_ID) + { + return false; + } + int @int = mem.GetInt32(); + return @int == this.m_iVersion; + } + + // Token: 0x04000103 RID: 259 + public const int GAME_SAVE_DATA_VERSION = 2; + + // Token: 0x04000104 RID: 260 + public string m_ID = "QOO.SAVEDATA.GAME"; + + // Token: 0x04000105 RID: 261 + public int m_iVersion = 2; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/GameData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GameData.cs new file mode 100644 index 000000000..b804e39f2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/GameData.cs @@ -0,0 +1,567 @@ +using System; +using System.Collections.Generic; +using Game; +using Qoo.Application; +using Qoo.Def; +using Qoo.Input; +using Qoo.Ks; +using Qoo.Param; + +namespace Qoo.Game +{ + // Token: 0x0200001B RID: 27 + public static class GameData + { + // Token: 0x17000014 RID: 20 + // (get) Token: 0x0600007A RID: 122 RVA: 0x00003E20 File Offset: 0x00002020 + public static Read ReadData + { + get + { + return GameData.m_GameRead; + } + } + + // Token: 0x17000015 RID: 21 + // (get) Token: 0x0600007B RID: 123 RVA: 0x00003E28 File Offset: 0x00002028 + // (set) Token: 0x0600007C RID: 124 RVA: 0x00003E30 File Offset: 0x00002030 + public static GameParam Param + { + get + { + return GameData.m_Param; + } + set + { + GameData.m_Param = value; + } + } + + // Token: 0x17000016 RID: 22 + // (get) Token: 0x0600007D RID: 125 RVA: 0x00003E38 File Offset: 0x00002038 + // (set) Token: 0x0600007E RID: 126 RVA: 0x00003E54 File Offset: 0x00002054 + public static GameParam LockParam + { + get + { + return (!GameData.m_isLockGameData) ? GameData.Param : GameData.m_LockParam; + } + set + { + GameData.m_LockParam = value; + } + } + + // Token: 0x17000017 RID: 23 + // (get) Token: 0x0600007F RID: 127 RVA: 0x00003E5C File Offset: 0x0000205C + // (set) Token: 0x06000080 RID: 128 RVA: 0x00003E64 File Offset: 0x00002064 + public static List OldWork + { + get + { + return GameData.m_OldWorkList; + } + set + { + GameData.m_OldWorkList = value; + } + } + + // Token: 0x17000018 RID: 24 + // (get) Token: 0x06000081 RID: 129 RVA: 0x00003E6C File Offset: 0x0000206C + // (set) Token: 0x06000082 RID: 130 RVA: 0x00003E74 File Offset: 0x00002074 + public static bool EnableChangeParam + { + get + { + return GameData.m_isChangeParam; + } + set + { + GameData.m_isChangeParam = value; + } + } + + // Token: 0x17000019 RID: 25 + // (get) Token: 0x06000083 RID: 131 RVA: 0x00003E7C File Offset: 0x0000207C + // (set) Token: 0x06000084 RID: 132 RVA: 0x00003E84 File Offset: 0x00002084 + public static bool IsMoveTitle + { + get + { + return GameData.m_isMoveTitle; + } + set + { + GameData.m_isMoveTitle = value; + } + } + + // Token: 0x06000085 RID: 133 RVA: 0x00003E8C File Offset: 0x0000208C + public static void Clear() + { + GameData.Param.Clear(); + GameData.LockParam.Clear(); + GameData.m_GameRead.Init(); + GameData.OldWork.Clear(); + GameData.EnableChangeParam = false; + GameData.m_isLoadData = false; + GameData.m_strLastMessage = string.Empty; + GameData.m_memory = false; + GameData.m_memoryKs = string.Empty; + GameData.m_memoryLabel = string.Empty; + } + + // Token: 0x06000086 RID: 134 RVA: 0x00003EF4 File Offset: 0x000020F4 + public static void Init() + { + GameData.Param.Init(); + GameData.LockParam.Init(); + GameData.m_GameRead.Init(); + GameData.OldWork.Clear(); + GameData.EnableChangeParam = false; + GameData.m_isLockGameData = false; + GameData.m_isLoadData = false; + GameData.m_strLastMessage = string.Empty; + GameData.m_memory = false; + GameData.m_memoryKs = string.Empty; + GameData.m_memoryLabel = string.Empty; + } + + // Token: 0x06000087 RID: 135 RVA: 0x00003F60 File Offset: 0x00002160 + public static bool SetRead(int nKsNo, int nLabelNo, int nTagNo) + { + GameData.m_GameRead.Set(nKsNo, nLabelNo, nTagNo); + SysData.SetRead(nKsNo, nLabelNo, nTagNo); + return true; + } + + // Token: 0x06000088 RID: 136 RVA: 0x00003F7C File Offset: 0x0000217C + internal static bool IsRead(int KsNo, int LabelNo, int TagNo) + { + return GameData.m_GameRead.IsRead(KsNo, LabelNo, TagNo); + } + + // Token: 0x06000089 RID: 137 RVA: 0x00003F8C File Offset: 0x0000218C + internal static bool IsRead(string KsName, string LabelName) + { + int nKs = 0; + int nLabel = 0; + return Akb.GetFileLabel(ref nKs, ref nLabel, KsName, LabelName) && GameData.m_GameRead.IsRead(nKs, nLabel, 0); + } + + // Token: 0x0600008A RID: 138 RVA: 0x00003FBC File Offset: 0x000021BC + public static bool CheckReadedSkip(int nKsNo, int nLabelNo, int nTagNo) + { + if (!KsInput.IsSkip) + { + return false; + } + if (SysData.GetSkip() == SKIP_MODE.ALL) + { + return true; + } + if (SysData.GetSkip() == SKIP_MODE.DISABLE || !SysData.IsRead(nKsNo, nLabelNo, nTagNo + 1)) + { + KsInput.Unlock(); + return false; + } + return true; + } + + // Token: 0x0600008B RID: 139 RVA: 0x00004004 File Offset: 0x00002204 + public static bool AttachParam(string name, int init, string[] indexArray = null) + { + if (indexArray != null) + { + for (int num = 0; num != indexArray.Length; num++) + { + GameData.Param.Attach(name + indexArray[num], init.ToString(), num, false); + Debug.Print(string.Format("INFO:ゲームパラメータ {0}[{1}]={2} type=int を追加しました", name, indexArray[num], init)); + } + } + else + { + GameData.Param.Attach(name, init.ToString(), 0, false); + Debug.Print(string.Format("INFO:ゲームパラメータ {0}={1} type=int を追加しました", name, init)); + } + return true; + } + + // Token: 0x0600008C RID: 140 RVA: 0x00004094 File Offset: 0x00002294 + public static bool AttachParam(string name, string init, string[] indexArray = null) + { + if (indexArray != null) + { + for (int num = 0; num != indexArray.Length; num++) + { + GameData.Param.Attach(name + indexArray[num], init, num, true); + Debug.Print(string.Format("INFO:ゲームパラメータ {0}[{1}]={2} type=string を追加しました", name, indexArray[num], init)); + } + } + else + { + GameData.Param.Attach(name, init, 0, true); + Debug.Print(string.Format("INFO:ゲームパラメータ {0}={1} type=string を追加しました", name, init)); + } + return true; + } + + // Token: 0x0600008D RID: 141 RVA: 0x0000410C File Offset: 0x0000230C + public static bool SetParamString(string name, string index, string param) + { + string name2 = name + index; + string old_param = GameData.Param.Get(name2); + if (name == "rand") + { + param = App.GetRandom(int.Parse(param)).ToString(); + } + GameData.ChangeParam(name, index, old_param, param); + return GameData.Param.Set(name2, param); + } + + // Token: 0x0600008E RID: 142 RVA: 0x00004168 File Offset: 0x00002368 + public static string GetParamString(string name, string index = "") + { + return GameData.Param.Get(name + index); + } + + // Token: 0x0600008F RID: 143 RVA: 0x0000417C File Offset: 0x0000237C + public static int GetParamInt(string name, string index = "") + { + return GameData.Param.GetInt(name + index); + } + + // Token: 0x06000090 RID: 144 RVA: 0x00004190 File Offset: 0x00002390 + public static bool SetParamInt(string name_, string index_, int param_) + { + string name = name_ + index_; + string old_param = GameData.Param.Get(name); + if (name_ == "rand") + { + int random = App.GetRandom(param_); + Debug.Print(string.Format("INFO:パラメータ:{0}に{1}を元に{2}を設定しました", name_, param_, random)); + param_ = random; + } + GameData.ChangeParam(name_, index_, old_param, param_.ToString()); + return GameData.Param.SetInt(name_ + index_, param_); + } + + // Token: 0x06000091 RID: 145 RVA: 0x00004208 File Offset: 0x00002408 + public static bool CmpParam(string valueName, string indexName, string paramName) + { + string name = valueName + indexName; + if (GameData.Param.IsString(name)) + { + return GameData.CmpParamString(valueName, indexName, paramName); + } + return GameData.CmpParamInt(valueName, indexName, int.Parse(paramName)); + } + + // Token: 0x06000092 RID: 146 RVA: 0x00004244 File Offset: 0x00002444 + public static bool CmpParamString(string ValueName, string IndexName, string Param_) + { + return GameData.GetParamString(ValueName, IndexName) == Param_; + } + + // Token: 0x06000093 RID: 147 RVA: 0x00004254 File Offset: 0x00002454 + public static bool CmpParamInt(string ValueName, string IndexName, int Param_) + { + int paramInt = GameData.GetParamInt(ValueName, IndexName); + return Param_ <= paramInt; + } + + // Token: 0x06000094 RID: 148 RVA: 0x00004270 File Offset: 0x00002470 + public static bool AddParam(string value_, string index_, string param_) + { + int paramInt = GameData.GetParamInt(value_, index_); + return GameData.SetParamInt(value_, index_, int.Parse(param_) + paramInt); + } + + // Token: 0x06000095 RID: 149 RVA: 0x00004294 File Offset: 0x00002494 + public static bool CmpOtherParam(string ValueName, string IndexName, string Value1Name, string Index1Name) + { + return GameData.GetParamString(ValueName, IndexName) == GameData.GetParamString(Value1Name, Index1Name); + } + + // Token: 0x06000096 RID: 150 RVA: 0x000042AC File Offset: 0x000024AC + public static int SearchParam(string p, ref int nArraySize) + { + nArraySize = 0; + int num = GameData.Param.SearchZeroIndex(p); + if (num < 0) + { + return -1; + } + nArraySize = GameData.Param.GetIndexNum(num); + return num; + } + + // Token: 0x06000097 RID: 151 RVA: 0x000042E0 File Offset: 0x000024E0 + internal static string GetParamString(int index) + { + return GameData.Param.GetParamString(index); + } + + // Token: 0x06000098 RID: 152 RVA: 0x000042F0 File Offset: 0x000024F0 + internal static void SetParam(int index, int value) + { + GameData.Param.SetParam(index, value); + } + + // Token: 0x06000099 RID: 153 RVA: 0x00004300 File Offset: 0x00002500 + public static bool IsPayRoute(CHAR_ID id) + { + return GameData.GetParamInt("money", Chara.GetNameFromId(id)) > 0; + } + + // Token: 0x0600009A RID: 154 RVA: 0x00004320 File Offset: 0x00002520 + public static bool IsPayRouteFull() + { + return GameData.GetParamInt("moneyfull", string.Empty) > 0; + } + + // Token: 0x0600009B RID: 155 RVA: 0x00004340 File Offset: 0x00002540 + public static void StartVoiceCheck() + { + GameData.SetParamInt("voicecheck", string.Empty, 1); + } + + // Token: 0x0600009C RID: 156 RVA: 0x00004354 File Offset: 0x00002554 + public static void ResetVoiceCheck() + { + GameData.SetParamInt("voicecheck", string.Empty, 0); + } + + // Token: 0x0600009D RID: 157 RVA: 0x00004368 File Offset: 0x00002568 + public static bool IsVoiceCheck() + { + return GameData.GetParamInt("voicecheck", string.Empty) > 0; + } + + // Token: 0x0600009E RID: 158 RVA: 0x00004388 File Offset: 0x00002588 + public static bool IsFullVoiceCheck() + { + return GameData.GetParamInt("voicecheck", string.Empty) > 1; + } + + // Token: 0x0600009F RID: 159 RVA: 0x000043A8 File Offset: 0x000025A8 + private static void ChangeParam(string name, string index, string old_param, string new_param) + { + if (GameData.EnableChangeParam && new_param != old_param) + { + Debug.Print(string.Format("INFO:ChangeParam:Name={0},Index={1},New={2},Old={3}", new object[] + { + name, + index, + new_param, + old_param + })); + KsWorkLog item = default(KsWorkLog); + item.Value = name; + item.Index = index; + item.Old = old_param; + item.New = new_param; + GameData.OldWork.Add(item); + } + } + + // Token: 0x060000A0 RID: 160 RVA: 0x00004424 File Offset: 0x00002624 + internal static void SetGameEnd() + { + } + + // Token: 0x060000A1 RID: 161 RVA: 0x00004428 File Offset: 0x00002628 + public static bool LockGameData() + { + bool isLockGameData = GameData.m_isLockGameData; + GameData.m_isLockGameData = true; + GameData.LockParam.Copy(GameData.Param); + return isLockGameData; + } + + // Token: 0x060000A2 RID: 162 RVA: 0x00004454 File Offset: 0x00002654 + public static bool UnlockGameData() + { + bool isLockGameData = GameData.m_isLockGameData; + GameData.m_isLockGameData = false; + return isLockGameData; + } + + // Token: 0x1700001A RID: 26 + // (get) Token: 0x060000A3 RID: 163 RVA: 0x00004470 File Offset: 0x00002670 + // (set) Token: 0x060000A4 RID: 164 RVA: 0x00004478 File Offset: 0x00002678 + public static string LastMessage + { + get + { + return GameData.m_strLastMessage; + } + set + { + GameData.m_strLastMessage = value; + } + } + + // Token: 0x060000A5 RID: 165 RVA: 0x00004480 File Offset: 0x00002680 + public static string GetSceneName() + { + return GameData.GetParamString("scene", string.Empty); + } + + // Token: 0x060000A6 RID: 166 RVA: 0x00004494 File Offset: 0x00002694 + public static CHAR_ID GetRoute() + { + return Chara.GetIdFromName(GameData.GetParamString("route", string.Empty)); + } + + // Token: 0x060000A7 RID: 167 RVA: 0x000044AC File Offset: 0x000026AC + public static void SetRoute(CHAR_ID id) + { + GameData.SetParamString("route", string.Empty, Chara.GetNameFromId(id)); + } + + // Token: 0x060000A8 RID: 168 RVA: 0x000044C4 File Offset: 0x000026C4 + public static string GetFirstName() + { + return GameData.GetParamString("firstname", string.Empty); + } + + // Token: 0x060000A9 RID: 169 RVA: 0x000044D8 File Offset: 0x000026D8 + public static void SetFirstName(string name) + { + GameData.SetParamString("firstname", string.Empty, name); + } + + // Token: 0x060000AA RID: 170 RVA: 0x000044EC File Offset: 0x000026EC + public static byte[] Save() + { + if (!GameData.m_isLoadData) + { + return GameData.m_Data.Save(); + } + return null; + } + + // Token: 0x060000AB RID: 171 RVA: 0x00004504 File Offset: 0x00002704 + public static bool Load(byte[] data_) + { + GameData.m_isLoadData = true; + return GameData.m_Data.Load(data_); + } + + // Token: 0x060000AC RID: 172 RVA: 0x00004518 File Offset: 0x00002718 + internal static bool IsLoadData() + { + return GameData.m_isLoadData; + } + + // Token: 0x060000AD RID: 173 RVA: 0x00004520 File Offset: 0x00002720 + internal static GAME_SAVE_DATA GetLoadData() + { + GameData.m_isLoadData = false; + GameData.m_isLockGameData = true; + GameData.m_Param.Copy(GameData.m_Data.LoadData.m_Param); + GameData.m_GameRead.Copy(GameData.m_Data.LoadData.m_Read); + GameData.LockGameData(); + return GameData.m_Data.LoadData; + } + + // Token: 0x060000AE RID: 174 RVA: 0x0000457C File Offset: 0x0000277C + internal static GameParam GetSaveParam() + { + GameParam gameParam = new GameParam(); + gameParam.Copy(GameData.LockParam); + gameParam.Set("firstname", GameData.GetFirstName()); + return gameParam; + } + + // Token: 0x060000AF RID: 175 RVA: 0x000045AC File Offset: 0x000027AC + public static void MemoryMode_Create(string route, string stay, string ks, string label, string nameEvent) + { + string firstName = GameData.GetFirstName(); + GameData.Init(); + GameData.SetFirstName(firstName); + GameData.StartVoiceCheck(); + GameData.SetParamString("route", string.Empty, route); + GameData.SetParamString("stay", string.Empty, stay); + GameData.SetParamString("memory", string.Empty, nameEvent); + GameData.m_memory = true; + GameData.m_memoryKs = ks; + GameData.m_memoryLabel = ((label.Length != 0) ? label.Substring(1) : string.Empty); + } + + // Token: 0x060000B0 RID: 176 RVA: 0x00004630 File Offset: 0x00002830 + public static void MemoryMode_Destroy() + { + GameData.m_memory = false; + GameData.m_memoryKs = string.Empty; + GameData.m_memoryLabel = string.Empty; + } + + // Token: 0x060000B1 RID: 177 RVA: 0x0000464C File Offset: 0x0000284C + public static bool MemoryMode_IsActive() + { + return GameData.m_memory; + } + + // Token: 0x1700001B RID: 27 + // (get) Token: 0x060000B2 RID: 178 RVA: 0x00004654 File Offset: 0x00002854 + public static string MemoryKs + { + get + { + return GameData.m_memoryKs; + } + } + + // Token: 0x1700001C RID: 28 + // (get) Token: 0x060000B3 RID: 179 RVA: 0x0000465C File Offset: 0x0000285C + public static string MemoryLabel + { + get + { + return GameData.m_memoryLabel; + } + } + + // Token: 0x040000ED RID: 237 + private static Read m_GameRead = new Read(); + + // Token: 0x040000EE RID: 238 + private static bool m_isLockGameData = false; + + // Token: 0x040000EF RID: 239 + private static SaveData m_Data = new SaveData(); + + // Token: 0x040000F0 RID: 240 + private static GameParam m_Param = new GameParam(); + + // Token: 0x040000F1 RID: 241 + private static GameParam m_LockParam = new GameParam(); + + // Token: 0x040000F2 RID: 242 + private static List m_OldWorkList = new List(); + + // Token: 0x040000F3 RID: 243 + private static bool m_isChangeParam = false; + + // Token: 0x040000F4 RID: 244 + private static bool m_isMoveTitle = false; + + // Token: 0x040000F5 RID: 245 + private static string m_strLastMessage = string.Empty; + + // Token: 0x040000F6 RID: 246 + private static bool m_isLoadData; + + // Token: 0x040000F7 RID: 247 + private static bool m_memory; + + // Token: 0x040000F8 RID: 248 + private static string m_memoryKs; + + // Token: 0x040000F9 RID: 249 + private static string m_memoryLabel; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/KS_LOG_DATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/KS_LOG_DATA.cs new file mode 100644 index 000000000..10dedf067 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/KS_LOG_DATA.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Qoo.Application; +using Qoo.Ks; +using Qoo.Memory; + +namespace Qoo.Game +{ + // Token: 0x02000022 RID: 34 + public class KS_LOG_DATA + { + // Token: 0x060000F2 RID: 242 RVA: 0x00005534 File Offset: 0x00003734 + public bool Ready() + { + int logNum = App.QooKsLog.GetLogNum(); + this.m_LogData = new SCENEPOSDATA[logNum]; + int callNum = App.QooKsLog.GetCallNum(); + this.m_CallData = new SCENECALLDATA[callNum]; + for (int num = 0; num != this.m_LogData.Length; num++) + { + this.m_LogData[num] = App.QooKsLog.GetPos(num); + } + for (int num2 = 0; num2 != this.m_CallData.Length; num2++) + { + this.m_CallData[num2] = App.QooKsLog.GetCallData(num2); + } + List list = new List(); + foreach (SCENEPOSDATA sceneposdata in this.m_LogData) + { + list.Add((int)sceneposdata.sFileNo); + } + int[] array = list.Distinct().ToArray(); + this.m_KsNameArray = new string[array.Length]; + for (int num3 = 0; num3 != array.Length; num3++) + { + this.m_KsNameArray[num3] = Akb.GetFileInfo(array[num3]).Name; + } + return true; + } + + // Token: 0x060000F3 RID: 243 RVA: 0x00005660 File Offset: 0x00003860 + public bool Save(MemFile mem) + { + mem.SetInt32(this.m_LogData.Length); + mem.SetInt32(this.m_CallData.Length); + mem.SetInt32(this.m_KsNameArray.Length); + foreach (SCENEPOSDATA sceneposdata in this.m_LogData) + { + sceneposdata.Save(mem); + } + foreach (SCENECALLDATA scenecalldata in this.m_CallData) + { + scenecalldata.Save(mem); + } + foreach (string stringUtf in this.m_KsNameArray) + { + mem.SetStringUtf16(stringUtf); + } + return true; + } + + // Token: 0x060000F4 RID: 244 RVA: 0x00005728 File Offset: 0x00003928 + public bool Load(MemFile mem) + { + int @int = mem.GetInt32(); + int int2 = mem.GetInt32(); + int int3 = mem.GetInt32(); + this.m_LogData = new SCENEPOSDATA[@int]; + this.m_CallData = new SCENECALLDATA[int2]; + this.m_KsNameArray = new string[int3]; + for (int num = 0; num != this.m_LogData.Length; num++) + { + this.m_LogData[num] = new SCENEPOSDATA(); + this.m_LogData[num].Load(mem); + } + for (int num2 = 0; num2 != this.m_CallData.Length; num2++) + { + this.m_CallData[num2] = default(SCENECALLDATA); + this.m_CallData[num2].Load(mem); + } + for (int num3 = 0; num3 != int3; num3++) + { + this.m_KsNameArray[num3] = mem.GetStringUtf16(); + } + return true; + } + + // Token: 0x0400010B RID: 267 + public SCENEPOSDATA[] m_LogData; + + // Token: 0x0400010C RID: 268 + public SCENECALLDATA[] m_CallData; + + // Token: 0x0400010D RID: 269 + public string[] m_KsNameArray; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/KsExec.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/KsExec.cs new file mode 100644 index 000000000..9ce20698d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/KsExec.cs @@ -0,0 +1,238 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Game; +using Qoo.Input; +using Qoo.Wnd; +using UnityEngine; + +namespace Qoo.Game +{ + // Token: 0x020000DE RID: 222 + public static class KsExec + { + // Token: 0x06000611 RID: 1553 RVA: 0x00019374 File Offset: 0x00017574 + internal static bool KsExecProc(string Func, string Param, string Value, int count) + { + if (Func != null) + { + if (KsExec.<>f__switch$map1 == null) + { + KsExec.<>f__switch$map1 = new Dictionary(2) + { + { + "inputname", + 0 + }, + { + "kakin", + 1 + } + }; + } + int num; + if (KsExec.<>f__switch$map1.TryGetValue(Func, out num)) + { + if (num != 0) + { + if (num == 1) + { + if (Debug.IsAutoKsDebug) + { + return true; + } + KsInput.Enable = false; + KsInput.Clear(); + bool flag = KsExec.ExecPay(Param, Value, count); + if (flag) + { + KsInput.Enable = true; + } + return flag; + } + } + else + { + if (Debug.IsAutoKsDebug) + { + return true; + } + KsInput.Enable = false; + bool flag2 = KsExec.InputName(count); + if (flag2) + { + KsInput.Enable = true; + } + return flag2; + } + } + } + return false; + } + + // Token: 0x06000612 RID: 1554 RVA: 0x0001943C File Offset: 0x0001763C + public static bool InputName(int count) + { + if (count == 0) + { + KsExec.confirm = false; + KsExec.confirmResult = false; + KsExec.editName = "アリス"; + NameInputKeyboard.DebugInputText = KsExec.editName; + KsExec.KeyboardMain(); + } + else if (KsExec.confirm) + { + if (KsExec.confirmResult) + { + GameData.SetParamString("firstname", string.Empty, KsExec.editName); + NameInputKeyboard.Close(); + return true; + } + KsExec.KeyboardMain(); + KsExec.confirm = false; + KsExec.confirmResult = false; + } + else + { + KsExec.editName = NameInputKeyboard.InputText; + if (KsExec.editName.Length == 0 || KsExec.checkSpaceOnly(KsExec.editName)) + { + UnityTask.SetSubNoUnityTask(MessageDlg.ExecDlg("名前が入力されていません。", null)); + KsExec.KeyboardMain(); + } + else if (KsExec.editName.Length > 7) + { + UnityTask.SetSubNoUnityTask(MessageDlg.ExecDlg("入力できる名前は7文字までです。", null)); + KsExec.KeyboardMain(); + } + else if (!Singleton.Instance.Font.Font.CheckGlyph(KsExec.editName)) + { + UnityTask.SetSubNoUnityTask(MessageDlg.ExecDlg("表示できない文字が含まれています。", null)); + KsExec.KeyboardMain(); + } + else + { + string arg = KsExec.editName; + string paramString = GameData.GetParamString("familyname", string.Empty); + string[] msgs = new string[] + { + string.Format("「{0}={1}」です。", arg, paramString), + "よろしいですか?" + }; + UnityTask.SetSubNoUnityTask(MessageDlg.ExecDlg(msgs, new Action(KsExec.SetResult))); + KsExec.confirm = true; + KsExec.confirmResult = false; + } + } + return false; + } + + // Token: 0x06000613 RID: 1555 RVA: 0x000195C0 File Offset: 0x000177C0 + private static bool checkSpaceOnly(string firstname) + { + foreach (char c in firstname) + { + if (c != ' ' && c != '\u3000') + { + return false; + } + } + return true; + } + + // Token: 0x06000614 RID: 1556 RVA: 0x00019604 File Offset: 0x00017804 + private static void KeyboardMain() + { + switch (Application.platform) + { + case RuntimePlatform.IPhonePlayer: + case RuntimePlatform.Android: + UnityTask.SetSubTask(NameInputKeyboard.Open(KsExec.editName, true)); + break; + } + } + + // Token: 0x06000615 RID: 1557 RVA: 0x0001964C File Offset: 0x0001784C + private static void SetResult(bool result) + { + KsExec.confirmResult = result; + } + + // Token: 0x06000616 RID: 1558 RVA: 0x00019654 File Offset: 0x00017854 + private static bool ExecPay(string Param, string Value, int count) + { + if (count == 0) + { + PaymentParam.Conv(); + GameData.StartVoiceCheck(); + CHAR_ID charaId = CHAR_ID.NOTHING; + Debug.Print("Param = " + Param + ": Value = " + Value); + if (Param == "param" && Value == "full") + { + Debug.Print("初回処理"); + if (GameData.IsPayRouteFull()) + { + return true; + } + } + else + { + Debug.Print("初回処理以外"); + if (GameData.IsPayRouteFull()) + { + return true; + } + if (GameData.IsPayRoute(GameData.GetRoute())) + { + return true; + } + charaId = GameData.GetRoute(); + } + Debug.Print("課金処理起動"); + Singleton.Instance.SetEffect("FadeOut", 1f); + UIValue.Payment_Call = PaymentCallType.ADV; + UnityTask.SetSubNoUnityTask(new PaymentTask().Open(charaId)); + return false; + } + PaymentParam.Conv(); + if (Param == "param" && Value == "full") + { + if (!GameData.IsPayRouteFull()) + { + GameData.IsMoveTitle = true; + } + } + else if (!GameData.IsPayRoute(GameData.GetRoute())) + { + GameData.IsMoveTitle = true; + } + if (!GameData.IsMoveTitle) + { + Singleton.Instance.Enable(false); + Singleton.Instance.SetEffect("FadeIn", 1f); + } + KsInput.ClearMenu(); + KsInput.ClearBacklog(); + return true; + } + + // Token: 0x06000617 RID: 1559 RVA: 0x000197AC File Offset: 0x000179AC + private static IEnumerator Sample_ExecPay(CHAR_ID idChar) + { + SysData.SetPay(idChar, true, true); + SysData.SetPayFull(true, true); + yield return 0; + yield break; + } + + // Token: 0x040005A9 RID: 1449 + private static bool confirm; + + // Token: 0x040005AA RID: 1450 + private static bool confirmResult; + + // Token: 0x040005AB RID: 1451 + private static string editName = string.Empty; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/PaymentParam.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/PaymentParam.cs new file mode 100644 index 000000000..35ba5e63b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/PaymentParam.cs @@ -0,0 +1,34 @@ +using System; +using Game; +using Qoo.Def; + +namespace Qoo.Game +{ + // Token: 0x020000E5 RID: 229 + public class PaymentParam + { + // Token: 0x06000634 RID: 1588 RVA: 0x00019BD0 File Offset: 0x00017DD0 + public static void Conv() + { + for (int num = 0; num != 10; num++) + { + if (PayDef.IsRoutePay((CHAR_ID)num)) + { + GameData.SetParamInt("money", Chara.GetNameFromId((CHAR_ID)num), 1); + } + else + { + GameData.SetParamInt("money", Chara.GetNameFromId((CHAR_ID)num), 0); + } + } + if (SysData.IsPayFull()) + { + GameData.SetParamInt("moneyfull", string.Empty, 1); + } + else + { + GameData.SetParamInt("moneyfull", string.Empty, 0); + } + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/SaveData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/SaveData.cs new file mode 100644 index 000000000..2c582dc49 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/SaveData.cs @@ -0,0 +1,71 @@ +using System; +using Qoo.Application; +using Qoo.Memory; + +namespace Qoo.Game +{ + // Token: 0x02000023 RID: 35 + internal class SaveData + { + // Token: 0x1700001F RID: 31 + // (get) Token: 0x060000F6 RID: 246 RVA: 0x0000582C File Offset: 0x00003A2C + public static bool IsSave + { + get + { + return App.QooKsLog.GetLogNum() > 0; + } + } + + // Token: 0x17000020 RID: 32 + // (get) Token: 0x060000F7 RID: 247 RVA: 0x0000583C File Offset: 0x00003A3C + public byte[] Data + { + get + { + return this.m_Data.Data.ToArray(); + } + } + + // Token: 0x17000021 RID: 33 + // (get) Token: 0x060000F8 RID: 248 RVA: 0x00005850 File Offset: 0x00003A50 + public GAME_SAVE_DATA LoadData + { + get + { + return this.m_GameData; + } + } + + // Token: 0x060000F9 RID: 249 RVA: 0x00005858 File Offset: 0x00003A58 + public byte[] Save() + { + if (!SaveData.IsSave) + { + return null; + } + this.m_Data.Clear(); + this.m_GameData = new GAME_SAVE_DATA(); + this.m_GameData.Ready(); + if (this.m_GameData.Save(this.m_Data)) + { + return this.m_Data.Data.ToArray(); + } + return null; + } + + // Token: 0x060000FA RID: 250 RVA: 0x000058BC File Offset: 0x00003ABC + public bool Load(byte[] data_) + { + this.m_Data = new MemFile(data_); + this.m_GameData = new GAME_SAVE_DATA(); + return this.m_GameData.Load(this.m_Data); + } + + // Token: 0x0400010E RID: 270 + private MemFile m_Data = new MemFile(null); + + // Token: 0x0400010F RID: 271 + private GAME_SAVE_DATA m_GameData; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/SysData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/SysData.cs new file mode 100644 index 000000000..0801ef886 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/SysData.cs @@ -0,0 +1,579 @@ +using System; +using Game; +using Qoo.Def; +using Qoo.File; +using Qoo.Ks; +using Qoo.Param; +using Qoo.SoundSystem; + +namespace Qoo.Game +{ + // Token: 0x02000029 RID: 41 + public static class SysData + { + // Token: 0x17000024 RID: 36 + // (get) Token: 0x06000113 RID: 275 RVA: 0x00005E7C File Offset: 0x0000407C + public static Read ReadData + { + get + { + return SysData.m_SysRead; + } + } + + // Token: 0x17000025 RID: 37 + // (get) Token: 0x06000114 RID: 276 RVA: 0x00005E84 File Offset: 0x00004084 + public static Look LookCg + { + get + { + return SysData.m_LookCg; + } + } + + // Token: 0x17000026 RID: 38 + // (get) Token: 0x06000115 RID: 277 RVA: 0x00005E8C File Offset: 0x0000408C + public static Look LookMovie + { + get + { + return SysData.m_LookMovie; + } + } + + // Token: 0x17000027 RID: 39 + // (get) Token: 0x06000116 RID: 278 RVA: 0x00005E94 File Offset: 0x00004094 + public static Look LookBgm + { + get + { + return SysData.m_LookBgm; + } + } + + // Token: 0x17000028 RID: 40 + // (get) Token: 0x06000117 RID: 279 RVA: 0x00005E9C File Offset: 0x0000409C + public static SystemParam Param + { + get + { + return SysData.m_Param; + } + } + + // Token: 0x06000118 RID: 280 RVA: 0x00005EA4 File Offset: 0x000040A4 + public static bool Init() + { + SysData.InitCg(); + SysData.InitBgm(); + return SysData.m_Param.Init(); + } + + // Token: 0x06000119 RID: 281 RVA: 0x00005EBC File Offset: 0x000040BC + public static void SetDefaultSetting() + { + SysData.m_Param.Defualt(); + } + + // Token: 0x0600011A RID: 282 RVA: 0x00005ECC File Offset: 0x000040CC + public static int GetSystemFlag(SYSTEM_IDX eIdx) + { + return SysData.m_Param.Get((int)eIdx); + } + + // Token: 0x0600011B RID: 283 RVA: 0x00005EDC File Offset: 0x000040DC + public static void SetSystemFlag(SYSTEM_IDX eIdx, int Value) + { + SysData.m_Param.Set((int)eIdx, Value); + } + + // Token: 0x0600011C RID: 284 RVA: 0x00005EEC File Offset: 0x000040EC + public static int GetVolumeBgm() + { + return SysData.m_Param.Get(3); + } + + // Token: 0x0600011D RID: 285 RVA: 0x00005EFC File Offset: 0x000040FC + public static int GetVolumeSe() + { + return SysData.m_Param.Get(4); + } + + // Token: 0x0600011E RID: 286 RVA: 0x00005F0C File Offset: 0x0000410C + public static int GetVolumeSys() + { + return SysData.m_Param.Get(2); + } + + // Token: 0x0600011F RID: 287 RVA: 0x00005F1C File Offset: 0x0000411C + public static void SetVolumeBgm(int iVol) + { + SysData.m_Param.Set(3, iVol); + } + + // Token: 0x06000120 RID: 288 RVA: 0x00005F2C File Offset: 0x0000412C + public static void SetVolumeSe(int iVol) + { + SysData.m_Param.Set(4, iVol); + } + + // Token: 0x06000121 RID: 289 RVA: 0x00005F3C File Offset: 0x0000413C + public static void SetVolumeSys(int iVol) + { + SysData.m_Param.Set(2, iVol); + } + + // Token: 0x06000122 RID: 290 RVA: 0x00005F4C File Offset: 0x0000414C + public static bool IsVoiceEnable() + { + return SysData.m_Param.Get(5) == 1; + } + + // Token: 0x06000123 RID: 291 RVA: 0x00005F5C File Offset: 0x0000415C + public static void SetVoiceEnable(bool IsVoice) + { + SysData.m_Param.Set(5, (!IsVoice) ? 0 : 1); + } + + // Token: 0x06000124 RID: 292 RVA: 0x00005F78 File Offset: 0x00004178 + public static int GetVoiceVolume(CHAR_ID eChar) + { + return SysData.m_Param.Get((int)(6 + eChar)); + } + + // Token: 0x06000125 RID: 293 RVA: 0x00005F88 File Offset: 0x00004188 + public static void SetVoiceVolume(CHAR_ID eChar, int iVol) + { + SysData.m_Param.Set((int)(6 + eChar), iVol); + } + + // Token: 0x06000126 RID: 294 RVA: 0x00005F9C File Offset: 0x0000419C + public static int GetTextSpeed() + { + return SysData.m_Param.Get(24); + } + + // Token: 0x06000127 RID: 295 RVA: 0x00005FAC File Offset: 0x000041AC + public static void SetTextSpeed(int iSpeed) + { + SysData.m_Param.Set(24, iSpeed); + } + + // Token: 0x06000128 RID: 296 RVA: 0x00005FBC File Offset: 0x000041BC + public static int GetFontType() + { + return SysData.m_Param.Get(25); + } + + // Token: 0x06000129 RID: 297 RVA: 0x00005FCC File Offset: 0x000041CC + public static void SetFontType(int iType) + { + SysData.m_Param.Set(25, iType); + } + + // Token: 0x0600012A RID: 298 RVA: 0x00005FDC File Offset: 0x000041DC + public static bool IsChangeReadTextColor() + { + return SysData.m_Param.Get(26) == 1; + } + + // Token: 0x0600012B RID: 299 RVA: 0x00005FF0 File Offset: 0x000041F0 + public static void SetChangeReadTextColor(bool IsChange) + { + SysData.m_Param.Set(26, (!IsChange) ? 0 : 1); + } + + // Token: 0x0600012C RID: 300 RVA: 0x0000600C File Offset: 0x0000420C + public static bool IsEnablePassageAnim() + { + return SysData.m_Param.Get(27) == 1; + } + + // Token: 0x0600012D RID: 301 RVA: 0x00006020 File Offset: 0x00004220 + public static void SetEnablePassageAnim(bool IsEnable) + { + SysData.m_Param.Set(27, (!IsEnable) ? 0 : 1); + } + + // Token: 0x0600012E RID: 302 RVA: 0x0000603C File Offset: 0x0000423C + public static bool IsEnableLoveAnim() + { + return SysData.m_Param.Get(28) == 1; + } + + // Token: 0x0600012F RID: 303 RVA: 0x00006050 File Offset: 0x00004250 + public static void SetEnableLoveAnim(bool IsEnable) + { + SysData.m_Param.Set(28, (!IsEnable) ? 0 : 1); + } + + // Token: 0x06000130 RID: 304 RVA: 0x0000606C File Offset: 0x0000426C + public static SKIP_MODE GetSkip() + { + return (SKIP_MODE)SysData.m_Param.Get(22); + } + + // Token: 0x06000131 RID: 305 RVA: 0x0000607C File Offset: 0x0000427C + public static void SetSkip(int iType) + { + SysData.m_Param.Set(22, iType); + } + + // Token: 0x06000132 RID: 306 RVA: 0x0000608C File Offset: 0x0000428C + public static bool IsSkipContinue() + { + return SysData.m_Param.Get(29) == 1; + } + + // Token: 0x06000133 RID: 307 RVA: 0x000060A0 File Offset: 0x000042A0 + public static void SetSkipContinue(bool bEnable) + { + SysData.m_Param.Set(29, (!bEnable) ? 0 : 1); + } + + // Token: 0x06000134 RID: 308 RVA: 0x000060BC File Offset: 0x000042BC + public static int GetAutoPage() + { + return SysData.m_Param.Get(23); + } + + // Token: 0x06000135 RID: 309 RVA: 0x000060CC File Offset: 0x000042CC + public static void SetAutoPage(int iType) + { + SysData.m_Param.Set(23, iType); + } + + // Token: 0x06000136 RID: 310 RVA: 0x000060DC File Offset: 0x000042DC + public static bool IsScreenJump() + { + return SysData.m_Param.Get(30) == 1; + } + + // Token: 0x06000137 RID: 311 RVA: 0x000060F0 File Offset: 0x000042F0 + public static void SetScreenJump(bool bEnable) + { + SysData.m_Param.Set(30, (!bEnable) ? 0 : 1); + } + + // Token: 0x06000138 RID: 312 RVA: 0x0000610C File Offset: 0x0000430C + public static bool IsDrawFace() + { + return SysData.m_Param.Get(31) == 1; + } + + // Token: 0x06000139 RID: 313 RVA: 0x00006120 File Offset: 0x00004320 + public static void SetDrawFace(bool bEnable) + { + SysData.m_Param.Set(31, (!bEnable) ? 0 : 1); + } + + // Token: 0x0600013A RID: 314 RVA: 0x0000613C File Offset: 0x0000433C + public static bool InitCg() + { + SysData.m_LookCg.Clear(); + if (!SysData.InitLook(ref SysData.m_LookCg, "CG_START", "CG_END")) + { + Debug.Assert(false, "NMBファイル内にCG領域がありません"); + } + return true; + } + + // Token: 0x0600013B RID: 315 RVA: 0x00006170 File Offset: 0x00004370 + public static bool IsReadCG(string name) + { + return SysData.m_LookCg.IsLook(FileId.Normalize(name)); + } + + // Token: 0x0600013C RID: 316 RVA: 0x00006184 File Offset: 0x00004384 + public static bool SetReadCG(string name) + { + return SysData.m_LookCg.Set(FileId.Normalize(name), true); + } + + // Token: 0x0600013D RID: 317 RVA: 0x00006198 File Offset: 0x00004398 + public static void ResetReadCGAll() + { + SysData.m_LookCg.Init(); + } + + // Token: 0x0600013E RID: 318 RVA: 0x000061A4 File Offset: 0x000043A4 + public static void SetReadCGAll() + { + SysData.m_LookCg.SetAll(true); + } + + // Token: 0x0600013F RID: 319 RVA: 0x000061B4 File Offset: 0x000043B4 + private static bool InitMovie() + { + SysData.m_LookMovie.Clear(); + if (!SysData.InitLook(ref SysData.m_LookMovie, "MOV_START", "MOV_END")) + { + Debug.Assert(false, "NMBファイル内にムービーリスト領域がありません"); + } + return true; + } + + // Token: 0x06000140 RID: 320 RVA: 0x000061E8 File Offset: 0x000043E8 + public static bool IsLookMovie(string strMovie) + { + return SysData.m_LookMovie.IsLook(FileId.Normalize(strMovie)); + } + + // Token: 0x06000141 RID: 321 RVA: 0x000061FC File Offset: 0x000043FC + public static bool SetLookMovie(string strMovie) + { + return SysData.m_LookMovie.Set(FileId.Normalize(strMovie), true); + } + + // Token: 0x06000142 RID: 322 RVA: 0x00006210 File Offset: 0x00004410 + public static void ResetLookMovieAll() + { + SysData.m_LookMovie.Init(); + } + + // Token: 0x06000143 RID: 323 RVA: 0x0000621C File Offset: 0x0000441C + public static void SetReadMovieAll() + { + SysData.m_LookMovie.SetAll(true); + } + + // Token: 0x06000144 RID: 324 RVA: 0x0000622C File Offset: 0x0000442C + public static void SetRead(int ks, int label = -1, int pos = 0) + { + SysData.m_SysRead.Add(ks, label, pos); + } + + // Token: 0x06000145 RID: 325 RVA: 0x0000623C File Offset: 0x0000443C + public static bool IsRead(int iKsNo, int iLabelNo = 0, int iPos = 0) + { + int num = (int)(Akb.GetFileInfo(iKsNo).nLabelPos + (uint)iLabelNo); + if (num < Akb.GetLabelNum()) + { + int nTagNum = Akb.GetLabelInfo(num).nTagNum; + if (nTagNum <= iPos) + { + iLabelNo++; + iPos = 0; + } + } + return SysData.m_SysRead.IsRead(iKsNo, iLabelNo, iPos); + } + + // Token: 0x06000146 RID: 326 RVA: 0x00006290 File Offset: 0x00004490 + public static void SetRead(string ks, string label = "", int iPos = 0) + { + int ks2 = 0; + int label2 = 0; + if (Akb.GetFileLabel(ref ks2, ref label2, ks, label)) + { + SysData.SetRead(ks2, label2, iPos); + } + } + + // Token: 0x06000147 RID: 327 RVA: 0x000062BC File Offset: 0x000044BC + public static bool IsRead(string ks, string label = "", int iPos = 0) + { + int iKsNo = 0; + int iLabelNo = 0; + return Akb.GetFileLabel(ref iKsNo, ref iLabelNo, ks, label) && SysData.IsRead(iKsNo, iLabelNo, iPos); + } + + // Token: 0x06000148 RID: 328 RVA: 0x000062E8 File Offset: 0x000044E8 + public static void ClearRead() + { + SysData.m_SysRead.Init(); + } + + // Token: 0x06000149 RID: 329 RVA: 0x000062F4 File Offset: 0x000044F4 + public static void SetReadAll() + { + SysData.m_SysRead.SetAll(); + } + + // Token: 0x0600014A RID: 330 RVA: 0x00006300 File Offset: 0x00004500 + private static bool InitBgm() + { + SysData.m_LookBgm.Clear(); + if (!SysData.InitLook(ref SysData.m_LookBgm, "DIR_BEGIN_BGM", "DIR_END_BGM")) + { + Debug.Assert(false, "NMBファイル内にBGMリスト領域がありません"); + } + return true; + } + + // Token: 0x0600014B RID: 331 RVA: 0x00006334 File Offset: 0x00004534 + public static bool IsPlayBgmFlag(string name) + { + return SysData.m_LookBgm.IsLook(FileId.Normalize(name)); + } + + // Token: 0x0600014C RID: 332 RVA: 0x00006348 File Offset: 0x00004548 + public static void SetPlayBgmFlag(string name) + { + SysData.m_LookBgm.Set(FileId.Normalize(name), true); + } + + // Token: 0x0600014D RID: 333 RVA: 0x0000635C File Offset: 0x0000455C + public static void ResetPlayBgmFlagAll() + { + SysData.m_LookBgm.Init(); + } + + // Token: 0x0600014E RID: 334 RVA: 0x00006368 File Offset: 0x00004568 + public static void SetPlayBgmFlagAll() + { + SysData.m_LookBgm.SetAll(true); + } + + // Token: 0x0600014F RID: 335 RVA: 0x00006378 File Offset: 0x00004578 + private static bool InitLook(ref Look look, string start, string end) + { + int num = Nmb.NameToNo(start); + int num2 = Nmb.NameToNo(end); + if (num < 0 || num2 < 0) + { + return false; + } + for (int i = num + 1; i < num2; i++) + { + look.Add(Nmb.GetFileInfo(i).StrName); + } + return true; + } + + // Token: 0x06000150 RID: 336 RVA: 0x000063CC File Offset: 0x000045CC + internal static void SetReadRef(string p) + { + throw new NotImplementedException(); + } + + // Token: 0x06000151 RID: 337 RVA: 0x000063D4 File Offset: 0x000045D4 + public static bool IsReadedMark(string ks, string label) + { + bool result = false; + if (SysData.IsChangeReadTextColor()) + { + result = SysData.IsRead(ks, label, 0); + } + return result; + } + + // Token: 0x06000152 RID: 338 RVA: 0x000063F8 File Offset: 0x000045F8 + internal static void SetPay(CHAR_ID idChar, bool isPay, bool isVoice) + { + SysData.m_Param.Set((int)(33 + idChar), (!isPay) ? 0 : 1); + SysData.m_Param.Set((int)(49 + idChar), (!isVoice) ? 0 : 1); + } + + // Token: 0x06000153 RID: 339 RVA: 0x00006440 File Offset: 0x00004640 + internal static void SetPayFull(bool isPay, bool isVoice) + { + SysData.m_Param.Set(65, (!isPay) ? 0 : 1); + SysData.m_Param.Set(66, (!isVoice) ? 0 : 1); + } + + // Token: 0x06000154 RID: 340 RVA: 0x00006484 File Offset: 0x00004684 + internal static void SetPayRoute(CHAR_ID idChar, bool isPay) + { + SysData.m_Param.Set((int)(33 + idChar), (!isPay) ? 0 : 1); + } + + // Token: 0x06000155 RID: 341 RVA: 0x000064A4 File Offset: 0x000046A4 + internal static void SetPayVoice(CHAR_ID idChar, bool isVoice) + { + SysData.m_Param.Set((int)(49 + idChar), (!isVoice) ? 0 : 1); + } + + // Token: 0x06000156 RID: 342 RVA: 0x000064C4 File Offset: 0x000046C4 + internal static void SetPayFullRoute(bool isPay) + { + SysData.m_Param.Set(65, (!isPay) ? 0 : 1); + } + + // Token: 0x06000157 RID: 343 RVA: 0x000064E0 File Offset: 0x000046E0 + internal static void SetPayFullVoice(bool isVoice) + { + SysData.m_Param.Set(66, (!isVoice) ? 0 : 1); + } + + // Token: 0x06000158 RID: 344 RVA: 0x000064FC File Offset: 0x000046FC + internal static bool IsPay(CHAR_ID idChar) + { + return SysData.IsPayFull() || SysData.m_Param.Get((int)(33 + idChar)) > 0; + } + + // Token: 0x06000159 RID: 345 RVA: 0x00006528 File Offset: 0x00004728 + internal static bool IsPayFull() + { + return SysData.m_Param.Get(65) > 0; + } + + // Token: 0x0600015A RID: 346 RVA: 0x00006544 File Offset: 0x00004744 + internal static bool IsPayVoice(CHAR_ID idChar) + { + if (SysData.IsPayVoiceFull()) + { + return true; + } + if (idChar == CHAR_ID.NOTHING) + { + for (CHAR_ID char_ID = CHAR_ID.BLOOD; char_ID < CHAR_ID.NIGHTMARE; char_ID++) + { + if (SysData.m_Param.Get((int)(49 + char_ID)) > 0) + { + return true; + } + } + return false; + } + if (idChar == CHAR_ID.NIGHTMARE) + { + bool result = true; + for (CHAR_ID char_ID2 = CHAR_ID.BLOOD; char_ID2 < CHAR_ID.NIGHTMARE; char_ID2++) + { + if (SysData.m_Param.Get((int)(49 + char_ID2)) <= 0) + { + result = false; + break; + } + } + return result; + } + return SysData.m_Param.Get((int)(49 + idChar)) > 0; + } + + // Token: 0x0600015B RID: 347 RVA: 0x000065EC File Offset: 0x000047EC + internal static bool IsPayVoiceFull() + { + return SysData.m_Param.Get(66) > 0; + } + + // Token: 0x0600015C RID: 348 RVA: 0x00006608 File Offset: 0x00004808 + public static void Apply() + { + Sound.BgmApplyVolume(); + Sound.SeSlotApplyVolume(); + } + + // Token: 0x0600015D RID: 349 RVA: 0x00006614 File Offset: 0x00004814 + public static bool IsTrial() + { + return Akb.CheckFile("op00_trial.ks"); + } + + // Token: 0x0400011F RID: 287 + private static Read m_SysRead = new Read(); + + // Token: 0x04000120 RID: 288 + private static Look m_LookCg = new Look(); + + // Token: 0x04000121 RID: 289 + private static Look m_LookMovie = new Look(); + + // Token: 0x04000122 RID: 290 + private static Look m_LookBgm = new Look(); + + // Token: 0x04000123 RID: 291 + private static SystemParam m_Param = new SystemParam(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Game/SystemParam.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Game/SystemParam.cs new file mode 100644 index 000000000..48214cad0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Game/SystemParam.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using Qoo.Def; +using Qoo.Memory; + +namespace Qoo.Game +{ + // Token: 0x02000024 RID: 36 + public class SystemParam + { + // Token: 0x060000FC RID: 252 RVA: 0x00005908 File Offset: 0x00003B08 + public bool Init() + { + this.m_Param.Clear(); + for (int num = 0; num != 67; num++) + { + this.Add(num, DefSysParam.Default[(SYSTEM_IDX)num]); + } + this.Defualt(); + return true; + } + + // Token: 0x060000FD RID: 253 RVA: 0x00005950 File Offset: 0x00003B50 + public bool Defualt() + { + foreach (KeyValuePair keyValuePair in this.m_Param) + { + keyValuePair.Value.SetDefault(); + } + return true; + } + + // Token: 0x060000FE RID: 254 RVA: 0x000059C0 File Offset: 0x00003BC0 + public bool Add(int index_, int default_) + { + Debug.Assert(!this.m_Param.ContainsKey((SYSTEM_IDX)index_), "ERROR:SystemParam:Add:すでにそのインデックスは登録済みです"); + this.m_Param.Add((SYSTEM_IDX)index_, new SystemParam.PARAM_DATA(default_, default_, true)); + return true; + } + + // Token: 0x060000FF RID: 255 RVA: 0x000059FC File Offset: 0x00003BFC + public bool Add(int index_) + { + Debug.Assert(!this.m_Param.ContainsKey((SYSTEM_IDX)index_), "ERROR:SystemParam:Add:すでにそのインデックスは登録済みです"); + this.m_Param.Add((SYSTEM_IDX)index_, new SystemParam.PARAM_DATA(0, 0, false)); + return true; + } + + // Token: 0x06000100 RID: 256 RVA: 0x00005A38 File Offset: 0x00003C38 + public int Get(int index_) + { + Debug.Assert(this.m_Param.ContainsKey((SYSTEM_IDX)index_), "ERROR:SystemParam:Get:指定インデックスは、存在しません"); + return this.m_Param[(SYSTEM_IDX)index_].Param; + } + + // Token: 0x06000101 RID: 257 RVA: 0x00005A70 File Offset: 0x00003C70 + public bool Set(int index_, int param_) + { + Debug.Assert(this.m_Param.ContainsKey((SYSTEM_IDX)index_), "ERROR:SystemParam:Set:指定インデックスは、存在しません"); + SystemParam.PARAM_DATA value = this.m_Param[(SYSTEM_IDX)index_]; + value.Param = param_; + this.m_Param[(SYSTEM_IDX)index_] = value; + return true; + } + + // Token: 0x06000102 RID: 258 RVA: 0x00005AB8 File Offset: 0x00003CB8 + public bool Save(MemFile mem) + { + mem.SetInt32(this.m_Param.Count); + foreach (KeyValuePair keyValuePair in this.m_Param) + { + mem.SetInt32(keyValuePair.Value.Param); + } + return true; + } + + // Token: 0x06000103 RID: 259 RVA: 0x00005B40 File Offset: 0x00003D40 + public bool Load(MemFile mem) + { + int @int = mem.GetInt32(); + if (@int == this.m_Param.Count) + { + for (int num = 0; num != this.m_Param.Count; num++) + { + this.Set(num, mem.GetInt32()); + } + } + return false; + } + + // Token: 0x04000110 RID: 272 + private Dictionary m_Param = new Dictionary(); + + // Token: 0x02000025 RID: 37 + private struct PARAM_DATA + { + // Token: 0x06000104 RID: 260 RVA: 0x00005B90 File Offset: 0x00003D90 + public PARAM_DATA(int param_, int default_, bool IsDefault_ = true) + { + this.Param = param_; + this.Default = default_; + this.IsDefault = IsDefault_; + } + + // Token: 0x06000105 RID: 261 RVA: 0x00005BA8 File Offset: 0x00003DA8 + public void SetDefault() + { + if (this.IsDefault) + { + this.Param = this.Default; + } + } + + // Token: 0x04000111 RID: 273 + public int Param; + + // Token: 0x04000112 RID: 274 + public int Default; + + // Token: 0x04000113 RID: 275 + public bool IsDefault; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Effect.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Effect.cs new file mode 100644 index 000000000..eb4b8e654 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Effect.cs @@ -0,0 +1,15 @@ +using System; + +namespace Qoo.Graphics +{ + // Token: 0x0200002A RID: 42 + public static class Effect + { + // Token: 0x0600015F RID: 351 RVA: 0x00006624 File Offset: 0x00004824 + public static bool ApplyKsEffect(string strName, int iParam) + { + Singleton.Instance.SetEffect(strName, (float)iParam / 1000f); + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Graph.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Graph.cs new file mode 100644 index 000000000..b65c75b80 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Graph.cs @@ -0,0 +1,37 @@ +using System; + +namespace Qoo.Graphics +{ + // Token: 0x0200002B RID: 43 + public static class Graph + { + // Token: 0x06000161 RID: 353 RVA: 0x00006640 File Offset: 0x00004840 + public static bool Fade_Out() + { + Singleton.Instance.SetEffect("FadeOut", 1f); + return true; + } + + // Token: 0x06000162 RID: 354 RVA: 0x00006658 File Offset: 0x00004858 + public static bool Fade_In() + { + Singleton.Instance.SetEffect("FadeIn", 1f); + return true; + } + + // Token: 0x06000163 RID: 355 RVA: 0x00006670 File Offset: 0x00004870 + internal static void EnableFade(bool IsEnable) + { + if (!IsEnable) + { + Singleton.Instance.ResetFade(255); + } + } + + // Token: 0x06000164 RID: 356 RVA: 0x00006688 File Offset: 0x00004888 + internal static void Fade_Cross(int time_ms) + { + Singleton.Instance.SetEffect(string.Empty, (float)time_ms / 1000f); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Movie.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Movie.cs new file mode 100644 index 000000000..37ab68df8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Graphics/Movie.cs @@ -0,0 +1,21 @@ +using System; +using Qoo.File; +using UnityEngine; + +namespace Qoo.Graphics +{ + // Token: 0x0200002C RID: 44 + public static class Movie + { + // Token: 0x06000165 RID: 357 RVA: 0x000066A4 File Offset: 0x000048A4 + internal static void Play(string name, bool IsSkip) + { + FileId fileId = new FileId(string.Empty); + fileId.Set(name); + NMB_FILEINFO fileInfo = Nmb.GetFileInfo(fileId.Name); + string text = fileInfo.DirName + fileInfo.FileName; + Debug.Print(string.Format("INFO:Start Movie({0} Skip={1})", text, IsSkip.ToString())); + UnityTask.SetSubTask(MovieManager.PlayMovie(text, FullScreenMovieControlMode.CancelOnInput)); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Input/INPUT_STATE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Input/INPUT_STATE.cs new file mode 100644 index 000000000..26147bd1f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Input/INPUT_STATE.cs @@ -0,0 +1,23 @@ +using System; + +namespace Qoo.Input +{ + // Token: 0x0200002D RID: 45 + public enum INPUT_STATE + { + // Token: 0x04000125 RID: 293 + WAIT, + // Token: 0x04000126 RID: 294 + NEXT, + // Token: 0x04000127 RID: 295 + BACK, + // Token: 0x04000128 RID: 296 + AUTO, + // Token: 0x04000129 RID: 297 + JUMP_NEXT, + // Token: 0x0400012A RID: 298 + JUMP_BACK, + // Token: 0x0400012B RID: 299 + HIDE + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Input/KsInput.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Input/KsInput.cs new file mode 100644 index 000000000..5a0c8dc4b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Input/KsInput.cs @@ -0,0 +1,454 @@ +using System; +using UnityEngine; + +namespace Qoo.Input +{ + // Token: 0x0200002E RID: 46 + public static class KsInput + { + // Token: 0x17000029 RID: 41 + // (get) Token: 0x06000167 RID: 359 RVA: 0x00006724 File Offset: 0x00004924 + // (set) Token: 0x06000168 RID: 360 RVA: 0x0000672C File Offset: 0x0000492C + public static INPUT_STATE State + { + get + { + return KsInput.m_eState; + } + set + { + if (KsInput.m_eState != value) + { + } + KsInput.m_eState = value; + } + } = INPUT_STATE.WAIT; + + // Token: 0x1700002A RID: 42 + // (get) Token: 0x06000169 RID: 361 RVA: 0x00006740 File Offset: 0x00004940 + // (set) Token: 0x0600016A RID: 362 RVA: 0x00006748 File Offset: 0x00004948 + public static bool IsLock { get; private set; } = false; + + // Token: 0x1700002B RID: 43 + // (get) Token: 0x0600016B RID: 363 RVA: 0x00006750 File Offset: 0x00004950 + // (set) Token: 0x0600016C RID: 364 RVA: 0x00006758 File Offset: 0x00004958 + public static bool Pause { get; set; } + + // Token: 0x1700002C RID: 44 + // (get) Token: 0x0600016D RID: 365 RVA: 0x00006760 File Offset: 0x00004960 + public static bool IsJump + { + get + { + return KsInput.State == INPUT_STATE.JUMP_NEXT || KsInput.State == INPUT_STATE.JUMP_BACK; + } + } + + // Token: 0x1700002D RID: 45 + // (get) Token: 0x0600016E RID: 366 RVA: 0x00006778 File Offset: 0x00004978 + public static bool IsRewind + { + get + { + return KsInput.State == INPUT_STATE.BACK || KsInput.State == INPUT_STATE.JUMP_BACK; + } + } + + // Token: 0x1700002E RID: 46 + // (get) Token: 0x0600016F RID: 367 RVA: 0x00006790 File Offset: 0x00004990 + public static bool IsSkip + { + get + { + return KsInput.State == INPUT_STATE.NEXT; + } + } + + // Token: 0x1700002F RID: 47 + // (get) Token: 0x06000170 RID: 368 RVA: 0x0000679C File Offset: 0x0000499C + public static bool IsAuto + { + get + { + return KsInput.State == INPUT_STATE.AUTO; + } + } + + // Token: 0x17000030 RID: 48 + // (get) Token: 0x06000171 RID: 369 RVA: 0x000067A8 File Offset: 0x000049A8 + public static bool IsHide + { + get + { + return KsInput.State == INPUT_STATE.HIDE; + } + } + + // Token: 0x17000031 RID: 49 + // (get) Token: 0x06000172 RID: 370 RVA: 0x000067B4 File Offset: 0x000049B4 + // (set) Token: 0x06000173 RID: 371 RVA: 0x000067BC File Offset: 0x000049BC + public static bool IsMenu + { + get + { + return KsInput.m_isMenu; + } + private set + { + KsInput.m_isMenu = value; + } + } + + // Token: 0x17000032 RID: 50 + // (get) Token: 0x06000174 RID: 372 RVA: 0x000067C4 File Offset: 0x000049C4 + // (set) Token: 0x06000175 RID: 373 RVA: 0x000067CC File Offset: 0x000049CC + public static bool IsBackLog + { + get + { + return KsInput.m_isBacklog; + } + private set + { + KsInput.m_isBacklog = value; + } + } + + // Token: 0x17000033 RID: 51 + // (get) Token: 0x06000176 RID: 374 RVA: 0x000067D4 File Offset: 0x000049D4 + // (set) Token: 0x06000177 RID: 375 RVA: 0x000067DC File Offset: 0x000049DC + public static bool Enable + { + get + { + return KsInput.m_isEnable; + } + set + { + KsInput.m_isEnable = value; + } + } + + // Token: 0x17000034 RID: 52 + // (get) Token: 0x06000178 RID: 376 RVA: 0x000067E4 File Offset: 0x000049E4 + // (set) Token: 0x06000179 RID: 377 RVA: 0x000067EC File Offset: 0x000049EC + public static bool IsTrig + { + get + { + return KsInput.m_isTrg; + } + set + { + KsInput.m_isTrg = value; + } + } + + // Token: 0x17000035 RID: 53 + // (get) Token: 0x0600017A RID: 378 RVA: 0x000067F4 File Offset: 0x000049F4 + // (set) Token: 0x0600017B RID: 379 RVA: 0x000067FC File Offset: 0x000049FC + public static UnitySprite HideSprite { get; set; } + + // Token: 0x17000036 RID: 54 + // (get) Token: 0x0600017C RID: 380 RVA: 0x00006804 File Offset: 0x00004A04 + // (set) Token: 0x0600017D RID: 381 RVA: 0x0000680C File Offset: 0x00004A0C + public static bool IsAutoLock { get; set; } = false; + + // Token: 0x0600017E RID: 382 RVA: 0x00006814 File Offset: 0x00004A14 + public static void SetAuto() + { + KsInput.State = INPUT_STATE.AUTO; + } + + // Token: 0x0600017F RID: 383 RVA: 0x0000681C File Offset: 0x00004A1C + public static void SetJump(bool IsNext) + { + if (IsNext) + { + KsInput.State = INPUT_STATE.JUMP_NEXT; + } + else + { + KsInput.State = INPUT_STATE.JUMP_BACK; + } + KsInput.IsLock = true; + } + + // Token: 0x06000180 RID: 384 RVA: 0x0000683C File Offset: 0x00004A3C + public static void SetSkip(bool IsNext) + { + KsInput.IsLock = true; + if (IsNext) + { + KsInput.State = INPUT_STATE.NEXT; + } + else + { + KsInput.State = INPUT_STATE.BACK; + } + } + + // Token: 0x06000181 RID: 385 RVA: 0x0000685C File Offset: 0x00004A5C + public static bool Update() + { + if (KsInput.IsMenu || KsInput.IsBackLog) + { + return true; + } + if (!KsInput.Enable) + { + return true; + } + if (KsInput.State == INPUT_STATE.JUMP_NEXT || KsInput.State == INPUT_STATE.JUMP_BACK) + { + return true; + } + INPUT_STATUS status = UnityApp.Input.Status; + if (status == INPUT_STATUS.DRAG || status == INPUT_STATUS.FLICK) + { + if (KsInput.IsSlideUp()) + { + KsInput.IsMenu = true; + } + else if (KsInput.IsSlideDown()) + { + KsInput.IsBackLog = true; + } + } + switch (KsInput.State) + { + case INPUT_STATE.WAIT: + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.NONE: + KsInput.m_iPushTime = 0; + break; + case INPUT_STATUS.PUSH: + { + bool isDebugBuild = Debug.isDebugBuild; + if (isDebugBuild) + { + KsInput.m_iPushTime++; + if (KsInput.m_iPushTime > 100) + { + if (Singleton.IsReady) + { + Singleton.Instance.enabled = !Singleton.Instance.enabled; + } + KsInput.m_iPushTime = 0; + } + } + else + { + KsInput.m_iPushTime = 0; + } + break; + } + case INPUT_STATUS.CLICK: + if (KsInput.HideSprite != null && KsInput.HideSprite.Show && KsInput.HideSprite.IsHit(UnityApp.Input.Start) && KsInput.HideSprite.IsHit(UnityApp.Input.End)) + { + KsInput.m_isTrg = false; + KsInput.State = INPUT_STATE.HIDE; + } + else + { + KsInput.m_isTrg = true; + } + break; + case INPUT_STATUS.DRAG_ON: + KsInput.SetSlide(true); + break; + case INPUT_STATUS.DRAG: + KsInput.SetSlide(false); + break; + case INPUT_STATUS.FLICK: + { + INPUT_STATE state = KsInput.State; + KsInput.SetSlide(true); + KsInput.SetSlide(false); + if (state != KsInput.State) + { + KsInput.IsLock = true; + } + break; + } + } + break; + case INPUT_STATE.NEXT: + if (!KsInput.IsLock) + { + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.DRAG_ON: + KsInput.SetSlide(true); + break; + case INPUT_STATUS.DRAG: + KsInput.SetSlide(false); + break; + case INPUT_STATUS.FLICK: + KsInput.IsLock = true; + KsInput.SetSlide(true); + KsInput.SetSlide(false); + break; + default: + KsInput.State = INPUT_STATE.WAIT; + break; + } + } + else if (KsInput.Pause) + { + KsInput.PushReset(); + } + break; + case INPUT_STATE.BACK: + if (!KsInput.IsLock) + { + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.DRAG_ON: + KsInput.SetSlide(true); + break; + case INPUT_STATUS.DRAG: + KsInput.SetSlide(false); + break; + case INPUT_STATUS.FLICK: + KsInput.IsLock = true; + KsInput.SetSlide(true); + KsInput.SetSlide(false); + break; + default: + KsInput.State = INPUT_STATE.WAIT; + break; + } + } + else + { + KsInput.PushReset(); + } + break; + case INPUT_STATE.AUTO: + if (!KsInput.IsAutoLock && KsInput.Pause) + { + KsInput.PushReset(); + } + break; + case INPUT_STATE.HIDE: + KsInput.PushReset(); + break; + } + return true; + } + + // Token: 0x06000182 RID: 386 RVA: 0x00006B78 File Offset: 0x00004D78 + public static void Unlock() + { + KsInput.Clear(); + } + + // Token: 0x06000183 RID: 387 RVA: 0x00006B80 File Offset: 0x00004D80 + internal static void SetMask(INPUT_STATE iNPUT_STATE) + { + } + + // Token: 0x06000184 RID: 388 RVA: 0x00006B84 File Offset: 0x00004D84 + internal static void ResetMask(INPUT_STATE iNPUT_STATE) + { + } + + // Token: 0x06000185 RID: 389 RVA: 0x00006B88 File Offset: 0x00004D88 + public static void Clear() + { + KsInput.IsLock = false; + KsInput.IsAutoLock = false; + KsInput.State = INPUT_STATE.WAIT; + UnityApp.Input.IsOnePushDelete = true; + } + + // Token: 0x06000186 RID: 390 RVA: 0x00006BA8 File Offset: 0x00004DA8 + public static void ClearMenu() + { + KsInput.IsMenu = false; + } + + // Token: 0x06000187 RID: 391 RVA: 0x00006BB0 File Offset: 0x00004DB0 + public static void ClearBacklog() + { + KsInput.IsBackLog = false; + } + + // Token: 0x06000188 RID: 392 RVA: 0x00006BB8 File Offset: 0x00004DB8 + private static void PushReset() + { + if (UnityApp.Input.Status != INPUT_STATUS.NONE) + { + KsInput.Clear(); + } + } + + // Token: 0x06000189 RID: 393 RVA: 0x00006BD0 File Offset: 0x00004DD0 + private static bool IsSlideDown() + { + return KsInput.Slide() == SLIDE_VECTOR.DOWN; + } + + // Token: 0x0600018A RID: 394 RVA: 0x00006BDC File Offset: 0x00004DDC + private static bool IsSlideUp() + { + return KsInput.Slide() == SLIDE_VECTOR.UP; + } + + // Token: 0x0600018B RID: 395 RVA: 0x00006BE8 File Offset: 0x00004DE8 + private static void SetSlide(bool IsOn) + { + SLIDE_VECTOR slide_VECTOR = KsInput.Slide(); + if (slide_VECTOR != SLIDE_VECTOR.LEFT) + { + if (slide_VECTOR == SLIDE_VECTOR.RIGHT) + { + if (IsOn && KsInput.Pause) + { + KsInput.State = INPUT_STATE.NEXT; + } + } + } + else if (IsOn) + { + KsInput.State = INPUT_STATE.BACK; + } + } + + // Token: 0x0600018C RID: 396 RVA: 0x00006C3C File Offset: 0x00004E3C + private static SLIDE_VECTOR Slide() + { + if ((UnityApp.Input.Status == INPUT_STATUS.DRAG || UnityApp.Input.Status == INPUT_STATUS.DRAG_ON) && UnityApp.Input.StartDeltaMagnitude < 32f) + { + return SLIDE_VECTOR.NONE; + } + return UnityApp.Input.Slide; + } + + // Token: 0x0400012C RID: 300 + private const float VEC_THRESHOLD = 0.6f; + + // Token: 0x0400012D RID: 301 + private const float DEF_CHECK_SLIDE_DELTA = 32f; + + // Token: 0x0400012E RID: 302 + private static INPUT_STATE m_eState; + + // Token: 0x0400012F RID: 303 + private static int m_iPushTime; + + // Token: 0x04000130 RID: 304 + private static bool m_isMenu; + + // Token: 0x04000131 RID: 305 + private static bool m_isBacklog; + + // Token: 0x04000132 RID: 306 + private static bool m_isEnable = true; + + // Token: 0x04000133 RID: 307 + public static bool m_isTrg; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_DIRINFO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_DIRINFO.cs new file mode 100644 index 000000000..b95b3fb46 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_DIRINFO.cs @@ -0,0 +1,14 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000030 RID: 48 + public struct AKB_DIRINFO + { + // Token: 0x04000143 RID: 323 + public string Name; + + // Token: 0x04000144 RID: 324 + public uint nNameCRC; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_FILEHEADER.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_FILEHEADER.cs new file mode 100644 index 000000000..5ab3e9b43 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_FILEHEADER.cs @@ -0,0 +1,57 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200002F RID: 47 + public struct AKB_FILEHEADER + { + // Token: 0x0600018D RID: 397 RVA: 0x00006C8C File Offset: 0x00004E8C + public void Init() + { + this.FourCC = 0U; + this.nNumOfDir = 0U; + this.nNumOfFile = 0U; + this.nNumOfLabel = 0U; + this.nStringOffset = 0U; + this.nMaxTagNum = 0U; + this.nMaxMsgTagNum = 0U; + this.nMaxParamNum = 0U; + this.nMaxMsgNum = 0U; + this.nMaxTextSize = 0U; + this.nMaxLabelNum = 0U; + } + + // Token: 0x04000138 RID: 312 + public uint FourCC; + + // Token: 0x04000139 RID: 313 + public uint nNumOfDir; + + // Token: 0x0400013A RID: 314 + public uint nNumOfFile; + + // Token: 0x0400013B RID: 315 + public uint nNumOfLabel; + + // Token: 0x0400013C RID: 316 + public uint nStringOffset; + + // Token: 0x0400013D RID: 317 + public uint nMaxTagNum; + + // Token: 0x0400013E RID: 318 + public uint nMaxMsgTagNum; + + // Token: 0x0400013F RID: 319 + public uint nMaxParamNum; + + // Token: 0x04000140 RID: 320 + public uint nMaxMsgNum; + + // Token: 0x04000141 RID: 321 + public uint nMaxTextSize; + + // Token: 0x04000142 RID: 322 + public uint nMaxLabelNum; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_FILEINFO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_FILEINFO.cs new file mode 100644 index 000000000..dd68728ee --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_FILEINFO.cs @@ -0,0 +1,38 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000031 RID: 49 + public struct AKB_FILEINFO + { + // Token: 0x04000145 RID: 325 + public uint nDirNo; + + // Token: 0x04000146 RID: 326 + public string Name; + + // Token: 0x04000147 RID: 327 + public uint nNameCRC; + + // Token: 0x04000148 RID: 328 + public uint nLabelPos; + + // Token: 0x04000149 RID: 329 + public int nLabelNum; + + // Token: 0x0400014A RID: 330 + public int nTagNum; + + // Token: 0x0400014B RID: 331 + public int nMsgTagNum; + + // Token: 0x0400014C RID: 332 + public int nParamNum; + + // Token: 0x0400014D RID: 333 + public int nMsgNum; + + // Token: 0x0400014E RID: 334 + public int nTextSize; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_LABELINFO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_LABELINFO.cs new file mode 100644 index 000000000..f62b10567 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/AKB_LABELINFO.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000032 RID: 50 + public struct AKB_LABELINFO + { + // Token: 0x0400014F RID: 335 + public uint nFileNo; + + // Token: 0x04000150 RID: 336 + public string Name; + + // Token: 0x04000151 RID: 337 + public uint nNameCRC; + + // Token: 0x04000152 RID: 338 + public int nTagNum; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/Akb.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/Akb.cs new file mode 100644 index 000000000..9ff4acc5d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/Akb.cs @@ -0,0 +1,199 @@ +using System; +using Qoo.File; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000033 RID: 51 + public static class Akb + { + // Token: 0x0600018F RID: 399 RVA: 0x00006CEC File Offset: 0x00004EEC + public static void Create(byte[] data) + { + Akb.Release(); + MemFile memFile = new MemFile(data); + Akb.m_Fh.FourCC = memFile.GetUInt32(); + Akb.m_Fh.nNumOfDir = memFile.GetUInt32(); + Akb.m_Fh.nNumOfFile = memFile.GetUInt32(); + Akb.m_Fh.nNumOfLabel = memFile.GetUInt32(); + Akb.m_Fh.nStringOffset = memFile.GetUInt32(); + Akb.m_Fh.nMaxTagNum = memFile.GetUInt32(); + Akb.m_Fh.nMaxMsgTagNum = memFile.GetUInt32(); + Akb.m_Fh.nMaxParamNum = memFile.GetUInt32(); + Akb.m_Fh.nMaxMsgNum = memFile.GetUInt32(); + Akb.m_Fh.nMaxTextSize = memFile.GetUInt32(); + Akb.m_Fh.nMaxLabelNum = memFile.GetUInt32(); + int pos = memFile.Pos; + memFile.SetPos((int)Akb.m_Fh.nStringOffset); + int size = memFile.Length() - memFile.Pos; + string @string = memFile.GetString(size); + memFile.SetPos(pos); + Akb.m_Dirs = new AKB_DIRINFO[Akb.m_Fh.nNumOfDir]; + int num = 0; + while ((long)num != (long)((ulong)Akb.m_Fh.nNumOfDir)) + { + Akb.m_Dirs[num].Name = Akb.GetString(@string, (int)memFile.GetUInt32()); + Akb.m_Dirs[num].nNameCRC = memFile.GetUInt32(); + num++; + } + Akb.m_Files = new AKB_FILEINFO[Akb.m_Fh.nNumOfFile]; + int num2 = 0; + while ((long)num2 != (long)((ulong)Akb.m_Fh.nNumOfFile)) + { + Akb.m_Files[num2].nDirNo = memFile.GetUInt32(); + Akb.m_Files[num2].Name = Akb.GetString(@string, (int)memFile.GetUInt32()); + Akb.m_Files[num2].nNameCRC = memFile.GetUInt32(); + Akb.m_Files[num2].nLabelPos = memFile.GetUInt32(); + Akb.m_Files[num2].nLabelNum = memFile.GetInt32(); + Akb.m_Files[num2].nTagNum = memFile.GetInt32(); + Akb.m_Files[num2].nMsgTagNum = memFile.GetInt32(); + Akb.m_Files[num2].nParamNum = memFile.GetInt32(); + Akb.m_Files[num2].nMsgNum = memFile.GetInt32(); + Akb.m_Files[num2].nTextSize = memFile.GetInt32(); + num2++; + } + Akb.m_Labels = new AKB_LABELINFO[Akb.m_Fh.nNumOfLabel]; + int num3 = 0; + while ((long)num3 != (long)((ulong)Akb.m_Fh.nNumOfLabel)) + { + Akb.m_Labels[num3].nFileNo = memFile.GetUInt32(); + Akb.m_Labels[num3].Name = Akb.GetString(@string, (int)memFile.GetUInt32()); + Akb.m_Labels[num3].nNameCRC = memFile.GetUInt32(); + Akb.m_Labels[num3].nTagNum = memFile.GetInt32(); + num3++; + } + } + + // Token: 0x06000190 RID: 400 RVA: 0x00007010 File Offset: 0x00005210 + public static bool Release() + { + Akb.m_Fh.Init(); + Akb.m_Dirs = null; + Akb.m_Files = null; + Akb.m_Labels = null; + return true; + } + + // Token: 0x06000191 RID: 401 RVA: 0x00007030 File Offset: 0x00005230 + public static int GetDirNum() + { + return Akb.m_Dirs.Length; + } + + // Token: 0x06000192 RID: 402 RVA: 0x0000703C File Offset: 0x0000523C + public static int GetFileNum() + { + return Akb.m_Files.Length; + } + + // Token: 0x06000193 RID: 403 RVA: 0x00007048 File Offset: 0x00005248 + public static int GetLabelNum() + { + return Akb.m_Labels.Length; + } + + // Token: 0x06000194 RID: 404 RVA: 0x00007054 File Offset: 0x00005254 + public static AKB_FILEHEADER GetHeader() + { + return Akb.m_Fh; + } + + // Token: 0x06000195 RID: 405 RVA: 0x0000705C File Offset: 0x0000525C + public static AKB_DIRINFO GetDirInfo(int nDirNo) + { + return Akb.m_Dirs[nDirNo]; + } + + // Token: 0x06000196 RID: 406 RVA: 0x00007070 File Offset: 0x00005270 + public static AKB_FILEINFO GetFileInfo(int nFileNo) + { + return Akb.m_Files[nFileNo]; + } + + // Token: 0x06000197 RID: 407 RVA: 0x00007084 File Offset: 0x00005284 + public static AKB_LABELINFO GetLabelInfo(int nLabelNo) + { + return Akb.m_Labels[nLabelNo]; + } + + // Token: 0x06000198 RID: 408 RVA: 0x00007098 File Offset: 0x00005298 + public static bool CheckFile(string name) + { + FileId fileId = new FileId(name); + return Akb.SearchFile(fileId.Name) != -1; + } + + // Token: 0x06000199 RID: 409 RVA: 0x000070C0 File Offset: 0x000052C0 + public static int SearchFile(string name) + { + for (int i = 0; i < Akb.m_Files.Length; i++) + { + if (Akb.m_Files[i].Name.CompareTo(name) == 0) + { + return i; + } + } + return -1; + } + + // Token: 0x0600019A RID: 410 RVA: 0x00007104 File Offset: 0x00005304 + public static int SearchLabel(int nFileNo, string labelName) + { + if (labelName.Length > 0 && labelName[0] == '*') + { + labelName = labelName.Substring(1); + } + AKB_FILEINFO fileInfo = Akb.GetFileInfo(nFileNo); + for (int i = 0; i < fileInfo.nLabelNum; i++) + { + if (Akb.m_Labels[(int)(checked((IntPtr)(unchecked((long)i + (long)((ulong)fileInfo.nLabelPos)))))].Name.CompareTo(labelName) == 0) + { + return i; + } + } + return -1; + } + + // Token: 0x0600019B RID: 411 RVA: 0x0000717C File Offset: 0x0000537C + public static bool GetFileLabel(ref int KsNo, ref int LabelNo, string FileName, string LabelName) + { + FileId fileId = new FileId(FileName); + KsNo = Akb.SearchFile(fileId.Name); + if (KsNo < 0) + { + Debug.Assert(KsNo != 0, string.Format("AKB内に指定KSファイルが見つかりません({0})\n", FileName)); + return false; + } + LabelNo = 0; + if (LabelName != null && LabelName.Length > 0) + { + if (LabelName.IndexOf('*') == 0) + { + LabelName = LabelName.Substring(1); + } + LabelNo = Akb.SearchLabel(KsNo, LabelName); + Debug.Assert(LabelNo >= 0, string.Format("AKB内に指定ラベルが見つかりません({0}:{1})\n", FileName, LabelName)); + } + return LabelNo >= 0; + } + + // Token: 0x0600019C RID: 412 RVA: 0x00007218 File Offset: 0x00005418 + private static string GetString(string str, int pos) + { + int num = str.IndexOf('\0', pos); + return str.Substring(pos, num - pos); + } + + // Token: 0x04000153 RID: 339 + private static AKB_FILEHEADER m_Fh; + + // Token: 0x04000154 RID: 340 + private static AKB_DIRINFO[] m_Dirs; + + // Token: 0x04000155 RID: 341 + private static AKB_FILEINFO[] m_Files; + + // Token: 0x04000156 RID: 342 + private static AKB_LABELINFO[] m_Labels; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CG.cs new file mode 100644 index 000000000..8b13d8d8d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CG.cs @@ -0,0 +1,19 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200007B RID: 123 + public enum CG + { + // Token: 0x0400025F RID: 607 + ID0, + // Token: 0x04000260 RID: 608 + ID1, + // Token: 0x04000261 RID: 609 + ID2, + // Token: 0x04000262 RID: 610 + ID3, + // Token: 0x04000263 RID: 611 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CHAR_POS.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CHAR_POS.cs new file mode 100644 index 000000000..78548de65 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CHAR_POS.cs @@ -0,0 +1,21 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000036 RID: 54 + internal enum CHAR_POS + { + // Token: 0x04000167 RID: 359 + LEFT, + // Token: 0x04000168 RID: 360 + CENTER_LEFT, + // Token: 0x04000169 RID: 361 + CENTER, + // Token: 0x0400016A RID: 362 + CENTER_RIGHT, + // Token: 0x0400016B RID: 363 + RIGHT, + // Token: 0x0400016C RID: 364 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CONFIG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CONFIG.cs new file mode 100644 index 000000000..d2098e45a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/CONFIG.cs @@ -0,0 +1,24 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200003B RID: 59 + public static class CONFIG + { + // Token: 0x060001EA RID: 490 RVA: 0x00008380 File Offset: 0x00006580 + static CONFIG() + { + CONFIG.LABEL_MAX = 200; + } + + // Token: 0x17000052 RID: 82 + // (get) Token: 0x060001EB RID: 491 RVA: 0x00008398 File Offset: 0x00006598 + // (set) Token: 0x060001EC RID: 492 RVA: 0x000083A0 File Offset: 0x000065A0 + public static int LABEL_MAX { get; private set; } + + // Token: 0x17000053 RID: 83 + // (get) Token: 0x060001ED RID: 493 RVA: 0x000083A8 File Offset: 0x000065A8 + // (set) Token: 0x060001EE RID: 494 RVA: 0x000083B0 File Offset: 0x000065B0 + public static int KS_MAX { get; private set; } = 200; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/DRAW_COMMAND.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/DRAW_COMMAND.cs new file mode 100644 index 000000000..8873d60ec --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/DRAW_COMMAND.cs @@ -0,0 +1,17 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200007E RID: 126 + public enum DRAW_COMMAND + { + // Token: 0x04000275 RID: 629 + DRAW, + // Token: 0x04000276 RID: 630 + DRAW_NOTEX, + // Token: 0x04000277 RID: 631 + ERASE, + // Token: 0x04000278 RID: 632 + SETTEX + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTBACKUPDATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTBACKUPDATA.cs new file mode 100644 index 000000000..578010f6c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTBACKUPDATA.cs @@ -0,0 +1,24 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x0200008A RID: 138 + public class EVENTBACKUPDATA + { + // Token: 0x060003E6 RID: 998 RVA: 0x0000E218 File Offset: 0x0000C418 + public void Load(MemFile mem) + { + this.Scene.Load(mem); + } + + // Token: 0x060003E7 RID: 999 RVA: 0x0000E228 File Offset: 0x0000C428 + public void Save(MemFile mem) + { + this.Scene.Save(mem); + } + + // Token: 0x040002B3 RID: 691 + public EVENTSCENE Scene = new EVENTSCENE(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTECENR_NAME.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTECENR_NAME.cs new file mode 100644 index 000000000..8610d7add --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTECENR_NAME.cs @@ -0,0 +1,55 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000087 RID: 135 + public class EVENTECENR_NAME + { + // Token: 0x060003CF RID: 975 RVA: 0x0000D3E4 File Offset: 0x0000B5E4 + public EVENTECENR_NAME() + { + this.Name = new string[2]; + this.Init(); + } + + // Token: 0x060003D0 RID: 976 RVA: 0x0000D400 File Offset: 0x0000B600 + public void Init() + { + for (int i = 0; i < this.Name.Length; i++) + { + this.Name[i] = string.Empty; + } + } + + // Token: 0x060003D1 RID: 977 RVA: 0x0000D434 File Offset: 0x0000B634 + public void Copy(EVENTECENR_NAME other) + { + for (int num = 0; num != this.Name.Length; num++) + { + this.Name[num] = other.Name[num]; + } + } + + // Token: 0x060003D2 RID: 978 RVA: 0x0000D46C File Offset: 0x0000B66C + public void Save(MemFile conv) + { + for (int i = 0; i < this.Name.Length; i++) + { + conv.SetStringUtf16(this.Name[i]); + } + } + + // Token: 0x060003D3 RID: 979 RVA: 0x0000D4A0 File Offset: 0x0000B6A0 + public void Load(MemFile conv) + { + for (int i = 0; i < this.Name.Length; i++) + { + this.Name[i] = conv.GetStringUtf16(); + } + } + + // Token: 0x040002A3 RID: 675 + public string[] Name; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE.cs new file mode 100644 index 000000000..39ad47f64 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE.cs @@ -0,0 +1,333 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000089 RID: 137 + public class EVENTSCENE + { + // Token: 0x060003DD RID: 989 RVA: 0x0000D644 File Offset: 0x0000B844 + public EVENTSCENE() + { + this.Face = new EVENTSCENE_OBJ(); + this.Bg = new EVENTSCENE_OBJ(); + this.Cg = new EVENTSCENE_CG[4]; + for (int i = 0; i < this.Cg.Length; i++) + { + this.Cg[i] = new EVENTSCENE_CG(); + } + this.Bgm = new EVENTSCENE_BGM(); + this.Voice = new EVENTSCENE_OBJ(); + this.Effect = new EVENTSCENE_OBJ(); + this.Chr = new EVENTSCENE_OBJ[5]; + for (int j = 0; j < this.Chr.Length; j++) + { + this.Chr[j] = new EVENTSCENE_OBJ(); + } + this.Se = new EVENTSCENE_SE[2]; + for (int k = 0; k < this.Se.Length; k++) + { + this.Se[k] = new EVENTSCENE_SE(); + } + this.Select = new EVENTSCENE_SELCET[10]; + for (int l = 0; l < this.Select.Length; l++) + { + this.Select[l] = new EVENTSCENE_SELCET(); + } + this.Message = new EVENTSCENE_MSG(); + } + + // Token: 0x060003DE RID: 990 RVA: 0x0000D764 File Offset: 0x0000B964 + public void Save(MemFile conv) + { + this.Face.Save(conv); + this.Bg.Save(conv); + foreach (EVENTSCENE_CG eventscene_CG in this.Cg) + { + eventscene_CG.Save(conv); + } + this.Bgm.Save(conv); + this.Voice.Save(conv); + this.Effect.Save(conv); + foreach (EVENTSCENE_OBJ eventscene_OBJ in this.Chr) + { + eventscene_OBJ.Save(conv); + } + foreach (EVENTSCENE_SE eventscene_SE in this.Se) + { + eventscene_SE.Save(conv); + } + foreach (EVENTSCENE_SELCET eventscene_SELCET in this.Select) + { + eventscene_SELCET.Save(conv); + } + this.Message.Save(conv); + } + + // Token: 0x060003DF RID: 991 RVA: 0x0000D870 File Offset: 0x0000BA70 + public void Load(MemFile conv) + { + this.Face.Load(conv); + this.Bg.Load(conv); + foreach (EVENTSCENE_CG eventscene_CG in this.Cg) + { + eventscene_CG.Load(conv); + } + this.Bgm.Load(conv); + this.Voice.Load(conv); + this.Effect.Load(conv); + foreach (EVENTSCENE_OBJ eventscene_OBJ in this.Chr) + { + eventscene_OBJ.Load(conv); + } + foreach (EVENTSCENE_SE eventscene_SE in this.Se) + { + eventscene_SE.Load(conv); + } + foreach (EVENTSCENE_SELCET eventscene_SELCET in this.Select) + { + eventscene_SELCET.Load(conv); + } + this.Message.Load(conv); + } + + // Token: 0x060003E0 RID: 992 RVA: 0x0000D97C File Offset: 0x0000BB7C + public void Init() + { + this.Face.Init(); + this.Bg.Init(); + foreach (EVENTSCENE_CG eventscene_CG in this.Cg) + { + eventscene_CG.Init(); + } + this.Bgm.Init(); + this.Voice.Init(); + this.Effect.Init(); + foreach (EVENTSCENE_OBJ eventscene_OBJ in this.Chr) + { + eventscene_OBJ.Init(); + } + foreach (EVENTSCENE_SE eventscene_SE in this.Se) + { + eventscene_SE.Init(); + } + foreach (EVENTSCENE_SELCET eventscene_SELCET in this.Select) + { + eventscene_SELCET.Init(); + } + this.Message.Init(); + } + + // Token: 0x060003E1 RID: 993 RVA: 0x0000DA7C File Offset: 0x0000BC7C + public void Reset() + { + this.Face.Reset(); + this.Bg.Reset(); + foreach (EVENTSCENE_CG eventscene_CG in this.Cg) + { + eventscene_CG.Reset(); + } + this.Bgm.Reset(); + this.Voice.Reset(); + this.Effect.Reset(); + foreach (EVENTSCENE_OBJ eventscene_OBJ in this.Chr) + { + eventscene_OBJ.Reset(); + } + foreach (EVENTSCENE_SE eventscene_SE in this.Se) + { + eventscene_SE.Reset(); + } + foreach (EVENTSCENE_SELCET eventscene_SELCET in this.Select) + { + eventscene_SELCET.Reset(); + } + this.Message.Reset(); + } + + // Token: 0x060003E2 RID: 994 RVA: 0x0000DB7C File Offset: 0x0000BD7C + public void Copy(EVENTSCENE other) + { + this.Face.Copy(other.Face); + this.Bg.Copy(other.Bg); + for (int num = 0; num != this.Cg.Length; num++) + { + this.Cg[num].Copy(other.Cg[num]); + } + this.Bgm.Copy(other.Bgm); + this.Voice.Copy(other.Voice); + this.Effect.Copy(other.Effect); + for (int num2 = 0; num2 != this.Chr.Length; num2++) + { + this.Chr[num2].Copy(other.Chr[num2]); + } + for (int num3 = 0; num3 != this.Se.Length; num3++) + { + this.Se[num3].Copy(other.Se[num3]); + } + for (int num4 = 0; num4 != this.Select.Length; num4++) + { + this.Select[num4].Copy(other.Select[num4]); + } + this.Message.Copy(other.Message); + } + + // Token: 0x060003E3 RID: 995 RVA: 0x0000DCA8 File Offset: 0x0000BEA8 + public void SetLog(SCENELOGDATA log, bool bAddLog) + { + this.Message.SetLog(log, bAddLog); + if (log.szFace.Length > 0) + { + this.Face.SetLog((this.Message.Sw != SWITCH.OFF) ? SWITCH.ON : SWITCH.OFF, log.szFace, 0); + } + else + { + this.Face.SetLog(SWITCH.OFF, string.Empty, 0); + } + if (log.szBg.Length > 0) + { + this.Bg.SetLog(SWITCH.ON, log.szBg, 0); + } + else + { + this.Bg.SetLog(SWITCH.OFF, string.Empty, 0); + } + for (int i = 0; i < log.szCg.Length; i++) + { + if (log.szCg[i].Length > 0) + { + this.Cg[i].SetLog(SWITCH.ON, log.szCg[i], (int)log.nCgLayer[i], (int)log.nCgX[i], (int)log.nCgY[i]); + } + else + { + this.Cg[i].Init(); + this.Cg[i].Sw = SWITCH.OFF; + } + } + if (log.szBgm.Length > 0) + { + this.Bgm.SetLog(SWITCH.ON, log.szBgm, (int)log.nBgmVol); + } + else + { + this.Bgm.SetLog(SWITCH.OFF, string.Empty, 0); + } + if (log.szVoice.Length > 0) + { + this.Voice.SetLog(SWITCH.ON, log.szVoice, 0); + } + else + { + this.Voice.SetLog(SWITCH.OFF, string.Empty, 0); + } + for (int j = 0; j < log.szSe.Length; j++) + { + if (log.szSe[j] != null && log.szSe[j].Length > 0) + { + this.Se[j].SetLog(SWITCH.ON, log.szSe[j], 1, 100); + } + else + { + this.Se[j].SetLog(SWITCH.OFF, string.Empty, 0, 100); + } + } + for (int k = 0; k < log.aszChr.Length; k++) + { + if (log.aszChr[k].Length > 0) + { + this.Chr[k].SetLog(SWITCH.ON, log.aszChr[k], (int)log.anChrPos[k]); + } + else + { + this.Chr[k].SetLog(SWITCH.OFF, string.Empty, 0); + } + } + for (int l = 0; l < log.aszSelect.Length; l++) + { + if (log.aszSelect[l].Length > 0) + { + this.Select[l].SetLog(SWITCH.NULL, log.aszSelect[l], log.aszSelectKs[l], log.aszSelectLabel[l], log.aszSelectEffect[l], log.anSelectParam[l]); + } + else + { + this.Select[l].Init(); + } + } + } + + // Token: 0x060003E4 RID: 996 RVA: 0x0000DF8C File Offset: 0x0000C18C + public bool SaveLog(ref SCENELOGDATA log) + { + log.Msg = this.Message.Tag; + for (int num = 0; num != this.Message.Name.Name.Length; num++) + { + log.aszMsgName[num] = this.Message.Name.Name[num]; + } + log.nMsgFrameType = (char)this.Message.nFrameType; + log.szFace = this.Face.Name; + log.szBg = this.Bg.Name; + for (int i = 0; i < this.Cg.Length; i++) + { + log.szCg[i] = this.Cg[i].Name; + log.nCgLayer[i] = (sbyte)this.Cg[i].nLayer; + log.nCgX[i] = this.Cg[i].nX; + log.nCgY[i] = this.Cg[i].nY; + } + for (int j = 0; j < this.Chr.Length; j++) + { + log.aszChr[j] = this.Chr[j].Name; + log.anChrPos[j] = (byte)this.Chr[j].nParam; + } + for (int k = 0; k < this.Select.Length; k++) + { + log.aszSelect[k] = this.Select[k].Name; + log.aszSelectKs[k] = this.Select[k].KsName; + log.aszSelectLabel[k] = this.Select[k].LabelName; + log.aszSelectEffect[k] = this.Select[k].Effect; + log.anSelectParam[k] = this.Select[k].nParam; + } + log.szBgm = this.Bgm.Name; + log.nBgmVol = (byte)this.Bgm.nVolume; + log.szVoice = this.Voice.Name; + for (int l = 0; l < this.Se.Length; l++) + { + if (this.Se[l].Name.Length > 0 && this.Se[l].nLoop == 1) + { + log.szSe[l] = this.Se[l].Name; + } + } + log.nExist = true; + return true; + } + + // Token: 0x040002A9 RID: 681 + public EVENTSCENE_OBJ Face; + + // Token: 0x040002AA RID: 682 + public EVENTSCENE_OBJ Bg; + + // Token: 0x040002AB RID: 683 + public EVENTSCENE_CG[] Cg; + + // Token: 0x040002AC RID: 684 + public EVENTSCENE_BGM Bgm; + + // Token: 0x040002AD RID: 685 + public EVENTSCENE_OBJ Voice; + + // Token: 0x040002AE RID: 686 + public EVENTSCENE_OBJ Effect; + + // Token: 0x040002AF RID: 687 + public EVENTSCENE_OBJ[] Chr; + + // Token: 0x040002B0 RID: 688 + public EVENTSCENE_SE[] Se; + + // Token: 0x040002B1 RID: 689 + public EVENTSCENE_SELCET[] Select; + + // Token: 0x040002B2 RID: 690 + public EVENTSCENE_MSG Message; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_BGM.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_BGM.cs new file mode 100644 index 000000000..a065d461b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_BGM.cs @@ -0,0 +1,82 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000084 RID: 132 + public class EVENTSCENE_BGM + { + // Token: 0x060003B8 RID: 952 RVA: 0x0000CFF8 File Offset: 0x0000B1F8 + public EVENTSCENE_BGM() + { + this.Init(); + } + + // Token: 0x060003B9 RID: 953 RVA: 0x0000D008 File Offset: 0x0000B208 + public void Reset() + { + this.Sw = SWITCH.NULL; + } + + // Token: 0x060003BA RID: 954 RVA: 0x0000D014 File Offset: 0x0000B214 + public void Init() + { + this.Name = string.Empty; + this.Sw = SWITCH.NULL; + this.nVolume = 0; + this.nTime = 0; + } + + // Token: 0x060003BB RID: 955 RVA: 0x0000D044 File Offset: 0x0000B244 + public void Copy(EVENTSCENE_BGM other) + { + this.Name = other.Name; + this.Sw = other.Sw; + this.nVolume = other.nVolume; + this.nTime = other.nTime; + } + + // Token: 0x060003BC RID: 956 RVA: 0x0000D084 File Offset: 0x0000B284 + public void Save(MemFile conv) + { + conv.SetStringUtf16(this.Name); + conv.SetInt32(this.nVolume); + } + + // Token: 0x060003BD RID: 957 RVA: 0x0000D0A0 File Offset: 0x0000B2A0 + public void Load(MemFile conv) + { + this.Name = conv.GetStringUtf16(); + this.nVolume = conv.GetInt32(); + } + + // Token: 0x060003BE RID: 958 RVA: 0x0000D0BC File Offset: 0x0000B2BC + public void SetLog(SWITCH sw_, string name_, int nVolume_) + { + this.Sw = sw_; + this.Name = name_; + this.nVolume = nVolume_; + } + + // Token: 0x060003BF RID: 959 RVA: 0x0000D0D4 File Offset: 0x0000B2D4 + public void Set(bool bOn, string Name_ = "", int nVol_ = 100, int nTime_ = 3000) + { + this.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.Name = Name_; + this.nVolume = nVol_; + this.nTime = nTime_; + } + + // Token: 0x04000295 RID: 661 + public string Name; + + // Token: 0x04000296 RID: 662 + public SWITCH Sw; + + // Token: 0x04000297 RID: 663 + public int nVolume; + + // Token: 0x04000298 RID: 664 + public int nTime; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_CG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_CG.cs new file mode 100644 index 000000000..6a8bda83e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_CG.cs @@ -0,0 +1,110 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000083 RID: 131 + public class EVENTSCENE_CG + { + // Token: 0x060003B0 RID: 944 RVA: 0x0000CE0C File Offset: 0x0000B00C + public EVENTSCENE_CG() + { + this.Init(); + } + + // Token: 0x060003B1 RID: 945 RVA: 0x0000CE1C File Offset: 0x0000B01C + public void Reset() + { + this.Sw = SWITCH.NULL; + } + + // Token: 0x060003B2 RID: 946 RVA: 0x0000CE28 File Offset: 0x0000B028 + public void Init() + { + this.Name = string.Empty; + this.Sw = SWITCH.NULL; + this.SwMove = SWITCH.NULL; + this.nX = (this.nY = (this.nFromX = (this.nFromY = (this.nTime = 0)))); + this.nLayer = 0; + } + + // Token: 0x060003B3 RID: 947 RVA: 0x0000CE80 File Offset: 0x0000B080 + public void Copy(EVENTSCENE_CG other) + { + this.Name = other.Name; + this.Sw = other.Sw; + this.SwMove = other.SwMove; + this.nX = other.nX; + this.nY = other.nY; + this.nFromX = other.nFromX; + this.nFromY = other.nFromY; + this.nTime = other.nTime; + this.nLayer = other.nLayer; + } + + // Token: 0x060003B4 RID: 948 RVA: 0x0000CEFC File Offset: 0x0000B0FC + public void Save(MemFile conv) + { + conv.SetStringUtf16(this.Name); + } + + // Token: 0x060003B5 RID: 949 RVA: 0x0000CF0C File Offset: 0x0000B10C + public void Load(MemFile conv) + { + this.Name = conv.GetStringUtf16(); + } + + // Token: 0x060003B6 RID: 950 RVA: 0x0000CF1C File Offset: 0x0000B11C + public void SetLog(SWITCH sw_, string name_, int nLayer_, int x, int y) + { + this.Sw = sw_; + this.Name = name_; + this.SwMove = SWITCH.OFF; + this.nLayer = nLayer_; + this.nX = (this.nFromX = (short)x); + this.nY = (this.nFromY = (short)y); + this.nTime = 0; + } + + // Token: 0x060003B7 RID: 951 RVA: 0x0000CF70 File Offset: 0x0000B170 + public void Set(bool bOn, string name = "", int nX_ = 0, int nY_ = 0, int nFromX_ = 0, int nFromY_ = 0, int nTime_ = 0, int nLayer_ = -1) + { + this.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.SwMove = (((!bOn || nX_ == nFromX_) && (!bOn || nY_ == nFromY_)) ? SWITCH.NULL : SWITCH.ON); + this.Name = name; + this.nX = (short)nX_; + this.nY = (short)nY_; + this.nFromX = (short)nFromX_; + this.nFromY = (short)nFromY_; + this.nTime = (short)nTime_; + this.nLayer = nLayer_; + } + + // Token: 0x0400028C RID: 652 + public string Name; + + // Token: 0x0400028D RID: 653 + public SWITCH Sw; + + // Token: 0x0400028E RID: 654 + public SWITCH SwMove; + + // Token: 0x0400028F RID: 655 + public short nX; + + // Token: 0x04000290 RID: 656 + public short nY; + + // Token: 0x04000291 RID: 657 + public short nFromX; + + // Token: 0x04000292 RID: 658 + public short nFromY; + + // Token: 0x04000293 RID: 659 + public short nTime; + + // Token: 0x04000294 RID: 660 + public int nLayer; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_MSG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_MSG.cs new file mode 100644 index 000000000..170ea5f0a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_MSG.cs @@ -0,0 +1,94 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000088 RID: 136 + public class EVENTSCENE_MSG + { + // Token: 0x060003D4 RID: 980 RVA: 0x0000D4D4 File Offset: 0x0000B6D4 + public EVENTSCENE_MSG() + { + this.Name = new EVENTECENR_NAME(); + this.Init(); + } + + // Token: 0x1700008F RID: 143 + // (get) Token: 0x060003D5 RID: 981 RVA: 0x0000D4F0 File Offset: 0x0000B6F0 + // (set) Token: 0x060003D6 RID: 982 RVA: 0x0000D4F8 File Offset: 0x0000B6F8 + public EVENTECENR_NAME Name { get; set; } + + // Token: 0x060003D7 RID: 983 RVA: 0x0000D504 File Offset: 0x0000B704 + public void Init() + { + this.Sw = SWITCH.NULL; + this.Name.Init(); + this.nFrameType = 0; + this.Tag = null; + this.bAddLog = false; + } + + // Token: 0x060003D8 RID: 984 RVA: 0x0000D530 File Offset: 0x0000B730 + public void Reset() + { + this.Sw = SWITCH.NULL; + } + + // Token: 0x060003D9 RID: 985 RVA: 0x0000D53C File Offset: 0x0000B73C + public void Copy(EVENTSCENE_MSG other) + { + this.Sw = other.Sw; + this.Name.Copy(other.Name); + this.nFrameType = other.nFrameType; + this.Tag = other.Tag; + this.bAddLog = other.bAddLog; + } + + // Token: 0x060003DA RID: 986 RVA: 0x0000D58C File Offset: 0x0000B78C + public void Save(MemFile conv) + { + this.Name.Save(conv); + } + + // Token: 0x060003DB RID: 987 RVA: 0x0000D59C File Offset: 0x0000B79C + public void Load(MemFile conv) + { + this.Name.Load(conv); + } + + // Token: 0x060003DC RID: 988 RVA: 0x0000D5AC File Offset: 0x0000B7AC + public void SetLog(SCENELOGDATA log, bool bAddLog_) + { + if (log.Msg != null) + { + this.Sw = SWITCH.ON; + this.Tag = log.Msg; + for (int num = 0; num != this.Name.Name.Length; num++) + { + this.Name.Name[num] = log.aszMsgName[num]; + } + this.nFrameType = (int)log.nMsgFrameType; + this.bAddLog = bAddLog_; + } + else + { + this.Sw = SWITCH.OFF; + this.Tag = null; + this.Name.Init(); + this.nFrameType = 0; + } + } + + // Token: 0x040002A4 RID: 676 + public SWITCH Sw; + + // Token: 0x040002A5 RID: 677 + public int nFrameType; + + // Token: 0x040002A6 RID: 678 + public TagData Tag; + + // Token: 0x040002A7 RID: 679 + public bool bAddLog; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_OBJ.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_OBJ.cs new file mode 100644 index 000000000..47093c34e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_OBJ.cs @@ -0,0 +1,60 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000082 RID: 130 + public class EVENTSCENE_OBJ + { + // Token: 0x060003AA RID: 938 RVA: 0x0000CD78 File Offset: 0x0000AF78 + public void Reset() + { + this.Sw = SWITCH.NULL; + } + + // Token: 0x060003AB RID: 939 RVA: 0x0000CD84 File Offset: 0x0000AF84 + public void Init() + { + this.Name = string.Empty; + this.Sw = SWITCH.NULL; + this.nParam = 0; + } + + // Token: 0x060003AC RID: 940 RVA: 0x0000CDA0 File Offset: 0x0000AFA0 + public void Copy(EVENTSCENE_OBJ other) + { + this.Name = other.Name; + this.Sw = other.Sw; + this.nParam = other.nParam; + } + + // Token: 0x060003AD RID: 941 RVA: 0x0000CDD4 File Offset: 0x0000AFD4 + public void Save(MemFile conv) + { + conv.SetStringUtf16(this.Name); + } + + // Token: 0x060003AE RID: 942 RVA: 0x0000CDE4 File Offset: 0x0000AFE4 + public void Load(MemFile conv) + { + this.Name = conv.GetStringUtf16(); + } + + // Token: 0x060003AF RID: 943 RVA: 0x0000CDF4 File Offset: 0x0000AFF4 + public void SetLog(SWITCH sw_, string name_, int nParam_ = 0) + { + this.Sw = sw_; + this.Name = name_; + this.nParam = nParam_; + } + + // Token: 0x04000289 RID: 649 + public string Name = string.Empty; + + // Token: 0x0400028A RID: 650 + public SWITCH Sw = SWITCH.ON; + + // Token: 0x0400028B RID: 651 + public int nParam; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_SE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_SE.cs new file mode 100644 index 000000000..7b25bc1ac --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_SE.cs @@ -0,0 +1,72 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000085 RID: 133 + public class EVENTSCENE_SE + { + // Token: 0x060003C0 RID: 960 RVA: 0x0000D100 File Offset: 0x0000B300 + public EVENTSCENE_SE() + { + this.Init(); + } + + // Token: 0x060003C1 RID: 961 RVA: 0x0000D110 File Offset: 0x0000B310 + public void Reset() + { + this.Sw = SWITCH.NULL; + } + + // Token: 0x060003C2 RID: 962 RVA: 0x0000D11C File Offset: 0x0000B31C + public void Init() + { + this.Name = string.Empty; + this.Sw = SWITCH.NULL; + this.nVolume = 0; + this.nLoop = 0; + } + + // Token: 0x060003C3 RID: 963 RVA: 0x0000D14C File Offset: 0x0000B34C + public void Copy(EVENTSCENE_SE other) + { + this.Name = other.Name; + this.Sw = other.Sw; + this.nVolume = other.nVolume; + this.nLoop = other.nLoop; + } + + // Token: 0x060003C4 RID: 964 RVA: 0x0000D18C File Offset: 0x0000B38C + public void SetLog(SWITCH sw_, string name_ = "", int nLoop_ = 0, int nVolume_ = 100) + { + this.Sw = sw_; + this.Name = name_; + this.nLoop = nLoop_; + this.nVolume = nVolume_; + } + + // Token: 0x060003C5 RID: 965 RVA: 0x0000D1AC File Offset: 0x0000B3AC + public void Save(MemFile conv) + { + conv.SetStringUtf16(this.Name); + } + + // Token: 0x060003C6 RID: 966 RVA: 0x0000D1BC File Offset: 0x0000B3BC + public void Load(MemFile conv) + { + this.Name = conv.GetStringUtf16(); + } + + // Token: 0x04000299 RID: 665 + public string Name; + + // Token: 0x0400029A RID: 666 + public SWITCH Sw; + + // Token: 0x0400029B RID: 667 + public int nVolume; + + // Token: 0x0400029C RID: 668 + public int nLoop; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_SELCET.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_SELCET.cs new file mode 100644 index 000000000..5afd3c744 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVENTSCENE_SELCET.cs @@ -0,0 +1,106 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000086 RID: 134 + public class EVENTSCENE_SELCET + { + // Token: 0x060003C7 RID: 967 RVA: 0x0000D1CC File Offset: 0x0000B3CC + public EVENTSCENE_SELCET() + { + this.Init(); + } + + // Token: 0x060003C8 RID: 968 RVA: 0x0000D214 File Offset: 0x0000B414 + public void Reset() + { + this.Sw = SWITCH.NULL; + } + + // Token: 0x060003C9 RID: 969 RVA: 0x0000D220 File Offset: 0x0000B420 + public void Init() + { + this.Name = (this.KsName = (this.LabelName = (this.Effect = string.Empty))); + this.Sw = SWITCH.NULL; + this.nParam = 0; + } + + // Token: 0x060003CA RID: 970 RVA: 0x0000D264 File Offset: 0x0000B464 + public void Copy(EVENTSCENE_SELCET other) + { + this.Name = other.Name; + this.KsName = other.KsName; + this.LabelName = other.LabelName; + this.Effect = other.Effect; + this.Sw = other.Sw; + this.nParam = other.nParam; + } + + // Token: 0x060003CB RID: 971 RVA: 0x0000D2BC File Offset: 0x0000B4BC + public void Save(MemFile conv) + { + conv.SetStringUtf16(this.Name); + conv.SetStringUtf16(this.KsName); + conv.SetStringUtf16(this.LabelName); + conv.SetInt32(this.nParam); + } + + // Token: 0x060003CC RID: 972 RVA: 0x0000D2FC File Offset: 0x0000B4FC + public void Load(MemFile conv) + { + this.Name = conv.GetStringUtf16(); + this.KsName = conv.GetStringUtf16(); + this.LabelName = conv.GetStringUtf16(); + this.nParam = conv.GetInt32(); + } + + // Token: 0x060003CD RID: 973 RVA: 0x0000D33C File Offset: 0x0000B53C + public void SetLog(SWITCH sw_, string strName, string strKs, string strLabel, string strEffect, int nParam_) + { + this.Sw = sw_; + this.Name = strName; + this.KsName = strKs; + this.LabelName = strLabel; + this.Effect = strEffect; + this.nParam = nParam_; + Debug.Print(string.Concat(new string[] + { + "SELECT:", + this.Name, + " KsName:", + this.KsName, + " LabelName:", + this.LabelName + })); + } + + // Token: 0x060003CE RID: 974 RVA: 0x0000D3BC File Offset: 0x0000B5BC + public void Set(string strName, string strKs, string strLabel, string strEffect, int nType) + { + this.Name = strName; + this.KsName = strKs; + this.LabelName = strLabel; + this.Effect = strEffect; + this.nParam = nType; + } + + // Token: 0x0400029D RID: 669 + public string Name = string.Empty; + + // Token: 0x0400029E RID: 670 + public string KsName = string.Empty; + + // Token: 0x0400029F RID: 671 + public string LabelName = string.Empty; + + // Token: 0x040002A0 RID: 672 + public string Effect = string.Empty; + + // Token: 0x040002A1 RID: 673 + public SWITCH Sw; + + // Token: 0x040002A2 RID: 674 + public int nParam; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVSP.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVSP.cs new file mode 100644 index 000000000..f6ba18af2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVSP.cs @@ -0,0 +1,19 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200007C RID: 124 + public enum EVSP + { + // Token: 0x04000265 RID: 613 + BG, + // Token: 0x04000266 RID: 614 + CHAR, + // Token: 0x04000267 RID: 615 + FACE = 6, + // Token: 0x04000268 RID: 616 + FLASH, + // Token: 0x04000269 RID: 617 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVSP_NO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVSP_NO.cs new file mode 100644 index 000000000..888aa4acf --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EVSP_NO.cs @@ -0,0 +1,83 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000038 RID: 56 + internal enum EVSP_NO + { + // Token: 0x04000175 RID: 373 + BG, + // Token: 0x04000176 RID: 374 + CG, + // Token: 0x04000177 RID: 375 + CG1, + // Token: 0x04000178 RID: 376 + CG2, + // Token: 0x04000179 RID: 377 + CG3, + // Token: 0x0400017A RID: 378 + CH1, + // Token: 0x0400017B RID: 379 + CH2, + // Token: 0x0400017C RID: 380 + CH3, + // Token: 0x0400017D RID: 381 + CH4, + // Token: 0x0400017E RID: 382 + CH5, + // Token: 0x0400017F RID: 383 + FACE, + // Token: 0x04000180 RID: 384 + FLASH, + // Token: 0x04000181 RID: 385 + SELECT1, + // Token: 0x04000182 RID: 386 + SELECT2, + // Token: 0x04000183 RID: 387 + SELECT3, + // Token: 0x04000184 RID: 388 + SELECT4, + // Token: 0x04000185 RID: 389 + SELECT5, + // Token: 0x04000186 RID: 390 + SELECT6, + // Token: 0x04000187 RID: 391 + SELECT7, + // Token: 0x04000188 RID: 392 + SELECT8, + // Token: 0x04000189 RID: 393 + GRP_SELECT1, + // Token: 0x0400018A RID: 394 + GRP_SELECT2, + // Token: 0x0400018B RID: 395 + GRP_SELECT3, + // Token: 0x0400018C RID: 396 + GRP_SELECT4, + // Token: 0x0400018D RID: 397 + GRP_SELECT5, + // Token: 0x0400018E RID: 398 + GRP_SELECT6, + // Token: 0x0400018F RID: 399 + GRP_SELECT7, + // Token: 0x04000190 RID: 400 + GRP_SELECT8, + // Token: 0x04000191 RID: 401 + SELECT_READ1, + // Token: 0x04000192 RID: 402 + SELECT_READ2, + // Token: 0x04000193 RID: 403 + SELECT_READ3, + // Token: 0x04000194 RID: 404 + SELECT_READ4, + // Token: 0x04000195 RID: 405 + SELECT_READ5, + // Token: 0x04000196 RID: 406 + SELECT_READ6, + // Token: 0x04000197 RID: 407 + SELECT_READ7, + // Token: 0x04000198 RID: 408 + SELECT_READ8, + // Token: 0x04000199 RID: 409 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EventPlayer.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EventPlayer.cs new file mode 100644 index 000000000..8956b8786 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/EventPlayer.cs @@ -0,0 +1,662 @@ +using System; +using Qoo.Application; +using Qoo.Def; +using Qoo.File; +using Qoo.Game; +using Qoo.Graphics; +using Qoo.Input; +using Qoo.SoundSystem; + +namespace Qoo.Ks +{ + // Token: 0x02000035 RID: 53 + public class EventPlayer : KsPlayer + { + // Token: 0x0600019D RID: 413 RVA: 0x00007238 File Offset: 0x00005438 + public EventPlayer() + { + this.Scene = new KsScene(); + } + + // Token: 0x17000037 RID: 55 + // (get) Token: 0x0600019E RID: 414 RVA: 0x0000724C File Offset: 0x0000544C + // (set) Token: 0x0600019F RID: 415 RVA: 0x00007254 File Offset: 0x00005454 + public PLAY_MODE Mode { get; private set; } + + // Token: 0x17000038 RID: 56 + // (get) Token: 0x060001A0 RID: 416 RVA: 0x00007260 File Offset: 0x00005460 + // (set) Token: 0x060001A1 RID: 417 RVA: 0x00007268 File Offset: 0x00005468 + public KsScene Scene { get; private set; } + + // Token: 0x17000039 RID: 57 + // (get) Token: 0x060001A2 RID: 418 RVA: 0x00007274 File Offset: 0x00005474 + // (set) Token: 0x060001A3 RID: 419 RVA: 0x0000727C File Offset: 0x0000547C + private bool RewOn { get; set; } + + // Token: 0x1700003A RID: 58 + // (get) Token: 0x060001A4 RID: 420 RVA: 0x00007288 File Offset: 0x00005488 + // (set) Token: 0x060001A5 RID: 421 RVA: 0x00007290 File Offset: 0x00005490 + private int nRawWaitCnt { get; set; } + + // Token: 0x1700003B RID: 59 + // (get) Token: 0x060001A6 RID: 422 RVA: 0x0000729C File Offset: 0x0000549C + // (set) Token: 0x060001A7 RID: 423 RVA: 0x000072A4 File Offset: 0x000054A4 + public bool JumpOn { get; set; } + + // Token: 0x1700003C RID: 60 + // (get) Token: 0x060001A8 RID: 424 RVA: 0x000072B0 File Offset: 0x000054B0 + // (set) Token: 0x060001A9 RID: 425 RVA: 0x000072B8 File Offset: 0x000054B8 + public bool RestoreOn { get; private set; } + + // Token: 0x1700003D RID: 61 + // (get) Token: 0x060001AA RID: 426 RVA: 0x000072C4 File Offset: 0x000054C4 + // (set) Token: 0x060001AB RID: 427 RVA: 0x000072CC File Offset: 0x000054CC + private bool MesFull { get; set; } + + // Token: 0x1700003E RID: 62 + // (get) Token: 0x060001AC RID: 428 RVA: 0x000072D8 File Offset: 0x000054D8 + // (set) Token: 0x060001AD RID: 429 RVA: 0x000072E0 File Offset: 0x000054E0 + public string Name { get; set; } + + // Token: 0x1700003F RID: 63 + // (get) Token: 0x060001AE RID: 430 RVA: 0x000072EC File Offset: 0x000054EC + // (set) Token: 0x060001AF RID: 431 RVA: 0x000072F4 File Offset: 0x000054F4 + public int CurKsNo { get; private set; } + + // Token: 0x17000040 RID: 64 + // (get) Token: 0x060001B0 RID: 432 RVA: 0x00007300 File Offset: 0x00005500 + // (set) Token: 0x060001B1 RID: 433 RVA: 0x00007308 File Offset: 0x00005508 + public bool IsParamLock { get; private set; } + + // Token: 0x17000041 RID: 65 + // (get) Token: 0x060001B2 RID: 434 RVA: 0x00007314 File Offset: 0x00005514 + // (set) Token: 0x060001B3 RID: 435 RVA: 0x00007330 File Offset: 0x00005530 + public bool Face + { + get + { + return this.Scene.GrpList[6].A != 0; + } + set + { + this.Scene.RedrawFace(value); + } + } + + // Token: 0x060001B4 RID: 436 RVA: 0x00007340 File Offset: 0x00005540 + public bool Init(PLAY_MODE mode) + { + base.Init(); + this.Mode = mode; + this.Scene.Init(); + App.QooKsData.Clear(); + this.RewOn = false; + this.nRawWaitCnt = 0; + this.MesFull = false; + this.Name = string.Empty; + this.CurKsNo = -1; + GameData.EnableChangeParam = true; + GameData.OldWork.Clear(); + this.m_isNextKsRead = false; + return true; + } + + // Token: 0x060001B5 RID: 437 RVA: 0x000073B4 File Offset: 0x000055B4 + public bool Release() + { + App.QooKsData.Clear(); + GameData.EnableChangeParam = false; + GameData.OldWork.Clear(); + this.Scene.Release(); + KsInput.Clear(); + return true; + } + + // Token: 0x060001B6 RID: 438 RVA: 0x000073F0 File Offset: 0x000055F0 + internal void Restore(GAME_SAVE_DATA data) + { + this.RestoreOn = true; + KSID ksid = KSID.UNKNOWN; + this.Scene.SceneInit(); + this.Scene.ApplyBackup(data.m_Scene); + int num = data.m_Log.m_LogData.Length; + SCENEPOSDATA[] logData = data.m_Log.m_LogData; + for (int num2 = 0; num2 != num; num2++) + { + if (ksid == KSID.STOP) + { + this.Scene.EntrySelect(-1, string.Empty, string.Empty, string.Empty, 0, string.Empty); + } + this.LoadNext((int)logData[num2].sFileNo, 0, 0); + this.SetNext((int)logData[num2].sLabelNo, (int)logData[num2].sTagNo); + base.PeekTag(); + ksid = base.CurTag.ID; + if (num2 == num - 1 && ksid == KSID.EXEC) + { + this.RestoreOn = false; + } + this.IsParamLock = logData[num2].bLock; + this.ProcTag_Restore(base.CurTag, KsTagTable.GetInfo(base.CurTag.ID)); + if (num2 == num - 1 && ksid == KSID.EXEC) + { + Singleton.Instance.Effect("FadeOut", 0f); + } + } + this.RestoreOn = false; + this.JumpOn = true; + this.IsParamLock = false; + this.Scene.SceneApply(true, true); + this.Scene.SceneApplyCg(false); + if (!this.IsExecutedTag()) + { + this.SnapShot(true); + } + this.Scene.SceneResetEffect(); + this.Scene.SceneReset(); + Singleton.Instance.ResetMessage(); + base.ResetCallCount(0); + } + + // Token: 0x060001B7 RID: 439 RVA: 0x00007584 File Offset: 0x00005784 + public bool Load(string filename, string labelname = "") + { + FileId fileId = new FileId(string.Empty); + fileId.Set(filename); + int num = Akb.SearchFile(fileId.Name); + int num2 = (labelname.Length <= 0) ? 0 : Akb.SearchLabel(num, labelname); + if (num2 < 0) + { + num2 = 0; + } + bool flag = this.LoadNext(num, num2, 0); + if (flag) + { + App.QooKsLog.Reset(); + this.Scene.Backup(); + this.SnapShot(true); + } + return flag; + } + + // Token: 0x060001B8 RID: 440 RVA: 0x00007604 File Offset: 0x00005804 + public bool LoadNext(int nKsNo, int nLabelNo = 0, int nTagNo = 0) + { + if (nKsNo != this.CurKsNo) + { + string name = Akb.GetFileInfo(nKsNo).Name; + if (!App.QooKsData.IsItem(name)) + { + App.QooKsData.Add(name); + } + this.Name = name; + this.CurKsNo = nKsNo; + this.SetKsData(App.QooKsData.Get(name)); + this.m_isNextKsRead = true; + } + this.SetNext(nLabelNo, nTagNo); + return true; + } + + // Token: 0x060001B9 RID: 441 RVA: 0x00007678 File Offset: 0x00005878 + protected override TAG_RESULT ProcTag(TagData tag) + { + this.Scene.KeyWait.Show = true; + KsInput.Pause = true; + this.m_isNextKsRead = false; + KsTagInfo info = KsTagTable.GetInfo(tag.ID); + if (KsInput.IsJump) + { + if (!KsInput.IsRewind) + { + return this.ProcTag_JumpFront(tag, info); + } + return this.ProcTag_JumpBack(tag, info); + } + else + { + this.Scene.UpdateSkipMark(); + if (this.RewOn) + { + return this.ProcTag_Back(tag, info); + } + if (KsInput.IsRewind && App.QooKsLog.IsRewind()) + { + this.SetRewind(true); + return TAG_RESULT.CONTINUE; + } + if (KsInput.IsRewind) + { + KsInput.Clear(); + } + return this.ProcTag_Next(tag, info); + } + } + + // Token: 0x060001BA RID: 442 RVA: 0x00007730 File Offset: 0x00005930 + private TAG_RESULT ProcTag_Next(TagData tag, KsTagInfo info) + { + bool flag = !info.IsJumpTag(); + if (flag && GameData.CheckReadedSkip(this.CurKsNo, base.CurLabelNo, base.CurTagNo)) + { + Sound.VoiceStop(); + } + if (base.TagCallCnt == 0) + { + KsInput.IsTrig = false; + } + TAG_RESULT tag_RESULT = info.Run(this, tag); + int num = 0; + if (KsInput.IsSkip) + { + num |= 1; + } + if (flag) + { + if (GameData.CheckReadedSkip(this.CurKsNo, base.CurLabelNo, base.CurTagNo)) + { + num |= 2; + } + else + { + this.Scene.ResetSkipMark(); + } + } + this.Scene.SetSkipFlag(num); + this.Scene.SceneApply(info.IsMessage(), true); + if (this.MesFull && info.IsMessage()) + { + Singleton.Instance.Full(); + } + this.MesFull = false; + if (!this.IsExecutedTag() && !info.IsUserSnapShot()) + { + this.SnapShot(true); + } + if (tag.Connect && info.IsEnabelConnect()) + { + if (tag_RESULT == TAG_RESULT.NEXT_EXIT) + { + tag_RESULT = TAG_RESULT.NEXT; + } + } + else + { + if (!this.JumpOn) + { + this.Scene.SceneApplyEffect(); + } + this.Scene.SceneApplyCg(!this.JumpOn); + this.Scene.SceneResetEffect(); + } + this.Scene.SceneReset(); + if (this.JumpOn) + { + this.JumpOn = false; + App.FrameUpdate(true); + Graph.Fade_In(); + } + if (this.m_isNextKsRead) + { + base.ResetCallCount(base.TagCallCnt - 1); + return TAG_RESULT.CONTINUE_EXIT; + } + return tag_RESULT; + } + + // Token: 0x060001BB RID: 443 RVA: 0x000078D0 File Offset: 0x00005AD0 + private TAG_RESULT ProcTag_Back(TagData tag, KsTagInfo info) + { + if (!KsInput.IsRewind) + { + this.SetRewind(false); + return TAG_RESULT.CONTINUE_EXIT; + } + if (Singleton.Instance.IsRun) + { + Singleton.Instance.End(); + } + if (!this.JumpOn && this.nRawWaitCnt > 0) + { + this.nRawWaitCnt--; + return TAG_RESULT.CONTINUE_EXIT; + } + this.nRawWaitCnt = 2; + GameData.SetRead(this.CurKsNo, base.CurLabelNo, base.CurTagNo); + while (App.QooKsLog.IsRewind()) + { + if (tag.IsMessage()) + { + App.QooBackLog.RemoveMessage(this.CurKsNo, base.CurLabelNo, tag.MesNo); + } + Sound.VoiceStop(); + int nextLog = EventPlayer.Pop(); + tag = this.SetNextLog(nextLog); + info = KsTagTable.GetInfo(tag.ID); + bool flag = info.IsRevSceneApply(); + bool flag2 = info.IsJumpBreak(false, this.Mode == PLAY_MODE.MEMORY); + bool flag3 = info.IsRevContinue(); + if (flag) + { + SCENELOGDATA sceneCurrent = App.QooKsLog.GetSceneCurrent(); + bool flag4 = info.IsMessage(); + if (sceneCurrent.Msg != null && sceneCurrent.Msg.ID == KSID.BACKLOG) + { + Singleton.Instance.IsSilentMode = true; + } + else if (sceneCurrent.Msg != null) + { + Singleton.Instance.IsSilentMode = false; + } + if (flag4) + { + App.QooBackLog.SetMesNo(this.CurKsNo, base.CurLabelNo, tag.MesNo); + } + if (this.JumpOn) + { + this.Scene.SceneSetLog(sceneCurrent, flag4 && App.QooBackLog.GetNum() == 0); + } + else + { + this.Scene.SceneApplyLog(sceneCurrent, flag4, flag4 && App.QooBackLog.GetNum() == 0); + this.Scene.SceneApplyCg(false); + } + Sound.VoiceStop(); + } + if (info.IsMessage()) + { + this.Scene.SetMessage(null); + this.MesFull = true; + Singleton.Instance.Full(); + string message = Singleton.Instance.Message; + GameData.LastMessage = message; + } + else + { + this.RecallSaveMessage(); + } + if (!this.JumpOn || !flag2) + { + if (tag.Connect) + { + continue; + } + if (!this.JumpOn) + { + } + if (this.JumpOn || flag3) + { + continue; + } + } + base.ResetCallCount(-1); + return TAG_RESULT.CONTINUE_EXIT; + } + this.SetRewind(false); + return TAG_RESULT.CONTINUE_EXIT; + } + + // Token: 0x060001BC RID: 444 RVA: 0x00007B5C File Offset: 0x00005D5C + private static int Pop() + { + int num = App.QooKsLog.Pop(); + Debug.Assert(num != -1, "error:LogData nothing!!"); + GameData.OldWork.Clear(); + SCENELOGDATA sceneCurrent = App.QooKsLog.GetSceneCurrent(); + if (sceneCurrent.WorkArray != null && sceneCurrent.WorkArray.Length > 0) + { + foreach (KsWorkLog ksWorkLog in sceneCurrent.WorkArray) + { + if (!ksWorkLog.IsEmpty()) + { + GameData.SetParamString(ksWorkLog.Value, ksWorkLog.Index, ksWorkLog.Old); + } + } + sceneCurrent.WorkArray = null; + } + return num; + } + + // Token: 0x060001BD RID: 445 RVA: 0x00007C10 File Offset: 0x00005E10 + private TAG_RESULT ProcTag_Restore(TagData tag, KsTagInfo info) + { + TAG_RESULT tag_RESULT = info.Run(this, tag); + if (!this.IsExecutedTag() && info.IsMessage()) + { + this.Scene.SceneApply_Message(true); + } + if (!this.IsExecutedTag()) + { + this.SnapShot(true); + } + this.Scene.EntryVoice(false, string.Empty); + if (tag.Connect && tag_RESULT == TAG_RESULT.NEXT_EXIT) + { + tag_RESULT = TAG_RESULT.NEXT; + } + base.RunResult(tag_RESULT); + return tag_RESULT; + } + + // Token: 0x060001BE RID: 446 RVA: 0x00007C8C File Offset: 0x00005E8C + private TAG_RESULT ProcTag_JumpFront(TagData tag, KsTagInfo info) + { + if (this.JumpOn || this.RestoreOn) + { + TagData tagData = tag; + KsTagInfo ksTagInfo = info; + while (!ksTagInfo.IsJumpBreak(true, this.Mode == PLAY_MODE.MEMORY)) + { + if (ksTagInfo.IsJumpTag() || SysData.GetSkip() != SKIP_MODE.READ || SysData.IsRead(this.CurKsNo, base.CurLabelNo, base.CurTagNo + 1)) + { + if (this.ProcTag_Restore(tagData, ksTagInfo) != TAG_RESULT.END) + { + if (base.NextTagNo >= 0) + { + base.PeekTag(); + tagData = base.CurTag; + ksTagInfo = KsTagTable.GetInfo(tagData.ID); + } + else + { + base.ResetCallCount(base.TagCallCnt + 1); + } + if (this.m_isNextKsRead) + { + base.ResetCallCount(base.TagCallCnt - 1); + return TAG_RESULT.CONTINUE_EXIT; + } + continue; + } + } + IL_165: + if (ksTagInfo.GetId() == KSID.MOVIE) + { + this.Scene.SceneApply(false, true); + } + this.RestoreOn = false; + KsInput.Unlock(); + base.ResetCallCount(-1); + return TAG_RESULT.CONTINUE_EXIT; + } + if (ksTagInfo.IsJumpEffectResetTag()) + { + this.Scene.SceneResetEffect(); + } + goto IL_165; + } + SKIP_MODE skip = SysData.GetSkip(); + if (skip != SKIP_MODE.DISABLE) + { + if (skip == SKIP_MODE.READ) + { + if (!SysData.IsRead(this.CurKsNo, base.CurLabelNo, base.CurTagNo + 1)) + { + base.ResetCallCount(-1); + KsInput.Unlock(); + return TAG_RESULT.CONTINUE_EXIT; + } + } + Sound.VoiceStop(); + Sound.SeSlotStopAll(); + Graph.Fade_Out(); + this.JumpOn = true; + this.RestoreOn = true; + return TAG_RESULT.CONTINUE_EXIT; + } + base.ResetCallCount(-1); + KsInput.Unlock(); + return TAG_RESULT.CONTINUE_EXIT; + } + + // Token: 0x060001BF RID: 447 RVA: 0x00007E2C File Offset: 0x0000602C + private TAG_RESULT ProcTag_JumpBack(TagData tag, KsTagInfo info) + { + if (App.QooKsLog.IsRewind()) + { + this.JumpOn = true; + Sound.SeSlotStopAll(); + Graph.Fade_Out(); + if (Singleton.Instance.IsRun) + { + Singleton.Instance.End(); + } + this.ProcTag_Back(tag, info); + KsInput.Unlock(); + } + this.SetRewind(false); + this.Scene.SceneApply(false, true); + return TAG_RESULT.CONTINUE_EXIT; + } + + // Token: 0x060001C0 RID: 448 RVA: 0x00007E98 File Offset: 0x00006098 + private bool SetRewind(bool bEnable) + { + this.RewOn = bEnable; + if (!bEnable) + { + base.ResetCallCount(-1); + KsInput.Unlock(); + } + return true; + } + + // Token: 0x060001C1 RID: 449 RVA: 0x00007EB4 File Offset: 0x000060B4 + public int SnapShot(bool bRun = true) + { + if (base.CurLabelNo == -1 && base.CurTagNo == -1) + { + return -1; + } + int result = App.QooKsLog.Push(); + SCENELOGDATA sceneCurrent = App.QooKsLog.GetSceneCurrent(); + this.Scene.SaveSceneLog(ref sceneCurrent); + if (GameData.OldWork.Count > 0) + { + sceneCurrent.WorkArray = GameData.OldWork.ToArray(); + } + GameData.OldWork.Clear(); + App.QooKsLog.SetSceneCurrrent(sceneCurrent); + SCENEPOSDATA posCurrent = App.QooKsLog.GetPosCurrent(); + posCurrent.sFileNo = (short)this.CurKsNo; + posCurrent.sLabelNo = (short)base.CurLabelNo; + posCurrent.sTagNo = (short)base.CurTagNo; + posCurrent.bRun = bRun; + App.QooKsLog.SetPosCurrent(posCurrent); + GameData.SetRead((int)posCurrent.sFileNo, (int)posCurrent.sLabelNo, (int)(posCurrent.sTagNo + 1)); + return result; + } + + // Token: 0x060001C2 RID: 450 RVA: 0x00007F98 File Offset: 0x00006198 + private TagData SetNextLog(int nPos) + { + SCENEPOSDATA pos = App.QooKsLog.GetPos(nPos); + Debug.Print(string.Format("Back:KS:{0}:{1}:{2}(LogNo={3})\n", new object[] + { + pos.sFileNo, + pos.sLabelNo, + pos.sTagNo, + nPos + })); + this.LoadNext((int)pos.sFileNo, (int)pos.sLabelNo, (int)pos.sTagNo); + base.PeekTag(); + GameData.SetRead(this.CurKsNo, base.CurLabelNo, base.CurTagNo); + return base.CurTag; + } + + // Token: 0x060001C3 RID: 451 RVA: 0x00008038 File Offset: 0x00006238 + public bool IsExecutedTag() + { + SCENEPOSDATA posCurrent = App.QooKsLog.GetPosCurrent(); + if (posCurrent != null && (int)posCurrent.sFileNo == this.CurKsNo && (int)posCurrent.sLabelNo == base.CurLabelNo && (int)posCurrent.sTagNo == base.CurTagNo) + { + SCENELOGDATA sceneCurrent = App.QooKsLog.GetSceneCurrent(); + return sceneCurrent.nExist; + } + return false; + } + + // Token: 0x060001C4 RID: 452 RVA: 0x0000809C File Offset: 0x0000629C + internal void SetJump(bool isJump) + { + this.JumpOn = isJump; + } + + // Token: 0x060001C5 RID: 453 RVA: 0x000080A8 File Offset: 0x000062A8 + internal bool JumpKs(string ks, string label, bool IsCall) + { + Debug.Assert(ks != null && label != null); + bool flag = ks.Length > 0; + bool flag2 = label.Length > 0; + if (!flag && !flag2) + { + return false; + } + if (!this.IsExecutedTag()) + { + this.SnapShot(true); + } + if (flag) + { + FileId fileId = new FileId(string.Empty); + fileId.Set(ks); + this.LoadNext(Akb.SearchFile(fileId.Name), 0, 0); + } + if (label.IndexOf('*') >= 0) + { + label = label.Substring(label.IndexOf('*') + 1); + } + int num = (!flag2) ? 0 : base.GetLabelNo(label); + Debug.Assert(num >= 0, string.Format("====ERROR!!!!====:KS:{0} のラベル名:'{1}'は見つかりません\n", ks, label)); + this.SetNext(num, 0); + return true; + } + + // Token: 0x060001C6 RID: 454 RVA: 0x00008184 File Offset: 0x00006384 + internal bool ReturnKs() + { + throw new NotImplementedException(); + } + + // Token: 0x060001C7 RID: 455 RVA: 0x0000818C File Offset: 0x0000638C + private bool RecallSaveMessage() + { + for (int i = App.QooKsLog.GetLogNum() - 1; i >= 0; i--) + { + SCENELOGDATA scene = App.QooKsLog.GetScene(i); + if (scene != null && scene.Msg != null) + { + bool isVisible = Singleton.Instance.IsVisible; + this.Scene.SetMessage(scene.Msg); + GameData.LastMessage = Singleton.Instance.Message; + Singleton.Instance.ResetMessage(); + Singleton.Instance.Show(isVisible); + return true; + } + } + return false; + } + + // Token: 0x0400015B RID: 347 + private bool m_isNextKsRead; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KSID.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KSID.cs new file mode 100644 index 000000000..c8cc11f47 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KSID.cs @@ -0,0 +1,195 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000046 RID: 70 + public enum KSID + { + // Token: 0x040001F5 RID: 501 + UNKNOWN, + // Token: 0x040001F6 RID: 502 + MESSAGE, + // Token: 0x040001F7 RID: 503 + BACKLOG, + // Token: 0x040001F8 RID: 504 + CLEARMESSAGE, + // Token: 0x040001F9 RID: 505 + BGIMAGE, + // Token: 0x040001FA RID: 506 + CHARA, + // Token: 0x040001FB RID: 507 + CHARA1, + // Token: 0x040001FC RID: 508 + CHARA2, + // Token: 0x040001FD RID: 509 + CHARA3, + // Token: 0x040001FE RID: 510 + CHARA4, + // Token: 0x040001FF RID: 511 + CHARA5, + // Token: 0x04000200 RID: 512 + CG, + // Token: 0x04000201 RID: 513 + CG1, + // Token: 0x04000202 RID: 514 + CG2, + // Token: 0x04000203 RID: 515 + CG3, + // Token: 0x04000204 RID: 516 + CG4, + // Token: 0x04000205 RID: 517 + BGM, + // Token: 0x04000206 RID: 518 + SE, + // Token: 0x04000207 RID: 519 + SE1, + // Token: 0x04000208 RID: 520 + SE2, + // Token: 0x04000209 RID: 521 + MOVIE, + // Token: 0x0400020A RID: 522 + SHAKE, + // Token: 0x0400020B RID: 523 + FLASH, + // Token: 0x0400020C RID: 524 + ANIMATION, + // Token: 0x0400020D RID: 525 + SELECT, + // Token: 0x0400020E RID: 526 + STOP, + // Token: 0x0400020F RID: 527 + STOP_CALL, + // Token: 0x04000210 RID: 528 + WAIT, + // Token: 0x04000211 RID: 529 + STOPRW, + // Token: 0x04000212 RID: 530 + NEXT, + // Token: 0x04000213 RID: 531 + CALL, + // Token: 0x04000214 RID: 532 + RETURN, + // Token: 0x04000215 RID: 533 + IF_PARAM_NEXT, + // Token: 0x04000216 RID: 534 + IF_PARAM_CALL, + // Token: 0x04000217 RID: 535 + IF_SYS_READED_NEXT, + // Token: 0x04000218 RID: 536 + IF_SYS_READED_CALL, + // Token: 0x04000219 RID: 537 + IF_READED_NEXT, + // Token: 0x0400021A RID: 538 + IF_READED_CALL, + // Token: 0x0400021B RID: 539 + IF_COMPARE_NEXT, + // Token: 0x0400021C RID: 540 + IF_COMPARE_CALL, + // Token: 0x0400021D RID: 541 + ENDMEMORY, + // Token: 0x0400021E RID: 542 + END, + // Token: 0x0400021F RID: 543 + EXIT, + // Token: 0x04000220 RID: 544 + EXEC, + // Token: 0x04000221 RID: 545 + SET, + // Token: 0x04000222 RID: 546 + ADD, + // Token: 0x04000223 RID: 547 + CMD, + // Token: 0x04000224 RID: 548 + BR, + // Token: 0x04000225 RID: 549 + F, + // Token: 0x04000226 RID: 550 + PRINT, + // Token: 0x04000227 RID: 551 + FILE, + // Token: 0x04000228 RID: 552 + TARGET, + // Token: 0x04000229 RID: 553 + WINDOW, + // Token: 0x0400022A RID: 554 + NAME, + // Token: 0x0400022B RID: 555 + NAME2, + // Token: 0x0400022C RID: 556 + VOICE, + // Token: 0x0400022D RID: 557 + POS, + // Token: 0x0400022E RID: 558 + TIME, + // Token: 0x0400022F RID: 559 + LOOP, + // Token: 0x04000230 RID: 560 + R, + // Token: 0x04000231 RID: 561 + G, + // Token: 0x04000232 RID: 562 + B, + // Token: 0x04000233 RID: 563 + WORD, + // Token: 0x04000234 RID: 564 + SIZE, + // Token: 0x04000235 RID: 565 + FACE, + // Token: 0x04000236 RID: 566 + EFFECT, + // Token: 0x04000237 RID: 567 + VOLUME, + // Token: 0x04000238 RID: 568 + VALUE, + // Token: 0x04000239 RID: 569 + INDEX, + // Token: 0x0400023A RID: 570 + VALUE1, + // Token: 0x0400023B RID: 571 + INDEX1, + // Token: 0x0400023C RID: 572 + PARAM, + // Token: 0x0400023D RID: 573 + CHECK, + // Token: 0x0400023E RID: 574 + LABEL, + // Token: 0x0400023F RID: 575 + COMP, + // Token: 0x04000240 RID: 576 + COMPTARGET, + // Token: 0x04000241 RID: 577 + INCOMP, + // Token: 0x04000242 RID: 578 + INCOMPTARGET, + // Token: 0x04000243 RID: 579 + POWERH, + // Token: 0x04000244 RID: 580 + POWERV, + // Token: 0x04000245 RID: 581 + LAYER, + // Token: 0x04000246 RID: 582 + POSX, + // Token: 0x04000247 RID: 583 + POSY, + // Token: 0x04000248 RID: 584 + SX, + // Token: 0x04000249 RID: 585 + SY, + // Token: 0x0400024A RID: 586 + EXP, + // Token: 0x0400024B RID: 587 + BASE, + // Token: 0x0400024C RID: 588 + BEGINLAYER, + // Token: 0x0400024D RID: 589 + ENDLAYER, + // Token: 0x0400024E RID: 590 + KEY, + // Token: 0x0400024F RID: 591 + CURSOR, + // Token: 0x04000250 RID: 592 + READED, + // Token: 0x04000251 RID: 593 + MAX + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsData.cs new file mode 100644 index 000000000..6ad37ccdc --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsData.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using Qoo.File; + +namespace Qoo.Ks +{ + // Token: 0x0200003C RID: 60 + public class KsData + { + // Token: 0x060001F0 RID: 496 RVA: 0x000083D8 File Offset: 0x000065D8 + public IEnumerator LoadKsAll() + { + for (int i = 0; i != Akb.GetFileNum(); i++) + { + AKB_FILEINFO info = Akb.GetFileInfo(i); + string name = info.Name; + string path = Akb.GetDirInfo((int)info.nDirNo).Name; + UnityFile file = Singleton.Instance.LoadKsFile(path + "/" + name + ".ks"); + while (!file.IsReadEnd) + { + yield return 0; + } + string script = Encoding.Unicode.GetString(file.Data); + this.m_DataList.Add(name, script); + } + yield break; + } + + // Token: 0x060001F1 RID: 497 RVA: 0x000083F4 File Offset: 0x000065F4 + public IEnumerator LoadKs(string ksname) + { + Debug.Print("BeforeLoad:KS:" + ksname); + FileId id = new FileId(ksname); + int no = Akb.SearchFile(id.Name); + AKB_FILEINFO info = Akb.GetFileInfo(no); + string name = info.Name; + if (!this.m_DataList.ContainsKey(name)) + { + string path = Akb.GetDirInfo((int)info.nDirNo).Name; + UnityFile file = Singleton.Instance.LoadKsFile(path + "/" + name + ".ks"); + while (!file.IsReadEnd) + { + yield return 0; + } + string script = Encoding.Unicode.GetString(file.Data); + this.m_DataList.Add(name, script); + } + yield break; + } + + // Token: 0x060001F2 RID: 498 RVA: 0x00008420 File Offset: 0x00006620 + public bool Add(string name) + { + if (!this.m_DataList.ContainsKey(name)) + { + Debug.Print(string.Format("ERROR:KSファイルがロードされていません:{0}", name)); + return false; + } + string str = this.m_DataList[name]; + if (this.IsItem(name)) + { + return true; + } + Debug.Print(string.Format("INFO:Ksファイルの解析:{0}", name)); + TagReader tagReader = new TagReader(); + tagReader.Create(name, str); + this.m_List.Add(name, tagReader); + return true; + } + + // Token: 0x060001F3 RID: 499 RVA: 0x00008498 File Offset: 0x00006698 + public bool Clear() + { + this.m_List.Clear(); + return true; + } + + // Token: 0x060001F4 RID: 500 RVA: 0x000084A8 File Offset: 0x000066A8 + public bool Remove(string name) + { + if (!this.IsItem(name)) + { + return false; + } + this.m_List.Remove(name); + return true; + } + + // Token: 0x060001F5 RID: 501 RVA: 0x000084C8 File Offset: 0x000066C8 + public bool IsItem(string name) + { + return this.m_List.ContainsKey(name); + } + + // Token: 0x060001F6 RID: 502 RVA: 0x000084D8 File Offset: 0x000066D8 + public TagReader Get(string name) + { + if (!this.IsItem(name)) + { + Debug.Assert(false, string.Format("Error:KsData:NotFound:{0}\n", name)); + return null; + } + return this.m_List[name]; + } + + // Token: 0x060001F7 RID: 503 RVA: 0x00008508 File Offset: 0x00006708 + public void CloseNoCurrent(string name) + { + TagReader tagReader = this.Get(name); + if (tagReader != null) + { + List list = new List(tagReader.NextKsList); + for (int num = 0; num != list.Count; num++) + { + FileId fileId = new FileId(list[num]); + int nFileNo = Akb.SearchFile(fileId.Name); + AKB_FILEINFO fileInfo = Akb.GetFileInfo(nFileNo); + list[num] = fileInfo.Name; + } + list.Add(name); + List list3 = new List(this.m_List.Keys); + List list2 = new List(this.m_DataList.Keys); + list3.RemoveAll((string s) => list.Contains(s)); + list2.RemoveAll((string s) => list.Contains(s)); + foreach (string key in list3) + { + this.m_List.Remove(key); + } + foreach (string key2 in list2) + { + this.m_DataList.Remove(key2); + } + } + } + + // Token: 0x040001AF RID: 431 + private Dictionary m_List = new Dictionary(); + + // Token: 0x040001B0 RID: 432 + private Dictionary m_DataList = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsLog.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsLog.cs new file mode 100644 index 000000000..0ee45fbe6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsLog.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Ks +{ + // Token: 0x0200003D RID: 61 + public class KsLog + { + // Token: 0x060001F9 RID: 505 RVA: 0x000086D8 File Offset: 0x000068D8 + public void Reset() + { + this.m_SceneLog.Clear(); + this.m_PosLog.Clear(); + this.m_CallLog.Clear(); + } + + // Token: 0x060001FA RID: 506 RVA: 0x000086FC File Offset: 0x000068FC + public SCENELOGDATA GetScene(int index) + { + if (index >= 0 && index < this.GetLogNum()) + { + return this.m_SceneLog[index]; + } + return null; + } + + // Token: 0x060001FB RID: 507 RVA: 0x00008720 File Offset: 0x00006920 + public SCENELOGDATA GetSceneCurrent() + { + return this.GetScene(this.m_SceneLog.Count - 1); + } + + // Token: 0x060001FC RID: 508 RVA: 0x00008738 File Offset: 0x00006938 + private bool SetScene(int index, SCENELOGDATA data) + { + if (index < 0 || index >= this.GetLogNum()) + { + return false; + } + this.m_SceneLog[index] = data; + return true; + } + + // Token: 0x060001FD RID: 509 RVA: 0x00008760 File Offset: 0x00006960 + public bool SetSceneCurrrent(SCENELOGDATA data) + { + return this.SetScene(this.GetLogNum() - 1, data); + } + + // Token: 0x060001FE RID: 510 RVA: 0x00008774 File Offset: 0x00006974 + public int GetLogNum() + { + return this.m_SceneLog.Count; + } + + // Token: 0x060001FF RID: 511 RVA: 0x00008784 File Offset: 0x00006984 + public SCENEPOSDATA GetPos(int index) + { + if (index >= 0 && index < this.GetLogNum()) + { + return this.m_PosLog[index]; + } + return null; + } + + // Token: 0x06000200 RID: 512 RVA: 0x000087A8 File Offset: 0x000069A8 + public SCENEPOSDATA GetPosCurrent() + { + return this.GetPos(this.m_PosLog.Count - 1); + } + + // Token: 0x06000201 RID: 513 RVA: 0x000087C0 File Offset: 0x000069C0 + private bool SetPos(int index, SCENEPOSDATA data) + { + if (index < 0 || index >= this.GetLogNum()) + { + return false; + } + this.m_PosLog[index] = data; + return true; + } + + // Token: 0x06000202 RID: 514 RVA: 0x000087E8 File Offset: 0x000069E8 + public bool SetPosCurrent(SCENEPOSDATA data) + { + return this.SetPos(this.GetLogNum() - 1, data); + } + + // Token: 0x06000203 RID: 515 RVA: 0x000087FC File Offset: 0x000069FC + public int Push() + { + this.m_SceneLog.Add(new SCENELOGDATA()); + this.m_PosLog.Add(new SCENEPOSDATA()); + return this.GetLogNum() - 1; + } + + // Token: 0x06000204 RID: 516 RVA: 0x00008834 File Offset: 0x00006A34 + public int Pop() + { + int index = this.GetLogNum() - 1; + this.m_SceneLog.RemoveAt(index); + this.m_PosLog.RemoveAt(index); + return this.GetLogNum() - 1; + } + + // Token: 0x06000205 RID: 517 RVA: 0x0000886C File Offset: 0x00006A6C + public bool IsRewind() + { + return this.GetLogNum() > 1; + } + + // Token: 0x06000206 RID: 518 RVA: 0x00008878 File Offset: 0x00006A78 + public int PushCall() + { + this.m_CallLog.Add(default(SCENECALLDATA)); + return this.GetCallNum() - 1; + } + + // Token: 0x06000207 RID: 519 RVA: 0x000088A4 File Offset: 0x00006AA4 + public int PopCall() + { + this.m_CallLog.RemoveAt(this.GetCallNum() - 1); + return this.GetCallNum() - 1; + } + + // Token: 0x06000208 RID: 520 RVA: 0x000088CC File Offset: 0x00006ACC + public int GetCallNum() + { + return this.m_CallLog.Count; + } + + // Token: 0x06000209 RID: 521 RVA: 0x000088DC File Offset: 0x00006ADC + public SCENECALLDATA GetCallData(int index) + { + return this.m_CallLog[index]; + } + + // Token: 0x040001B1 RID: 433 + private List m_SceneLog = new List(); + + // Token: 0x040001B2 RID: 434 + private List m_PosLog = new List(); + + // Token: 0x040001B3 RID: 435 + private List m_CallLog = new List(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsMsgConfig.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsMsgConfig.cs new file mode 100644 index 000000000..def9fbe01 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsMsgConfig.cs @@ -0,0 +1,64 @@ +using System; +using UnityEngine; + +namespace Qoo.Ks +{ + // Token: 0x02000039 RID: 57 + public class KsMsgConfig + { + // Token: 0x17000042 RID: 66 + // (get) Token: 0x060001C9 RID: 457 RVA: 0x00008220 File Offset: 0x00006420 + // (set) Token: 0x060001CA RID: 458 RVA: 0x00008228 File Offset: 0x00006428 + public string StyleName { get; set; } + + // Token: 0x17000043 RID: 67 + // (get) Token: 0x060001CB RID: 459 RVA: 0x00008234 File Offset: 0x00006434 + // (set) Token: 0x060001CC RID: 460 RVA: 0x0000823C File Offset: 0x0000643C + public Vector3 Frame { get; set; } + + // Token: 0x17000044 RID: 68 + // (get) Token: 0x060001CD RID: 461 RVA: 0x00008248 File Offset: 0x00006448 + // (set) Token: 0x060001CE RID: 462 RVA: 0x00008250 File Offset: 0x00006450 + public Vector3 Name { get; set; } + + // Token: 0x17000045 RID: 69 + // (get) Token: 0x060001CF RID: 463 RVA: 0x0000825C File Offset: 0x0000645C + // (set) Token: 0x060001D0 RID: 464 RVA: 0x00008264 File Offset: 0x00006464 + public Vector3 Name2 { get; set; } + + // Token: 0x17000046 RID: 70 + // (get) Token: 0x060001D1 RID: 465 RVA: 0x00008270 File Offset: 0x00006470 + // (set) Token: 0x060001D2 RID: 466 RVA: 0x00008278 File Offset: 0x00006478 + public Vector3 NameText { get; set; } + + // Token: 0x17000047 RID: 71 + // (get) Token: 0x060001D3 RID: 467 RVA: 0x00008284 File Offset: 0x00006484 + // (set) Token: 0x060001D4 RID: 468 RVA: 0x0000828C File Offset: 0x0000648C + public Vector3 NameText2 { get; set; } + + // Token: 0x17000048 RID: 72 + // (get) Token: 0x060001D5 RID: 469 RVA: 0x00008298 File Offset: 0x00006498 + // (set) Token: 0x060001D6 RID: 470 RVA: 0x000082A0 File Offset: 0x000064A0 + public Vector3 Mark { get; set; } + + // Token: 0x17000049 RID: 73 + // (get) Token: 0x060001D7 RID: 471 RVA: 0x000082AC File Offset: 0x000064AC + // (set) Token: 0x060001D8 RID: 472 RVA: 0x000082B4 File Offset: 0x000064B4 + public Vector3 Text { get; set; } + + // Token: 0x1700004A RID: 74 + // (get) Token: 0x060001D9 RID: 473 RVA: 0x000082C0 File Offset: 0x000064C0 + // (set) Token: 0x060001DA RID: 474 RVA: 0x000082C8 File Offset: 0x000064C8 + public Vector2 TextSize { get; set; } + + // Token: 0x1700004B RID: 75 + // (get) Token: 0x060001DB RID: 475 RVA: 0x000082D4 File Offset: 0x000064D4 + // (set) Token: 0x060001DC RID: 476 RVA: 0x000082DC File Offset: 0x000064DC + public float TextEx { get; set; } + + // Token: 0x1700004C RID: 76 + // (get) Token: 0x060001DD RID: 477 RVA: 0x000082E8 File Offset: 0x000064E8 + // (set) Token: 0x060001DE RID: 478 RVA: 0x000082F0 File Offset: 0x000064F0 + public Vector3 Face { get; set; } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsPlayer.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsPlayer.cs new file mode 100644 index 000000000..4c981578b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsPlayer.cs @@ -0,0 +1,332 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Ks +{ + // Token: 0x02000045 RID: 69 + public class KsPlayer + { + // Token: 0x1700007C RID: 124 + // (get) Token: 0x06000263 RID: 611 RVA: 0x00008EC8 File Offset: 0x000070C8 + // (set) Token: 0x06000264 RID: 612 RVA: 0x00008ED0 File Offset: 0x000070D0 + public PLAYSTAT Status { get; private set; } + + // Token: 0x1700007D RID: 125 + // (get) Token: 0x06000265 RID: 613 RVA: 0x00008EDC File Offset: 0x000070DC + // (set) Token: 0x06000266 RID: 614 RVA: 0x00008EE4 File Offset: 0x000070E4 + public TagData CurTag { get; private set; } + + // Token: 0x1700007E RID: 126 + // (get) Token: 0x06000267 RID: 615 RVA: 0x00008EF0 File Offset: 0x000070F0 + // (set) Token: 0x06000268 RID: 616 RVA: 0x00008EF8 File Offset: 0x000070F8 + public int CurTagNo { get; private set; } + + // Token: 0x1700007F RID: 127 + // (get) Token: 0x06000269 RID: 617 RVA: 0x00008F04 File Offset: 0x00007104 + // (set) Token: 0x0600026A RID: 618 RVA: 0x00008F0C File Offset: 0x0000710C + public int NextTagNo { get; private set; } + + // Token: 0x17000080 RID: 128 + // (get) Token: 0x0600026B RID: 619 RVA: 0x00008F18 File Offset: 0x00007118 + // (set) Token: 0x0600026C RID: 620 RVA: 0x00008F20 File Offset: 0x00007120 + public int LastTagNo { get; private set; } + + // Token: 0x17000081 RID: 129 + // (get) Token: 0x0600026D RID: 621 RVA: 0x00008F2C File Offset: 0x0000712C + // (set) Token: 0x0600026E RID: 622 RVA: 0x00008F34 File Offset: 0x00007134 + public int MaxTagNo { get; private set; } + + // Token: 0x17000082 RID: 130 + // (get) Token: 0x0600026F RID: 623 RVA: 0x00008F40 File Offset: 0x00007140 + // (set) Token: 0x06000270 RID: 624 RVA: 0x00008F48 File Offset: 0x00007148 + public int CurLabelNo { get; private set; } + + // Token: 0x17000083 RID: 131 + // (get) Token: 0x06000271 RID: 625 RVA: 0x00008F54 File Offset: 0x00007154 + // (set) Token: 0x06000272 RID: 626 RVA: 0x00008F5C File Offset: 0x0000715C + public int NextLabelNo { get; private set; } + + // Token: 0x17000084 RID: 132 + // (get) Token: 0x06000273 RID: 627 RVA: 0x00008F68 File Offset: 0x00007168 + // (set) Token: 0x06000274 RID: 628 RVA: 0x00008F70 File Offset: 0x00007170 + public int TagCallCnt { get; private set; } + + // Token: 0x06000275 RID: 629 RVA: 0x00008F7C File Offset: 0x0000717C + protected virtual TAG_RESULT ProcTag(TagData tag) + { + return TAG_RESULT.CONTINUE_EXIT; + } + + // Token: 0x06000276 RID: 630 RVA: 0x00008F80 File Offset: 0x00007180 + public bool Init() + { + this.m_Reader = null; + this.Status = PLAYSTAT.NULL; + this.CurTag = null; + this.CurTagNo = -1; + this.CurLabelNo = -1; + this.MaxTagNo = -1; + this.LastTagNo = -1; + this.NextTagNo = 0; + this.NextLabelNo = 0; + this.TagCallCnt = 0; + this.m_nExecWait = 0; + return true; + } + + // Token: 0x06000277 RID: 631 RVA: 0x00008FDC File Offset: 0x000071DC + public virtual bool SetKsData(TagReader reader_) + { + this.m_Reader = reader_; + foreach (string item in this.m_Reader.NextKsList) + { + this.m_NextKsList.Add(item); + } + this.CurTag = null; + this.CurTagNo = -1; + this.CurLabelNo = -1; + this.MaxTagNo = -1; + this.LastTagNo = -1; + this.NextTagNo = 0; + this.NextLabelNo = 0; + return true; + } + + // Token: 0x06000278 RID: 632 RVA: 0x00009088 File Offset: 0x00007288 + public virtual bool Exec() + { + if (this.m_nExecWait > 0) + { + this.m_nExecWait--; + return true; + } + while (this.Status == PLAYSTAT.PLAY) + { + if (DispAssert.IsAssert()) + { + this.PlayStop(); + } + TAG_RESULT nResult = TAG_RESULT.CONTINUE_EXIT; + if (this.NextTagNo >= 0) + { + this.PeekTag(); + } + if (this.CurTag != null) + { + nResult = this.ProcTag(this.CurTag); + this.TagCallCnt++; + } + if (this.RunResult(nResult)) + { + break; + } + } + return true; + } + + // Token: 0x06000279 RID: 633 RVA: 0x00009124 File Offset: 0x00007324 + protected bool RunResult(TAG_RESULT nResult) + { + switch (nResult) + { + case TAG_RESULT.CONTINUE: + return false; + case TAG_RESULT.NEXT: + this.NextForward(); + return false; + case TAG_RESULT.NEXT_EXIT: + this.NextForward(); + break; + case TAG_RESULT.END: + this.Status = PLAYSTAT.END; + break; + } + return true; + } + + // Token: 0x0600027A RID: 634 RVA: 0x0000917C File Offset: 0x0000737C + public virtual void PlayStart() + { + this.Status = PLAYSTAT.PLAY; + } + + // Token: 0x0600027B RID: 635 RVA: 0x00009188 File Offset: 0x00007388 + public virtual void PlayStop() + { + this.Status = PLAYSTAT.STOP; + } + + // Token: 0x0600027C RID: 636 RVA: 0x00009194 File Offset: 0x00007394 + public virtual bool IsPlayEnd() + { + return this.Status == PLAYSTAT.END; + } + + // Token: 0x0600027D RID: 637 RVA: 0x000091A0 File Offset: 0x000073A0 + public virtual void NextForward() + { + this.SetNext(this.CurLabelNo, this.CurTagNo + 1); + } + + // Token: 0x0600027E RID: 638 RVA: 0x000091C4 File Offset: 0x000073C4 + public virtual void NextBack() + { + this.SetNext(this.CurLabelNo, this.CurTagNo - 1); + } + + // Token: 0x0600027F RID: 639 RVA: 0x000091E8 File Offset: 0x000073E8 + public virtual void SetNext(int nLabel, int nNo) + { + if (this.m_Reader.Label.Count <= nLabel || nLabel < 0) + { + Debug.Assert(false, string.Format("ERROR:OVER LABELNO KS={0}, Label={1} LabelNum={2}", this.m_Reader.Name, nLabel, this.m_Reader.Label.Count)); + } + if (nNo >= this.m_Reader.Label[nLabel].TagNum) + { + if (nLabel + 1 < this.m_Reader.Label.Count) + { + for (;;) + { + nLabel++; + if (this.m_Reader.Label[nLabel].TagNum > 0) + { + break; + } + if (nLabel + 1 >= this.m_Reader.Label.Count) + { + goto IL_C8; + } + } + nNo = 0; + IL_C8:; + } + else + { + nNo = this.m_Reader.Label[nLabel].TagNum - 1; + } + } + if (nNo < 0 && nLabel - 1 > 0) + { + do + { + nLabel--; + nNo = this.m_Reader.Label[nLabel].TagNum - 1; + } + while (nLabel - 1 >= 0 && nNo < 0); + if (nNo < 0) + { + nLabel = 0; + nNo = 0; + } + } + this.NextTagNo = nNo; + this.NextLabelNo = nLabel; + } + + // Token: 0x06000280 RID: 640 RVA: 0x00009338 File Offset: 0x00007538 + public void ResetCallCount(int nCnt = 0) + { + this.TagCallCnt = nCnt; + } + + // Token: 0x06000281 RID: 641 RVA: 0x00009344 File Offset: 0x00007544 + public int GetTagNum() + { + return this.m_Reader.Tag.Count; + } + + // Token: 0x06000282 RID: 642 RVA: 0x00009358 File Offset: 0x00007558 + public TagData GetTagData(int nIndex, int nLabelIndex) + { + return this.m_Reader.Tag[nIndex + this.m_Reader.Label[nLabelIndex].TagStart]; + } + + // Token: 0x06000283 RID: 643 RVA: 0x00009390 File Offset: 0x00007590 + public string GetCurLabel() + { + return this.m_Reader.Label[this.CurLabelNo].Name; + } + + // Token: 0x06000284 RID: 644 RVA: 0x000093B8 File Offset: 0x000075B8 + public int GetLabelNo(string szLabel) + { + for (int i = 0; i < this.m_Reader.Label.Count; i++) + { + if (szLabel == this.m_Reader.Label[i].Name) + { + return i; + } + } + return 0; + } + + // Token: 0x06000285 RID: 645 RVA: 0x0000940C File Offset: 0x0000760C + public string GetLabelName(int iLabelNo) + { + return this.m_Reader.Label[iLabelNo].Name; + } + + // Token: 0x06000286 RID: 646 RVA: 0x00009424 File Offset: 0x00007624 + public void SetExecWait(int nFrameTime) + { + this.m_nExecWait = nFrameTime; + } + + // Token: 0x06000287 RID: 647 RVA: 0x00009430 File Offset: 0x00007630 + public void PeekTag() + { + this.LastTagNo = this.CurTagNo; + this.CurTagNo = this.NextTagNo; + this.CurLabelNo = this.NextLabelNo; + this.NextTagNo = -1; + this.NextLabelNo = -1; + if (this.CurTagNo > this.MaxTagNo) + { + this.MaxTagNo = this.CurTagNo; + } + if (this.CurLabelNo < 0) + { + this.CurLabelNo = 0; + } + if (this.CurTagNo >= this.m_Reader.Label[this.CurLabelNo].TagNum) + { + this.Status = PLAYSTAT.END; + this.CurTag = null; + return; + } + if (this.CurTagNo < 0) + { + this.CurTagNo = 0; + } + this.CurTag = this.m_Reader.Tag[this.m_Reader.Label[this.CurLabelNo].TagStart + this.CurTagNo]; + this.TagCallCnt = 0; + } + + // Token: 0x06000288 RID: 648 RVA: 0x00009528 File Offset: 0x00007728 + public List GetNextKsArray() + { + return this.m_NextKsList; + } + + // Token: 0x06000289 RID: 649 RVA: 0x00009530 File Offset: 0x00007730 + internal void ResetNextKs() + { + this.m_NextKsList.Clear(); + } + + // Token: 0x0600028A RID: 650 RVA: 0x00009540 File Offset: 0x00007740 + internal bool IsNextKs() + { + return this.m_NextKsList.Count > 0; + } + + // Token: 0x040001E8 RID: 488 + private TagReader m_Reader; + + // Token: 0x040001E9 RID: 489 + private List m_NextKsList = new List(); + + // Token: 0x040001EA RID: 490 + private int m_nExecWait; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsPlayerConfig.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsPlayerConfig.cs new file mode 100644 index 000000000..6e3f20f4e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsPlayerConfig.cs @@ -0,0 +1,76 @@ +using System; +using UnityEngine; + +namespace Qoo.Ks +{ + // Token: 0x0200003A RID: 58 + public class KsPlayerConfig + { + // Token: 0x060001DF RID: 479 RVA: 0x000082FC File Offset: 0x000064FC + public KsPlayerConfig() + { + this.m_Char = new Vector3[5]; + this.m_Msg = new KsMsgConfig[5]; + } + + // Token: 0x1700004D RID: 77 + // (get) Token: 0x060001E0 RID: 480 RVA: 0x0000831C File Offset: 0x0000651C + // (set) Token: 0x060001E1 RID: 481 RVA: 0x00008324 File Offset: 0x00006524 + public Vector3[] Char + { + get + { + return this.m_Char; + } + set + { + this.m_Char = value; + } + } + + // Token: 0x1700004E RID: 78 + // (get) Token: 0x060001E2 RID: 482 RVA: 0x00008330 File Offset: 0x00006530 + // (set) Token: 0x060001E3 RID: 483 RVA: 0x00008338 File Offset: 0x00006538 + public Vector3 MarkFront { get; set; } + + // Token: 0x1700004F RID: 79 + // (get) Token: 0x060001E4 RID: 484 RVA: 0x00008344 File Offset: 0x00006544 + // (set) Token: 0x060001E5 RID: 485 RVA: 0x0000834C File Offset: 0x0000654C + public Vector3 MarkBack { get; set; } + + // Token: 0x17000050 RID: 80 + // (get) Token: 0x060001E6 RID: 486 RVA: 0x00008358 File Offset: 0x00006558 + // (set) Token: 0x060001E7 RID: 487 RVA: 0x00008360 File Offset: 0x00006560 + public float[] FontSize { get; set; } + + // Token: 0x17000051 RID: 81 + // (get) Token: 0x060001E8 RID: 488 RVA: 0x0000836C File Offset: 0x0000656C + // (set) Token: 0x060001E9 RID: 489 RVA: 0x00008374 File Offset: 0x00006574 + public KsMsgConfig[] Msg + { + get + { + return this.m_Msg; + } + set + { + this.m_Msg = value; + } + } + + // Token: 0x040001A5 RID: 421 + private Vector3[] m_Char; + + // Token: 0x040001A6 RID: 422 + private Vector3 m_MarkFront; + + // Token: 0x040001A7 RID: 423 + private Vector3 m_MarkBack; + + // Token: 0x040001A8 RID: 424 + private float[] m_fFontSize; + + // Token: 0x040001A9 RID: 425 + private KsMsgConfig[] m_Msg; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsScene.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsScene.cs new file mode 100644 index 000000000..b08f23526 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsScene.cs @@ -0,0 +1,881 @@ +using System; +using System.Collections; +using Qoo.Application; +using Qoo.Def; +using Qoo.Game; +using Qoo.Graphics; +using Qoo.Input; +using Qoo.Message; +using Qoo.SoundSystem; + +namespace Qoo.Ks +{ + // Token: 0x0200007D RID: 125 + public class KsScene + { + // Token: 0x1700008A RID: 138 + // (get) Token: 0x06000359 RID: 857 RVA: 0x0000B144 File Offset: 0x00009344 + // (set) Token: 0x0600035A RID: 858 RVA: 0x0000B14C File Offset: 0x0000934C + public UnitySprite KeyWait { get; set; } + + // Token: 0x1700008B RID: 139 + // (get) Token: 0x0600035B RID: 859 RVA: 0x0000B158 File Offset: 0x00009358 + // (set) Token: 0x0600035C RID: 860 RVA: 0x0000B160 File Offset: 0x00009360 + public UnitySprite SkipMark { get; set; } + + // Token: 0x1700008C RID: 140 + // (get) Token: 0x0600035D RID: 861 RVA: 0x0000B16C File Offset: 0x0000936C + // (set) Token: 0x0600035E RID: 862 RVA: 0x0000B174 File Offset: 0x00009374 + public UnitySprite[] GrpList { get; private set; } + + // Token: 0x1700008D RID: 141 + // (get) Token: 0x0600035F RID: 863 RVA: 0x0000B180 File Offset: 0x00009380 + // (set) Token: 0x06000360 RID: 864 RVA: 0x0000B188 File Offset: 0x00009388 + public UnitySprite[] CgList { get; private set; } + + // Token: 0x1700008E RID: 142 + // (get) Token: 0x06000361 RID: 865 RVA: 0x0000B194 File Offset: 0x00009394 + // (set) Token: 0x06000362 RID: 866 RVA: 0x0000B19C File Offset: 0x0000939C + private int m_nSkipFlag { get; set; } + + // Token: 0x06000363 RID: 867 RVA: 0x0000B1A8 File Offset: 0x000093A8 + public bool Init() + { + this.Release(); + this.KeyWait = Man2D.Sprite(string.Empty); + this.KeyWait.SetName("KeyWait"); + this.SkipMark = Man2D.Sprite(string.Empty); + this.SkipMark.SetName("SkipMark"); + this.GrpList = new UnitySprite[8]; + for (int num = 0; num != this.GrpList.Length; num++) + { + this.GrpList[num] = Man2D.Sprite(string.Empty); + if (num >= 1 && num < 6) + { + this.GrpList[num].SetName(string.Format("CHAR{0}", num - 1)); + } + else + { + this.GrpList[num].SetName(((EVSP)num).ToString()); + } + } + Singleton.Instance.FaceSprite = this.GrpList[6]; + this.CgList = new UnitySprite[4]; + for (int num2 = 0; num2 != this.CgList.Length; num2++) + { + this.CgList[num2] = Man2D.Sprite(string.Empty); + this.CgList[num2].SetName(string.Format("CG{0}", num2)); + } + this.m_Scene.Init(); + App.QooSelect.Clear(); + return true; + } + + // Token: 0x06000364 RID: 868 RVA: 0x0000B2F8 File Offset: 0x000094F8 + public void Release() + { + this.m_Draw.Clear(); + if (Singleton.IsReady) + { + Singleton.Instance.RemoveSprite(this.KeyWait); + this.KeyWait = null; + Singleton.Instance.RemoveSprite(this.SkipMark); + this.SkipMark = null; + if (this.GrpList != null) + { + for (int num = 0; num != this.GrpList.Length; num++) + { + Singleton.Instance.RemoveSprite(this.GrpList[num]); + this.GrpList[num] = null; + } + } + if (this.CgList != null) + { + for (int num2 = 0; num2 != this.CgList.Length; num2++) + { + Singleton.Instance.RemoveSprite(this.CgList[num2]); + this.CgList[num2] = null; + } + } + } + } + + // Token: 0x06000365 RID: 869 RVA: 0x0000B3CC File Offset: 0x000095CC + private void InitTex() + { + } + + // Token: 0x06000366 RID: 870 RVA: 0x0000B3D0 File Offset: 0x000095D0 + public void SceneInit() + { + this.m_Scene.Init(); + this.SceneReset(); + } + + // Token: 0x06000367 RID: 871 RVA: 0x0000B3E4 File Offset: 0x000095E4 + public void SceneResetEffect() + { + this.m_Scene.Effect.Sw = SWITCH.NULL; + } + + // Token: 0x06000368 RID: 872 RVA: 0x0000B3F8 File Offset: 0x000095F8 + public void SceneApplyEffect() + { + if (this.m_Scene.Effect.Sw != SWITCH.ON) + { + return; + } + if ((this.m_nSkipFlag & 3) != 0) + { + App.FrameUpdate(true); + return; + } + Effect.ApplyKsEffect(this.m_Scene.Effect.Name, this.m_Scene.Effect.nParam); + KsInput.Pause = false; + } + + // Token: 0x06000369 RID: 873 RVA: 0x0000B45C File Offset: 0x0000965C + public void SceneApply(bool IsMsg, bool IsVoice = true) + { + this.ReadyGrpFile(); + this.m_Scene = this.SceneApplySub(this.m_Scene, IsMsg, IsVoice); + } + + // Token: 0x0600036A RID: 874 RVA: 0x0000B478 File Offset: 0x00009678 + private void ReadyGrpFile() + { + if (this.m_Scene.Bg.Sw == SWITCH.ON && this.m_Scene.Bg.Name.Length > 0) + { + Man2D.ReadyTexture(this.m_Scene.Bg.Name, true); + } + foreach (EVENTSCENE_CG eventscene_CG in this.m_Scene.Cg) + { + if (eventscene_CG.Sw == SWITCH.ON && eventscene_CG.Name.Length > 0) + { + Man2D.ReadyTexture(eventscene_CG.Name, true); + } + } + foreach (EVENTSCENE_OBJ eventscene_OBJ in this.m_Scene.Chr) + { + if (eventscene_OBJ.Sw == SWITCH.ON && eventscene_OBJ.Name.Length > 0) + { + Man2D.ReadyTexture(eventscene_OBJ.Name, true); + } + } + if (this.m_Scene.Face.Sw == SWITCH.ON && this.m_Scene.Face.Name.Length > 0) + { + Man2D.ReadyTexture(this.m_Scene.Face.Name, true); + } + } + + // Token: 0x0600036B RID: 875 RVA: 0x0000B5B8 File Offset: 0x000097B8 + public void SceneReset() + { + this.m_Scene.Reset(); + this.SetSkipFlag(0); + } + + // Token: 0x0600036C RID: 876 RVA: 0x0000B5CC File Offset: 0x000097CC + public IEnumerator Move() + { + int start = App.GetTimeMilli(); + EVENTSCENE scene = new EVENTSCENE(); + scene.Copy(this.m_Scene); + for (int i = 0; i != 4; i++) + { + this.m_Scene.Cg[i].SwMove = SWITCH.NULL; + } + for (;;) + { + bool bCoutinue = false; + if (KsInput.IsTrig) + { + break; + } + float now = (float)(App.GetTimeMilli() - start); + for (int j = 0; j != 4; j++) + { + if (scene.Cg[j].SwMove == SWITCH.ON && scene.Cg[j].Name.Length > 0 && this.MoveCg(ref this.CgList[j], ref scene.Cg[j], now)) + { + bCoutinue = true; + } + } + if (!bCoutinue) + { + break; + } + yield return UnityTask.FrameUpdate(); + } + for (int k = 0; k != 4; k++) + { + this.CgList[k].x = (int)scene.Cg[k].nX; + this.CgList[k].y = (int)scene.Cg[k].nY; + } + yield break; + } + + // Token: 0x0600036D RID: 877 RVA: 0x0000B5E8 File Offset: 0x000097E8 + public void SceneApplyCg(bool IsMove) + { + if (IsMove) + { + if ((this.m_nSkipFlag & 2) == 0 && this.IsMoveCg()) + { + UnityTask.SetSubTask(this.Move()); + } + } + else + { + for (int num = 0; num != 4; num++) + { + this.ResetPosCg(num); + } + } + } + + // Token: 0x0600036E RID: 878 RVA: 0x0000B640 File Offset: 0x00009840 + private bool IsEffect() + { + return this.m_Scene.Effect.Sw == SWITCH.ON && (this.m_nSkipFlag & 3) == 0; + } + + // Token: 0x0600036F RID: 879 RVA: 0x0000B678 File Offset: 0x00009878 + private bool IsMoveCg() + { + for (int num = 0; num != 4; num++) + { + if (this.m_Scene.Cg[num].SwMove == SWITCH.ON) + { + return true; + } + } + return false; + } + + // Token: 0x06000370 RID: 880 RVA: 0x0000B6B4 File Offset: 0x000098B4 + public void Backup() + { + this.BackupData.Scene.Copy(this.m_Scene); + } + + // Token: 0x06000371 RID: 881 RVA: 0x0000B6CC File Offset: 0x000098CC + public void ApplyBackup(EVENTBACKUPDATA data) + { + this.BackupData = data; + this.BackupData.Scene.Face.Sw = ((this.BackupData.Scene.Face.Name.Length <= 0) ? SWITCH.OFF : SWITCH.ON); + this.BackupData.Scene.Bg.Sw = ((this.BackupData.Scene.Bg.Name.Length <= 0) ? SWITCH.OFF : SWITCH.ON); + for (int num = 0; num != this.BackupData.Scene.Cg.Length; num++) + { + this.BackupData.Scene.Cg[num].Sw = ((this.BackupData.Scene.Cg[num].Name.Length <= 0) ? SWITCH.OFF : SWITCH.ON); + } + for (int num2 = 0; num2 != this.BackupData.Scene.Chr.Length; num2++) + { + this.BackupData.Scene.Chr[num2].Sw = ((this.BackupData.Scene.Chr[num2].Name.Length <= 0) ? SWITCH.OFF : SWITCH.ON); + } + this.BackupData.Scene.Bgm.Sw = ((this.BackupData.Scene.Bgm.Name.Length <= 0) ? SWITCH.OFF : SWITCH.ON); + for (int num3 = 0; num3 != this.BackupData.Scene.Se.Length; num3++) + { + this.BackupData.Scene.Se[num3].Sw = ((this.BackupData.Scene.Se[num3].nLoop <= 0 || this.BackupData.Scene.Se[num3].Name.Length <= 0) ? SWITCH.OFF : SWITCH.ON); + } + this.m_Scene.Copy(this.BackupData.Scene); + this.EntryMessage(false, null, null, 0, false); + } + + // Token: 0x06000372 RID: 882 RVA: 0x0000B8FC File Offset: 0x00009AFC + public bool SaveSceneLog(ref SCENELOGDATA log) + { + return this.m_Scene.SaveLog(ref log); + } + + // Token: 0x06000373 RID: 883 RVA: 0x0000B90C File Offset: 0x00009B0C + public void SceneApplyLog(SCENELOGDATA pLog, bool bMsg, bool bAddLog = false) + { + if (!pLog.nExist) + { + return; + } + this.SceneSetLog(pLog, bAddLog); + this.SceneApply(bMsg, false); + if (bMsg) + { + Singleton.Instance.Full(); + } + } + + // Token: 0x06000374 RID: 884 RVA: 0x0000B948 File Offset: 0x00009B48 + public void SceneSetLog(SCENELOGDATA pLog, bool bAddlog) + { + this.m_Scene.Init(); + this.m_Scene.SetLog(pLog, bAddlog); + } + + // Token: 0x06000375 RID: 885 RVA: 0x0000B964 File Offset: 0x00009B64 + public bool UpdateSkipMark() + { + if (KsInput.IsLock && !KsInput.IsJump) + { + if (KsInput.IsSkip) + { + if ("sys_skip_ff".Length > 0) + { + this.UpdateAnimSkipMark("sys_skip_ff", 880, 0); + return true; + } + } + else if (KsInput.IsRewind && "sys_skip_rew".Length > 0) + { + this.UpdateAnimSkipMark("sys_skip_rew", 880, 0); + return true; + } + } + this.ResetSkipMark(); + return true; + } + + // Token: 0x06000376 RID: 886 RVA: 0x0000B9EC File Offset: 0x00009BEC + private void UpdateAnimSkipMark(string idCG, int iX, int iY) + { + if (this.m_nSkipWaitCount < 5) + { + this.m_nSkipWaitCount++; + return; + } + if (!this.SkipMark.IsEqualCg(idCG) || !this.SkipMark.IsEnableUVAnim()) + { + this.SkipMark.SetImage(Singleton.Instance.LoadTexture(idCG)); + this.SkipMark.A = byte.MaxValue; + this.SkipMark.SetPtnNum(4, 2); + this.SkipMark.SetPtnPos(0, 0); + this.SkipMark.SetPos(iX, iY, 910); + this.SkipMark.EnableUVAnim(true); + this.SkipMark.RepeatUVAnim(true); + this.SkipMark.SetUVAnimWait(8); + this.SkipMark.ResetUVAnim(); + } + } + + // Token: 0x06000377 RID: 887 RVA: 0x0000BAB8 File Offset: 0x00009CB8 + public void ResetSkipMark() + { + this.SkipMark.A = 0; + this.m_nSkipWaitCount = 0; + this.SkipMark.EnableUVAnim(false); + this.SkipMark.ResetUVAnim(); + } + + // Token: 0x06000378 RID: 888 RVA: 0x0000BAF0 File Offset: 0x00009CF0 + public int GetSkipFlag() + { + return this.m_nSkipFlag; + } + + // Token: 0x06000379 RID: 889 RVA: 0x0000BAF8 File Offset: 0x00009CF8 + public void SetSkipFlag(int nFlag) + { + this.m_nSkipFlag = nFlag; + } + + // Token: 0x0600037A RID: 890 RVA: 0x0000BB04 File Offset: 0x00009D04 + public void EntryFace(bool bOn, string name = "") + { + this.m_Scene.Face.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Face.Name = name; + } + + // Token: 0x0600037B RID: 891 RVA: 0x0000BB40 File Offset: 0x00009D40 + public void EntryBg(bool bOn, string name = "") + { + this.m_Scene.Bg.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Bg.Name = name; + } + + // Token: 0x0600037C RID: 892 RVA: 0x0000BB7C File Offset: 0x00009D7C + public void EntryCg(bool bOn, int nNo, string name = "", int nX = 0, int nY = 0, int nFromX = 0, int nFromY = 0, int nTime = 0, int nLayer = -1) + { + if (nNo >= 4) + { + Debug.Assert(false, string.Format("指定CG番号が最大数を超えています。({0}>={1})", nNo, 4)); + } + if (nNo < 0 && !bOn) + { + for (int num = 0; num != this.m_Scene.Cg.Length; num++) + { + this.EntryCg(bOn, num, name, nX, nY, nFromX, nFromY, nTime, nLayer); + } + } + else + { + this.m_Scene.Cg[nNo].Set(bOn, name, nX, nY, nFromX, nFromY, nTime, nLayer); + } + } + + // Token: 0x0600037D RID: 893 RVA: 0x0000BC14 File Offset: 0x00009E14 + public void EntryChar(bool bOn, int nNo, string name = "", int nPos = 0) + { + this.m_Scene.Chr[nNo].Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Chr[nNo].Name = name; + this.m_Scene.Chr[nNo].nParam = nPos; + } + + // Token: 0x0600037E RID: 894 RVA: 0x0000BC68 File Offset: 0x00009E68 + public void EntrySelect(int nNo, string name = "", string ksName = "", string labelName = "", int nType = 0, string effectName = "") + { + if (nNo < 0) + { + for (int num = 0; num != this.m_Scene.Select.Length; num++) + { + this.m_Scene.Select[num].Init(); + } + App.QooSelect.Clear(); + } + else + { + this.m_Scene.Select[nNo].Set(name, ksName, labelName, effectName, nType); + for (int i = nNo + 1; i < this.m_Scene.Select.Length; i++) + { + this.m_Scene.Select[i].Init(); + } + App.QooSelect.AddSelect(this.m_Scene.Select); + } + } + + // Token: 0x0600037F RID: 895 RVA: 0x0000BD20 File Offset: 0x00009F20 + public void EntryBgm(bool bOn, string Name = "", int nVol = 100, int nTime = 3000) + { + this.m_Scene.Bgm.Set(bOn, Name, nVol, nTime); + } + + // Token: 0x06000380 RID: 896 RVA: 0x0000BD38 File Offset: 0x00009F38 + public void EntryVoice(bool bOn, string Name = "") + { + this.m_Scene.Voice.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Voice.Name = Name; + } + + // Token: 0x06000381 RID: 897 RVA: 0x0000BD74 File Offset: 0x00009F74 + public void EntrySe(bool bOn, int nNo, string Name = "", int nVol = 100, bool bLoop = false) + { + this.m_Scene.Se[nNo].Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Se[nNo].nLoop = ((!bLoop) ? 0 : 1); + this.m_Scene.Se[nNo].nVolume = nVol; + if (bOn) + { + this.m_Scene.Se[nNo].Name = Name; + } + } + + // Token: 0x06000382 RID: 898 RVA: 0x0000BDF0 File Offset: 0x00009FF0 + public void EntryEffect(bool bOn, string Name = "", int nTime = 0) + { + this.m_Scene.Effect.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Effect.Name = Name; + this.m_Scene.Effect.nParam = nTime; + } + + // Token: 0x06000383 RID: 899 RVA: 0x0000BE3C File Offset: 0x0000A03C + public void EntryMessage(bool bOn, TagData Tag = null, EVENTECENR_NAME Name = null, int nFrameType = 0, bool bAddLog = false) + { + this.m_Scene.Message.Sw = ((!bOn) ? SWITCH.OFF : SWITCH.ON); + this.m_Scene.Message.Tag = Tag; + if (Name == null) + { + this.m_Scene.Message.Name.Init(); + } + else + { + this.m_Scene.Message.Name = Name; + } + this.m_Scene.Message.nFrameType = nFrameType; + this.m_Scene.Message.bAddLog = bAddLog; + } + + // Token: 0x06000384 RID: 900 RVA: 0x0000BECC File Offset: 0x0000A0CC + private EVENTSCENE SceneApplySub(EVENTSCENE Scene, bool bMsg, bool IsVoice = true) + { + if (Scene.Message.Sw == SWITCH.ON && Scene.Message.Tag != null) + { + MsgWnd instance = Singleton.Instance; + instance.ResetMessage(); + instance.SetStyle((MSGWND_STYLE)Scene.Message.nFrameType); + if (bMsg) + { + this.ProcMessageData(Scene.Message.Tag); + } + instance.SetName(Scene.Message.Name.Name); + if (Scene.Face.Name.Length > 0) + { + this.SetDrawFace(Scene.Face.Name); + } + else + { + this.SetDrawFace(null); + } + this.m_Draw.ShowMessage(); + this.m_Draw.DeleteClearMessage(); + } + else if (Scene.Message.Sw == SWITCH.OFF) + { + this.m_Draw.ClearMessage(); + this.SetDrawFace(null); + } + if (Scene.Face.Sw == SWITCH.OFF) + { + this.SetDrawFace(null); + } + if (Scene.Bg.Sw == SWITCH.ON && Scene.Bg.Name.Length > 0) + { + this.SetBg(Scene.Bg.Name); + } + else if (Scene.Bg.Sw == SWITCH.OFF) + { + this.SetBg(null); + } + for (int i = 0; i < Scene.Cg.Length; i++) + { + if (Scene.Cg[i].Sw == SWITCH.ON && Scene.Cg[i].Name.Length > 0) + { + this.SetCg(i, Scene.Cg[i].Name, (int)Scene.Cg[i].nFromX, (int)Scene.Cg[i].nFromY, this.GetCgLayerZ(Scene.Cg[i].nLayer)); + } + else if (Scene.Cg[i].Sw == SWITCH.OFF) + { + this.SetCg(i, null, 0, 0, -1); + } + } + for (int j = 0; j < Scene.Chr.Length; j++) + { + if (Scene.Chr[j].Sw == SWITCH.ON && Scene.Chr[j].Name.Length > 0) + { + this.SetChar(j, Scene.Chr[j].Name, Scene.Chr[j].nParam); + } + else if (Scene.Chr[j].Sw == SWITCH.OFF) + { + this.SetChar(j, null, -1); + } + } + App.QooSelect.AddSelect(Scene.Select); + if (Scene.Bgm.Sw == SWITCH.ON) + { + float fVol = (float)Scene.Bgm.nVolume / 100f; + if (Scene.Bgm.Name.Length > 0) + { + Sound.BgmPlay(Scene.Bgm.Name, fVol, Scene.Bgm.nTime, Scene.Bgm.nTime); + } + } + else if (Scene.Bgm.Sw == SWITCH.OFF) + { + Sound.BgmStop(Scene.Bgm.nTime); + } + bool flag = (this.m_nSkipFlag & 2) != 0; + bool flag2 = (this.m_nSkipFlag & 1) != 0; + for (int k = 0; k < Scene.Se.Length; k++) + { + bool flag3 = Scene.Se[k].nLoop == 1; + if (Scene.Se[k].Sw == SWITCH.ON && Scene.Se[k].Name.Length > 0 && (!flag || flag3)) + { + float vol = (float)Scene.Se[k].nVolume / 100f; + Sound.SeSlotPlay(k, Scene.Se[k].Name, flag3, vol); + } + else if (Scene.Se[k].Sw == SWITCH.OFF) + { + Sound.SeSlotStop(k); + Scene.Se[k].Name = string.Empty; + } + } + if (Scene.Voice.Sw == SWITCH.ON && bMsg) + { + bool flag4 = flag || flag2; + if (Scene.Voice.Name.Length > 0 && !flag4 && IsVoice) + { + Sound.VoicePlay(Scene.Voice.Name, 1f); + } + } + else if (Scene.Voice.Sw == SWITCH.OFF) + { + Sound.VoiceStop(); + } + if (Scene.Message.Sw == SWITCH.ON && Scene.Message.bAddLog) + { + this.ApplyBacklog(Scene); + } + this.m_Draw.Run(); + return Scene; + } + + // Token: 0x06000385 RID: 901 RVA: 0x0000C37C File Offset: 0x0000A57C + public void SceneApply_Message(bool IsMesWndClear = true) + { + if (this.m_Scene.Message.Sw == SWITCH.ON && this.m_Scene.Message.bAddLog) + { + Singleton.Instance.SetStyle((MSGWND_STYLE)this.m_Scene.Message.nFrameType); + this.SetMessage(null); + this.ApplyBacklog(this.m_Scene); + } + Singleton.Instance.ResetMessage(); + if (IsMesWndClear && Singleton.Instance.IsVisible) + { + this.m_Draw.ClearMessage(); + this.SetDrawFace(null); + } + } + + // Token: 0x06000386 RID: 902 RVA: 0x0000C414 File Offset: 0x0000A614 + public void SetMessage(TagData tag = null) + { + Singleton.Instance.ResetMessage(); + this.ProcMessageData((tag == null) ? this.m_Scene.Message.Tag : tag); + } + + // Token: 0x06000387 RID: 903 RVA: 0x0000C450 File Offset: 0x0000A650 + private void ApplyBacklog(EVENTSCENE Scene_) + { + string text = string.Empty; + for (int num = 0; num != Scene_.Message.Name.Name.Length; num++) + { + if (text.Length > 0 && Scene_.Message.Name.Name[num].Length > 0) + { + text += "&"; + } + if (Scene_.Message.Name.Name[num].Length > 0) + { + text += Scene_.Message.Name.Name[num]; + } + } + string voice = string.Empty; + if (Scene_.Voice.Sw == SWITCH.ON) + { + voice = Scene_.Voice.Name; + } + string message = Singleton.Instance.Message; + App.QooBackLog.AddMessage(message, text, voice); + GameData.LastMessage = message; + } + + // Token: 0x06000388 RID: 904 RVA: 0x0000C534 File Offset: 0x0000A734 + private void SetBg(string name) + { + UnitySprite sp = this.GrpList[0]; + if (name == null || name.Length == 0) + { + this.m_Draw.AddEraseObject(sp); + } + else + { + this.m_Draw.AddDrawObject(sp, 0, 0, 710, name, byte.MaxValue); + } + } + + // Token: 0x06000389 RID: 905 RVA: 0x0000C588 File Offset: 0x0000A788 + private void SetCg(int slot, string name, int x = 0, int y = 0, int z = -1) + { + UnitySprite sp = this.CgList[slot]; + if (name == null || name.Length == 0) + { + this.m_Draw.AddEraseObject(sp); + } + else + { + this.m_Draw.AddDrawObject(sp, x, y, z, name, byte.MaxValue); + } + } + + // Token: 0x0600038A RID: 906 RVA: 0x0000C5D8 File Offset: 0x0000A7D8 + private void SetChar(int no, string name, int pos) + { + UnitySprite sp = this.GrpList[1 + no]; + if (name == null || name.Length == 0) + { + this.m_Draw.AddEraseObject(sp); + } + else if (pos > 0) + { + this.m_Draw.AddDrawObject(sp, KsDef.CharPos[pos].x, KsDef.CharPos[pos].y, this.ChrPosIndexToZ(pos), name, byte.MaxValue); + } + else + { + this.m_Draw.AddDrawObjectC(sp, this.ChrPosIndexToZ(pos), name, byte.MaxValue); + } + } + + // Token: 0x0600038B RID: 907 RVA: 0x0000C668 File Offset: 0x0000A868 + public void SetDrawFace(string name) + { + UnitySprite sp = this.GrpList[6]; + if (name == null || name.Length == 0) + { + this.m_Draw.AddEraseObject(sp); + this.m_bDrawFace = false; + } + else + { + this.m_bDrawFace = true; + byte a = byte.MaxValue; + if (!SysData.IsDrawFace()) + { + a = 0; + } + MSGWND_STYLE_DATA data = MessageStyle.GetData(Singleton.Instance.Style); + this.m_Draw.AddDrawObject(sp, data.posFace.x, data.posFace.y, data.posFace.z, name, a); + } + } + + // Token: 0x0600038C RID: 908 RVA: 0x0000C700 File Offset: 0x0000A900 + public void RedrawFace(bool bDraw = true) + { + UnitySprite unitySprite = this.GrpList[6]; + if (bDraw && SysData.IsDrawFace()) + { + if (this.m_bDrawFace) + { + unitySprite.A = byte.MaxValue; + } + else + { + unitySprite.A = 0; + } + } + else + { + unitySprite.A = 0; + } + } + + // Token: 0x0600038D RID: 909 RVA: 0x0000C754 File Offset: 0x0000A954 + public int ChrPosIndexToZ(int nPos) + { + switch (nPos) + { + case 1: + return 740; + case 2: + return 730; + case 3: + return 760; + case 4: + return 750; + default: + return 770; + } + } + + // Token: 0x0600038E RID: 910 RVA: 0x0000C7A0 File Offset: 0x0000A9A0 + public int GetCgLayerZ(int no) + { + int result = 780; + switch (no) + { + case 1: + result = 715; + break; + case 2: + result = 720; + break; + case 3: + result = 725; + break; + case 4: + result = 735; + break; + case 5: + result = 745; + break; + case 6: + result = 755; + break; + case 7: + result = 765; + break; + case 8: + result = 775; + break; + case 9: + result = 785; + break; + case 10: + result = 790; + break; + case 11: + result = 795; + break; + case 12: + result = 905; + break; + } + return result; + } + + // Token: 0x0600038F RID: 911 RVA: 0x0000C878 File Offset: 0x0000AA78 + private static float InterScalar(float fV0, float fV1, float fParam) + { + return (fV1 - fV0) * fParam + fV0; + } + + // Token: 0x06000390 RID: 912 RVA: 0x0000C884 File Offset: 0x0000AA84 + private void ResetPosCg(int i) + { + this.m_Draw.AddDrawObject(this.CgList[i], (int)this.m_Scene.Cg[i].nX, (int)this.m_Scene.Cg[i].nY); + this.m_Scene.Cg[i].SwMove = SWITCH.NULL; + } + + // Token: 0x06000391 RID: 913 RVA: 0x0000C8DC File Offset: 0x0000AADC + private bool MoveCg(ref UnitySprite sp, ref EVENTSCENE_CG cg, float now) + { + float num = (float)cg.nTime; + if (num != 0f && now < num) + { + float fParam = now / num; + sp.x = (int)KsScene.InterScalar((float)cg.nFromX, (float)cg.nX, fParam); + sp.y = (int)KsScene.InterScalar((float)cg.nFromY, (float)cg.nY, fParam); + return true; + } + sp.x = (int)cg.nX; + sp.y = (int)cg.nY; + cg.SwMove = SWITCH.NULL; + return false; + } + + // Token: 0x06000392 RID: 914 RVA: 0x0000C96C File Offset: 0x0000AB6C + private void ProcMessageData(TagData Tag) + { + Singleton.Instance.SetSize(MSGFONTSIZE.NORMAL); + for (int i = 0; i < Tag.Message.Count; i++) + { + MsgTagData msgTagData = Tag.Message[i]; + if (msgTagData.IsMessage()) + { + Singleton.Instance.AddMessage(msgTagData.Message); + } + else + { + KsTagTable.GetInfo(msgTagData.ID).RunMessage(msgTagData); + } + } + } + + // Token: 0x06000393 RID: 915 RVA: 0x0000C9E0 File Offset: 0x0000ABE0 + internal int GetSelectNum() + { + return App.QooSelect.SelectAr.Count; + } + + // Token: 0x06000394 RID: 916 RVA: 0x0000C9F4 File Offset: 0x0000ABF4 + internal bool IsEntrySelect(string szSelect, string szKs, string szLabel) + { + return App.QooSelect.IsEntry(szSelect, szKs, szLabel); + } + + // Token: 0x0400026A RID: 618 + public EVENTSCENE m_Scene = new EVENTSCENE(); + + // Token: 0x0400026B RID: 619 + private KsSceneDrawObject m_Draw = new KsSceneDrawObject(); + + // Token: 0x0400026C RID: 620 + public EVENTBACKUPDATA BackupData = new EVENTBACKUPDATA(); + + // Token: 0x0400026D RID: 621 + private bool m_bDrawFace; + + // Token: 0x0400026E RID: 622 + private int m_nSkipWaitCount; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsSceneDrawObject.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsSceneDrawObject.cs new file mode 100644 index 000000000..1c281e3a1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsSceneDrawObject.cs @@ -0,0 +1,262 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Qoo.Ks +{ + // Token: 0x02000080 RID: 128 + public class KsSceneDrawObject + { + // Token: 0x06000396 RID: 918 RVA: 0x0000CA18 File Offset: 0x0000AC18 + public bool Clear() + { + this.m_DrawList.Clear(); + this.m_isClearMessage = false; + this.m_isShowMessage = false; + return true; + } + + // Token: 0x06000397 RID: 919 RVA: 0x0000CA34 File Offset: 0x0000AC34 + public void AddDrawObject(UnitySprite sp, int x, int y, int z, string name, byte a = 255) + { + this.Add(new SCENE_DRAW_OBJECT + { + com = DRAW_COMMAND.DRAW, + sp = sp, + isCenter = false, + x = x, + y = y, + z = z, + a = a, + name = name, + tex = Man2D.Texture(name) + }); + } + + // Token: 0x06000398 RID: 920 RVA: 0x0000CAA4 File Offset: 0x0000ACA4 + public void AddDrawObjectC(UnitySprite sp, int z, string name, byte a = 255) + { + this.Add(new SCENE_DRAW_OBJECT + { + com = DRAW_COMMAND.DRAW, + sp = sp, + isCenter = true, + z = z, + a = a, + name = name, + tex = Man2D.Texture(name) + }); + } + + // Token: 0x06000399 RID: 921 RVA: 0x0000CB00 File Offset: 0x0000AD00 + public void AddDrawObject(UnitySprite sp, int x, int y) + { + this.Add(new SCENE_DRAW_OBJECT + { + com = DRAW_COMMAND.DRAW_NOTEX, + sp = sp, + isCenter = false, + x = x, + y = y, + tex = null + }); + } + + // Token: 0x0600039A RID: 922 RVA: 0x0000CB4C File Offset: 0x0000AD4C + public void AddDrawObject_TexOnly(UnitySprite sp, string name) + { + this.Add(new SCENE_DRAW_OBJECT + { + com = DRAW_COMMAND.SETTEX, + sp = sp, + isCenter = false, + name = name, + tex = Man2D.Texture(name) + }); + } + + // Token: 0x0600039B RID: 923 RVA: 0x0000CB98 File Offset: 0x0000AD98 + public void AddEraseObject(UnitySprite sp) + { + this.Add(new SCENE_DRAW_OBJECT + { + com = DRAW_COMMAND.ERASE, + sp = sp + }); + } + + // Token: 0x0600039C RID: 924 RVA: 0x0000CBC4 File Offset: 0x0000ADC4 + public void ClearMessage() + { + this.m_isClearMessage = true; + } + + // Token: 0x0600039D RID: 925 RVA: 0x0000CBD0 File Offset: 0x0000ADD0 + public void DeleteClearMessage() + { + this.m_isClearMessage = false; + } + + // Token: 0x0600039E RID: 926 RVA: 0x0000CBDC File Offset: 0x0000ADDC + public void ShowMessage() + { + this.m_isShowMessage = true; + } + + // Token: 0x0600039F RID: 927 RVA: 0x0000CBE8 File Offset: 0x0000ADE8 + public void DeleteShowMessage() + { + this.m_isShowMessage = false; + } + + // Token: 0x060003A0 RID: 928 RVA: 0x0000CBF4 File Offset: 0x0000ADF4 + public void Run() + { + if (this.m_DrawList.Count > 0 || this.m_isClearMessage || this.m_isShowMessage) + { + UnityTask.SetSubTask(this.OnTask()); + } + } + + // Token: 0x060003A1 RID: 929 RVA: 0x0000CC2C File Offset: 0x0000AE2C + private void Add(SCENE_DRAW_OBJECT obj) + { + this.m_DrawList.Add(obj); + } + + // Token: 0x060003A2 RID: 930 RVA: 0x0000CC3C File Offset: 0x0000AE3C + private IEnumerator OnTask() + { + foreach (SCENE_DRAW_OBJECT item in this.m_DrawList) + { + bool IsTexWait = false; + switch (item.com) + { + case DRAW_COMMAND.DRAW: + IsTexWait = true; + break; + case DRAW_COMMAND.SETTEX: + IsTexWait = true; + break; + } + if (IsTexWait && item.name != null && item.name.Length > 0) + { + while (!Singleton.Instance.IsUseTextue(item.name)) + { + yield return 0; + } + } + } + foreach (SCENE_DRAW_OBJECT item2 in this.m_DrawList) + { + bool IsTex = false; + bool IsAlpha = false; + bool IsSetPos = false; + switch (item2.com) + { + case DRAW_COMMAND.DRAW: + IsTex = true; + IsSetPos = true; + IsAlpha = true; + break; + case DRAW_COMMAND.DRAW_NOTEX: + this.SetPosXY(item2); + continue; + case DRAW_COMMAND.ERASE: + this.Clear(item2); + continue; + case DRAW_COMMAND.SETTEX: + IsTex = true; + break; + } + if (IsTex) + { + this.SetImage(item2); + } + if (IsAlpha) + { + this.SetAlpha(item2); + } + if (IsSetPos) + { + if (item2.isCenter) + { + this.SetPosCenter(item2); + } + else + { + this.SetPos(item2); + } + } + } + this.m_DrawList.Clear(); + if (this.m_isShowMessage) + { + Singleton.Instance.Show(true); + } + else if (this.m_isClearMessage) + { + Singleton.Instance.ResetMessage(); + Singleton.Instance.Show(false); + } + this.m_isClearMessage = false; + this.m_isShowMessage = false; + yield return 0; + yield break; + } + + // Token: 0x060003A3 RID: 931 RVA: 0x0000CC58 File Offset: 0x0000AE58 + private void Clear(SCENE_DRAW_OBJECT item) + { + item.sp.SetImage(null); + item.sp.A = 0; + } + + // Token: 0x060003A4 RID: 932 RVA: 0x0000CC74 File Offset: 0x0000AE74 + private void SetImage(SCENE_DRAW_OBJECT item) + { + if (item.tex == item.sp.tex) + { + item.tex.DecCount(); + } + item.sp.SetImage(item.tex); + } + + // Token: 0x060003A5 RID: 933 RVA: 0x0000CCB0 File Offset: 0x0000AEB0 + private void SetAlpha(SCENE_DRAW_OBJECT item) + { + item.sp.A = item.a; + } + + // Token: 0x060003A6 RID: 934 RVA: 0x0000CCC8 File Offset: 0x0000AEC8 + private void SetPos(SCENE_DRAW_OBJECT item) + { + item.sp.x = item.x; + item.sp.y = item.y; + item.sp.z = item.z; + } + + // Token: 0x060003A7 RID: 935 RVA: 0x0000CD04 File Offset: 0x0000AF04 + private void SetPosCenter(SCENE_DRAW_OBJECT item) + { + item.sp.SetCenterPosH(); + item.sp.z = item.z; + } + + // Token: 0x060003A8 RID: 936 RVA: 0x0000CD28 File Offset: 0x0000AF28 + private void SetPosXY(SCENE_DRAW_OBJECT item) + { + item.sp.x = item.x; + item.sp.y = item.y; + } + + // Token: 0x04000282 RID: 642 + private List m_DrawList = new List(); + + // Token: 0x04000283 RID: 643 + private bool m_isClearMessage; + + // Token: 0x04000284 RID: 644 + private bool m_isShowMessage; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo.cs new file mode 100644 index 000000000..9e99ad94c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo.cs @@ -0,0 +1,107 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000047 RID: 71 + public abstract class KsTagInfo + { + // Token: 0x0600028B RID: 651 RVA: 0x00009550 File Offset: 0x00007750 + public KsTagInfo() + { + } + + // Token: 0x0600028C RID: 652 RVA: 0x00009558 File Offset: 0x00007758 + public virtual KSID GetId() + { + return KSID.UNKNOWN; + } + + // Token: 0x0600028D RID: 653 RVA: 0x0000955C File Offset: 0x0000775C + public virtual bool IsMessage() + { + return false; + } + + // Token: 0x0600028E RID: 654 RVA: 0x00009560 File Offset: 0x00007760 + public virtual bool IsJumpBreak(bool bFront = true, bool bMemoryMode = false) + { + return false; + } + + // Token: 0x0600028F RID: 655 RVA: 0x00009564 File Offset: 0x00007764 + public virtual bool IsJumpTag() + { + return false; + } + + // Token: 0x06000290 RID: 656 RVA: 0x00009568 File Offset: 0x00007768 + public virtual bool IsCallRet() + { + return false; + } + + // Token: 0x06000291 RID: 657 RVA: 0x0000956C File Offset: 0x0000776C + public virtual bool IsRevContinue() + { + return true; + } + + // Token: 0x06000292 RID: 658 RVA: 0x00009570 File Offset: 0x00007770 + public virtual bool IsSceneApply() + { + return false; + } + + // Token: 0x06000293 RID: 659 RVA: 0x00009574 File Offset: 0x00007774 + public virtual bool IsRevSceneApply() + { + return false; + } + + // Token: 0x06000294 RID: 660 RVA: 0x00009578 File Offset: 0x00007778 + public virtual bool IsApplyLog() + { + return true; + } + + // Token: 0x06000295 RID: 661 RVA: 0x0000957C File Offset: 0x0000777C + public virtual bool IsJumpEffectResetTag() + { + return false; + } + + // Token: 0x06000296 RID: 662 RVA: 0x00009580 File Offset: 0x00007780 + public virtual bool IsUserSnapShot() + { + return false; + } + + // Token: 0x06000297 RID: 663 RVA: 0x00009584 File Offset: 0x00007784 + public virtual bool IsEnabelConnect() + { + return true; + } + + // Token: 0x06000298 RID: 664 RVA: 0x00009588 File Offset: 0x00007788 + protected void CheckEffectParam(EventPlayer player, TagData tag) + { + int paramInt = tag.GetParamInt(KSID.TIME, 500); + string paramString = tag.GetParamString(KSID.EFFECT, string.Empty); + player.Scene.EntryEffect(true, paramString, paramInt); + } + + // Token: 0x06000299 RID: 665 RVA: 0x000095C0 File Offset: 0x000077C0 + public virtual TAG_RESULT Run(EventPlayer player, TagData tag) + { + Debug.Assert(false, string.Format("タグの実装がありません:class={0}\n", this.GetId().ToString())); + return TAG_RESULT.CONTINUE_EXIT; + } + + // Token: 0x0600029A RID: 666 RVA: 0x000095E4 File Offset: 0x000077E4 + public virtual bool RunMessage(MsgTagData tag) + { + Debug.Assert(false, string.Format("メッセージ内タグの実装がされていません。:class={0}\n", this.GetId().ToString())); + return false; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ADD.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ADD.cs new file mode 100644 index 000000000..7657bd7e2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ADD.cs @@ -0,0 +1,29 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x02000074 RID: 116 + internal class KsTagInfo_ADD : KsTagInfo + { + // Token: 0x06000343 RID: 835 RVA: 0x0000AC5C File Offset: 0x00008E5C + public override KSID GetId() + { + return KSID.ADD; + } + + // Token: 0x06000344 RID: 836 RVA: 0x0000AC60 File Offset: 0x00008E60 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.IsParamLock) + { + return TAG_RESULT.NEXT; + } + string paramString = tag.GetParamString(KSID.VALUE, string.Empty); + string paramString2 = tag.GetParamString(KSID.INDEX, string.Empty); + string paramString3 = tag.GetParamString(KSID.PARAM, string.Empty); + GameData.AddParam(paramString, paramString2, paramString3); + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ANIMATION.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ANIMATION.cs new file mode 100644 index 000000000..8e62f1f20 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ANIMATION.cs @@ -0,0 +1,39 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200005E RID: 94 + internal class KsTagInfo_ANIMATION : KsTagInfo + { + // Token: 0x060002E8 RID: 744 RVA: 0x0000A244 File Offset: 0x00008444 + public override KSID GetId() + { + return KSID.ANIMATION; + } + + // Token: 0x060002E9 RID: 745 RVA: 0x0000A248 File Offset: 0x00008448 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002EA RID: 746 RVA: 0x0000A24C File Offset: 0x0000844C + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.RestoreOn) + { + return TAG_RESULT.NEXT; + } + int paramInt = tag.GetParamInt(KSID.POSX, 0); + int paramInt2 = tag.GetParamInt(KSID.POSY, 0); + ParamData param; + if ((param = tag.GetParam(KSID.NAME)) != null) + { + int num = paramInt2 << 16 & 65535; + num |= (paramInt & -65536); + player.Scene.EntryEffect(true, param.Param, num); + } + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BACKLOG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BACKLOG.cs new file mode 100644 index 000000000..702dab8cd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BACKLOG.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000049 RID: 73 + internal class KsTagInfo_BACKLOG : KsTagInfo_MESSAGE + { + // Token: 0x060002A4 RID: 676 RVA: 0x00009864 File Offset: 0x00007A64 + public KsTagInfo_BACKLOG() + { + base.IsSilent = true; + } + + // Token: 0x060002A5 RID: 677 RVA: 0x00009874 File Offset: 0x00007A74 + public override KSID GetId() + { + return KSID.BACKLOG; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BGIMAGE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BGIMAGE.cs new file mode 100644 index 000000000..b1e85d053 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BGIMAGE.cs @@ -0,0 +1,38 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x0200004B RID: 75 + internal class KsTagInfo_BGIMAGE : KsTagInfo + { + // Token: 0x060002AC RID: 684 RVA: 0x000098CC File Offset: 0x00007ACC + public override KSID GetId() + { + return KSID.BGIMAGE; + } + + // Token: 0x060002AD RID: 685 RVA: 0x000098D0 File Offset: 0x00007AD0 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002AE RID: 686 RVA: 0x000098D4 File Offset: 0x00007AD4 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + ParamData param; + if ((param = tag.GetParam(KSID.FILE)) != null) + { + player.Scene.EntryBg(true, param.Param); + SysData.SetReadCG(param.Param); + } + else + { + player.Scene.EntryBg(false, string.Empty); + } + base.CheckEffectParam(player, tag); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BGM.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BGM.cs new file mode 100644 index 000000000..93d0aaa2e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BGM.cs @@ -0,0 +1,39 @@ +using System; +using Qoo.SoundSystem; + +namespace Qoo.Ks +{ + // Token: 0x02000057 RID: 87 + internal class KsTagInfo_BGM : KsTagInfo + { + // Token: 0x060002CE RID: 718 RVA: 0x00009CDC File Offset: 0x00007EDC + public override KSID GetId() + { + return KSID.BGM; + } + + // Token: 0x060002CF RID: 719 RVA: 0x00009CE0 File Offset: 0x00007EE0 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002D0 RID: 720 RVA: 0x00009CE4 File Offset: 0x00007EE4 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + int num = (!Sound.BgmIsPlay()) ? 0 : 3000; + num = tag.GetParamInt(KSID.TIME, num); + int paramInt = tag.GetParamInt(KSID.VOLUME, 100); + ParamData param; + if ((param = tag.GetParam(KSID.FILE)) != null) + { + player.Scene.EntryBgm(true, param.Param, paramInt, num); + } + else + { + player.Scene.EntryBgm(false, string.Empty, paramInt, num); + } + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BR.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BR.cs new file mode 100644 index 000000000..8e5ef28ef --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_BR.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000076 RID: 118 + internal class KsTagInfo_BR : KsTagInfo + { + // Token: 0x06000349 RID: 841 RVA: 0x0000ACF0 File Offset: 0x00008EF0 + public override KSID GetId() + { + return KSID.BR; + } + + // Token: 0x0600034A RID: 842 RVA: 0x0000ACF4 File Offset: 0x00008EF4 + public override bool RunMessage(MsgTagData tag) + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CALL.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CALL.cs new file mode 100644 index 000000000..7f1ab16d9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CALL.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000065 RID: 101 + internal class KsTagInfo_CALL : KsTagInfo_NEXT + { + // Token: 0x06000305 RID: 773 RVA: 0x0000A744 File Offset: 0x00008944 + public override KSID GetId() + { + return KSID.CALL; + } + + // Token: 0x06000306 RID: 774 RVA: 0x0000A748 File Offset: 0x00008948 + public override bool IsCallRet() + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG.cs new file mode 100644 index 000000000..45fbe78f9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG.cs @@ -0,0 +1,59 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x02000052 RID: 82 + internal class KsTagInfo_CG : KsTagInfo + { + // Token: 0x060002BF RID: 703 RVA: 0x00009B58 File Offset: 0x00007D58 + public KsTagInfo_CG() + { + this.CgNo = -1; + } + + // Token: 0x17000087 RID: 135 + // (get) Token: 0x060002C0 RID: 704 RVA: 0x00009B68 File Offset: 0x00007D68 + // (set) Token: 0x060002C1 RID: 705 RVA: 0x00009B70 File Offset: 0x00007D70 + protected int CgNo { get; set; } + + // Token: 0x060002C2 RID: 706 RVA: 0x00009B7C File Offset: 0x00007D7C + public override KSID GetId() + { + return KSID.CG; + } + + // Token: 0x060002C3 RID: 707 RVA: 0x00009B80 File Offset: 0x00007D80 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002C4 RID: 708 RVA: 0x00009B84 File Offset: 0x00007D84 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + int paramInt = tag.GetParamInt(KSID.LAYER, -1); + int num = (int)((float)tag.GetParamInt(KSID.POSX, 0)); + int num2 = (int)((float)tag.GetParamInt(KSID.POSY, 0)); + int num3 = (int)((float)tag.GetParamInt(KSID.SX, num)); + int num4 = (int)((float)tag.GetParamInt(KSID.SY, num2)); + num = (int)((float)num * 2f); + num2 = (int)((float)num2 * 2f); + num3 = (int)((float)num3 * 2f); + num4 = (int)((float)num4 * 2f); + int paramInt2 = tag.GetParamInt(KSID.TIME, 500); + ParamData param; + if ((param = tag.GetParam(KSID.FILE)) != null) + { + player.Scene.EntryCg(true, (this.CgNo == -1) ? 0 : this.CgNo, param.Param, num, num2, num3, num4, paramInt2, paramInt); + SysData.SetReadCG(param.Param); + } + else + { + player.Scene.EntryCg(false, this.CgNo, string.Empty, 0, 0, 0, 0, 0, -1); + } + base.CheckEffectParam(player, tag); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG1.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG1.cs new file mode 100644 index 000000000..bd16b4188 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG1.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000053 RID: 83 + internal class KsTagInfo_CG1 : KsTagInfo_CG + { + // Token: 0x060002C5 RID: 709 RVA: 0x00009C84 File Offset: 0x00007E84 + public KsTagInfo_CG1() + { + base.CgNo = 0; + } + + // Token: 0x060002C6 RID: 710 RVA: 0x00009C94 File Offset: 0x00007E94 + public override KSID GetId() + { + return KSID.CG1; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG2.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG2.cs new file mode 100644 index 000000000..cfacedb84 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG2.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000054 RID: 84 + internal class KsTagInfo_CG2 : KsTagInfo_CG + { + // Token: 0x060002C7 RID: 711 RVA: 0x00009C98 File Offset: 0x00007E98 + public KsTagInfo_CG2() + { + base.CgNo = 1; + } + + // Token: 0x060002C8 RID: 712 RVA: 0x00009CA8 File Offset: 0x00007EA8 + public override KSID GetId() + { + return KSID.CG2; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG3.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG3.cs new file mode 100644 index 000000000..1847c4861 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG3.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000055 RID: 85 + internal class KsTagInfo_CG3 : KsTagInfo_CG + { + // Token: 0x060002C9 RID: 713 RVA: 0x00009CAC File Offset: 0x00007EAC + public KsTagInfo_CG3() + { + base.CgNo = 2; + } + + // Token: 0x060002CA RID: 714 RVA: 0x00009CBC File Offset: 0x00007EBC + public override KSID GetId() + { + return KSID.CG3; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG4.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG4.cs new file mode 100644 index 000000000..d942809a6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CG4.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000056 RID: 86 + internal class KsTagInfo_CG4 : KsTagInfo_CG + { + // Token: 0x060002CB RID: 715 RVA: 0x00009CC0 File Offset: 0x00007EC0 + public KsTagInfo_CG4() + { + base.CgNo = 3; + } + + // Token: 0x060002CC RID: 716 RVA: 0x00009CD0 File Offset: 0x00007ED0 + public override KSID GetId() + { + return KSID.CG4; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA.cs new file mode 100644 index 000000000..c510e775e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA.cs @@ -0,0 +1,79 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200004C RID: 76 + internal class KsTagInfo_CHARA : KsTagInfo + { + // Token: 0x060002AF RID: 687 RVA: 0x00009930 File Offset: 0x00007B30 + public KsTagInfo_CHARA() + { + this.CharNo = -1; + } + + // Token: 0x17000086 RID: 134 + // (get) Token: 0x060002B0 RID: 688 RVA: 0x00009940 File Offset: 0x00007B40 + // (set) Token: 0x060002B1 RID: 689 RVA: 0x00009948 File Offset: 0x00007B48 + protected int CharNo { get; set; } + + // Token: 0x060002B2 RID: 690 RVA: 0x00009954 File Offset: 0x00007B54 + public override KSID GetId() + { + return KSID.CHARA; + } + + // Token: 0x060002B3 RID: 691 RVA: 0x00009958 File Offset: 0x00007B58 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002B4 RID: 692 RVA: 0x0000995C File Offset: 0x00007B5C + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + int nPos = 0; + ParamData param; + if ((param = tag.GetParam(KSID.POS)) != null) + { + string text = param.Param.ToLower(); + switch (text) + { + case "center": + nPos = 0; + goto IL_F3; + case "left": + nPos = 1; + goto IL_F3; + case "right": + nPos = 2; + goto IL_F3; + case "left_center": + nPos = 3; + goto IL_F3; + case "right_center": + nPos = 4; + goto IL_F3; + } + Debug.Print(string.Format("CHARA TAG PARAM ERROR:POS={0}\n", param.Param.ToLower())); + } + IL_F3: + if ((param = tag.GetParam(KSID.FILE)) != null) + { + player.Scene.EntryChar(true, (this.CharNo >= 0) ? this.CharNo : 0, param.Param, nPos); + } + else if (this.CharNo < 0) + { + for (int i = 0; i < 5; i++) + { + player.Scene.EntryChar(false, i, string.Empty, 0); + } + } + else + { + player.Scene.EntryChar(false, this.CharNo, string.Empty, 0); + } + base.CheckEffectParam(player, tag); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA1.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA1.cs new file mode 100644 index 000000000..161274667 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA1.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200004D RID: 77 + internal class KsTagInfo_CHARA1 : KsTagInfo_CHARA + { + // Token: 0x060002B5 RID: 693 RVA: 0x00009AF4 File Offset: 0x00007CF4 + public KsTagInfo_CHARA1() + { + base.CharNo = 0; + } + + // Token: 0x060002B6 RID: 694 RVA: 0x00009B04 File Offset: 0x00007D04 + public override KSID GetId() + { + return KSID.CHARA1; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA2.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA2.cs new file mode 100644 index 000000000..2a8c08cb4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA2.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200004E RID: 78 + internal class KsTagInfo_CHARA2 : KsTagInfo_CHARA + { + // Token: 0x060002B7 RID: 695 RVA: 0x00009B08 File Offset: 0x00007D08 + public KsTagInfo_CHARA2() + { + base.CharNo = 1; + } + + // Token: 0x060002B8 RID: 696 RVA: 0x00009B18 File Offset: 0x00007D18 + public override KSID GetId() + { + return KSID.CHARA2; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA3.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA3.cs new file mode 100644 index 000000000..7c10b43d4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA3.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200004F RID: 79 + internal class KsTagInfo_CHARA3 : KsTagInfo_CHARA + { + // Token: 0x060002B9 RID: 697 RVA: 0x00009B1C File Offset: 0x00007D1C + public KsTagInfo_CHARA3() + { + base.CharNo = 2; + } + + // Token: 0x060002BA RID: 698 RVA: 0x00009B2C File Offset: 0x00007D2C + public override KSID GetId() + { + return KSID.CHARA3; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA4.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA4.cs new file mode 100644 index 000000000..a91b72eea --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA4.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000050 RID: 80 + internal class KsTagInfo_CHARA4 : KsTagInfo_CHARA + { + // Token: 0x060002BB RID: 699 RVA: 0x00009B30 File Offset: 0x00007D30 + public KsTagInfo_CHARA4() + { + base.CharNo = 3; + } + + // Token: 0x060002BC RID: 700 RVA: 0x00009B40 File Offset: 0x00007D40 + public override KSID GetId() + { + return KSID.CHARA4; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA5.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA5.cs new file mode 100644 index 000000000..5b4ef5aa6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CHARA5.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000051 RID: 81 + internal class KsTagInfo_CHARA5 : KsTagInfo_CHARA + { + // Token: 0x060002BD RID: 701 RVA: 0x00009B44 File Offset: 0x00007D44 + public KsTagInfo_CHARA5() + { + base.CharNo = 4; + } + + // Token: 0x060002BE RID: 702 RVA: 0x00009B54 File Offset: 0x00007D54 + public override KSID GetId() + { + return KSID.CHARA5; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CLEARMESSAGE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CLEARMESSAGE.cs new file mode 100644 index 000000000..d5aed5bbe --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CLEARMESSAGE.cs @@ -0,0 +1,35 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200004A RID: 74 + internal class KsTagInfo_CLEARMESSAGE : KsTagInfo + { + // Token: 0x060002A7 RID: 679 RVA: 0x00009880 File Offset: 0x00007A80 + public override KSID GetId() + { + return KSID.CLEARMESSAGE; + } + + // Token: 0x060002A8 RID: 680 RVA: 0x00009884 File Offset: 0x00007A84 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002A9 RID: 681 RVA: 0x00009888 File Offset: 0x00007A88 + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x060002AA RID: 682 RVA: 0x0000988C File Offset: 0x00007A8C + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + player.Scene.EntryMessage(false, null, null, 0, false); + player.Scene.EntryFace(false, string.Empty); + base.CheckEffectParam(player, tag); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CMD.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CMD.cs new file mode 100644 index 000000000..375e83fc9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_CMD.cs @@ -0,0 +1,28 @@ +using System; +using Qoo.Script; + +namespace Qoo.Ks +{ + // Token: 0x02000075 RID: 117 + internal class KsTagInfo_CMD : KsTagInfo + { + // Token: 0x06000346 RID: 838 RVA: 0x0000ACB8 File Offset: 0x00008EB8 + public override KSID GetId() + { + return KSID.CMD; + } + + // Token: 0x06000347 RID: 839 RVA: 0x0000ACBC File Offset: 0x00008EBC + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + string paramString = tag.GetParamString(KSID.EXP, null); + if (paramString == null) + { + return TAG_RESULT.NEXT; + } + int num = 0; + Calc.ExecCmdStr(paramString, ref num); + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_END.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_END.cs new file mode 100644 index 000000000..2a20e31a7 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_END.cs @@ -0,0 +1,39 @@ +using System; +using Qoo.Game; +using Qoo.Input; + +namespace Qoo.Ks +{ + // Token: 0x02000070 RID: 112 + internal class KsTagInfo_END : KsTagInfo + { + // Token: 0x0600032E RID: 814 RVA: 0x0000AB08 File Offset: 0x00008D08 + public override KSID GetId() + { + return KSID.END; + } + + // Token: 0x0600032F RID: 815 RVA: 0x0000AB0C File Offset: 0x00008D0C + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x06000330 RID: 816 RVA: 0x0000AB10 File Offset: 0x00008D10 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x06000331 RID: 817 RVA: 0x0000AB14 File Offset: 0x00008D14 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + KsInput.Unlock(); + player.Scene.ResetSkipMark(); + GameData.SetGameEnd(); + SaveLoadManager.SaveSystem(); + GameData.IsMoveTitle = true; + return TAG_RESULT.END; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ENDMEMORY.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ENDMEMORY.cs new file mode 100644 index 000000000..f7d8516a8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_ENDMEMORY.cs @@ -0,0 +1,37 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200006F RID: 111 + internal class KsTagInfo_ENDMEMORY : KsTagInfo + { + // Token: 0x06000329 RID: 809 RVA: 0x0000AAD8 File Offset: 0x00008CD8 + public override KSID GetId() + { + return KSID.ENDMEMORY; + } + + // Token: 0x0600032A RID: 810 RVA: 0x0000AADC File Offset: 0x00008CDC + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x0600032B RID: 811 RVA: 0x0000AAE0 File Offset: 0x00008CE0 + public override bool IsJumpBreak(bool bFront, bool bMemoryMode) + { + return bMemoryMode; + } + + // Token: 0x0600032C RID: 812 RVA: 0x0000AAE8 File Offset: 0x00008CE8 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.Mode == PLAY_MODE.MEMORY) + { + return TAG_RESULT.END; + } + UnityApp.AutoSave(); + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_EXEC.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_EXEC.cs new file mode 100644 index 000000000..f7cfede7f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_EXEC.cs @@ -0,0 +1,63 @@ +using System; +using Qoo.Game; +using Qoo.Input; + +namespace Qoo.Ks +{ + // Token: 0x02000072 RID: 114 + internal class KsTagInfo_EXEC : KsTagInfo + { + // Token: 0x06000339 RID: 825 RVA: 0x0000AB68 File Offset: 0x00008D68 + public override KSID GetId() + { + return KSID.EXEC; + } + + // Token: 0x0600033A RID: 826 RVA: 0x0000AB6C File Offset: 0x00008D6C + public override bool IsApplyLog() + { + return false; + } + + // Token: 0x0600033B RID: 827 RVA: 0x0000AB70 File Offset: 0x00008D70 + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x0600033C RID: 828 RVA: 0x0000AB74 File Offset: 0x00008D74 + public override bool IsUserSnapShot() + { + return true; + } + + // Token: 0x0600033D RID: 829 RVA: 0x0000AB78 File Offset: 0x00008D78 + public override bool IsJumpBreak(bool bFront, bool bMemoryMode) + { + return true; + } + + // Token: 0x0600033E RID: 830 RVA: 0x0000AB7C File Offset: 0x00008D7C + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + player.SnapShot(false); + if (player.RestoreOn) + { + return TAG_RESULT.NEXT_EXIT; + } + if (!SysData.IsSkipContinue()) + { + KsInput.Unlock(); + } + player.Scene.ResetSkipMark(); + string paramString = tag.GetParamString(KSID.NAME, string.Empty); + string paramString2 = tag.GetParamString(KSID.PARAM, string.Empty); + string paramString3 = tag.GetParamString(KSID.VALUE, string.Empty); + if (!KsExec.KsExecProc(paramString, paramString2, paramString3, player.TagCallCnt)) + { + return TAG_RESULT.CONTINUE_EXIT; + } + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_EXIT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_EXIT.cs new file mode 100644 index 000000000..b12eb2a58 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_EXIT.cs @@ -0,0 +1,38 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000071 RID: 113 + internal class KsTagInfo_EXIT : KsTagInfo + { + // Token: 0x06000333 RID: 819 RVA: 0x0000AB4C File Offset: 0x00008D4C + public override KSID GetId() + { + return KSID.EXIT; + } + + // Token: 0x06000334 RID: 820 RVA: 0x0000AB50 File Offset: 0x00008D50 + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x06000335 RID: 821 RVA: 0x0000AB54 File Offset: 0x00008D54 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x06000336 RID: 822 RVA: 0x0000AB58 File Offset: 0x00008D58 + public override bool IsJumpBreak(bool bFront, bool bMemoryMode) + { + return true; + } + + // Token: 0x06000337 RID: 823 RVA: 0x0000AB5C File Offset: 0x00008D5C + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + return TAG_RESULT.END; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_F.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_F.cs new file mode 100644 index 000000000..9323c82f6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_F.cs @@ -0,0 +1,49 @@ +using System; +using Qoo.Def; + +namespace Qoo.Ks +{ + // Token: 0x02000077 RID: 119 + internal class KsTagInfo_F : KsTagInfo + { + // Token: 0x0600034C RID: 844 RVA: 0x0000AD00 File Offset: 0x00008F00 + public override KSID GetId() + { + return KSID.F; + } + + // Token: 0x0600034D RID: 845 RVA: 0x0000AD04 File Offset: 0x00008F04 + public override bool RunMessage(MsgTagData tag) + { + ParamData param; + if (tag.IsClose) + { + Singleton.Instance.SetSize(MSGFONTSIZE.NORMAL); + } + else if ((param = tag.GetParam(KSID.SIZE)) != null) + { + Singleton.Instance.SetSize(this.ParamToSize(param.ToInt())); + } + return true; + } + + // Token: 0x0600034E RID: 846 RVA: 0x0000AD54 File Offset: 0x00008F54 + public MSGFONTSIZE ParamToSize(int param) + { + MSGFONTSIZE result = MSGFONTSIZE.NORMAL; + if (param >= 200) + { + result = MSGFONTSIZE.DOUBLE; + } + else if (param >= 150) + { + result = MSGFONTSIZE.LARGE; + } + else if (param < 100) + { + result = MSGFONTSIZE.SMALL; + } + return result; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_FLASH.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_FLASH.cs new file mode 100644 index 000000000..7373cea4f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_FLASH.cs @@ -0,0 +1,82 @@ +using System; +using Qoo.Game; +using UnityEngine; + +namespace Qoo.Ks +{ + // Token: 0x0200005D RID: 93 + internal class KsTagInfo_FLASH : KsTagInfo + { + // Token: 0x060002E4 RID: 740 RVA: 0x0000A000 File Offset: 0x00008200 + public override KSID GetId() + { + return KSID.FLASH; + } + + // Token: 0x060002E5 RID: 741 RVA: 0x0000A004 File Offset: 0x00008204 + public override bool IsEnabelConnect() + { + return false; + } + + // Token: 0x060002E6 RID: 742 RVA: 0x0000A008 File Offset: 0x00008208 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.RestoreOn) + { + return TAG_RESULT.NEXT_EXIT; + } + if (GameData.CheckReadedSkip(player.CurKsNo, player.CurLabelNo, player.CurTagNo)) + { + return TAG_RESULT.NEXT_EXIT; + } + int paramInt = tag.GetParamInt(KSID.TIME, 100); + byte r = (byte)tag.GetParamInt(KSID.R, 255); + byte g = (byte)tag.GetParamInt(KSID.G, 255); + byte b = (byte)tag.GetParamInt(KSID.B, 255); + int paramInt2 = tag.GetParamInt(KSID.BEGINLAYER, 1); + int num = tag.GetParamInt(KSID.ENDLAYER, 11); + if (num > 12) + { + num = 12; + } + bool paramBool = tag.GetParamBool(KSID.BASE, true); + int num2 = player.Scene.GetCgLayerZ(paramInt2) - 1; + int num3; + if (num >= 12) + { + num3 = player.Scene.GetCgLayerZ(12) + 1; + } + else if (num >= 11) + { + num3 = 799; + } + else + { + num3 = player.Scene.GetCgLayerZ(num + 1) - 1; + } + for (int i = 0; i < player.Scene.m_Scene.Cg.Length; i++) + { + int cgLayerZ = player.Scene.GetCgLayerZ(player.Scene.m_Scene.Cg[i].nLayer); + if (cgLayerZ >= num2 && cgLayerZ <= num3) + { + player.Scene.CgList[i].Effect |= 2; + } + } + for (int j = 0; j < player.Scene.m_Scene.Chr.Length; j++) + { + int num4 = player.Scene.ChrPosIndexToZ(player.Scene.m_Scene.Chr[j].nParam); + if (num4 >= num2 && num4 <= num3) + { + player.Scene.GrpList[1 + j].Effect |= 2; + } + } + if (paramBool) + { + player.Scene.GrpList[0].Effect |= 2; + } + UnityTask.SetSubTask(Singleton.Instance.Flash((float)paramInt / 1000f, new Color32(r, g, b, 0))); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_COMPARE_CALL.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_COMPARE_CALL.cs new file mode 100644 index 000000000..12256a37c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_COMPARE_CALL.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200006E RID: 110 + internal class KsTagInfo_IF_COMPARE_CALL : KsTagInfo_IF_COMPARE_NEXT + { + // Token: 0x06000326 RID: 806 RVA: 0x0000AAC8 File Offset: 0x00008CC8 + public override KSID GetId() + { + return KSID.IF_COMPARE_CALL; + } + + // Token: 0x06000327 RID: 807 RVA: 0x0000AACC File Offset: 0x00008CCC + public override bool IsCallRet() + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_COMPARE_NEXT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_COMPARE_NEXT.cs new file mode 100644 index 000000000..0a425dad5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_COMPARE_NEXT.cs @@ -0,0 +1,44 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x0200006D RID: 109 + internal class KsTagInfo_IF_COMPARE_NEXT : KsTagInfo + { + // Token: 0x06000322 RID: 802 RVA: 0x0000A9FC File Offset: 0x00008BFC + public override KSID GetId() + { + return KSID.IF_COMPARE_NEXT; + } + + // Token: 0x06000323 RID: 803 RVA: 0x0000AA00 File Offset: 0x00008C00 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x06000324 RID: 804 RVA: 0x0000AA04 File Offset: 0x00008C04 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + string paramString = tag.GetParamString(KSID.VALUE, string.Empty); + string paramString2 = tag.GetParamString(KSID.INDEX, string.Empty); + string paramString3 = tag.GetParamString(KSID.VALUE1, string.Empty); + string paramString4 = tag.GetParamString(KSID.INDEX1, string.Empty); + KSID id = KSID.COMP; + KSID id2 = KSID.COMPTARGET; + if (!GameData.CmpOtherParam(paramString, paramString2, paramString3, paramString4)) + { + id = KSID.INCOMP; + id2 = KSID.INCOMPTARGET; + } + string paramString5 = tag.GetParamString(id, string.Empty); + string paramString6 = tag.GetParamString(id2, string.Empty); + if (paramString5.Length > 0 && paramString6.Length > 0) + { + return (!player.JumpKs(paramString5, paramString6, this.IsCallRet())) ? TAG_RESULT.NEXT : TAG_RESULT.CONTINUE; + } + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_PARAM_CALL.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_PARAM_CALL.cs new file mode 100644 index 000000000..dec682e15 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_PARAM_CALL.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000068 RID: 104 + internal class KsTagInfo_IF_PARAM_CALL : KsTagInfo_IF_PARAM_NEXT + { + // Token: 0x06000311 RID: 785 RVA: 0x0000A8A8 File Offset: 0x00008AA8 + public override KSID GetId() + { + return KSID.IF_PARAM_CALL; + } + + // Token: 0x06000312 RID: 786 RVA: 0x0000A8AC File Offset: 0x00008AAC + public override bool IsCallRet() + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_PARAM_NEXT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_PARAM_NEXT.cs new file mode 100644 index 000000000..2dadae962 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_PARAM_NEXT.cs @@ -0,0 +1,62 @@ +using System; +using Qoo.Game; +using Qoo.Script; + +namespace Qoo.Ks +{ + // Token: 0x02000067 RID: 103 + internal class KsTagInfo_IF_PARAM_NEXT : KsTagInfo + { + // Token: 0x0600030D RID: 781 RVA: 0x0000A77C File Offset: 0x0000897C + public override KSID GetId() + { + return KSID.IF_PARAM_NEXT; + } + + // Token: 0x0600030E RID: 782 RVA: 0x0000A780 File Offset: 0x00008980 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x0600030F RID: 783 RVA: 0x0000A784 File Offset: 0x00008984 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + string text = string.Empty; + string text2 = string.Empty; + ParamData param; + bool flag; + if ((param = tag.GetParam(KSID.EXP)) != null) + { + int num = 0; + if (!Calc.ExecCmdStr(param.Param, ref num)) + { + Debug.Print(string.Format("●判定式エラー : {0}\n", param.Param)); + } + flag = (num != 0); + } + else + { + string paramString = tag.GetParamString(KSID.VALUE, string.Empty); + string paramString2 = tag.GetParamString(KSID.INDEX, string.Empty); + string paramString3 = tag.GetParamString(KSID.PARAM, string.Empty); + flag = GameData.CmpParam(paramString, paramString2, paramString3); + } + if (flag) + { + text = tag.GetParamString(KSID.COMP, string.Empty); + text2 = tag.GetParamString(KSID.COMPTARGET, string.Empty); + } + else + { + text = tag.GetParamString(KSID.INCOMP, string.Empty); + text2 = tag.GetParamString(KSID.INCOMPTARGET, string.Empty); + } + if (text.Length > 0 || text2.Length > 0) + { + return (!player.JumpKs(text, text2, this.IsCallRet())) ? TAG_RESULT.NEXT : TAG_RESULT.CONTINUE; + } + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_READED_CALL.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_READED_CALL.cs new file mode 100644 index 000000000..ec9b456ca --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_READED_CALL.cs @@ -0,0 +1,26 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200006C RID: 108 + internal class KsTagInfo_IF_READED_CALL : KsTagInfo_IF_SYS_READED_NEXT + { + // Token: 0x0600031E RID: 798 RVA: 0x0000A9DC File Offset: 0x00008BDC + public KsTagInfo_IF_READED_CALL() + { + base.IsSys = true; + } + + // Token: 0x0600031F RID: 799 RVA: 0x0000A9EC File Offset: 0x00008BEC + public override KSID GetId() + { + return KSID.IF_READED_CALL; + } + + // Token: 0x06000320 RID: 800 RVA: 0x0000A9F0 File Offset: 0x00008BF0 + public override bool IsCallRet() + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_READED_NEXT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_READED_NEXT.cs new file mode 100644 index 000000000..e4459fc8d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_READED_NEXT.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200006B RID: 107 + internal class KsTagInfo_IF_READED_NEXT : KsTagInfo_IF_SYS_READED_NEXT + { + // Token: 0x0600031C RID: 796 RVA: 0x0000A9C8 File Offset: 0x00008BC8 + public KsTagInfo_IF_READED_NEXT() + { + base.IsSys = false; + } + + // Token: 0x0600031D RID: 797 RVA: 0x0000A9D8 File Offset: 0x00008BD8 + public override KSID GetId() + { + return KSID.IF_READED_NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_SYS_READED_CALL.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_SYS_READED_CALL.cs new file mode 100644 index 000000000..356252122 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_SYS_READED_CALL.cs @@ -0,0 +1,26 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200006A RID: 106 + internal class KsTagInfo_IF_SYS_READED_CALL : KsTagInfo_IF_SYS_READED_NEXT + { + // Token: 0x06000319 RID: 793 RVA: 0x0000A9B0 File Offset: 0x00008BB0 + public KsTagInfo_IF_SYS_READED_CALL() + { + base.IsSys = true; + } + + // Token: 0x0600031A RID: 794 RVA: 0x0000A9C0 File Offset: 0x00008BC0 + public override KSID GetId() + { + return KSID.IF_SYS_READED_CALL; + } + + // Token: 0x0600031B RID: 795 RVA: 0x0000A9C4 File Offset: 0x00008BC4 + public override bool IsCallRet() + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_SYS_READED_NEXT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_SYS_READED_NEXT.cs new file mode 100644 index 000000000..f8aadd100 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_IF_SYS_READED_NEXT.cs @@ -0,0 +1,61 @@ +using System; +using Qoo.File; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x02000069 RID: 105 + internal class KsTagInfo_IF_SYS_READED_NEXT : KsTagInfo + { + // Token: 0x06000313 RID: 787 RVA: 0x0000A8B0 File Offset: 0x00008AB0 + public KsTagInfo_IF_SYS_READED_NEXT() + { + this.IsSys = true; + } + + // Token: 0x17000089 RID: 137 + // (get) Token: 0x06000314 RID: 788 RVA: 0x0000A8C0 File Offset: 0x00008AC0 + // (set) Token: 0x06000315 RID: 789 RVA: 0x0000A8C8 File Offset: 0x00008AC8 + protected bool IsSys { get; set; } + + // Token: 0x06000316 RID: 790 RVA: 0x0000A8D4 File Offset: 0x00008AD4 + public override KSID GetId() + { + return KSID.IF_SYS_READED_NEXT; + } + + // Token: 0x06000317 RID: 791 RVA: 0x0000A8D8 File Offset: 0x00008AD8 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x06000318 RID: 792 RVA: 0x0000A8DC File Offset: 0x00008ADC + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + string paramString = tag.GetParamString(KSID.CHECK, string.Empty); + string paramString2 = tag.GetParamString(KSID.LABEL, string.Empty); + int num = Akb.SearchFile(FileId.Normalize(paramString)); + int num2 = Akb.SearchLabel(num, paramString2); + KSID id; + KSID id2; + if ((!this.IsSys) ? GameData.IsRead(num, num2, 0) : SysData.IsRead(num, num2, 0)) + { + id = KSID.COMP; + id2 = KSID.COMPTARGET; + } + else + { + id = KSID.INCOMP; + id2 = KSID.INCOMPTARGET; + } + string paramString3 = tag.GetParamString(id, string.Empty); + string paramString4 = tag.GetParamString(id2, string.Empty); + if (paramString3.Length > 0 || paramString4.Length > 0) + { + return (!player.JumpKs(paramString3, paramString4, this.IsCallRet())) ? TAG_RESULT.NEXT : TAG_RESULT.CONTINUE; + } + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_MESSAGE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_MESSAGE.cs new file mode 100644 index 000000000..3237b8f96 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_MESSAGE.cs @@ -0,0 +1,130 @@ +using System; +using Qoo.Application; +using Qoo.Def; +using Qoo.Input; +using Qoo.SoundSystem; + +namespace Qoo.Ks +{ + // Token: 0x02000048 RID: 72 + internal class KsTagInfo_MESSAGE : KsTagInfo + { + // Token: 0x0600029B RID: 667 RVA: 0x00009608 File Offset: 0x00007808 + public KsTagInfo_MESSAGE() + { + this.IsSilent = false; + } + + // Token: 0x17000085 RID: 133 + // (get) Token: 0x0600029C RID: 668 RVA: 0x00009618 File Offset: 0x00007818 + // (set) Token: 0x0600029D RID: 669 RVA: 0x00009620 File Offset: 0x00007820 + protected bool IsSilent { get; set; } + + // Token: 0x0600029E RID: 670 RVA: 0x0000962C File Offset: 0x0000782C + public override KSID GetId() + { + return KSID.MESSAGE; + } + + // Token: 0x0600029F RID: 671 RVA: 0x00009630 File Offset: 0x00007830 + public override bool IsMessage() + { + return true; + } + + // Token: 0x060002A0 RID: 672 RVA: 0x00009634 File Offset: 0x00007834 + public override bool IsSceneApply() + { + return true; + } + + // Token: 0x060002A1 RID: 673 RVA: 0x00009638 File Offset: 0x00007838 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002A2 RID: 674 RVA: 0x0000963C File Offset: 0x0000783C + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x060002A3 RID: 675 RVA: 0x00009640 File Offset: 0x00007840 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + MSGWND_STYLE nFrameType = MSGWND_STYLE.KYARA; + EVENTECENR_NAME eventecenr_NAME = new EVENTECENR_NAME(); + if (player.TagCallCnt == 0) + { + ParamData param; + if ((param = tag.GetParam(KSID.WINDOW)) != null) + { + for (MSGWND_STYLE msgwnd_STYLE = MSGWND_STYLE.NORMAL; msgwnd_STYLE != MSGWND_STYLE.MAX; msgwnd_STYLE++) + { + if (string.Equals(msgwnd_STYLE.ToString(), param.Param, StringComparison.OrdinalIgnoreCase)) + { + nFrameType = msgwnd_STYLE; + break; + } + } + } + eventecenr_NAME.Name[0] = tag.GetParamString(KSID.NAME, string.Empty); + if (eventecenr_NAME.Name[0].Length > 20) + { + eventecenr_NAME.Name[0] = eventecenr_NAME.Name[0].Substring(0, 20); + } + eventecenr_NAME.Name[1] = tag.GetParamString(KSID.NAME2, string.Empty); + if (eventecenr_NAME.Name[1].Length > 20) + { + eventecenr_NAME.Name[1] = eventecenr_NAME.Name[1].Substring(0, 20); + } + bool bAddLog = true; + player.Scene.EntryMessage(true, tag, eventecenr_NAME, (int)nFrameType, bAddLog); + string paramString = tag.GetParamString(KSID.VOICE, null); + if (paramString != null) + { + player.Scene.EntryVoice(true, paramString); + } + else + { + player.Scene.EntryVoice(false, string.Empty); + } + if ((param = tag.GetParam(KSID.FACE)) != null) + { + player.Scene.EntryFace(true, param.Param); + } + Singleton.Instance.SetMesNo(player.CurKsNo, player.CurLabelNo, player.CurTagNo); + App.QooBackLog.SetMesNo(player.CurKsNo, player.CurLabelNo, tag.MesNo); + Singleton.Instance.IsSilentMode = this.IsSilent; + KsInput.SetMask(INPUT_STATE.HIDE); + KsInput.SetMask(INPUT_STATE.AUTO); + } + else + { + if (player.RestoreOn) + { + KsInput.ResetMask(INPUT_STATE.HIDE); + KsInput.ResetMask(INPUT_STATE.AUTO); + if (!this.IsSilent) + { + Singleton.Instance.IsSilentMode = false; + } + return TAG_RESULT.NEXT_EXIT; + } + if (Singleton.Instance.IsSkip()) + { + KsInput.ResetMask(INPUT_STATE.HIDE); + KsInput.ResetMask(INPUT_STATE.AUTO); + Sound.VoiceStop(); + if (!this.IsSilent) + { + Singleton.Instance.IsSilentMode = false; + } + return TAG_RESULT.NEXT_EXIT; + } + } + return TAG_RESULT.CONTINUE_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_MOVIE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_MOVIE.cs new file mode 100644 index 000000000..92697b837 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_MOVIE.cs @@ -0,0 +1,55 @@ +using System; +using Qoo.Game; +using Qoo.Graphics; +using Qoo.Input; + +namespace Qoo.Ks +{ + // Token: 0x0200005B RID: 91 + internal class KsTagInfo_MOVIE : KsTagInfo + { + // Token: 0x060002DC RID: 732 RVA: 0x00009EC4 File Offset: 0x000080C4 + public override KSID GetId() + { + return KSID.MOVIE; + } + + // Token: 0x060002DD RID: 733 RVA: 0x00009EC8 File Offset: 0x000080C8 + public override bool IsJumpEffectResetTag() + { + return true; + } + + // Token: 0x060002DE RID: 734 RVA: 0x00009ECC File Offset: 0x000080CC + public override bool IsJumpBreak(bool bFront, bool bMemoryMode) + { + return true; + } + + // Token: 0x060002DF RID: 735 RVA: 0x00009ED0 File Offset: 0x000080D0 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + Singleton.Instance.ResetMessage(); + Singleton.Instance.Show(false); + if (!player.RestoreOn) + { + if (!SysData.IsSkipContinue()) + { + KsInput.Unlock(); + } + if (player.JumpOn) + { + Graph.EnableFade(false); + player.SetJump(false); + } + ParamData param; + if ((param = tag.GetParam(KSID.FILE)) != null) + { + Movie.Play(param.Param, true); + SysData.SetLookMovie(param.Param); + } + } + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_NEXT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_NEXT.cs new file mode 100644 index 000000000..4e5ce8e56 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_NEXT.cs @@ -0,0 +1,28 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000064 RID: 100 + internal class KsTagInfo_NEXT : KsTagInfo + { + // Token: 0x06000301 RID: 769 RVA: 0x0000A6F0 File Offset: 0x000088F0 + public override KSID GetId() + { + return KSID.NEXT; + } + + // Token: 0x06000302 RID: 770 RVA: 0x0000A6F4 File Offset: 0x000088F4 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x06000303 RID: 771 RVA: 0x0000A6F8 File Offset: 0x000088F8 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + string paramString = tag.GetParamString(KSID.FILE, string.Empty); + string paramString2 = tag.GetParamString(KSID.TARGET, string.Empty); + return (!player.JumpKs(paramString, paramString2, this.IsCallRet())) ? TAG_RESULT.END : TAG_RESULT.CONTINUE; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_PRINT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_PRINT.cs new file mode 100644 index 000000000..5f788106e --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_PRINT.cs @@ -0,0 +1,34 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x02000078 RID: 120 + internal class KsTagInfo_PRINT : KsTagInfo + { + // Token: 0x06000350 RID: 848 RVA: 0x0000AD9C File Offset: 0x00008F9C + public override KSID GetId() + { + return KSID.PRINT; + } + + // Token: 0x06000351 RID: 849 RVA: 0x0000ADA0 File Offset: 0x00008FA0 + public override bool RunMessage(MsgTagData tag) + { + string name = string.Empty; + ParamData param; + if ((param = tag.GetParam(KSID.VALUE)) != null) + { + name = param.Param; + } + string index = string.Empty; + if ((param = tag.GetParam(KSID.INDEX)) != null) + { + index = param.Param; + } + string paramString = GameData.GetParamString(name, index); + Singleton.Instance.AddMessage(paramString); + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_RETURN.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_RETURN.cs new file mode 100644 index 000000000..b68a7f21a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_RETURN.cs @@ -0,0 +1,32 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000066 RID: 102 + internal class KsTagInfo_RETURN : KsTagInfo + { + // Token: 0x06000308 RID: 776 RVA: 0x0000A754 File Offset: 0x00008954 + public override KSID GetId() + { + return KSID.RETURN; + } + + // Token: 0x06000309 RID: 777 RVA: 0x0000A758 File Offset: 0x00008958 + public override bool IsCallRet() + { + return true; + } + + // Token: 0x0600030A RID: 778 RVA: 0x0000A75C File Offset: 0x0000895C + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x0600030B RID: 779 RVA: 0x0000A760 File Offset: 0x00008960 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + return (!player.ReturnKs()) ? TAG_RESULT.NEXT : TAG_RESULT.CONTINUE; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE.cs new file mode 100644 index 000000000..6bc25c285 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE.cs @@ -0,0 +1,62 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000058 RID: 88 + internal class KsTagInfo_SE : KsTagInfo + { + // Token: 0x060002D1 RID: 721 RVA: 0x00009D5C File Offset: 0x00007F5C + public KsTagInfo_SE() + { + this.SeNo = -1; + } + + // Token: 0x17000088 RID: 136 + // (get) Token: 0x060002D2 RID: 722 RVA: 0x00009D6C File Offset: 0x00007F6C + // (set) Token: 0x060002D3 RID: 723 RVA: 0x00009D74 File Offset: 0x00007F74 + protected int SeNo { get; set; } + + // Token: 0x060002D4 RID: 724 RVA: 0x00009D80 File Offset: 0x00007F80 + public override KSID GetId() + { + return KSID.SE; + } + + // Token: 0x060002D5 RID: 725 RVA: 0x00009D84 File Offset: 0x00007F84 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002D6 RID: 726 RVA: 0x00009D88 File Offset: 0x00007F88 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + bool paramBool = tag.GetParamBool(KSID.LOOP, false); + int paramInt = tag.GetParamInt(KSID.VOLUME, 100); + ParamData param; + if ((param = tag.GetParam(KSID.FILE)) != null) + { + if (!player.RestoreOn || paramBool) + { + player.Scene.EntrySe(true, (this.SeNo >= 0) ? this.SeNo : 0, param.Param, paramInt, paramBool); + } + else if (player.RestoreOn && !paramBool) + { + player.Scene.EntrySe(false, (this.SeNo >= 0) ? this.SeNo : 0, string.Empty, 100, false); + } + } + else if (this.SeNo < 0) + { + for (int num = 0; num != 2; num++) + { + player.Scene.EntrySe(false, num, string.Empty, 100, false); + } + } + else + { + player.Scene.EntrySe(false, this.SeNo, string.Empty, 100, false); + } + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE1.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE1.cs new file mode 100644 index 000000000..05c947d38 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE1.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000059 RID: 89 + internal class KsTagInfo_SE1 : KsTagInfo_SE + { + // Token: 0x060002D7 RID: 727 RVA: 0x00009E94 File Offset: 0x00008094 + public KsTagInfo_SE1() + { + base.SeNo = 0; + } + + // Token: 0x060002D8 RID: 728 RVA: 0x00009EA4 File Offset: 0x000080A4 + public override KSID GetId() + { + return KSID.SE1; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE2.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE2.cs new file mode 100644 index 000000000..47a58b1aa --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SE2.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200005A RID: 90 + internal class KsTagInfo_SE2 : KsTagInfo_SE + { + // Token: 0x060002D9 RID: 729 RVA: 0x00009EA8 File Offset: 0x000080A8 + public KsTagInfo_SE2() + { + base.SeNo = 1; + } + + // Token: 0x060002DA RID: 730 RVA: 0x00009EB8 File Offset: 0x000080B8 + public override KSID GetId() + { + return KSID.SE2; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SELECT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SELECT.cs new file mode 100644 index 000000000..674eb4ee9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SELECT.cs @@ -0,0 +1,36 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200005F RID: 95 + internal class KsTagInfo_SELECT : KsTagInfo + { + // Token: 0x060002EC RID: 748 RVA: 0x0000A2BC File Offset: 0x000084BC + public override KSID GetId() + { + return KSID.SELECT; + } + + // Token: 0x060002ED RID: 749 RVA: 0x0000A2C0 File Offset: 0x000084C0 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + string paramString = tag.GetParamString(KSID.NAME, string.Empty); + string paramString2 = tag.GetParamString(KSID.WORD, string.Empty); + string text = (paramString.Length <= 0) ? paramString2 : paramString; + string paramString3 = tag.GetParamString(KSID.FILE, string.Empty); + string paramString4 = tag.GetParamString(KSID.TARGET, string.Empty); + string paramString5 = tag.GetParamString(KSID.EFFECT, string.Empty); + int nType = (paramString.Length <= 0) ? 0 : 1; + Debug.Print(string.Format("Select:{0}", text)); + if (player.Scene.GetSelectNum() == 0) + { + player.SnapShot(true); + } + if (!player.Scene.IsEntrySelect(text, paramString3, paramString4)) + { + player.Scene.EntrySelect(player.Scene.GetSelectNum(), text, paramString3, paramString4, nType, paramString5); + } + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SET.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SET.cs new file mode 100644 index 000000000..383aebeb0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SET.cs @@ -0,0 +1,29 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x02000073 RID: 115 + internal class KsTagInfo_SET : KsTagInfo + { + // Token: 0x06000340 RID: 832 RVA: 0x0000AC00 File Offset: 0x00008E00 + public override KSID GetId() + { + return KSID.SET; + } + + // Token: 0x06000341 RID: 833 RVA: 0x0000AC04 File Offset: 0x00008E04 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.IsParamLock) + { + return TAG_RESULT.NEXT; + } + string paramString = tag.GetParamString(KSID.VALUE, string.Empty); + string paramString2 = tag.GetParamString(KSID.INDEX, string.Empty); + string paramString3 = tag.GetParamString(KSID.PARAM, string.Empty); + GameData.SetParamString(paramString, paramString2, paramString3); + return TAG_RESULT.NEXT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SHAKE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SHAKE.cs new file mode 100644 index 000000000..d77b9b90f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_SHAKE.cs @@ -0,0 +1,38 @@ +using System; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x0200005C RID: 92 + internal class KsTagInfo_SHAKE : KsTagInfo + { + // Token: 0x060002E1 RID: 737 RVA: 0x00009F58 File Offset: 0x00008158 + public override KSID GetId() + { + return KSID.SHAKE; + } + + // Token: 0x060002E2 RID: 738 RVA: 0x00009F5C File Offset: 0x0000815C + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.RestoreOn) + { + return TAG_RESULT.NEXT_EXIT; + } + if (GameData.CheckReadedSkip(player.CurKsNo, player.CurLabelNo, player.CurTagNo)) + { + return TAG_RESULT.NEXT_EXIT; + } + int paramInt = tag.GetParamInt(KSID.TIME, 1000); + for (int i = 0; i < 8; i++) + { + if (i != 6) + { + player.Scene.GrpList[i].Effect |= 1; + } + } + UnityTask.SetSubTask(Singleton.Instance.Shake((float)paramInt / 1000f, 10, 10)); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOP.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOP.cs new file mode 100644 index 000000000..50fa2ff68 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOP.cs @@ -0,0 +1,79 @@ +using System; +using Qoo.Application; +using Qoo.Game; +using Qoo.Input; + +namespace Qoo.Ks +{ + // Token: 0x02000060 RID: 96 + internal class KsTagInfo_STOP : KsTagInfo + { + // Token: 0x060002EF RID: 751 RVA: 0x0000A3A4 File Offset: 0x000085A4 + public override KSID GetId() + { + return KSID.STOP; + } + + // Token: 0x060002F0 RID: 752 RVA: 0x0000A3A8 File Offset: 0x000085A8 + public override bool IsRevSceneApply() + { + return true; + } + + // Token: 0x060002F1 RID: 753 RVA: 0x0000A3AC File Offset: 0x000085AC + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x060002F2 RID: 754 RVA: 0x0000A3B0 File Offset: 0x000085B0 + public override bool IsJumpTag() + { + return true; + } + + // Token: 0x060002F3 RID: 755 RVA: 0x0000A3B4 File Offset: 0x000085B4 + public override bool IsJumpBreak(bool bFront, bool bMemoryMode) + { + return true; + } + + // Token: 0x060002F4 RID: 756 RVA: 0x0000A3B8 File Offset: 0x000085B8 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.RestoreOn) + { + player.Scene.EntryMessage(false, null, null, 0, false); + player.Scene.EntryFace(false, string.Empty); + return TAG_RESULT.CONTINUE; + } + KsInput.Pause = false; + if (player.TagCallCnt == 0) + { + if (!SysData.IsSkipContinue()) + { + KsInput.Unlock(); + } + KsInput.IsTrig = false; + UnityApp.AutoSave(); + App.QooSelect.AddSelect(player.Scene.m_Scene.Select); + bool paramBool = tag.GetParamBool(KSID.READED, true); + string text = tag.GetParamString(KSID.NAME, "normal"); + text = text.ToLower(); + player.Scene.EntryMessage(false, null, null, 0, false); + player.Scene.EntryFace(false, string.Empty); + player.Scene.SceneApply(false, true); + Singleton.Instance.Begin(true, paramBool, text); + } + else if (Singleton.Instance.IsSelectEnd()) + { + player.JumpKs(Singleton.Instance.GetSelectKs(), Singleton.Instance.GetSelectLabel(), this.IsCallRet()); + Singleton.Instance.End(); + player.Scene.EntrySelect(-1, string.Empty, string.Empty, string.Empty, 0, string.Empty); + player.Scene.EntryEffect(true, string.Empty, 200); + return TAG_RESULT.CONTINUE; + } + return TAG_RESULT.CONTINUE_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOPRW.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOPRW.cs new file mode 100644 index 000000000..b799da789 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOPRW.cs @@ -0,0 +1,40 @@ +using System; +using Qoo.Application; +using Qoo.Game; + +namespace Qoo.Ks +{ + // Token: 0x02000063 RID: 99 + internal class KsTagInfo_STOPRW : KsTagInfo + { + // Token: 0x060002FC RID: 764 RVA: 0x0000A69C File Offset: 0x0000889C + public override KSID GetId() + { + return KSID.STOPRW; + } + + // Token: 0x060002FD RID: 765 RVA: 0x0000A6A0 File Offset: 0x000088A0 + public override bool IsRevContinue() + { + return false; + } + + // Token: 0x060002FE RID: 766 RVA: 0x0000A6A4 File Offset: 0x000088A4 + public override bool IsJumpBreak(bool bFront, bool bMemoryMode) + { + return !bFront; + } + + // Token: 0x060002FF RID: 767 RVA: 0x0000A6AC File Offset: 0x000088AC + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + GameData.UnlockGameData(); + player.Scene.Backup(); + App.QooKsLog.Reset(); + PaymentParam.Conv(); + GameData.LockGameData(); + player.SnapShot(true); + return TAG_RESULT.NEXT_EXIT; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOP_CALL.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOP_CALL.cs new file mode 100644 index 000000000..6d0995ff4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_STOP_CALL.cs @@ -0,0 +1,20 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000061 RID: 97 + internal class KsTagInfo_STOP_CALL : KsTagInfo_STOP + { + // Token: 0x060002F6 RID: 758 RVA: 0x0000A514 File Offset: 0x00008714 + public override KSID GetId() + { + return KSID.STOP_CALL; + } + + // Token: 0x060002F7 RID: 759 RVA: 0x0000A518 File Offset: 0x00008718 + public override bool IsCallRet() + { + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_WAIT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_WAIT.cs new file mode 100644 index 000000000..f9f686de0 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagInfo_WAIT.cs @@ -0,0 +1,89 @@ +using System; +using Qoo.Game; +using Qoo.Graphics; +using Qoo.Input; + +namespace Qoo.Ks +{ + // Token: 0x02000062 RID: 98 + internal class KsTagInfo_WAIT : KsTagInfo + { + // Token: 0x060002F9 RID: 761 RVA: 0x0000A524 File Offset: 0x00008724 + public override KSID GetId() + { + return KSID.WAIT; + } + + // Token: 0x060002FA RID: 762 RVA: 0x0000A528 File Offset: 0x00008728 + public override TAG_RESULT Run(EventPlayer player, TagData tag) + { + if (player.RestoreOn) + { + return TAG_RESULT.NEXT_EXIT; + } + if (GameData.CheckReadedSkip(player.CurKsNo, player.CurLabelNo, player.CurTagNo)) + { + return TAG_RESULT.NEXT_EXIT; + } + bool paramBool = tag.GetParamBool(KSID.KEY, false); + bool paramBool2 = tag.GetParamBool(KSID.CURSOR, true); + int num = 1000; + ParamData param; + if ((param = tag.GetParam(KSID.TIME)) != null) + { + num = param.ToInt(); + } + else if (paramBool) + { + if (KsInput.IsAuto) + { + num = SysData.GetAutoPage() * 1000; + if (num == 0) + { + num = 1; + } + } + else + { + num = -1; + } + } + if (player.TagCallCnt == 0) + { + this.m_iStart = Singleton.Instance.GetTimeMilli(); + } + KsInput.Pause = false; + if (paramBool) + { + this.m_IsSilentBackup = Singleton.Instance.IsSilentMode; + Singleton.Instance.IsSilentMode = true; + bool flag = num >= 0 && this.m_iStart + num < Singleton.Instance.GetTimeMilli(); + bool isTrig = KsInput.IsTrig; + KsInput.IsTrig = false; + if (!flag && !isTrig) + { + return TAG_RESULT.CONTINUE_EXIT; + } + } + else if (num < 0 || this.m_iStart + num >= Singleton.Instance.GetTimeMilli()) + { + return TAG_RESULT.CONTINUE_EXIT; + } + if (paramBool) + { + Singleton.Instance.IsSilentMode = this.m_IsSilentBackup; + } + if (paramBool2) + { + Graph.Fade_Cross(100); + } + return TAG_RESULT.NEXT_EXIT; + } + + // Token: 0x04000257 RID: 599 + public bool m_IsSilentBackup; + + // Token: 0x04000258 RID: 600 + private int m_iStart; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagTable.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagTable.cs new file mode 100644 index 000000000..b4e1aaae3 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTagTable.cs @@ -0,0 +1,243 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Ks +{ + // Token: 0x02000079 RID: 121 + public class KsTagTable + { + // Token: 0x06000354 RID: 852 RVA: 0x0000B094 File Offset: 0x00009294 + public static KSID GetID(string v) + { + KSID result; + try + { + result = (KSID)((int)Enum.Parse(typeof(KSID), v, true)); + } + catch (ArgumentException) + { + result = KSID.UNKNOWN; + } + return result; + } + + // Token: 0x06000355 RID: 853 RVA: 0x0000B0EC File Offset: 0x000092EC + public static KsTagInfo GetInfo(KSID id) + { + return KsTagTable._tagDir[id]; + } + + // Token: 0x06000356 RID: 854 RVA: 0x0000B0FC File Offset: 0x000092FC + public static bool IsTag(KSID id) + { + return KsTagTable.GetInfo(id) != null; + } + + // Token: 0x06000357 RID: 855 RVA: 0x0000B10C File Offset: 0x0000930C + public static bool IsParam(KSID id) + { + return KsTagTable.GetInfo(id) == null; + } + + // Token: 0x0400025A RID: 602 + private static Dictionary _tagDir = new Dictionary + { + { + KSID.MESSAGE, + new KsTagInfo_MESSAGE() + }, + { + KSID.BACKLOG, + new KsTagInfo_BACKLOG() + }, + { + KSID.CLEARMESSAGE, + new KsTagInfo_CLEARMESSAGE() + }, + { + KSID.BGIMAGE, + new KsTagInfo_BGIMAGE() + }, + { + KSID.CHARA, + new KsTagInfo_CHARA() + }, + { + KSID.CHARA1, + new KsTagInfo_CHARA1() + }, + { + KSID.CHARA2, + new KsTagInfo_CHARA2() + }, + { + KSID.CHARA3, + new KsTagInfo_CHARA3() + }, + { + KSID.CHARA4, + new KsTagInfo_CHARA4() + }, + { + KSID.CHARA5, + new KsTagInfo_CHARA5() + }, + { + KSID.CG, + new KsTagInfo_CG() + }, + { + KSID.CG1, + new KsTagInfo_CG1() + }, + { + KSID.CG2, + new KsTagInfo_CG2() + }, + { + KSID.CG3, + new KsTagInfo_CG3() + }, + { + KSID.CG4, + new KsTagInfo_CG4() + }, + { + KSID.BGM, + new KsTagInfo_BGM() + }, + { + KSID.SE, + new KsTagInfo_SE() + }, + { + KSID.SE1, + new KsTagInfo_SE1() + }, + { + KSID.SE2, + new KsTagInfo_SE2() + }, + { + KSID.MOVIE, + new KsTagInfo_MOVIE() + }, + { + KSID.SHAKE, + new KsTagInfo_SHAKE() + }, + { + KSID.FLASH, + new KsTagInfo_FLASH() + }, + { + KSID.ANIMATION, + new KsTagInfo_ANIMATION() + }, + { + KSID.SELECT, + new KsTagInfo_SELECT() + }, + { + KSID.STOP, + new KsTagInfo_STOP() + }, + { + KSID.STOP_CALL, + new KsTagInfo_STOP_CALL() + }, + { + KSID.WAIT, + new KsTagInfo_WAIT() + }, + { + KSID.STOPRW, + new KsTagInfo_STOPRW() + }, + { + KSID.NEXT, + new KsTagInfo_NEXT() + }, + { + KSID.CALL, + new KsTagInfo_CALL() + }, + { + KSID.RETURN, + new KsTagInfo_RETURN() + }, + { + KSID.IF_PARAM_NEXT, + new KsTagInfo_IF_PARAM_NEXT() + }, + { + KSID.IF_PARAM_CALL, + new KsTagInfo_IF_PARAM_CALL() + }, + { + KSID.IF_SYS_READED_NEXT, + new KsTagInfo_IF_SYS_READED_NEXT() + }, + { + KSID.IF_SYS_READED_CALL, + new KsTagInfo_IF_SYS_READED_CALL() + }, + { + KSID.IF_READED_NEXT, + new KsTagInfo_IF_READED_NEXT() + }, + { + KSID.IF_READED_CALL, + new KsTagInfo_IF_READED_CALL() + }, + { + KSID.IF_COMPARE_NEXT, + new KsTagInfo_IF_COMPARE_NEXT() + }, + { + KSID.IF_COMPARE_CALL, + new KsTagInfo_IF_COMPARE_CALL() + }, + { + KSID.ENDMEMORY, + new KsTagInfo_ENDMEMORY() + }, + { + KSID.END, + new KsTagInfo_END() + }, + { + KSID.EXIT, + new KsTagInfo_EXIT() + }, + { + KSID.EXEC, + new KsTagInfo_EXEC() + }, + { + KSID.SET, + new KsTagInfo_SET() + }, + { + KSID.ADD, + new KsTagInfo_ADD() + }, + { + KSID.CMD, + new KsTagInfo_CMD() + }, + { + KSID.BR, + new KsTagInfo_BR() + }, + { + KSID.F, + new KsTagInfo_F() + }, + { + KSID.PRINT, + new KsTagInfo_PRINT() + } + }; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTextSeparator.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTextSeparator.cs new file mode 100644 index 000000000..40021be29 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsTextSeparator.cs @@ -0,0 +1,277 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Qoo.Ks +{ + // Token: 0x0200008B RID: 139 + public class KsTextSeparator + { + // Token: 0x17000090 RID: 144 + // (get) Token: 0x060003E9 RID: 1001 RVA: 0x0000E258 File Offset: 0x0000C458 + public string[] Dest + { + get + { + return this.m_dest.ToArray(); + } + } + + // Token: 0x060003EA RID: 1002 RVA: 0x0000E268 File Offset: 0x0000C468 + public bool Analysis(string src) + { + this.m_src = src; + this.m_isDQMode = false; + this.m_isComMode = false; + this.m_isEscMode = false; + this.m_isEnd = false; + for (int num = 0; num != src.Length; num++) + { + if (!this.AddChar(src[num])) + { + Debug.Print("Error:文字列解析を終了します"); + return false; + } + if (this.m_isEnd) + { + this.New(); + this.m_src = string.Empty; + return true; + } + } + this.New(); + this.m_src = string.Empty; + return true; + } + + // Token: 0x060003EB RID: 1003 RVA: 0x0000E300 File Offset: 0x0000C500 + private bool AddChar(char ch) + { + if (this.m_isEscMode) + { + this.Append(ch); + this.m_isEscMode = false; + return true; + } + if (this.m_isDQMode) + { + return this.AddCharDQ(ch); + } + if (this.m_isComMode) + { + return this.AddCharCom(ch); + } + return this.AddCharOther(ch); + } + + // Token: 0x060003EC RID: 1004 RVA: 0x0000E358 File Offset: 0x0000C558 + private bool AddCharDQ(char ch) + { + if (ch != '\\') + { + if (ch == ']') + { + Debug.Print("Error:ダブルクォーテーションの終わりが来るまでにコマンドが、']'で閉じられました:" + this.m_src); + return false; + } + if (ch == '\r') + { + Debug.Print("Error:ダブルクォーテーションの終わりが来るまでに改行がきました:" + this.m_src); + return false; + } + if (ch != '"') + { + if (ch == ';') + { + Debug.Print("Error:ダブルクォーテーションの終わりが来るまでにコマンドが、;でコメントが始まりました:" + this.m_src); + return false; + } + this.Append(ch); + } + else + { + this.m_isDQMode = false; + this.New(); + } + } + else + { + this.m_isEscMode = true; + } + return true; + } + + // Token: 0x060003ED RID: 1005 RVA: 0x0000E408 File Offset: 0x0000C608 + private bool AddCharCom(char ch) + { + switch (ch) + { + case ' ': + this.New(); + break; + default: + switch (ch) + { + case ';': + Debug.Print("Error:コマンドの終わりが来るまでにコマンドが、;でコメントが始まりました:" + this.m_src); + return false; + default: + switch (ch) + { + case '[': + Debug.Print("Error:コマンドの終わりが来るまでに'['でコマンドが始まろうとしています:" + this.m_src); + this.m_isComMode = true; + break; + case '\\': + this.m_isEscMode = true; + break; + case ']': + this.m_isComMode = false; + this.New(); + this.Append(ch); + this.New(); + break; + default: + if (ch != '\t') + { + if (ch == '\r') + { + Debug.Print("Error:コマンドの終わりが来るまでに改行がきました:" + this.m_src); + return false; + } + if (ch != '\u3000') + { + this.Append(ch); + } + else + { + this.New(); + } + } + else + { + this.New(); + } + break; + } + break; + case '=': + this.New(); + this.Append(ch); + this.New(); + break; + } + break; + case '"': + this.m_isDQMode = true; + this.New(); + break; + } + return true; + } + + // Token: 0x060003EE RID: 1006 RVA: 0x0000E554 File Offset: 0x0000C754 + private bool AddCharOther(char ch) + { + if (ch != '[') + { + if (ch != '\\') + { + if (ch != '\t') + { + if (ch != '\r') + { + if (ch != ' ') + { + if (ch != ';') + { + if (ch != '\u3000') + { + this.Append(ch); + } + else if (this.NowLength() > 0) + { + this.Append(ch); + } + } + else + { + this.m_isEnd = true; + this.New(); + this.Append(ch); + } + } + else if (this.NowLength() > 0) + { + this.Append(ch); + } + } + else + { + this.m_isEnd = true; + this.New(); + this.Append(ch); + } + } + } + else + { + this.m_isEscMode = true; + } + } + else + { + this.m_isComMode = true; + this.New(); + this.Append(ch); + this.New(); + } + return true; + } + + // Token: 0x060003EF RID: 1007 RVA: 0x0000E64C File Offset: 0x0000C84C + private bool Append(char ch) + { + this.m_current.Append(ch); + return true; + } + + // Token: 0x060003F0 RID: 1008 RVA: 0x0000E65C File Offset: 0x0000C85C + private bool New() + { + if (this.m_current.Length > 0) + { + this.m_dest.Add(this.m_current.ToString()); + } + this.m_current.Remove(0, this.m_current.Length); + return true; + } + + // Token: 0x060003F1 RID: 1009 RVA: 0x0000E6AC File Offset: 0x0000C8AC + private int NowLength() + { + return this.m_current.Length; + } + + // Token: 0x040002B4 RID: 692 + private string m_src; + + // Token: 0x040002B5 RID: 693 + private StringBuilder m_current = new StringBuilder(); + + // Token: 0x040002B6 RID: 694 + private List m_dest = new List(); + + // Token: 0x040002B7 RID: 695 + private bool m_isDQMode; + + // Token: 0x040002B8 RID: 696 + private bool m_isComMode; + + // Token: 0x040002B9 RID: 697 + private bool m_isEscMode; + + // Token: 0x040002BA RID: 698 + private bool m_isEnd; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsWorkLog.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsWorkLog.cs new file mode 100644 index 000000000..502f34012 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/KsWorkLog.cs @@ -0,0 +1,43 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200003E RID: 62 + public struct KsWorkLog + { + // Token: 0x17000054 RID: 84 + // (get) Token: 0x0600020A RID: 522 RVA: 0x000088EC File Offset: 0x00006AEC + // (set) Token: 0x0600020B RID: 523 RVA: 0x000088F4 File Offset: 0x00006AF4 + public string Value { get; set; } + + // Token: 0x17000055 RID: 85 + // (get) Token: 0x0600020C RID: 524 RVA: 0x00008900 File Offset: 0x00006B00 + // (set) Token: 0x0600020D RID: 525 RVA: 0x00008908 File Offset: 0x00006B08 + public string Index { get; set; } + + // Token: 0x17000056 RID: 86 + // (get) Token: 0x0600020E RID: 526 RVA: 0x00008914 File Offset: 0x00006B14 + // (set) Token: 0x0600020F RID: 527 RVA: 0x0000891C File Offset: 0x00006B1C + public string Old { get; set; } + + // Token: 0x17000057 RID: 87 + // (get) Token: 0x06000210 RID: 528 RVA: 0x00008928 File Offset: 0x00006B28 + // (set) Token: 0x06000211 RID: 529 RVA: 0x00008930 File Offset: 0x00006B30 + public string New { get; set; } + + // Token: 0x06000212 RID: 530 RVA: 0x0000893C File Offset: 0x00006B3C + public void Reset() + { + this.Value = string.Empty; + this.Index = string.Empty; + this.Old = string.Empty; + this.New = string.Empty; + } + + // Token: 0x06000213 RID: 531 RVA: 0x00008978 File Offset: 0x00006B78 + public bool IsEmpty() + { + return this.Value == null || this.Value.Length == 0; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/LabelData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/LabelData.cs new file mode 100644 index 000000000..3ecbc4266 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/LabelData.cs @@ -0,0 +1,42 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000090 RID: 144 + public class LabelData + { + // Token: 0x06000419 RID: 1049 RVA: 0x0000EA00 File Offset: 0x0000CC00 + public LabelData(string name, int no, int start) + { + this.Name = name; + this.No = no; + this.TagStart = start; + } + + // Token: 0x1700009B RID: 155 + // (get) Token: 0x0600041A RID: 1050 RVA: 0x0000EA28 File Offset: 0x0000CC28 + // (set) Token: 0x0600041B RID: 1051 RVA: 0x0000EA30 File Offset: 0x0000CC30 + public string Name { get; private set; } + + // Token: 0x1700009C RID: 156 + // (get) Token: 0x0600041C RID: 1052 RVA: 0x0000EA3C File Offset: 0x0000CC3C + // (set) Token: 0x0600041D RID: 1053 RVA: 0x0000EA44 File Offset: 0x0000CC44 + public int No { get; private set; } + + // Token: 0x1700009D RID: 157 + // (get) Token: 0x0600041E RID: 1054 RVA: 0x0000EA50 File Offset: 0x0000CC50 + // (set) Token: 0x0600041F RID: 1055 RVA: 0x0000EA58 File Offset: 0x0000CC58 + public int TagStart { get; private set; } + + // Token: 0x1700009E RID: 158 + // (get) Token: 0x06000420 RID: 1056 RVA: 0x0000EA64 File Offset: 0x0000CC64 + // (set) Token: 0x06000421 RID: 1057 RVA: 0x0000EA6C File Offset: 0x0000CC6C + public int TagNum { get; private set; } + + // Token: 0x06000422 RID: 1058 RVA: 0x0000EA78 File Offset: 0x0000CC78 + public void SetNowTag(int no) + { + this.TagNum = no - this.TagStart; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/MSG_STYLE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/MSG_STYLE.cs new file mode 100644 index 000000000..d51e67aa1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/MSG_STYLE.cs @@ -0,0 +1,21 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000037 RID: 55 + internal enum MSG_STYLE + { + // Token: 0x0400016E RID: 366 + NORMAL, + // Token: 0x0400016F RID: 367 + KYARA, + // Token: 0x04000170 RID: 368 + TOGAKI, + // Token: 0x04000171 RID: 369 + HEROINE, + // Token: 0x04000172 RID: 370 + MONOLOGUE, + // Token: 0x04000173 RID: 371 + NUM + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/MsgTagData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/MsgTagData.cs new file mode 100644 index 000000000..40a6febee --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/MsgTagData.cs @@ -0,0 +1,44 @@ +using System; +using System.Text; + +namespace Qoo.Ks +{ + // Token: 0x0200008F RID: 143 + public class MsgTagData : TagBase + { + // Token: 0x06000413 RID: 1043 RVA: 0x0000E950 File Offset: 0x0000CB50 + public MsgTagData() : base(KSID.MESSAGE, false) + { + } + + // Token: 0x1700009A RID: 154 + // (get) Token: 0x06000414 RID: 1044 RVA: 0x0000E95C File Offset: 0x0000CB5C + // (set) Token: 0x06000415 RID: 1045 RVA: 0x0000E964 File Offset: 0x0000CB64 + public string Message { get; private set; } + + // Token: 0x06000416 RID: 1046 RVA: 0x0000E970 File Offset: 0x0000CB70 + public bool IsMessage() + { + return this.Message.Length > 0; + } + + // Token: 0x06000417 RID: 1047 RVA: 0x0000E980 File Offset: 0x0000CB80 + public void AddMessage(string msg) + { + StringBuilder stringBuilder = new StringBuilder(this.Message); + stringBuilder.Append(msg); + this.Message = stringBuilder.ToString(); + base.IsClose = false; + } + + // Token: 0x06000418 RID: 1048 RVA: 0x0000E9B4 File Offset: 0x0000CBB4 + public void SetTagData(TagData tag) + { + base.ID = tag.ID; + this.Message = string.Empty; + base.IsClose = tag.IsClose; + base.Param.Clear(); + base.Param.AddRange(tag.Param); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/PLAYSTAT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/PLAYSTAT.cs new file mode 100644 index 000000000..4fb812566 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/PLAYSTAT.cs @@ -0,0 +1,17 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000044 RID: 68 + public enum PLAYSTAT + { + // Token: 0x040001E4 RID: 484 + NULL, + // Token: 0x040001E5 RID: 485 + PLAY, + // Token: 0x040001E6 RID: 486 + STOP, + // Token: 0x040001E7 RID: 487 + END + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/PLAY_MODE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/PLAY_MODE.cs new file mode 100644 index 000000000..b8bdf489b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/PLAY_MODE.cs @@ -0,0 +1,15 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000034 RID: 52 + public enum PLAY_MODE + { + // Token: 0x04000158 RID: 344 + NORMAL, + // Token: 0x04000159 RID: 345 + MEMORY, + // Token: 0x0400015A RID: 346 + MINIGAME + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/ParamData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/ParamData.cs new file mode 100644 index 000000000..c14e0a6a7 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/ParamData.cs @@ -0,0 +1,37 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200008C RID: 140 + public class ParamData + { + // Token: 0x060003F2 RID: 1010 RVA: 0x0000E6BC File Offset: 0x0000C8BC + public ParamData(KSID id, string param) + { + this.ID = id; + this.Param = param; + } + + // Token: 0x17000091 RID: 145 + // (get) Token: 0x060003F3 RID: 1011 RVA: 0x0000E6D4 File Offset: 0x0000C8D4 + // (set) Token: 0x060003F4 RID: 1012 RVA: 0x0000E6DC File Offset: 0x0000C8DC + public KSID ID { get; private set; } + + // Token: 0x17000092 RID: 146 + // (get) Token: 0x060003F5 RID: 1013 RVA: 0x0000E6E8 File Offset: 0x0000C8E8 + // (set) Token: 0x060003F6 RID: 1014 RVA: 0x0000E6F0 File Offset: 0x0000C8F0 + public string Param { get; private set; } + + // Token: 0x060003F7 RID: 1015 RVA: 0x0000E6FC File Offset: 0x0000C8FC + public int ToInt() + { + return int.Parse(this.Param); + } + + // Token: 0x060003F8 RID: 1016 RVA: 0x0000E70C File Offset: 0x0000C90C + public float ToFloat() + { + return float.Parse(this.Param); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENECALLDATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENECALLDATA.cs new file mode 100644 index 000000000..e7bb65ba8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENECALLDATA.cs @@ -0,0 +1,63 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000041 RID: 65 + public struct SCENECALLDATA + { + // Token: 0x17000073 RID: 115 + // (get) Token: 0x0600024E RID: 590 RVA: 0x00008D50 File Offset: 0x00006F50 + // (set) Token: 0x0600024F RID: 591 RVA: 0x00008D58 File Offset: 0x00006F58 + public short sFileNo { get; set; } + + // Token: 0x17000074 RID: 116 + // (get) Token: 0x06000250 RID: 592 RVA: 0x00008D64 File Offset: 0x00006F64 + // (set) Token: 0x06000251 RID: 593 RVA: 0x00008D6C File Offset: 0x00006F6C + public short sLabelNo { get; set; } + + // Token: 0x17000075 RID: 117 + // (get) Token: 0x06000252 RID: 594 RVA: 0x00008D78 File Offset: 0x00006F78 + // (set) Token: 0x06000253 RID: 595 RVA: 0x00008D80 File Offset: 0x00006F80 + public short sTagNo { get; set; } + + // Token: 0x17000076 RID: 118 + // (get) Token: 0x06000254 RID: 596 RVA: 0x00008D8C File Offset: 0x00006F8C + // (set) Token: 0x06000255 RID: 597 RVA: 0x00008D94 File Offset: 0x00006F94 + public bool bCall { get; set; } + + // Token: 0x17000077 RID: 119 + // (get) Token: 0x06000256 RID: 598 RVA: 0x00008DA0 File Offset: 0x00006FA0 + // (set) Token: 0x06000257 RID: 599 RVA: 0x00008DA8 File Offset: 0x00006FA8 + public bool bRet { get; set; } + + // Token: 0x17000078 RID: 120 + // (get) Token: 0x06000258 RID: 600 RVA: 0x00008DB4 File Offset: 0x00006FB4 + // (set) Token: 0x06000259 RID: 601 RVA: 0x00008DBC File Offset: 0x00006FBC + public short sRetNo { get; set; } + + // Token: 0x0600025A RID: 602 RVA: 0x00008DC8 File Offset: 0x00006FC8 + public bool Save(MemFile mem) + { + mem.SetInt16(this.sFileNo); + mem.SetInt16(this.sLabelNo); + mem.SetInt16(this.sTagNo); + mem.SetBool(this.bCall); + mem.SetBool(this.bRet); + mem.SetInt16(this.sRetNo); + return true; + } + + // Token: 0x0600025B RID: 603 RVA: 0x00008E20 File Offset: 0x00007020 + public bool Load(MemFile mem) + { + this.sFileNo = mem.GetInt16(); + this.sLabelNo = mem.GetInt16(); + this.sTagNo = mem.GetInt16(); + this.bCall = mem.GetBool(); + this.bRet = mem.GetBool(); + this.sRetNo = mem.GetInt16(); + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENELOGDATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENELOGDATA.cs new file mode 100644 index 000000000..60ed8522d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENELOGDATA.cs @@ -0,0 +1,141 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200003F RID: 63 + public class SCENELOGDATA + { + // Token: 0x06000214 RID: 532 RVA: 0x000089A4 File Offset: 0x00006BA4 + public SCENELOGDATA() + { + this.nCgX = new short[4]; + this.nCgY = new short[4]; + this.nCgLayer = new sbyte[4]; + this.aszMsgName = new string[2]; + this.szCg = new string[4]; + this.szSe = new string[2]; + this.aszSelect = new string[10]; + this.aszSelectKs = new string[10]; + this.aszSelectLabel = new string[10]; + this.aszSelectEffect = new string[10]; + this.anSelectParam = new int[10]; + this.aszChr = new string[5]; + this.anChrPos = new byte[5]; + this.WorkArray = new KsWorkLog[2]; + foreach (KsWorkLog ksWorkLog in this.WorkArray) + { + ksWorkLog.Reset(); + } + } + + // Token: 0x17000058 RID: 88 + // (get) Token: 0x06000215 RID: 533 RVA: 0x00008A94 File Offset: 0x00006C94 + // (set) Token: 0x06000216 RID: 534 RVA: 0x00008A9C File Offset: 0x00006C9C + public bool nExist { get; set; } + + // Token: 0x17000059 RID: 89 + // (get) Token: 0x06000217 RID: 535 RVA: 0x00008AA8 File Offset: 0x00006CA8 + // (set) Token: 0x06000218 RID: 536 RVA: 0x00008AB0 File Offset: 0x00006CB0 + public byte nBgmVol { get; set; } + + // Token: 0x1700005A RID: 90 + // (get) Token: 0x06000219 RID: 537 RVA: 0x00008ABC File Offset: 0x00006CBC + // (set) Token: 0x0600021A RID: 538 RVA: 0x00008AC4 File Offset: 0x00006CC4 + public short[] nCgX { get; set; } + + // Token: 0x1700005B RID: 91 + // (get) Token: 0x0600021B RID: 539 RVA: 0x00008AD0 File Offset: 0x00006CD0 + // (set) Token: 0x0600021C RID: 540 RVA: 0x00008AD8 File Offset: 0x00006CD8 + public short[] nCgY { get; set; } + + // Token: 0x1700005C RID: 92 + // (get) Token: 0x0600021D RID: 541 RVA: 0x00008AE4 File Offset: 0x00006CE4 + // (set) Token: 0x0600021E RID: 542 RVA: 0x00008AEC File Offset: 0x00006CEC + public sbyte[] nCgLayer { get; set; } + + // Token: 0x1700005D RID: 93 + // (get) Token: 0x0600021F RID: 543 RVA: 0x00008AF8 File Offset: 0x00006CF8 + // (set) Token: 0x06000220 RID: 544 RVA: 0x00008B00 File Offset: 0x00006D00 + public string[] aszMsgName { get; set; } + + // Token: 0x1700005E RID: 94 + // (get) Token: 0x06000221 RID: 545 RVA: 0x00008B0C File Offset: 0x00006D0C + // (set) Token: 0x06000222 RID: 546 RVA: 0x00008B14 File Offset: 0x00006D14 + public char nMsgFrameType { get; set; } + + // Token: 0x1700005F RID: 95 + // (get) Token: 0x06000223 RID: 547 RVA: 0x00008B20 File Offset: 0x00006D20 + // (set) Token: 0x06000224 RID: 548 RVA: 0x00008B28 File Offset: 0x00006D28 + public TagData Msg { get; set; } + + // Token: 0x17000060 RID: 96 + // (get) Token: 0x06000225 RID: 549 RVA: 0x00008B34 File Offset: 0x00006D34 + // (set) Token: 0x06000226 RID: 550 RVA: 0x00008B3C File Offset: 0x00006D3C + public string szFace { get; set; } + + // Token: 0x17000061 RID: 97 + // (get) Token: 0x06000227 RID: 551 RVA: 0x00008B48 File Offset: 0x00006D48 + // (set) Token: 0x06000228 RID: 552 RVA: 0x00008B50 File Offset: 0x00006D50 + public string szBg { get; set; } + + // Token: 0x17000062 RID: 98 + // (get) Token: 0x06000229 RID: 553 RVA: 0x00008B5C File Offset: 0x00006D5C + // (set) Token: 0x0600022A RID: 554 RVA: 0x00008B64 File Offset: 0x00006D64 + public string[] szCg { get; set; } + + // Token: 0x17000063 RID: 99 + // (get) Token: 0x0600022B RID: 555 RVA: 0x00008B70 File Offset: 0x00006D70 + // (set) Token: 0x0600022C RID: 556 RVA: 0x00008B78 File Offset: 0x00006D78 + public string szBgm { get; set; } + + // Token: 0x17000064 RID: 100 + // (get) Token: 0x0600022D RID: 557 RVA: 0x00008B84 File Offset: 0x00006D84 + // (set) Token: 0x0600022E RID: 558 RVA: 0x00008B8C File Offset: 0x00006D8C + public string szVoice { get; set; } + + // Token: 0x17000065 RID: 101 + // (get) Token: 0x0600022F RID: 559 RVA: 0x00008B98 File Offset: 0x00006D98 + // (set) Token: 0x06000230 RID: 560 RVA: 0x00008BA0 File Offset: 0x00006DA0 + public string[] szSe { get; set; } + + // Token: 0x17000066 RID: 102 + // (get) Token: 0x06000231 RID: 561 RVA: 0x00008BAC File Offset: 0x00006DAC + // (set) Token: 0x06000232 RID: 562 RVA: 0x00008BB4 File Offset: 0x00006DB4 + public string[] aszSelect { get; set; } + + // Token: 0x17000067 RID: 103 + // (get) Token: 0x06000233 RID: 563 RVA: 0x00008BC0 File Offset: 0x00006DC0 + // (set) Token: 0x06000234 RID: 564 RVA: 0x00008BC8 File Offset: 0x00006DC8 + public string[] aszSelectKs { get; set; } + + // Token: 0x17000068 RID: 104 + // (get) Token: 0x06000235 RID: 565 RVA: 0x00008BD4 File Offset: 0x00006DD4 + // (set) Token: 0x06000236 RID: 566 RVA: 0x00008BDC File Offset: 0x00006DDC + public string[] aszSelectLabel { get; set; } + + // Token: 0x17000069 RID: 105 + // (get) Token: 0x06000237 RID: 567 RVA: 0x00008BE8 File Offset: 0x00006DE8 + // (set) Token: 0x06000238 RID: 568 RVA: 0x00008BF0 File Offset: 0x00006DF0 + public string[] aszSelectEffect { get; set; } + + // Token: 0x1700006A RID: 106 + // (get) Token: 0x06000239 RID: 569 RVA: 0x00008BFC File Offset: 0x00006DFC + // (set) Token: 0x0600023A RID: 570 RVA: 0x00008C04 File Offset: 0x00006E04 + public int[] anSelectParam { get; set; } + + // Token: 0x1700006B RID: 107 + // (get) Token: 0x0600023B RID: 571 RVA: 0x00008C10 File Offset: 0x00006E10 + // (set) Token: 0x0600023C RID: 572 RVA: 0x00008C18 File Offset: 0x00006E18 + public string[] aszChr { get; set; } + + // Token: 0x1700006C RID: 108 + // (get) Token: 0x0600023D RID: 573 RVA: 0x00008C24 File Offset: 0x00006E24 + // (set) Token: 0x0600023E RID: 574 RVA: 0x00008C2C File Offset: 0x00006E2C + public byte[] anChrPos { get; set; } + + // Token: 0x1700006D RID: 109 + // (get) Token: 0x0600023F RID: 575 RVA: 0x00008C38 File Offset: 0x00006E38 + // (set) Token: 0x06000240 RID: 576 RVA: 0x00008C40 File Offset: 0x00006E40 + public KsWorkLog[] WorkArray { get; set; } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENEPOSDATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENEPOSDATA.cs new file mode 100644 index 000000000..2b55d842d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENEPOSDATA.cs @@ -0,0 +1,56 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Ks +{ + // Token: 0x02000040 RID: 64 + public class SCENEPOSDATA + { + // Token: 0x1700006E RID: 110 + // (get) Token: 0x06000242 RID: 578 RVA: 0x00008C54 File Offset: 0x00006E54 + // (set) Token: 0x06000243 RID: 579 RVA: 0x00008C5C File Offset: 0x00006E5C + public short sFileNo { get; set; } + + // Token: 0x1700006F RID: 111 + // (get) Token: 0x06000244 RID: 580 RVA: 0x00008C68 File Offset: 0x00006E68 + // (set) Token: 0x06000245 RID: 581 RVA: 0x00008C70 File Offset: 0x00006E70 + public short sLabelNo { get; set; } + + // Token: 0x17000070 RID: 112 + // (get) Token: 0x06000246 RID: 582 RVA: 0x00008C7C File Offset: 0x00006E7C + // (set) Token: 0x06000247 RID: 583 RVA: 0x00008C84 File Offset: 0x00006E84 + public short sTagNo { get; set; } + + // Token: 0x17000071 RID: 113 + // (get) Token: 0x06000248 RID: 584 RVA: 0x00008C90 File Offset: 0x00006E90 + // (set) Token: 0x06000249 RID: 585 RVA: 0x00008C98 File Offset: 0x00006E98 + public bool bRun { get; set; } + + // Token: 0x17000072 RID: 114 + // (get) Token: 0x0600024A RID: 586 RVA: 0x00008CA4 File Offset: 0x00006EA4 + // (set) Token: 0x0600024B RID: 587 RVA: 0x00008CAC File Offset: 0x00006EAC + public bool bLock { get; set; } + + // Token: 0x0600024C RID: 588 RVA: 0x00008CB8 File Offset: 0x00006EB8 + public bool Save(MemFile mem) + { + mem.SetInt16(this.sFileNo); + mem.SetInt16(this.sLabelNo); + mem.SetInt16(this.sTagNo); + mem.SetBool(this.bRun); + mem.SetBool(this.bLock); + return true; + } + + // Token: 0x0600024D RID: 589 RVA: 0x00008D04 File Offset: 0x00006F04 + public bool Load(MemFile mem) + { + this.sFileNo = mem.GetInt16(); + this.sLabelNo = mem.GetInt16(); + this.sTagNo = mem.GetInt16(); + this.bRun = mem.GetBool(); + this.bLock = mem.GetBool(); + return true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_DRAW_OBJECT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_DRAW_OBJECT.cs new file mode 100644 index 000000000..cdc0feb3d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_DRAW_OBJECT.cs @@ -0,0 +1,35 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200007F RID: 127 + public struct SCENE_DRAW_OBJECT + { + // Token: 0x04000279 RID: 633 + public DRAW_COMMAND com; + + // Token: 0x0400027A RID: 634 + public bool isCenter; + + // Token: 0x0400027B RID: 635 + public UnitySprite sp; + + // Token: 0x0400027C RID: 636 + public int x; + + // Token: 0x0400027D RID: 637 + public int y; + + // Token: 0x0400027E RID: 638 + public int z; + + // Token: 0x0400027F RID: 639 + public byte a; + + // Token: 0x04000280 RID: 640 + public string name; + + // Token: 0x04000281 RID: 641 + public UnityTexture tex; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_RESTOREDATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_RESTOREDATA.cs new file mode 100644 index 000000000..9b4d3fceb --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_RESTOREDATA.cs @@ -0,0 +1,23 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000042 RID: 66 + public struct SCENE_RESTOREDATA + { + // Token: 0x17000079 RID: 121 + // (get) Token: 0x0600025C RID: 604 RVA: 0x00008E78 File Offset: 0x00007078 + // (set) Token: 0x0600025D RID: 605 RVA: 0x00008E80 File Offset: 0x00007080 + public byte[] BackupData { get; set; } + + // Token: 0x1700007A RID: 122 + // (get) Token: 0x0600025E RID: 606 RVA: 0x00008E8C File Offset: 0x0000708C + // (set) Token: 0x0600025F RID: 607 RVA: 0x00008E94 File Offset: 0x00007094 + public SCENEPOSDATA[] PosData { get; set; } + + // Token: 0x1700007B RID: 123 + // (get) Token: 0x06000260 RID: 608 RVA: 0x00008EA0 File Offset: 0x000070A0 + // (set) Token: 0x06000261 RID: 609 RVA: 0x00008EA8 File Offset: 0x000070A8 + public SCENECALLDATA[] CallData { get; set; } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_SKIPFLAG.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_SKIPFLAG.cs new file mode 100644 index 000000000..463f19814 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SCENE_SKIPFLAG.cs @@ -0,0 +1,13 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x0200007A RID: 122 + public enum SCENE_SKIPFLAG + { + // Token: 0x0400025C RID: 604 + KEY = 1, + // Token: 0x0400025D RID: 605 + READED + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SWITCH.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SWITCH.cs new file mode 100644 index 000000000..ad91f5224 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/SWITCH.cs @@ -0,0 +1,15 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000081 RID: 129 + public enum SWITCH + { + // Token: 0x04000286 RID: 646 + NULL, + // Token: 0x04000287 RID: 647 + ON, + // Token: 0x04000288 RID: 648 + OFF + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TAG_RESULT.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TAG_RESULT.cs new file mode 100644 index 000000000..140ca7c50 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TAG_RESULT.cs @@ -0,0 +1,21 @@ +using System; + +namespace Qoo.Ks +{ + // Token: 0x02000043 RID: 67 + public enum TAG_RESULT + { + // Token: 0x040001DD RID: 477 + NULL, + // Token: 0x040001DE RID: 478 + CONTINUE, + // Token: 0x040001DF RID: 479 + CONTINUE_EXIT, + // Token: 0x040001E0 RID: 480 + NEXT, + // Token: 0x040001E1 RID: 481 + NEXT_EXIT, + // Token: 0x040001E2 RID: 482 + END + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagBase.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagBase.cs new file mode 100644 index 000000000..192c3226c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagBase.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Ks +{ + // Token: 0x0200008D RID: 141 + public class TagBase + { + // Token: 0x060003F9 RID: 1017 RVA: 0x0000E71C File Offset: 0x0000C91C + public TagBase(KSID id, bool bClose = false) + { + this.ID = id; + this.IsClose = bClose; + this.Param = new List(); + } + + // Token: 0x17000093 RID: 147 + // (get) Token: 0x060003FA RID: 1018 RVA: 0x0000E748 File Offset: 0x0000C948 + // (set) Token: 0x060003FB RID: 1019 RVA: 0x0000E750 File Offset: 0x0000C950 + public KSID ID { get; protected set; } + + // Token: 0x17000094 RID: 148 + // (get) Token: 0x060003FC RID: 1020 RVA: 0x0000E75C File Offset: 0x0000C95C + // (set) Token: 0x060003FD RID: 1021 RVA: 0x0000E764 File Offset: 0x0000C964 + public List Param { get; protected set; } + + // Token: 0x17000095 RID: 149 + // (get) Token: 0x060003FE RID: 1022 RVA: 0x0000E770 File Offset: 0x0000C970 + // (set) Token: 0x060003FF RID: 1023 RVA: 0x0000E778 File Offset: 0x0000C978 + public bool IsClose { get; protected set; } + + // Token: 0x06000400 RID: 1024 RVA: 0x0000E784 File Offset: 0x0000C984 + public ParamData GetParam(KSID id) + { + return this.Param.Find((ParamData item) => item.ID == id); + } + + // Token: 0x06000401 RID: 1025 RVA: 0x0000E7B8 File Offset: 0x0000C9B8 + public int GetParamInt(KSID id, int default_value) + { + ParamData param = this.GetParam(id); + return (param != null) ? param.ToInt() : default_value; + } + + // Token: 0x06000402 RID: 1026 RVA: 0x0000E7E0 File Offset: 0x0000C9E0 + public string GetParamString(KSID id, string default_value) + { + ParamData param = this.GetParam(id); + return (param != null) ? param.Param : default_value; + } + + // Token: 0x06000403 RID: 1027 RVA: 0x0000E808 File Offset: 0x0000CA08 + public bool GetParamBool(KSID id, bool default_value) + { + ParamData param = this.GetParam(id); + return (param != null) ? string.Equals(param.Param, "true", StringComparison.OrdinalIgnoreCase) : default_value; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagData.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagData.cs new file mode 100644 index 000000000..c38f020a1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagData.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Ks +{ + // Token: 0x0200008E RID: 142 + public class TagData : TagBase + { + // Token: 0x06000404 RID: 1028 RVA: 0x0000E83C File Offset: 0x0000CA3C + public TagData(KSID id, int label, bool IsClose_ = false) : base(id, IsClose_) + { + this.LabelNo = label; + this.Connect = false; + if (this.IsMessage()) + { + this.Message = new List(); + } + } + + // Token: 0x17000096 RID: 150 + // (get) Token: 0x06000405 RID: 1029 RVA: 0x0000E878 File Offset: 0x0000CA78 + // (set) Token: 0x06000406 RID: 1030 RVA: 0x0000E880 File Offset: 0x0000CA80 + public int LabelNo { get; private set; } + + // Token: 0x17000097 RID: 151 + // (get) Token: 0x06000407 RID: 1031 RVA: 0x0000E88C File Offset: 0x0000CA8C + // (set) Token: 0x06000408 RID: 1032 RVA: 0x0000E894 File Offset: 0x0000CA94 + public bool Connect { get; private set; } + + // Token: 0x17000098 RID: 152 + // (get) Token: 0x06000409 RID: 1033 RVA: 0x0000E8A0 File Offset: 0x0000CAA0 + // (set) Token: 0x0600040A RID: 1034 RVA: 0x0000E8A8 File Offset: 0x0000CAA8 + public List Message { get; private set; } + + // Token: 0x17000099 RID: 153 + // (get) Token: 0x0600040B RID: 1035 RVA: 0x0000E8B4 File Offset: 0x0000CAB4 + // (set) Token: 0x0600040C RID: 1036 RVA: 0x0000E8BC File Offset: 0x0000CABC + public int MesNo { get; private set; } + + // Token: 0x0600040D RID: 1037 RVA: 0x0000E8C8 File Offset: 0x0000CAC8 + public bool Add(ParamData param) + { + base.Param.Add(param); + return true; + } + + // Token: 0x0600040E RID: 1038 RVA: 0x0000E8D8 File Offset: 0x0000CAD8 + public bool AddMessage(MsgTagData tag) + { + this.Message.Add(tag); + return true; + } + + // Token: 0x0600040F RID: 1039 RVA: 0x0000E8E8 File Offset: 0x0000CAE8 + public bool AddLastMessage(string str) + { + if (this.IsMessage()) + { + this.Message[this.Message.Count - 1].AddMessage(str); + return true; + } + return false; + } + + // Token: 0x06000410 RID: 1040 RVA: 0x0000E924 File Offset: 0x0000CB24 + public bool IsMessage() + { + return KsTagTable.GetInfo(base.ID).IsMessage(); + } + + // Token: 0x06000411 RID: 1041 RVA: 0x0000E938 File Offset: 0x0000CB38 + public void SetMesNo(int no) + { + this.MesNo = no; + } + + // Token: 0x06000412 RID: 1042 RVA: 0x0000E944 File Offset: 0x0000CB44 + public void SetConnect() + { + this.Connect = true; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagReader.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagReader.cs new file mode 100644 index 000000000..e8cebf3dd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Ks/TagReader.cs @@ -0,0 +1,391 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Qoo.Ks +{ + // Token: 0x02000091 RID: 145 + public class TagReader + { + // Token: 0x06000423 RID: 1059 RVA: 0x0000EA88 File Offset: 0x0000CC88 + public TagReader() + { + this.Label = new List(); + this.Tag = new List(); + this.NextKsList = new List(); + this.IsOldTag = false; + } + + // Token: 0x1700009F RID: 159 + // (get) Token: 0x06000424 RID: 1060 RVA: 0x0000EAC4 File Offset: 0x0000CCC4 + // (set) Token: 0x06000425 RID: 1061 RVA: 0x0000EACC File Offset: 0x0000CCCC + public List Label { get; private set; } + + // Token: 0x170000A0 RID: 160 + // (get) Token: 0x06000426 RID: 1062 RVA: 0x0000EAD8 File Offset: 0x0000CCD8 + // (set) Token: 0x06000427 RID: 1063 RVA: 0x0000EAE0 File Offset: 0x0000CCE0 + public List Tag { get; private set; } + + // Token: 0x170000A1 RID: 161 + // (get) Token: 0x06000428 RID: 1064 RVA: 0x0000EAEC File Offset: 0x0000CCEC + // (set) Token: 0x06000429 RID: 1065 RVA: 0x0000EAF4 File Offset: 0x0000CCF4 + public List NextKsList { get; set; } + + // Token: 0x170000A2 RID: 162 + // (get) Token: 0x0600042A RID: 1066 RVA: 0x0000EB00 File Offset: 0x0000CD00 + // (set) Token: 0x0600042B RID: 1067 RVA: 0x0000EB08 File Offset: 0x0000CD08 + public int Line { get; private set; } + + // Token: 0x170000A3 RID: 163 + // (get) Token: 0x0600042C RID: 1068 RVA: 0x0000EB14 File Offset: 0x0000CD14 + // (set) Token: 0x0600042D RID: 1069 RVA: 0x0000EB1C File Offset: 0x0000CD1C + public string Name { get; private set; } + + // Token: 0x170000A4 RID: 164 + // (get) Token: 0x0600042E RID: 1070 RVA: 0x0000EB28 File Offset: 0x0000CD28 + // (set) Token: 0x0600042F RID: 1071 RVA: 0x0000EB30 File Offset: 0x0000CD30 + private bool IsOldTag { get; set; } + + // Token: 0x170000A5 RID: 165 + // (get) Token: 0x06000430 RID: 1072 RVA: 0x0000EB3C File Offset: 0x0000CD3C + // (set) Token: 0x06000431 RID: 1073 RVA: 0x0000EB44 File Offset: 0x0000CD44 + public int MesNum { get; private set; } + + // Token: 0x06000432 RID: 1074 RVA: 0x0000EB50 File Offset: 0x0000CD50 + public bool Create(string ksName, string str) + { + this.Label.Clear(); + this.Tag.Clear(); + this.Line = 0; + this.Name = ksName; + if (!this.Analysis(str)) + { + return false; + } + this.AddMessageNo(); + this.CreateNextKsList(); + return true; + } + + // Token: 0x06000433 RID: 1075 RVA: 0x0000EB9C File Offset: 0x0000CD9C + private bool Analysis(string str) + { + if (str[0] == '"') + { + str = str.Substring(1); + } + int num = (from c in str.ToList() + where c.Equals('\n') + select c).Count(); + int num2 = 0; + for (int num3 = 0; num3 != num; num3++) + { + int num4 = str.IndexOf('\n', num2); + string text; + if (num4 == -1) + { + text = str.Substring(num2); + } + else + { + text = str.Substring(num2, num4 - num2); + num2 += text.Length + 1; + } + if (!this.Analysis_local(text, num3)) + { + return false; + } + } + if (num2 < str.Length) + { + string line = str.Substring(num2); + if (!this.Analysis_local(line, num)) + { + return false; + } + } + return true; + } + + // Token: 0x06000434 RID: 1076 RVA: 0x0000EC70 File Offset: 0x0000CE70 + private bool Analysis_local(string line, int line_no) + { + KsTextSeparator ksTextSeparator = new KsTextSeparator(); + if (!ksTextSeparator.Analysis(line)) + { + Debug.Print(string.Concat(new object[] + { + "Error:", + this.Name, + "(", + line_no + 1, + "):解析中にエラーが発生しました" + })); + return false; + } + string[] dest = ksTextSeparator.Dest; + if (this.m_isMessage) + { + if (!this.AnalysisMessage(dest)) + { + this.m_isMessage = false; + } + } + else if (dest.Length == 0) + { + this.m_isOldTag = false; + } + else + { + this.AnalysisLine(dest); + } + return true; + } + + // Token: 0x06000435 RID: 1077 RVA: 0x0000ED18 File Offset: 0x0000CF18 + private bool AnalysisLine(string[] data) + { + for (int i = 0; i < data.Length; i++) + { + string text = data[i]; + char c = text[0]; + switch (c) + { + case '\n': + if (i == 0) + { + this.m_isOldTag = false; + } + break; + default: + if (c != '*') + { + if (c != ';') + { + if (c != '[') + { + if (i == 0) + { + this.m_isOldTag = false; + } + } + else + { + i++; + if (this.m_isOldTag && this.Tag.Count > 0) + { + this.Tag[this.Tag.Count - 1].SetConnect(); + } + TagData tagData = this.AddTag(data[i]); + if (tagData != null) + { + i++; + while (data[i][0] != ']') + { + i = this.AddTagParam(ref tagData, data, i); + } + this.Tag.Add(tagData); + if (tagData.IsMessage()) + { + this.m_isMessage = true; + } + this.SetLabelTagNum(); + this.m_isOldTag = true; + } + } + } + else if (i == 0) + { + this.m_isOldTag = false; + } + } + else + { + this.AddLabel(text.Substring(1)); + this.m_isOldTag = false; + } + break; + case '\r': + if (i == 0) + { + this.m_isOldTag = false; + } + break; + } + } + return true; + } + + // Token: 0x06000436 RID: 1078 RVA: 0x0000EE88 File Offset: 0x0000D088 + private bool AddLabel(string name) + { + this.SetLabelTagNum(); + this.Label.Add(new LabelData(name, this.Label.Count, this.Tag.Count)); + return true; + } + + // Token: 0x06000437 RID: 1079 RVA: 0x0000EEC4 File Offset: 0x0000D0C4 + private bool SetLabelTagNum() + { + if (this.Label.Count != 0) + { + this.Label[this.Label.Count - 1].SetNowTag(this.Tag.Count); + } + return true; + } + + // Token: 0x06000438 RID: 1080 RVA: 0x0000EF0C File Offset: 0x0000D10C + private TagData AddTag(string name) + { + bool flag = name[0] == '/'; + if (flag) + { + name = name.Substring(1); + } + KSID id = KsTagTable.GetID(name); + if (id == KSID.UNKNOWN) + { + this.Error(string.Format("Error:タグ名が不正={0}", name)); + return null; + } + return new TagData(id, this.Label.Count, flag); + } + + // Token: 0x06000439 RID: 1081 RVA: 0x0000EF68 File Offset: 0x0000D168 + private int AddTagParam(ref TagData tag, string[] data, int tokunNo) + { + while (tokunNo < data.Length) + { + if (data[tokunNo][0] == ']') + { + return tokunNo; + } + KSID id = KsTagTable.GetID(data[tokunNo]); + if (id == KSID.UNKNOWN) + { + this.Error(string.Format("Error:パラメータ名が不正={0}", data[tokunNo])); + return -1; + } + tokunNo++; + if (tokunNo >= data.Length || data[tokunNo][0] != '=') + { + this.Error("Error:パラメータ区切り文字がない。"); + return -1; + } + tokunNo++; + string param = data[tokunNo]; + tokunNo++; + tag.Add(new ParamData(id, param)); + } + return tokunNo; + } + + // Token: 0x0600043A RID: 1082 RVA: 0x0000F004 File Offset: 0x0000D204 + private bool AnalysisMessage(string[] data) + { + for (int i = 0; i < data.Length; i++) + { + MsgTagData msgTagData = new MsgTagData(); + char c = data[i][0]; + if (c != '\r') + { + if (c != '[') + { + msgTagData.AddMessage(data[i]); + } + else + { + i++; + TagData tagData = this.AddTag(data[i]); + if (tagData != null) + { + i++; + while (i < data.Length && data[i][0] != ']') + { + i = this.AddTagParam(ref tagData, data, i); + } + if (tagData.ID == KSID.MESSAGE && tagData.IsClose) + { + return false; + } + if (tagData.ID == KSID.BACKLOG && tagData.IsClose) + { + return false; + } + msgTagData.SetTagData(tagData); + } + } + } + this.Tag[this.Tag.Count - 1].AddMessage(msgTagData); + } + this.Tag[this.Tag.Count - 1].AddLastMessage("\n"); + return true; + } + + // Token: 0x0600043B RID: 1083 RVA: 0x0000F124 File Offset: 0x0000D324 + private void AddMessageNo() + { + this.MesNum = 0; + this.Tag.ForEach(delegate(TagData tag) + { + if (tag.IsMessage()) + { + tag.SetMesNo(this.MesNum++); + } + }); + } + + // Token: 0x0600043C RID: 1084 RVA: 0x0000F144 File Offset: 0x0000D344 + private void CreateNextKsList() + { + List tbl = new List(); + this.Tag.ForEach(delegate(TagData tag) + { + string text = string.Empty; + if (tag.ID == KSID.NEXT) + { + text = tag.GetParamString(KSID.FILE, string.Empty); + if (text != string.Empty) + { + tbl.Add(text); + } + } + else if (tag.ID == KSID.SELECT) + { + text = tag.GetParamString(KSID.FILE, string.Empty); + if (text != string.Empty) + { + tbl.Add(text); + } + } + else + { + text = tag.GetParamString(KSID.COMP, string.Empty); + if (text != string.Empty) + { + tbl.Add(text); + } + text = tag.GetParamString(KSID.INCOMP, string.Empty); + if (text != string.Empty) + { + tbl.Add(text); + } + } + }); + this.NextKsList.Clear(); + this.NextKsList.AddRange(tbl.Distinct()); + } + + // Token: 0x0600043D RID: 1085 RVA: 0x0000F19C File Offset: 0x0000D39C + private void Error(string msg) + { + Debug.Print(string.Format("{0}({1}):{2}\n", this.Name, this.Line, msg)); + } + + // Token: 0x040002C9 RID: 713 + private bool m_isMessage; + + // Token: 0x040002CA RID: 714 + private bool m_isOldTag; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Memory/MemFile.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Memory/MemFile.cs new file mode 100644 index 000000000..383ae19db --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Memory/MemFile.cs @@ -0,0 +1,206 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Qoo.Memory +{ + // Token: 0x020000BE RID: 190 + public class MemFile + { + // Token: 0x060005B6 RID: 1462 RVA: 0x00016FF0 File Offset: 0x000151F0 + public MemFile(byte[] data_ = null) + { + this.Data = new List(); + this.Pos = 0; + if (data_ != null) + { + this.Data.AddRange(data_); + } + } + + // Token: 0x170000D1 RID: 209 + // (get) Token: 0x060005B7 RID: 1463 RVA: 0x00017028 File Offset: 0x00015228 + // (set) Token: 0x060005B8 RID: 1464 RVA: 0x00017030 File Offset: 0x00015230 + public List Data { get; private set; } + + // Token: 0x170000D2 RID: 210 + // (get) Token: 0x060005B9 RID: 1465 RVA: 0x0001703C File Offset: 0x0001523C + // (set) Token: 0x060005BA RID: 1466 RVA: 0x00017044 File Offset: 0x00015244 + public int Pos { get; private set; } + + // Token: 0x060005BB RID: 1467 RVA: 0x00017050 File Offset: 0x00015250 + public int GetInt32() + { + int num = (int)this.Data[this.Pos]; + num |= (int)this.Data[this.Pos + 1] << 8; + num |= (int)this.Data[this.Pos + 2] << 16; + num |= (int)((sbyte)this.Data[this.Pos + 3]) << 24; + this.Pos += 4; + return num; + } + + // Token: 0x060005BC RID: 1468 RVA: 0x000170CC File Offset: 0x000152CC + public void SetInt32(int data_) + { + this.SetUInt32((uint)data_); + } + + // Token: 0x060005BD RID: 1469 RVA: 0x000170D8 File Offset: 0x000152D8 + public uint GetUInt32() + { + return (uint)this.GetInt32(); + } + + // Token: 0x060005BE RID: 1470 RVA: 0x000170E0 File Offset: 0x000152E0 + public void SetUInt32(uint data_) + { + byte[] collection = new byte[] + { + (byte)(data_ & 255U), + (byte)((data_ & 65280U) >> 8), + (byte)((data_ & 16711680U) >> 16), + (byte)((data_ & 4278190080U) >> 24) + }; + this.Data.AddRange(collection); + } + + // Token: 0x060005BF RID: 1471 RVA: 0x00017134 File Offset: 0x00015334 + public short GetInt16() + { + short num = (short)this.Data[this.Pos]; + num |= (short)(this.Data[this.Pos + 1] << 8); + this.Pos += 2; + return num; + } + + // Token: 0x060005C0 RID: 1472 RVA: 0x0001717C File Offset: 0x0001537C + public void SetInt16(short data_) + { + this.SetUInt16((ushort)data_); + } + + // Token: 0x060005C1 RID: 1473 RVA: 0x00017188 File Offset: 0x00015388 + public ushort GetUInt16() + { + return (ushort)this.GetInt16(); + } + + // Token: 0x060005C2 RID: 1474 RVA: 0x00017194 File Offset: 0x00015394 + public void SetUInt16(ushort data_) + { + byte[] collection = new byte[] + { + (byte)(data_ & 255), + (byte)((data_ & 65280) >> 8) + }; + this.Data.AddRange(collection); + } + + // Token: 0x060005C3 RID: 1475 RVA: 0x000171CC File Offset: 0x000153CC + public void SetInt16Array(short[] data_) + { + byte[] array = new byte[data_.Length * 2]; + Buffer.BlockCopy(data_, 0, array, 0, array.Length); + this.Data.AddRange(array); + } + + // Token: 0x060005C4 RID: 1476 RVA: 0x000171FC File Offset: 0x000153FC + public sbyte GetInt8() + { + sbyte result = (sbyte)this.Data[this.Pos]; + this.Pos++; + return result; + } + + // Token: 0x060005C5 RID: 1477 RVA: 0x0001722C File Offset: 0x0001542C + public byte GetUInt8() + { + return (byte)this.GetInt8(); + } + + // Token: 0x060005C6 RID: 1478 RVA: 0x00017238 File Offset: 0x00015438 + public void SetUInt8(byte data_) + { + this.Data.Add(data_); + } + + // Token: 0x060005C7 RID: 1479 RVA: 0x00017248 File Offset: 0x00015448 + public void SetInt8(sbyte data_) + { + this.Data.Add((byte)data_); + } + + // Token: 0x060005C8 RID: 1480 RVA: 0x00017258 File Offset: 0x00015458 + public string GetString(int size) + { + Encoding encoding = Encoding.GetEncoding("utf-8"); + Encoding unicode = Encoding.Unicode; + byte[] bytes = Encoding.Convert(encoding, unicode, this.Data.ToArray(), this.Pos, size); + string @string = unicode.GetString(bytes); + this.Pos += size; + return @string; + } + + // Token: 0x060005C9 RID: 1481 RVA: 0x000172A8 File Offset: 0x000154A8 + public string GetStringUtf16() + { + string text = string.Empty; + while (this.Pos < this.Length()) + { + char @uint = (char)this.GetUInt16(); + if (@uint == '\0') + { + break; + } + text += @uint; + } + return text; + } + + // Token: 0x060005CA RID: 1482 RVA: 0x000172F4 File Offset: 0x000154F4 + public void SetStringUtf16(string data_) + { + for (int num = 0; num != data_.Length; num++) + { + this.SetUInt16((ushort)data_[num]); + } + this.SetUInt16(0); + } + + // Token: 0x060005CB RID: 1483 RVA: 0x0001732C File Offset: 0x0001552C + public void Align(int iAlign) + { + this.Pos = (iAlign - this.Pos % iAlign) % iAlign + this.Pos; + } + + // Token: 0x060005CC RID: 1484 RVA: 0x00017348 File Offset: 0x00015548 + public void SetPos(int pos_) + { + this.Pos = pos_; + } + + // Token: 0x060005CD RID: 1485 RVA: 0x00017354 File Offset: 0x00015554 + public int Length() + { + return this.Data.Count; + } + + // Token: 0x060005CE RID: 1486 RVA: 0x00017364 File Offset: 0x00015564 + internal bool GetBool() + { + return (int)this.GetInt8() != 0; + } + + // Token: 0x060005CF RID: 1487 RVA: 0x0001737C File Offset: 0x0001557C + internal void SetBool(bool IsString) + { + this.SetInt8((!IsString) ? 0 : 1); + } + + // Token: 0x060005D0 RID: 1488 RVA: 0x00017394 File Offset: 0x00015594 + internal void Clear() + { + this.Data.Clear(); + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Message/BACKLOG_ITEM.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Message/BACKLOG_ITEM.cs new file mode 100644 index 000000000..dbad4581f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Message/BACKLOG_ITEM.cs @@ -0,0 +1,55 @@ +using System; + +namespace Qoo.Message +{ + // Token: 0x020000A8 RID: 168 + public class BACKLOG_ITEM + { + // Token: 0x060004EE RID: 1262 RVA: 0x000125B4 File Offset: 0x000107B4 + public BACKLOG_ITEM(int nKs, int nLabel, int nPos, string voice_, string name_, string txt_) + { + this.KsNo = nKs; + this.LabelNo = nLabel; + this.Pos = nPos; + this.Voice = voice_; + this.Name = name_; + this.Txt = txt_; + } + + // Token: 0x170000B3 RID: 179 + // (get) Token: 0x060004EF RID: 1263 RVA: 0x000125F4 File Offset: 0x000107F4 + // (set) Token: 0x060004F0 RID: 1264 RVA: 0x000125FC File Offset: 0x000107FC + public int KsNo { get; set; } + + // Token: 0x170000B4 RID: 180 + // (get) Token: 0x060004F1 RID: 1265 RVA: 0x00012608 File Offset: 0x00010808 + // (set) Token: 0x060004F2 RID: 1266 RVA: 0x00012610 File Offset: 0x00010810 + public int LabelNo { get; set; } + + // Token: 0x170000B5 RID: 181 + // (get) Token: 0x060004F3 RID: 1267 RVA: 0x0001261C File Offset: 0x0001081C + // (set) Token: 0x060004F4 RID: 1268 RVA: 0x00012624 File Offset: 0x00010824 + public int Pos { get; set; } + + // Token: 0x170000B6 RID: 182 + // (get) Token: 0x060004F5 RID: 1269 RVA: 0x00012630 File Offset: 0x00010830 + // (set) Token: 0x060004F6 RID: 1270 RVA: 0x00012638 File Offset: 0x00010838 + public string Voice { get; set; } + + // Token: 0x170000B7 RID: 183 + // (get) Token: 0x060004F7 RID: 1271 RVA: 0x00012644 File Offset: 0x00010844 + // (set) Token: 0x060004F8 RID: 1272 RVA: 0x0001264C File Offset: 0x0001084C + public string Name { get; set; } + + // Token: 0x170000B8 RID: 184 + // (get) Token: 0x060004F9 RID: 1273 RVA: 0x00012658 File Offset: 0x00010858 + // (set) Token: 0x060004FA RID: 1274 RVA: 0x00012660 File Offset: 0x00010860 + public string Txt { get; set; } + + // Token: 0x060004FB RID: 1275 RVA: 0x0001266C File Offset: 0x0001086C + public bool IsEqual(int nKs, int nLabel, int nPos) + { + return this.KsNo == nKs && this.LabelNo == nLabel && this.Pos >= nPos; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Message/BackLog.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Message/BackLog.cs new file mode 100644 index 000000000..c9d0f2e5c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Message/BackLog.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Message +{ + // Token: 0x020000A7 RID: 167 + public class BackLog + { + // Token: 0x170000B2 RID: 178 + // (get) Token: 0x060004E6 RID: 1254 RVA: 0x0001239C File Offset: 0x0001059C + public bool Empty + { + get + { + return this.GetNum() == 0; + } + } + + // Token: 0x060004E7 RID: 1255 RVA: 0x000123A8 File Offset: 0x000105A8 + public void Init() + { + this.Clear(); + this.m_isEnable = true; + } + + // Token: 0x060004E8 RID: 1256 RVA: 0x000123B8 File Offset: 0x000105B8 + public void Clear() + { + this.LogList.Clear(); + } + + // Token: 0x060004E9 RID: 1257 RVA: 0x000123C8 File Offset: 0x000105C8 + public int GetNum() + { + return this.LogList.Count; + } + + // Token: 0x060004EA RID: 1258 RVA: 0x000123D8 File Offset: 0x000105D8 + public void SetMesNo(int nKs, int nLabel, int nMes) + { + this.m_nKsNo = nKs; + this.m_nLabelNo = nLabel; + this.m_nMesNo = nMes; + } + + // Token: 0x060004EB RID: 1259 RVA: 0x000123F0 File Offset: 0x000105F0 + public bool AddMessage(string text, string name, string voice) + { + if (!this.m_isEnable) + { + return false; + } + if (this.LogList.Count > 0 && this.LogList[this.LogList.Count - 1].IsEqual(this.m_nKsNo, this.m_nLabelNo, this.m_nMesNo)) + { + this.LogList[this.LogList.Count - 1] = new BACKLOG_ITEM(this.m_nKsNo, this.m_nLabelNo, this.m_nMesNo, voice, name, text); + return true; + } + this.LogList.Add(new BACKLOG_ITEM(this.m_nKsNo, this.m_nLabelNo, this.m_nMesNo, voice, name, text)); + if (this.LogList.Count - 64 > 0) + { + this.LogList.RemoveRange(0, this.LogList.Count - 64); + } + return true; + } + + // Token: 0x060004EC RID: 1260 RVA: 0x000124D8 File Offset: 0x000106D8 + public void RemoveMessage(int nKsNo, int nLabelNo, int nMesNo) + { + while (this.m_isEnable) + { + if (this.LogList.Count == 0) + { + break; + } + if (!this.LogList[this.LogList.Count - 1].IsEqual(nKsNo, nLabelNo, nMesNo)) + { + break; + } + this.LogList.RemoveAt(this.LogList.Count - 1); + } + } + + // Token: 0x060004ED RID: 1261 RVA: 0x0001254C File Offset: 0x0001074C + public BACKLOG_ITEM[] GetRenge(int max) + { + int count = (this.LogList.Count <= max) ? this.LogList.Count : max; + int index = (this.LogList.Count <= max) ? 0 : (this.LogList.Count - max); + return this.LogList.GetRange(index, count).ToArray(); + } + + // Token: 0x04000381 RID: 897 + private List LogList = new List(); + + // Token: 0x04000382 RID: 898 + private int m_nKsNo; + + // Token: 0x04000383 RID: 899 + private int m_nLabelNo; + + // Token: 0x04000384 RID: 900 + private int m_nMesNo; + + // Token: 0x04000385 RID: 901 + private bool m_isEnable; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Message/MSGWND_STYLE_DATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Message/MSGWND_STYLE_DATA.cs new file mode 100644 index 000000000..5998e9471 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Message/MSGWND_STYLE_DATA.cs @@ -0,0 +1,102 @@ +using System; +using UnityEngine; + +namespace Qoo.Message +{ + // Token: 0x020000B0 RID: 176 + public class MSGWND_STYLE_DATA + { + // Token: 0x06000521 RID: 1313 RVA: 0x0001398C File Offset: 0x00011B8C + public MSGWND_STYLE_DATA() + { + this.posName = new Point3[2]; + } + + // Token: 0x06000522 RID: 1314 RVA: 0x000139A0 File Offset: 0x00011BA0 + public MSGWND_STYLE_DATA(Point3 posFrm_, Point3[] posName_, Point3 posFace_, Point3 posBrk_, Size sizeBrkSplit_, int nBrkWait_, Point3 posTxt_, Size sizeTxt_, int nTxtWEx_, bool bTxtAutoRet_, Color32 colTxt_, Color32 colRefWord_, Color32 colRefBg_, Color32 colRefCur_, string BrkCg_, string BrkAutoCg_) + { + this.posName = new Point3[2]; + Debug.Assert(this.posName.Length == posName_.Length); + this.posFrm = posFrm_; + for (int num = 0; num != this.posName.Length; num++) + { + this.posName[num] = posName_[num]; + } + this.posFace = posFace_; + this.posBrk = posBrk_; + this.sizeBrkSplit = sizeBrkSplit_; + this.nBrkWait = nBrkWait_; + this.posTxt = posTxt_; + this.sizeTxt = sizeTxt_; + this.nTxtWEx = nTxtWEx_; + this.bTxtAutoRet = bTxtAutoRet_; + this.colTxt = colTxt_; + this.colRefWord = colRefWord_; + this.colRefBg = colRefBg_; + this.colRefCur = colRefCur_; + this.BrkCg = BrkCg_; + this.BrkAutoCg = BrkAutoCg_; + } + + // Token: 0x06000523 RID: 1315 RVA: 0x00013A6C File Offset: 0x00011C6C + internal void SetPosScale(float fX, float fY) + { + this.posFrm.Scale(fX, fY, 1f); + foreach (Point3 point in this.posName) + { + point.Scale(fX, fY, 1f); + } + this.posFace.Scale(fX, fY, 1f); + this.posBrk.Scale(fX, fY, 1f); + this.posTxt.Scale(fX, fY, 1f); + } + + // Token: 0x040003C1 RID: 961 + public Point3 posFrm; + + // Token: 0x040003C2 RID: 962 + public Point3[] posName; + + // Token: 0x040003C3 RID: 963 + public Point3 posFace; + + // Token: 0x040003C4 RID: 964 + public Point3 posBrk; + + // Token: 0x040003C5 RID: 965 + public Size sizeBrkSplit; + + // Token: 0x040003C6 RID: 966 + public int nBrkWait; + + // Token: 0x040003C7 RID: 967 + public Point3 posTxt; + + // Token: 0x040003C8 RID: 968 + public Size sizeTxt; + + // Token: 0x040003C9 RID: 969 + public int nTxtWEx; + + // Token: 0x040003CA RID: 970 + public bool bTxtAutoRet; + + // Token: 0x040003CB RID: 971 + public Color32 colTxt; + + // Token: 0x040003CC RID: 972 + public Color32 colRefWord; + + // Token: 0x040003CD RID: 973 + public Color32 colRefBg; + + // Token: 0x040003CE RID: 974 + public Color32 colRefCur; + + // Token: 0x040003CF RID: 975 + public string BrkCg; + + // Token: 0x040003D0 RID: 976 + public string BrkAutoCg; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Message/MessageStyle.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Message/MessageStyle.cs new file mode 100644 index 000000000..5452743fa --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Message/MessageStyle.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using Qoo.Def; + +namespace Qoo.Message +{ + // Token: 0x020000B1 RID: 177 + public static class MessageStyle + { + // Token: 0x06000525 RID: 1317 RVA: 0x00013B10 File Offset: 0x00011D10 + public static bool AddStyle(MSGWND_STYLE style, string nameStyle, string nameFrameCg, MSGWND_STYLE_DATA data) + { + MessageStyle.DicStyleData.Add(style, data); + MessageStyle.DicFrameCg.Add(style, nameFrameCg); + MessageStyle.DicNameTable.Add(nameStyle, style); + return true; + } + + // Token: 0x06000526 RID: 1318 RVA: 0x00013B38 File Offset: 0x00011D38 + public static bool Clear() + { + MessageStyle.DicStyleData.Clear(); + MessageStyle.DicFrameCg.Clear(); + MessageStyle.DicNameTable.Clear(); + return true; + } + + // Token: 0x06000527 RID: 1319 RVA: 0x00013B5C File Offset: 0x00011D5C + public static MSGWND_STYLE_DATA GetData(MSGWND_STYLE style) + { + return MessageStyle.DicStyleData[style]; + } + + // Token: 0x06000528 RID: 1320 RVA: 0x00013B6C File Offset: 0x00011D6C + public static MSGWND_STYLE GetStyle(string style_name) + { + return MessageStyle.DicNameTable[style_name]; + } + + // Token: 0x06000529 RID: 1321 RVA: 0x00013B7C File Offset: 0x00011D7C + public static string GetFrameCgName(MSGWND_STYLE style) + { + return MessageStyle.DicFrameCg[style]; + } + + // Token: 0x040003D1 RID: 977 + private static Dictionary DicStyleData = new Dictionary(); + + // Token: 0x040003D2 RID: 978 + private static Dictionary DicFrameCg = new Dictionary(); + + // Token: 0x040003D3 RID: 979 + private static Dictionary DicNameTable = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Param/GameParam.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Param/GameParam.cs new file mode 100644 index 000000000..afaaccb28 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Param/GameParam.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using Qoo.Memory; + +namespace Qoo.Param +{ + // Token: 0x0200001D RID: 29 + public class GameParam + { + // Token: 0x1700001D RID: 29 + // (get) Token: 0x060000BB RID: 187 RVA: 0x000047B8 File Offset: 0x000029B8 + public int Num + { + get + { + return this.m_Param.Count; + } + } + + // Token: 0x060000BC RID: 188 RVA: 0x000047C8 File Offset: 0x000029C8 + public void Clear() + { + this.m_Param.Clear(); + } + + // Token: 0x060000BD RID: 189 RVA: 0x000047D8 File Offset: 0x000029D8 + public bool Attach(string name, string init, int index = 0, bool IsString = true) + { + if (this.m_Param.ContainsKey(name)) + { + return false; + } + this.m_Param.Add(name, new PARAM_DATA(init, IsString, index)); + return true; + } + + // Token: 0x060000BE RID: 190 RVA: 0x00004810 File Offset: 0x00002A10 + public void Init() + { + foreach (KeyValuePair keyValuePair in this.m_Param) + { + keyValuePair.Value.Init(); + } + } + + // Token: 0x060000BF RID: 191 RVA: 0x0000487C File Offset: 0x00002A7C + public void Copy(GameParam param) + { + this.Clear(); + foreach (KeyValuePair keyValuePair in param.m_Param) + { + this.m_Param.Add(keyValuePair.Key, new PARAM_DATA(keyValuePair.Value)); + } + } + + // Token: 0x060000C0 RID: 192 RVA: 0x00004900 File Offset: 0x00002B00 + public string Get(string name) + { + if (!this.m_Param.ContainsKey(name)) + { + return string.Empty; + } + return this.m_Param[name].param; + } + + // Token: 0x060000C1 RID: 193 RVA: 0x00004938 File Offset: 0x00002B38 + public int GetIndex(string name) + { + if (!this.m_Param.ContainsKey(name)) + { + return 0; + } + return this.m_Param[name].index; + } + + // Token: 0x060000C2 RID: 194 RVA: 0x0000496C File Offset: 0x00002B6C + public int GetInt(string name) + { + if (!this.m_Param.ContainsKey(name)) + { + Debug.Print("Get Param Int :" + name + " is none"); + return 0; + } + int num = int.Parse(this.Get(name)); + Debug.Print(string.Concat(new object[] + { + "Get Param Int :", + name, + " is ", + num + })); + return num; + } + + // Token: 0x060000C3 RID: 195 RVA: 0x000049DC File Offset: 0x00002BDC + public bool Set(string name, string param_) + { + if (!this.m_Param.ContainsKey(name)) + { + return false; + } + this.m_Param[name].Set(param_); + return true; + } + + // Token: 0x060000C4 RID: 196 RVA: 0x00004A10 File Offset: 0x00002C10 + public bool SetInt(string name, int param_) + { + if (!this.m_Param.ContainsKey(name)) + { + return false; + } + this.m_Param[name].Set(param_.ToString()); + return true; + } + + // Token: 0x060000C5 RID: 197 RVA: 0x00004A4C File Offset: 0x00002C4C + public bool AddInt(string name, int add_param) + { + return this.m_Param.ContainsKey(name) && this.SetInt(name, this.GetInt(name) + add_param); + } + + // Token: 0x060000C6 RID: 198 RVA: 0x00004A7C File Offset: 0x00002C7C + public bool IsString(string name) + { + return this.m_Param.ContainsKey(name) && this.m_Param[name].IsString; + } + + // Token: 0x060000C7 RID: 199 RVA: 0x00004AB0 File Offset: 0x00002CB0 + public int GetIndexNum(int iNo) + { + Debug.Assert(iNo >= 0 && iNo < this.m_Param.Count, "パラメータの範囲外です。\n"); + Dictionary.Enumerator enumerator = this.m_Param.GetEnumerator(); + for (int i = 0; i <= iNo; i++) + { + enumerator.MoveNext(); + } + int num = 1; + while (enumerator.MoveNext()) + { + KeyValuePair keyValuePair = enumerator.Current; + if (keyValuePair.Value.index == 0) + { + break; + } + num++; + } + return num; + } + + // Token: 0x060000C8 RID: 200 RVA: 0x00004B3C File Offset: 0x00002D3C + public int SearchZeroIndex(string name) + { + Dictionary.Enumerator enumerator = this.m_Param.GetEnumerator(); + if (this.m_Param.Count > 0) + { + int num = 0; + while (enumerator.MoveNext()) + { + KeyValuePair keyValuePair = enumerator.Current; + if (keyValuePair.Key.IndexOf(name) == 0) + { + KeyValuePair keyValuePair2 = enumerator.Current; + if (keyValuePair2.Value.index == 0) + { + return num; + } + } + num++; + } + } + return -1; + } + + // Token: 0x060000C9 RID: 201 RVA: 0x00004BB4 File Offset: 0x00002DB4 + public string GetParamString(int index) + { + Dictionary.Enumerator enumerator = this.m_Param.GetEnumerator(); + if (this.m_Param.Count > 0) + { + for (int num = 0; num != index; num++) + { + enumerator.MoveNext(); + } + KeyValuePair keyValuePair = enumerator.Current; + if (keyValuePair.Value != null) + { + KeyValuePair keyValuePair2 = enumerator.Current; + return keyValuePair2.Value.param; + } + } + return string.Empty; + } + + // Token: 0x060000CA RID: 202 RVA: 0x00004C28 File Offset: 0x00002E28 + internal void SetParam(int index, int value) + { + Dictionary.Enumerator enumerator = this.m_Param.GetEnumerator(); + if (this.m_Param.Count > 0) + { + for (int num = 0; num != index; num++) + { + enumerator.MoveNext(); + } + KeyValuePair keyValuePair = enumerator.Current; + keyValuePair.Value.Set(value.ToString()); + } + } + + // Token: 0x060000CB RID: 203 RVA: 0x00004C88 File Offset: 0x00002E88 + public void Save(MemFile mem) + { + mem.SetInt32(this.Num); + for (int num = 0; num != this.Num; num++) + { + string name = this.GetName(num); + mem.SetStringUtf16(name); + this.m_Param[name].Save(mem); + } + } + + // Token: 0x060000CC RID: 204 RVA: 0x00004CDC File Offset: 0x00002EDC + public void Load(MemFile mem) + { + this.Clear(); + int @int = mem.GetInt32(); + for (int num = 0; num != @int; num++) + { + string stringUtf = mem.GetStringUtf16(); + PARAM_DATA param_DATA = new PARAM_DATA(string.Empty, false, 0); + param_DATA.Load(mem); + this.m_Param.Add(stringUtf, param_DATA); + } + } + + // Token: 0x060000CD RID: 205 RVA: 0x00004D30 File Offset: 0x00002F30 + public string GetName(int index) + { + Dictionary.Enumerator enumerator = this.m_Param.GetEnumerator(); + enumerator.MoveNext(); + for (int num = 0; num != index; num++) + { + enumerator.MoveNext(); + } + KeyValuePair keyValuePair = enumerator.Current; + return keyValuePair.Key; + } + + // Token: 0x040000FE RID: 254 + private Dictionary m_Param = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Param/Look.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Param/Look.cs new file mode 100644 index 000000000..1762ea1a1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Param/Look.cs @@ -0,0 +1,134 @@ +using System; +using System.Collections.Generic; +using Qoo.Memory; + +namespace Qoo.Param +{ + // Token: 0x0200001E RID: 30 + public class Look + { + // Token: 0x060000CF RID: 207 RVA: 0x00004DA8 File Offset: 0x00002FA8 + public bool Add(string name) + { + if (!this.m_FileTbl.ContainsKey(name)) + { + int count = this.m_FileTbl.Count; + this.m_FileTbl.Add(name, count); + this.m_PosTbl.Add(count, name); + this.m_LookTbl.Add(false); + } + return true; + } + + // Token: 0x060000D0 RID: 208 RVA: 0x00004DFC File Offset: 0x00002FFC + public void Clear() + { + this.m_FileTbl.Clear(); + this.m_PosTbl.Clear(); + this.m_LookTbl.Clear(); + } + + // Token: 0x060000D1 RID: 209 RVA: 0x00004E20 File Offset: 0x00003020 + public void Init() + { + this.SetAll(false); + } + + // Token: 0x060000D2 RID: 210 RVA: 0x00004E2C File Offset: 0x0000302C + public void SetAll(bool Is = true) + { + for (int num = 0; num != this.m_LookTbl.Count; num++) + { + this.m_LookTbl[num] = Is; + } + } + + // Token: 0x060000D3 RID: 211 RVA: 0x00004E64 File Offset: 0x00003064 + public int Get(string name) + { + Debug.Assert(this.m_FileTbl.ContainsKey(name), string.Format("リストに登録されていない名前です{0}", name)); + if (!this.m_FileTbl.ContainsKey(name)) + { + return -1; + } + return this.m_FileTbl[name]; + } + + // Token: 0x060000D4 RID: 212 RVA: 0x00004EAC File Offset: 0x000030AC + public string Get(int pos) + { + Debug.Assert(this.m_PosTbl.ContainsKey(pos), string.Format("リストに登録されていないインデックスです{0}", pos)); + return this.m_PosTbl[pos]; + } + + // Token: 0x060000D5 RID: 213 RVA: 0x00004EDC File Offset: 0x000030DC + public bool Set(string name, bool IsLook = true) + { + if (this.m_FileTbl.ContainsKey(name)) + { + this.m_LookTbl[this.Get(name)] = IsLook; + return IsLook; + } + return false; + } + + // Token: 0x060000D6 RID: 214 RVA: 0x00004F14 File Offset: 0x00003114 + public bool Set(int pos, bool IsLook = true) + { + if (this.m_PosTbl.ContainsKey(pos)) + { + this.m_LookTbl[pos] = IsLook; + return IsLook; + } + return false; + } + + // Token: 0x060000D7 RID: 215 RVA: 0x00004F44 File Offset: 0x00003144 + public bool IsLook(string name) + { + int num = this.Get(name); + return num != -1 && this.m_LookTbl[this.Get(name)]; + } + + // Token: 0x060000D8 RID: 216 RVA: 0x00004F74 File Offset: 0x00003174 + public bool IsLook(int pos) + { + return this.m_LookTbl[pos]; + } + + // Token: 0x060000D9 RID: 217 RVA: 0x00004F84 File Offset: 0x00003184 + public bool Save(MemFile mem) + { + mem.SetInt32(this.m_LookTbl.Count); + foreach (bool @bool in this.m_LookTbl) + { + mem.SetBool(@bool); + } + return true; + } + + // Token: 0x060000DA RID: 218 RVA: 0x00004FFC File Offset: 0x000031FC + public bool Load(MemFile mem) + { + int @int = mem.GetInt32(); + if (@int == this.m_LookTbl.Count) + { + for (int num = 0; num != this.m_LookTbl.Count; num++) + { + this.m_LookTbl[num] = mem.GetBool(); + } + return true; + } + return false; + } + + // Token: 0x040000FF RID: 255 + private Dictionary m_FileTbl = new Dictionary(); + + // Token: 0x04000100 RID: 256 + private Dictionary m_PosTbl = new Dictionary(); + + // Token: 0x04000101 RID: 257 + private List m_LookTbl = new List(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Param/PARAM_DATA.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Param/PARAM_DATA.cs new file mode 100644 index 000000000..5d7ceb7c9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Param/PARAM_DATA.cs @@ -0,0 +1,69 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Param +{ + // Token: 0x0200001C RID: 28 + public class PARAM_DATA + { + // Token: 0x060000B4 RID: 180 RVA: 0x00004664 File Offset: 0x00002864 + public PARAM_DATA(PARAM_DATA other) + { + this.param = other.param; + this.init_param = other.init_param; + this.IsString = other.IsString; + this.index = other.index; + } + + // Token: 0x060000B5 RID: 181 RVA: 0x000046C0 File Offset: 0x000028C0 + public PARAM_DATA(string s = "", bool b = false, int index_ = 0) + { + this.param = s; + this.init_param = s; + this.IsString = b; + this.index = index_; + } + + // Token: 0x060000B6 RID: 182 RVA: 0x00004708 File Offset: 0x00002908 + public void Init() + { + this.param = this.init_param; + } + + // Token: 0x060000B7 RID: 183 RVA: 0x00004718 File Offset: 0x00002918 + public void Set(string param_) + { + this.param = param_; + } + + // Token: 0x060000B8 RID: 184 RVA: 0x00004724 File Offset: 0x00002924 + public void Save(MemFile mem) + { + mem.SetStringUtf16(this.param); + mem.SetStringUtf16(this.init_param); + mem.SetBool(this.IsString); + mem.SetInt32(this.index); + } + + // Token: 0x060000B9 RID: 185 RVA: 0x00004764 File Offset: 0x00002964 + public void Load(MemFile mem) + { + this.param = mem.GetStringUtf16(); + this.init_param = mem.GetStringUtf16(); + this.IsString = mem.GetBool(); + this.index = mem.GetInt32(); + } + + // Token: 0x040000FA RID: 250 + public string param = string.Empty; + + // Token: 0x040000FB RID: 251 + public string init_param = string.Empty; + + // Token: 0x040000FC RID: 252 + public bool IsString; + + // Token: 0x040000FD RID: 253 + public int index; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Param/Read.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Param/Read.cs new file mode 100644 index 000000000..585a04d14 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Param/Read.cs @@ -0,0 +1,148 @@ +using System; +using Qoo.Memory; + +namespace Qoo.Param +{ + // Token: 0x0200001F RID: 31 + public class Read + { + // Token: 0x1700001E RID: 30 + // (get) Token: 0x060000DC RID: 220 RVA: 0x0000506C File Offset: 0x0000326C + public short[] Data + { + get + { + return this.m_Pos; + } + } + + // Token: 0x060000DD RID: 221 RVA: 0x00005074 File Offset: 0x00003274 + public void Init() + { + for (int i = 0; i < this.m_Pos.GetLength(0); i++) + { + this.m_Pos[i] = 0; + } + } + + // Token: 0x060000DE RID: 222 RVA: 0x000050A8 File Offset: 0x000032A8 + public void Copy(Read other) + { + for (int i = 0; i < this.m_Pos.GetLength(0); i++) + { + this.m_Pos[i] = other.m_Pos[i]; + } + } + + // Token: 0x060000DF RID: 223 RVA: 0x000050E4 File Offset: 0x000032E4 + public bool IsRead(int nKs, int nLabel, int nTag = 0) + { + if (!this.IsRengeKs(nKs)) + { + return false; + } + if (this.IsRengeLabel(nLabel)) + { + return (int)this.m_Pos[nKs * 200 + nLabel] > nTag; + } + if (nLabel < 0) + { + int num = 0; + for (int num2 = 0; num2 != 200; num2++) + { + num += (int)this.m_Pos[nKs * 200 + num2]; + } + return num > nTag; + } + return false; + } + + // Token: 0x060000E0 RID: 224 RVA: 0x00005158 File Offset: 0x00003358 + public bool Set(int nKs, int nLabel, int nNo) + { + if (!this.IsRenge(nKs, nLabel)) + { + return false; + } + this.m_Pos[nKs * 200 + nLabel] = (short)nNo; + return true; + } + + // Token: 0x060000E1 RID: 225 RVA: 0x00005188 File Offset: 0x00003388 + public bool Add(int nKs, int nLabel, int nNo) + { + if (!this.IsRenge(nKs, nLabel)) + { + return false; + } + if ((int)this.m_Pos[nKs * 200 + nLabel] <= nNo) + { + this.m_Pos[nKs * 200 + nLabel] = (short)nNo; + } + return true; + } + + // Token: 0x060000E2 RID: 226 RVA: 0x000051D0 File Offset: 0x000033D0 + public int Get(int nKs, int nLabel) + { + if (!this.IsRenge(nKs, nLabel)) + { + return 0; + } + return (int)this.m_Pos[nKs * 200 + nLabel]; + } + + // Token: 0x060000E3 RID: 227 RVA: 0x000051F4 File Offset: 0x000033F4 + private bool IsRenge(int nKs, int nLabel) + { + return this.IsRengeKs(nKs) && this.IsRengeLabel(nLabel); + } + + // Token: 0x060000E4 RID: 228 RVA: 0x0000520C File Offset: 0x0000340C + private bool IsRengeKs(int nKs) + { + return nKs >= 0 && nKs < 1000; + } + + // Token: 0x060000E5 RID: 229 RVA: 0x00005220 File Offset: 0x00003420 + private bool IsRengeLabel(int nLabel) + { + return nLabel >= 0 && nLabel < 200; + } + + // Token: 0x060000E6 RID: 230 RVA: 0x00005234 File Offset: 0x00003434 + public void SetAll() + { + for (int i = 0; i < this.m_Pos.GetLength(0); i++) + { + this.m_Pos[i] = 16383; + } + } + + // Token: 0x060000E7 RID: 231 RVA: 0x0000526C File Offset: 0x0000346C + public bool Save(MemFile mem) + { + mem.SetInt32(this.m_Pos.GetLength(0)); + mem.SetInt16Array(this.m_Pos); + return true; + } + + // Token: 0x060000E8 RID: 232 RVA: 0x00005290 File Offset: 0x00003490 + public bool Load(MemFile mem) + { + int @int = mem.GetInt32(); + if (this.m_Pos.GetLength(0) == @int) + { + for (int num = 0; num != this.m_Pos.GetLength(0); num++) + { + this.m_Pos[num] = mem.GetInt16(); + } + return true; + } + return false; + } + + // Token: 0x04000102 RID: 258 + private short[] m_Pos = new short[200000]; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Script/AmCalc.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Script/AmCalc.cs new file mode 100644 index 000000000..8aa2cd864 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Script/AmCalc.cs @@ -0,0 +1,224 @@ +using System; +using Game; +using NsQT; +using Qoo.Application; +using Qoo.Game; + +namespace Qoo.Script +{ + // Token: 0x02000095 RID: 149 + internal class AmCalc : CQPocketK3 + { + // Token: 0x06000442 RID: 1090 RVA: 0x0000F29C File Offset: 0x0000D49C + public override void Init() + { + base.Init(); + } + + // Token: 0x06000443 RID: 1091 RVA: 0x0000F2A4 File Offset: 0x0000D4A4 + public virtual bool ExecCmdStr(string szCmdExp, ref int pnResult) + { + CQK3Node cqk3Node = new CQK3Node(); + bool flag = base.ExecCalc(szCmdExp, ref cqk3Node); + if (flag && cqk3Node.GetNodeType() == QK3_NODETYPE.INT) + { + pnResult = cqk3Node.GetInt(); + } + else + { + pnResult = -1; + } + return flag; + } + + // Token: 0x06000444 RID: 1092 RVA: 0x0000F2E4 File Offset: 0x0000D4E4 + protected override bool Error(QK3_ERROR nErrNo) + { + return base.Error(nErrNo); + } + + // Token: 0x06000445 RID: 1093 RVA: 0x0000F2F0 File Offset: 0x0000D4F0 + protected override void SetupOperator() + { + base.SetupOperator(); + this.SetOp(QK3_OP.QK3_OP_STR_BEGIN, Q_TOKEN.QTK_S_QUOT); + this.SetOp(QK3_OP.QK3_OP_STR_END, Q_TOKEN.QTK_S_QUOT); + } + + // Token: 0x06000446 RID: 1094 RVA: 0x0000F30C File Offset: 0x0000D50C + protected override QK3_IDTYPE GetIdType(string szName, ref QK3_ITEMINFO ItemInfo) + { + if (string.Equals(szName, "null")) + { + ItemInfo.nType = 0; + ItemInfo.nId = 0; + return QK3_IDTYPE.QK3_IDTYPE_VAR; + } + CHAR_ID idFromName = Chara.GetIdFromName(szName); + if (idFromName != CHAR_ID.NOTHING) + { + ItemInfo.nType = 0; + ItemInfo.nId = (int)idFromName; + return QK3_IDTYPE.QK3_IDTYPE_VAR; + } + for (int i = 0; i < AmCalc.g_aQcFuncList.Length; i++) + { + if (string.Equals(AmCalc.g_aQcFuncList[i].szName, szName)) + { + ItemInfo.nType = 0; + ItemInfo.nId = i; + ItemInfo.nIndex = AmCalc.g_aQcFuncList[i].nReserved; + return QK3_IDTYPE.QK3_IDTYPE_FUNC; + } + } + int nIndex = 0; + int num = GameData.SearchParam(szName.ToUpper(), ref nIndex); + if (num > 0) + { + ItemInfo.nType = 1; + ItemInfo.nId = num; + ItemInfo.nIndex = nIndex; + return QK3_IDTYPE.QK3_IDTYPE_VAR; + } + return QK3_IDTYPE.QK3_IDTYPE_NULL; + } + + // Token: 0x06000447 RID: 1095 RVA: 0x0000F3E0 File Offset: 0x0000D5E0 + protected override bool VarSetValue(QK3_ITEMINFO ItemInfo, CQK3Node NodeIndex, CQK3Node NodeValue) + { + QC_VARTYPE nType = (QC_VARTYPE)ItemInfo.nType; + if (nType == QC_VARTYPE.CONST) + { + Debug.Print("ERR: 定数には代入できません。"); + return false; + } + if (nType != QC_VARTYPE.GAMEPARAM) + { + return false; + } + if (NodeIndex.GetInt() < 0 || NodeIndex.GetInt() >= ItemInfo.nIndex) + { + Debug.Print(string.Format("ERR: 配列インデックスが範囲外です -> {0}", NodeIndex.GetInt())); + return false; + } + GameData.SetParam(ItemInfo.nId + NodeIndex.GetInt(), NodeValue.GetInt()); + return true; + } + + // Token: 0x06000448 RID: 1096 RVA: 0x0000F46C File Offset: 0x0000D66C + protected override bool VarGetValue(QK3_ITEMINFO ItemInfo, CQK3Node NodeIndex, ref CQK3Node NodeRet) + { + QC_VARTYPE nType = (QC_VARTYPE)ItemInfo.nType; + if (nType == QC_VARTYPE.CONST) + { + NodeRet.SetInt(ItemInfo.nId); + return true; + } + if (nType != QC_VARTYPE.GAMEPARAM) + { + return false; + } + if (NodeIndex.GetInt() < 0 || NodeIndex.GetInt() >= ItemInfo.nIndex) + { + Debug.Print(string.Format("ERR: 配列インデックスが範囲外です -> {0}", NodeIndex.GetInt())); + return false; + } + NodeRet.SetInt(GameData.GetParamString(ItemInfo.nId + NodeIndex.GetInt())); + return true; + } + + // Token: 0x06000449 RID: 1097 RVA: 0x0000F4FC File Offset: 0x0000D6FC + protected override bool FuncCall(QK3_ITEMINFO ItemInfo, CQK3Node[] pParams, int nParamNum, ref CQK3Node NodeRet) + { + if (ItemInfo.nType != 0) + { + return false; + } + switch (ItemInfo.nId) + { + case 0: + if (nParamNum < 1) + { + Debug.Print("rand関数の引数がありません。"); + return false; + } + NodeRet.SetInt(App.GetRandom(pParams[0].GetInt())); + return true; + case 1: + if (nParamNum < 2) + { + Debug.Print("max関数の引数が足りません。"); + return false; + } + NodeRet.SetInt((pParams[0].GetInt() >= pParams[1].GetInt()) ? pParams[0].GetInt() : pParams[1].GetInt()); + return true; + case 2: + if (nParamNum < 2) + { + Debug.Print("min関数の引数が足りません。"); + return false; + } + NodeRet.SetInt((pParams[0].GetInt() <= pParams[1].GetInt()) ? pParams[0].GetInt() : pParams[1].GetInt()); + return true; + case 3: + if (nParamNum < 2) + { + Debug.Print("skidoku関数の引数が足りません。"); + return false; + } + if (pParams[0].GetNodeType() != QK3_NODETYPE.STR) + { + Debug.Print("skidoku関数の引数タイプが違います。"); + return false; + } + NodeRet.SetInt((!SysData.IsRead(pParams[0].GetString(), pParams[1].GetString(), 0)) ? 0 : 1); + return true; + case 4: + if (nParamNum < 2) + { + Debug.Print("gkidoku関数の引数が足りません。"); + return false; + } + if (pParams[0].GetNodeType() != QK3_NODETYPE.STR) + { + Debug.Print("gkidoku関数の引数タイプが違います。"); + return false; + } + NodeRet.SetInt((!GameData.IsRead(pParams[0].GetString(), pParams[1].GetString())) ? 0 : 1); + return true; + default: + return false; + } + } + + // Token: 0x040002E1 RID: 737 + private const int STR_MAX = 8; + + // Token: 0x040002E2 RID: 738 + private static AmCalc.QC_FUNCINFO[] g_aQcFuncList = new AmCalc.QC_FUNCINFO[] + { + new AmCalc.QC_FUNCINFO("rand", 0), + new AmCalc.QC_FUNCINFO("max", 0), + new AmCalc.QC_FUNCINFO("min", 0), + new AmCalc.QC_FUNCINFO("skidoku", 0), + new AmCalc.QC_FUNCINFO("gkidoku", 0) + }; + + // Token: 0x02000096 RID: 150 + private struct QC_FUNCINFO + { + // Token: 0x0600044A RID: 1098 RVA: 0x0000F6A8 File Offset: 0x0000D8A8 + public QC_FUNCINFO(string s, int n) + { + this.szName = s; + this.nReserved = n; + } + + // Token: 0x040002E3 RID: 739 + public string szName; + + // Token: 0x040002E4 RID: 740 + public int nReserved; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Script/Calc.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Script/Calc.cs new file mode 100644 index 000000000..69fe752fa --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Script/Calc.cs @@ -0,0 +1,17 @@ +using System; + +namespace Qoo.Script +{ + // Token: 0x02000097 RID: 151 + public static class Calc + { + // Token: 0x0600044C RID: 1100 RVA: 0x0000F6C4 File Offset: 0x0000D8C4 + public static bool ExecCmdStr(string szCmdExp, ref int pnResult) + { + return Calc.m_Calc.ExecCmdStr(szCmdExp, ref pnResult); + } + + // Token: 0x040002E5 RID: 741 + private static AmCalc m_Calc = new AmCalc(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_FUNCNO.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_FUNCNO.cs new file mode 100644 index 000000000..bed254d62 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_FUNCNO.cs @@ -0,0 +1,21 @@ +using System; + +namespace Qoo.Script +{ + // Token: 0x02000094 RID: 148 + public enum QC_FUNCNO + { + // Token: 0x040002DB RID: 731 + RAND, + // Token: 0x040002DC RID: 732 + NMAX, + // Token: 0x040002DD RID: 733 + NMIN, + // Token: 0x040002DE RID: 734 + SKIDOKU, + // Token: 0x040002DF RID: 735 + GKIDOKU, + // Token: 0x040002E0 RID: 736 + USER + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_FUNCTYPE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_FUNCTYPE.cs new file mode 100644 index 000000000..3fae3d01a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_FUNCTYPE.cs @@ -0,0 +1,13 @@ +using System; + +namespace Qoo.Script +{ + // Token: 0x02000093 RID: 147 + public enum QC_FUNCTYPE + { + // Token: 0x040002D8 RID: 728 + SYS, + // Token: 0x040002D9 RID: 729 + USER + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_VARTYPE.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_VARTYPE.cs new file mode 100644 index 000000000..396bdfd61 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Script/QC_VARTYPE.cs @@ -0,0 +1,15 @@ +using System; + +namespace Qoo.Script +{ + // Token: 0x02000092 RID: 146 + public enum QC_VARTYPE + { + // Token: 0x040002D4 RID: 724 + CONST, + // Token: 0x040002D5 RID: 725 + GAMEPARAM, + // Token: 0x040002D6 RID: 726 + USER + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Select/SceneSelect.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Select/SceneSelect.cs new file mode 100644 index 000000000..1596e890b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Select/SceneSelect.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using Qoo.Application; +using Qoo.Game; +using Qoo.Ks; + +namespace Qoo.Select +{ + // Token: 0x020000BB RID: 187 + public class SceneSelect + { + // Token: 0x170000CC RID: 204 + // (get) Token: 0x0600058C RID: 1420 RVA: 0x00016300 File Offset: 0x00014500 + public List SelectAr + { + get + { + return this.m_SelectAr; + } + } + + // Token: 0x170000CD RID: 205 + // (get) Token: 0x0600058D RID: 1421 RVA: 0x00016308 File Offset: 0x00014508 + public int Count + { + get + { + return this.m_SelectAr.Count; + } + } + + // Token: 0x170000CE RID: 206 + // (get) Token: 0x0600058E RID: 1422 RVA: 0x00016318 File Offset: 0x00014518 + // (set) Token: 0x0600058F RID: 1423 RVA: 0x00016320 File Offset: 0x00014520 + public string Name { get; set; } + + // Token: 0x06000590 RID: 1424 RVA: 0x0001632C File Offset: 0x0001452C + public bool AddSelect(EVENTSCENE_SELCET[] select) + { + this.Clear(); + foreach (EVENTSCENE_SELCET eventscene_SELCET in select) + { + if (eventscene_SELCET.Name.Length > 0) + { + this.m_SelectAr.Add(new SelectItem(eventscene_SELCET.Name, eventscene_SELCET.nParam == 1, eventscene_SELCET.KsName, eventscene_SELCET.LabelName, eventscene_SELCET.Effect)); + } + } + return true; + } + + // Token: 0x06000591 RID: 1425 RVA: 0x0001639C File Offset: 0x0001459C + public void Clear() + { + App.QooSelect.SelectAr.Clear(); + } + + // Token: 0x06000592 RID: 1426 RVA: 0x000163B0 File Offset: 0x000145B0 + public bool IsEntry(string szSelect, string szKs, string szLabel) + { + foreach (SelectItem selectItem in App.QooSelect.SelectAr) + { + if (selectItem.Ks == szKs && selectItem.Label == szLabel && selectItem.Select == szSelect) + { + return true; + } + } + return false; + } + + // Token: 0x06000593 RID: 1427 RVA: 0x00016450 File Offset: 0x00014650 + public bool IsGrp() + { + bool flag = false; + bool flag2 = false; + foreach (SelectItem selectItem in App.QooSelect.SelectAr) + { + if (!flag2) + { + flag = selectItem.IsGrpFile; + flag2 = true; + } + else if (flag != selectItem.IsGrpFile) + { + Debug.Assert(flag != selectItem.IsGrpFile, "Error:グラフィック選択肢とテキスト選択肢が混じっています"); + } + } + return flag; + } + + // Token: 0x06000594 RID: 1428 RVA: 0x000164F0 File Offset: 0x000146F0 + internal bool IsAnim(int i) + { + return SysData.IsEnableLoveAnim() && i >= 0 && i < this.m_SelectAr.Count && this.m_SelectAr[i].Effect.Length > 0; + } + + // Token: 0x0400041D RID: 1053 + private List m_SelectAr = new List(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Select/SelectBtn.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Select/SelectBtn.cs new file mode 100644 index 000000000..19654faa4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Select/SelectBtn.cs @@ -0,0 +1,163 @@ +using System; +using Qoo.Def; + +namespace Qoo.Select +{ + // Token: 0x020000BC RID: 188 + public class SelectBtn + { + // Token: 0x06000596 RID: 1430 RVA: 0x00016544 File Offset: 0x00014744 + public bool CreateGrpBtn(string grpFile, bool IsMark = false, int iAddZ = 0) + { + this.m_Btn = UnityApp.Graph.m_ManSprite.AddSprite(grpFile); + this.m_Btn.SetPtnNum(1, 2); + this.m_Btn.SetPtnPos(0, 0); + this.m_Btn.z = 781 + iAddZ; + this.m_Btn.Show = false; + this.m_Btn.SetName("GRP BTN"); + if (IsMark) + { + this.m_Mark = UnityApp.Graph.m_ManSprite.AddSprite("sel_kidoku.png"); + this.m_Mark.z = 782 + iAddZ; + this.m_Mark.Show = false; + this.m_Btn.SetName("GRP BTN MARK"); + } + return true; + } + + // Token: 0x06000597 RID: 1431 RVA: 0x00016600 File Offset: 0x00014800 + public bool CreateTxtBtn(string message, bool IsMark = false) + { + this.m_Btn = UnityApp.Graph.m_ManSprite.AddSprite("select_bar.png"); + this.m_Btn.SetPtnNum(1, 2); + this.m_Btn.SetPtnPos(0, 0); + this.m_Btn.SetName("TXTBTN_BASE"); + this.m_Btn.z = 781; + this.m_Text = Man2D.TextSprite(null); + if (IsMark) + { + this.m_Text.SetTextColor(SelectDef.SELECT_COLOR); + } + else + { + this.m_Text.SetTextColor(SelectDef.TEXT_COLOR); + } + this.m_Text.AddText(message, 28); + this.m_Text.z = 782; + this.m_Text.SetName("TXTBTN_TEXT"); + return true; + } + + // Token: 0x06000598 RID: 1432 RVA: 0x000166C8 File Offset: 0x000148C8 + public bool Restore() + { + if (this.m_Btn.w == 0 && this.m_Btn.h == 0) + { + this.m_Btn.SetImage(this.m_Btn.tex); + this.m_Btn.SetPtnNum(1, 2); + this.m_Btn.SetPtnPos(0, 0); + } + return true; + } + + // Token: 0x06000599 RID: 1433 RVA: 0x00016728 File Offset: 0x00014928 + public bool Release() + { + if (Singleton.IsReady) + { + if (this.m_Btn != null) + { + Singleton.Instance.RemoveSprite(this.m_Btn); + } + if (this.m_Mark != null) + { + Singleton.Instance.RemoveSprite(this.m_Mark); + } + if (this.m_Text != null) + { + Singleton.Instance.RemoveSprite(this.m_Text); + } + } + this.m_Btn = null; + this.m_Mark = null; + this.m_Text = null; + return true; + } + + // Token: 0x0600059A RID: 1434 RVA: 0x000167AC File Offset: 0x000149AC + public void SetPos(Point2 pos) + { + this.m_Btn.x = pos.x; + this.m_Btn.y = pos.y; + if (this.m_Mark != null) + { + this.m_Mark.x = 16 + pos.x; + this.m_Mark.y = 12 + pos.y; + } + if (this.m_Text != null) + { + this.m_Text.CalcSize(); + this.m_Text.x = 480 - this.m_Text.w / 2; + this.m_Text.y = 32 + pos.y; + } + } + + // Token: 0x0600059B RID: 1435 RVA: 0x00016858 File Offset: 0x00014A58 + public void Show(bool isShow) + { + this.m_Btn.Show = isShow; + if (this.m_Mark != null) + { + this.m_Mark.Show = isShow; + } + if (this.m_Text != null) + { + this.m_Text.Show = isShow; + } + } + + // Token: 0x0600059C RID: 1436 RVA: 0x000168A0 File Offset: 0x00014AA0 + public void Select(bool isSelect) + { + if (!isSelect) + { + this.m_Btn.SetPtnPos(0, 0); + } + else if (this.m_Text != null) + { + this.m_Btn.SetPtnPos(0, 1); + } + else + { + this.m_Btn.SetPtnPos(0, 1); + } + } + + // Token: 0x0600059D RID: 1437 RVA: 0x000168F0 File Offset: 0x00014AF0 + public Point2 GetPos() + { + return new Point2(this.m_Btn.x, this.m_Btn.y); + } + + // Token: 0x0600059E RID: 1438 RVA: 0x00016910 File Offset: 0x00014B10 + public Size GetSize() + { + return new Size(this.m_Btn.w, this.m_Btn.h); + } + + // Token: 0x0600059F RID: 1439 RVA: 0x00016930 File Offset: 0x00014B30 + public bool IsHit(Point2 pos) + { + return this.m_Btn.x <= pos.x && pos.x < this.m_Btn.x + this.m_Btn.w && this.m_Btn.y <= pos.y && pos.y < this.m_Btn.y + this.m_Btn.h; + } + + // Token: 0x0400041F RID: 1055 + private UnitySprite m_Btn; + + // Token: 0x04000420 RID: 1056 + private UnitySprite m_Mark; + + // Token: 0x04000421 RID: 1057 + private UnityTextSprite m_Text; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Select/SelectItem.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Select/SelectItem.cs new file mode 100644 index 000000000..7d6135da1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Select/SelectItem.cs @@ -0,0 +1,46 @@ +using System; + +namespace Qoo.Select +{ + // Token: 0x020000BA RID: 186 + public class SelectItem + { + // Token: 0x06000580 RID: 1408 RVA: 0x00016250 File Offset: 0x00014450 + public SelectItem(string select_, bool isgrpfile_, string ks_, string label_, string effect_) + { + this.Select = select_; + this.IsGrpFile = isgrpfile_; + this.Ks = ks_; + this.Label = label_; + this.Effect = effect_; + } + + // Token: 0x170000C7 RID: 199 + // (get) Token: 0x06000581 RID: 1409 RVA: 0x00016288 File Offset: 0x00014488 + // (set) Token: 0x06000582 RID: 1410 RVA: 0x00016290 File Offset: 0x00014490 + public string Select { get; set; } + + // Token: 0x170000C8 RID: 200 + // (get) Token: 0x06000583 RID: 1411 RVA: 0x0001629C File Offset: 0x0001449C + // (set) Token: 0x06000584 RID: 1412 RVA: 0x000162A4 File Offset: 0x000144A4 + public bool IsGrpFile { get; set; } + + // Token: 0x170000C9 RID: 201 + // (get) Token: 0x06000585 RID: 1413 RVA: 0x000162B0 File Offset: 0x000144B0 + // (set) Token: 0x06000586 RID: 1414 RVA: 0x000162B8 File Offset: 0x000144B8 + public string Ks { get; private set; } + + // Token: 0x170000CA RID: 202 + // (get) Token: 0x06000587 RID: 1415 RVA: 0x000162C4 File Offset: 0x000144C4 + // (set) Token: 0x06000588 RID: 1416 RVA: 0x000162CC File Offset: 0x000144CC + public string Label { get; private set; } + + // Token: 0x170000CB RID: 203 + // (get) Token: 0x06000589 RID: 1417 RVA: 0x000162D8 File Offset: 0x000144D8 + // (set) Token: 0x0600058A RID: 1418 RVA: 0x000162E0 File Offset: 0x000144E0 + public string Effect { get; set; } + + // Token: 0x04000417 RID: 1047 + private string m_Select; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/SoundSystem/Sound.cs b/Assets/Scripts/Assembly-CSharp/Qoo/SoundSystem/Sound.cs new file mode 100644 index 000000000..165505247 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/SoundSystem/Sound.cs @@ -0,0 +1,154 @@ +using System; +using Game; +using Qoo.Game; + +namespace Qoo.SoundSystem +{ + // Token: 0x020000A1 RID: 161 + public static class Sound + { + // Token: 0x0600049B RID: 1179 RVA: 0x00011590 File Offset: 0x0000F790 + public static void BgmPlay(string name, float fVol = 1f, int nInTime = 1000, int nOutTime = 1000) + { + UnityApp.Sound.BgmPlay(name, fVol * Sound.GetVolumeBgm(), nInTime, nOutTime); + } + + // Token: 0x0600049C RID: 1180 RVA: 0x000115A8 File Offset: 0x0000F7A8 + public static void BgmStop(int time = 1000) + { + UnityApp.Sound.BgmStop(time); + } + + // Token: 0x0600049D RID: 1181 RVA: 0x000115B8 File Offset: 0x0000F7B8 + internal static bool BgmIsPlay() + { + return UnityApp.Sound.BgmIsPlay(); + } + + // Token: 0x0600049E RID: 1182 RVA: 0x000115C4 File Offset: 0x0000F7C4 + public static void BgmApplyVolume() + { + UnityApp.Sound.BgmSetVolume(Sound.GetVolumeBgm()); + } + + // Token: 0x0600049F RID: 1183 RVA: 0x000115D8 File Offset: 0x0000F7D8 + public static void SeSlotPlay(int slot, string name, bool bLoop, float vol) + { + UnityApp.Sound.SlotSePlay(slot, name, vol * Sound.GetVolumeSe(), bLoop); + } + + // Token: 0x060004A0 RID: 1184 RVA: 0x000115F0 File Offset: 0x0000F7F0 + public static void SeSlotStop(int slot) + { + UnityApp.Sound.SlotSeStop(slot, 0); + } + + // Token: 0x060004A1 RID: 1185 RVA: 0x00011600 File Offset: 0x0000F800 + public static void SeSlotStopAll() + { + UnityApp.Sound.SlotSeStopAll(1000); + } + + // Token: 0x060004A2 RID: 1186 RVA: 0x00011614 File Offset: 0x0000F814 + public static void SeSlotApplyVolume() + { + UnityApp.Sound.SlotSeSetVolume(0, Sound.GetVolumeSe()); + UnityApp.Sound.SlotSeSetVolume(1, Sound.GetVolumeSe()); + } + + // Token: 0x060004A3 RID: 1187 RVA: 0x00011644 File Offset: 0x0000F844 + public static void VoicePlay(string name, float fVol = 1f) + { + Debug.Print("VOICE:" + name); + UnityApp.Sound.VoicePlay(name, fVol * Sound.GetVolumeVoice(name)); + } + + // Token: 0x060004A4 RID: 1188 RVA: 0x00011674 File Offset: 0x0000F874 + public static void VoiceStop() + { + UnityApp.Sound.VoiceStop(); + } + + // Token: 0x060004A5 RID: 1189 RVA: 0x00011680 File Offset: 0x0000F880 + internal static bool VoiceIsPlay() + { + return UnityApp.Sound.VoiceIsPlay(); + } + + // Token: 0x060004A6 RID: 1190 RVA: 0x0001168C File Offset: 0x0000F88C + public static void SysSePlay(string name, float fVol = 1f) + { + UnityApp.Sound.SysSePlay(name, fVol * Sound.GetSeVolumeSys()); + } + + // Token: 0x060004A7 RID: 1191 RVA: 0x000116A0 File Offset: 0x0000F8A0 + public static void SysPlayerSePlay(string name, float fVol = 1f) + { + UnityApp.Sound.SysPlayerSePlay(name, fVol * Sound.GetSeVolumeSys()); + } + + // Token: 0x060004A8 RID: 1192 RVA: 0x000116B4 File Offset: 0x0000F8B4 + internal static bool SysPlayerSeIsPlay() + { + return UnityApp.Sound.SysPlayerSeIsPlay(); + } + + // Token: 0x060004A9 RID: 1193 RVA: 0x000116C0 File Offset: 0x0000F8C0 + internal static void SE_Ok() + { + Sound.SysSePlay("sysse_decide", 1f); + } + + // Token: 0x060004AA RID: 1194 RVA: 0x000116D4 File Offset: 0x0000F8D4 + internal static void SE_Select() + { + Sound.SysSePlay("sysse_hover", 1f); + } + + // Token: 0x060004AB RID: 1195 RVA: 0x000116E8 File Offset: 0x0000F8E8 + internal static void SE_Cancel() + { + Sound.SysSePlay("sysse_back", 1f); + } + + // Token: 0x060004AC RID: 1196 RVA: 0x000116FC File Offset: 0x0000F8FC + public static float GetVolumeBgm() + { + return (float)SysData.GetVolumeBgm() * 0.2f; + } + + // Token: 0x060004AD RID: 1197 RVA: 0x0001170C File Offset: 0x0000F90C + private static float GetVolumeSe() + { + return (float)SysData.GetVolumeSe() * 0.2f; + } + + // Token: 0x060004AE RID: 1198 RVA: 0x0001171C File Offset: 0x0000F91C + private static float GetSeVolumeSys() + { + return (float)SysData.GetVolumeSys() * 0.2f; + } + + // Token: 0x060004AF RID: 1199 RVA: 0x0001172C File Offset: 0x0000F92C + private static float GetVolumeVoice(string nameVoice) + { + if (!SysData.IsVoiceEnable()) + { + return 0f; + } + if (GameData.IsFullVoiceCheck()) + { + if (!SysData.IsPayVoice(CHAR_ID.NIGHTMARE)) + { + return 0f; + } + } + else if (GameData.IsVoiceCheck() && !SysData.IsPayVoice(GameData.GetRoute())) + { + return 0f; + } + CHAR_ID idFromVoice = Chara.GetIdFromVoice(nameVoice); + return (float)SysData.GetVoiceVolume(idFromVoice) * 0.2f; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Table/DirScaleTable.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Table/DirScaleTable.cs new file mode 100644 index 000000000..3e47b09f4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Table/DirScaleTable.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Table +{ + // Token: 0x020000A2 RID: 162 + internal static class DirScaleTable + { + // Token: 0x170000AA RID: 170 + // (get) Token: 0x060004B1 RID: 1201 RVA: 0x000117E0 File Offset: 0x0000F9E0 + // (set) Token: 0x060004B2 RID: 1202 RVA: 0x000117E8 File Offset: 0x0000F9E8 + public static SizeF Base + { + get + { + return DirScaleTable.m_Base; + } + set + { + DirScaleTable.m_Base = value; + } + } + + // Token: 0x170000AB RID: 171 + // (get) Token: 0x060004B3 RID: 1203 RVA: 0x000117F0 File Offset: 0x0000F9F0 + // (set) Token: 0x060004B4 RID: 1204 RVA: 0x000117F8 File Offset: 0x0000F9F8 + public static SizeF Default + { + get + { + return DirScaleTable.m_Default; + } + set + { + DirScaleTable.m_Default = value; + } + } + + // Token: 0x060004B5 RID: 1205 RVA: 0x00011800 File Offset: 0x0000FA00 + public static bool Add(string name, SizeF size) + { + if (DirScaleTable.m_dicDirTable.ContainsKey(name)) + { + Debug.Print(string.Format("Error:{0}は、二重登録です", name)); + return false; + } + Debug.Print(string.Format("DirTable:Add:Name={0} w={1} h={2}", name, size.w, size.h)); + DirScaleTable.m_dicDirTable.Add(name, size); + return true; + } + + // Token: 0x060004B6 RID: 1206 RVA: 0x00011864 File Offset: 0x0000FA64 + public static void Clear() + { + DirScaleTable.m_dicDirTable.Clear(); + } + + // Token: 0x060004B7 RID: 1207 RVA: 0x00011870 File Offset: 0x0000FA70 + public static SizeF GetSize(string nameDir) + { + if (DirScaleTable.m_dicDirTable.ContainsKey(nameDir)) + { + return DirScaleTable.m_dicDirTable[nameDir]; + } + return DirScaleTable.Default; + } + + // Token: 0x04000372 RID: 882 + private static Dictionary m_dicDirTable = new Dictionary(); + + // Token: 0x04000373 RID: 883 + private static SizeF m_Default = new SizeF(1f, 1f); + + // Token: 0x04000374 RID: 884 + private static SizeF m_Base = new SizeF(480f, 272f); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Table/SelectTable.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Table/SelectTable.cs new file mode 100644 index 000000000..176961c6d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Table/SelectTable.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; + +namespace Qoo.Table +{ + // Token: 0x020000A3 RID: 163 + public class SelectTable + { + // Token: 0x170000AC RID: 172 + // (get) Token: 0x060004B9 RID: 1209 RVA: 0x000118C0 File Offset: 0x0000FAC0 + public string Name + { + get + { + return this.m_Name; + } + } + + // Token: 0x060004BA RID: 1210 RVA: 0x000118C8 File Offset: 0x0000FAC8 + public bool Create(string table_name) + { + this.m_Name = table_name; + this.m_dicPoint.Clear(); + return true; + } + + // Token: 0x060004BB RID: 1211 RVA: 0x000118E0 File Offset: 0x0000FAE0 + public void Add(int iSelectNum, Point2[] pos_table) + { + this.m_dicPoint.Add(iSelectNum, pos_table); + } + + // Token: 0x060004BC RID: 1212 RVA: 0x000118F0 File Offset: 0x0000FAF0 + public Point2[] GetPoint(int iSelectNum) + { + if (this.m_dicPoint.ContainsKey(iSelectNum)) + { + return this.m_dicPoint[iSelectNum]; + } + return null; + } + + // Token: 0x060004BD RID: 1213 RVA: 0x00011914 File Offset: 0x0000FB14 + public void Scale(float fW, float fH) + { + foreach (KeyValuePair keyValuePair in this.m_dicPoint) + { + for (int num = 0; num != keyValuePair.Value.Length; num++) + { + keyValuePair.Value[num].Scale(fW, fH); + } + } + } + + // Token: 0x04000375 RID: 885 + private string m_Name = string.Empty; + + // Token: 0x04000376 RID: 886 + private Dictionary m_dicPoint = new Dictionary(); + } +} diff --git a/Assets/Scripts/Assembly-CSharp/Qoo/Wnd/MessageDlg.cs b/Assets/Scripts/Assembly-CSharp/Qoo/Wnd/MessageDlg.cs new file mode 100644 index 000000000..c4d3a5664 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Qoo/Wnd/MessageDlg.cs @@ -0,0 +1,225 @@ +using System; +using System.Collections; +using Qoo.Input; +using Qoo.SoundSystem; +using UnityEngine; + +namespace Qoo.Wnd +{ + // Token: 0x020000A4 RID: 164 + public class MessageDlg + { + // Token: 0x170000AD RID: 173 + // (get) Token: 0x060004BF RID: 1215 RVA: 0x000119A8 File Offset: 0x0000FBA8 + // (set) Token: 0x060004C0 RID: 1216 RVA: 0x000119B0 File Offset: 0x0000FBB0 + public int ReturnCode { get; private set; } + + // Token: 0x060004C1 RID: 1217 RVA: 0x000119BC File Offset: 0x0000FBBC + public static IEnumerator ExecDlg(string msg, Action action = null) + { + string[] msgs = new string[] + { + msg + }; + MessageDlg dlg = new MessageDlg(); + yield return dlg.Exec(msgs, action); + yield return 0; + dlg = null; + yield break; + } + + // Token: 0x060004C2 RID: 1218 RVA: 0x000119EC File Offset: 0x0000FBEC + public static IEnumerator ExecDlg(string[] msgs, Action action = null) + { + MessageDlg dlg = new MessageDlg(); + yield return dlg.Exec(msgs, action); + yield return 0; + dlg = null; + yield break; + } + + // Token: 0x060004C3 RID: 1219 RVA: 0x00011A1C File Offset: 0x0000FC1C + private IEnumerator Exec(string[] msgs, Action action = null) + { + KsInput.Pause = false; + this.Start(msgs, action != null); + UnityApp.Input.Clear(); + UnityApp.Input.IsOnePushDelete = true; + while (this.Update()) + { + yield return 0; + } + if (this.m_Btn != null) + { + Sound.SE_Ok(); + for (int i = 0; i != this.m_Btn.Length; i++) + { + if (this.ReturnCode == i) + { + this.m_Btn[i].SetPtnPos(0, 1); + } + else + { + this.m_Btn[i].SetPtnPos(0, 0); + } + } + int start = Singleton.Instance.GetTimeMilli(); + for (int now = Singleton.Instance.GetTimeMilli(); now < start + 1000; now = Singleton.Instance.GetTimeMilli()) + { + yield return 0; + } + } + yield return 0; + this.End(); + yield return 0; + if (action != null) + { + action(this.ReturnCode == 0); + } + KsInput.Pause = true; + yield break; + } + + // Token: 0x060004C4 RID: 1220 RVA: 0x00011A54 File Offset: 0x0000FC54 + private bool Start(string[] msgs, bool isBtn) + { + int num = 480; + int num2 = 240; + this.m_Base = Man2D.Sprite("sys_dialog"); + this.m_Base.SetPos(num, num2, 1500); + this.m_Base.SetCenterPosH(); + this.m_Base.SetCenterPosV(); + num = this.m_Base.x; + num2 = this.m_Base.y; + int w = this.m_Base.w; + this.m_Msg = new UnityTextSprite[msgs.Length]; + int num3 = 0; + foreach (string str_ in msgs) + { + UnityTextSprite unityTextSprite = Man2D.TextSprite(null); + unityTextSprite.AddText(str_, 22); + unityTextSprite.SetPosition(num + w / 2, num2 + 40 + 22 * num3, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft); + unityTextSprite.z = 1501; + this.m_Msg[num3++] = unityTextSprite; + } + if (isBtn) + { + this.m_Btn = new UnitySprite[2]; + this.m_Btn[0] = Man2D.Sprite("dlog_btn_y"); + this.m_Btn[0].SetPos(num + 176, num2 + 95, 1501); + this.m_Btn[0].SetPtnNum(1, 2); + this.m_Btn[0].SetPtnPos(0, 0); + this.m_Btn[1] = Man2D.Sprite("dlog_btn_n"); + this.m_Btn[1].SetPos(num + 377, num2 + 95, 1501); + this.m_Btn[1].SetPtnNum(1, 2); + this.m_Btn[1].SetPtnPos(0, 0); + } + else + { + this.m_Btn = null; + } + Singleton.Instance.Effect(string.Empty, 1f); + this.elapsed = 0f; + return true; + } + + // Token: 0x060004C5 RID: 1221 RVA: 0x00011C1C File Offset: 0x0000FE1C + private bool Update() + { + if (this.m_Btn != null) + { + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.PUSH: + foreach (UnitySprite unitySprite in this.m_Btn) + { + if (unitySprite.IsHit(UnityApp.Input.Start)) + { + unitySprite.SetPtnPos(0, 1); + } + } + break; + case INPUT_STATUS.CLICK: + foreach (UnitySprite unitySprite2 in this.m_Btn) + { + unitySprite2.SetPtnPos(0, 0); + } + if (this.m_Btn[0].IsHit(UnityApp.Input.End)) + { + this.ReturnCode = 0; + this.m_Btn[0].SetPtnPos(0, 1); + return false; + } + if (this.m_Btn[1].IsHit(UnityApp.Input.End)) + { + this.ReturnCode = 1; + this.m_Btn[0].SetPtnPos(0, 1); + return false; + } + if (this.m_Base.IsHit(UnityApp.Input.End)) + { + } + break; + case INPUT_STATUS.DRAG_ON: + break; + default: + foreach (UnitySprite unitySprite3 in this.m_Btn) + { + unitySprite3.SetPtnPos(0, 0); + } + break; + } + } + else + { + this.elapsed += Time.deltaTime; + if (this.elapsed > 1f) + { + return false; + } + } + return true; + } + + // Token: 0x060004C6 RID: 1222 RVA: 0x00011DBC File Offset: 0x0000FFBC + private bool End() + { + if (Singleton.IsReady) + { + Singleton.Instance.RemoveSprite(this.m_Base); + foreach (UnityTextSprite sp in this.m_Msg) + { + Singleton.Instance.RemoveSprite(sp); + } + if (this.m_Btn != null) + { + if (this.m_Btn[0] != null) + { + Singleton.Instance.RemoveSprite(this.m_Btn[0]); + } + if (this.m_Btn[1] != null) + { + Singleton.Instance.RemoveSprite(this.m_Btn[1]); + } + } + this.m_Base = null; + this.m_Msg = null; + this.m_Btn = null; + Singleton.Instance.Effect(string.Empty, 1f); + } + return true; + } + + // Token: 0x04000377 RID: 887 + private UnitySprite m_Base; + + // Token: 0x04000378 RID: 888 + private UnityTextSprite[] m_Msg; + + // Token: 0x04000379 RID: 889 + private UnitySprite[] m_Btn; + + // Token: 0x0400037A RID: 890 + private float elapsed; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/SLIDE_VECTOR.cs b/Assets/Scripts/Assembly-CSharp/SLIDE_VECTOR.cs new file mode 100644 index 000000000..e7d215960 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SLIDE_VECTOR.cs @@ -0,0 +1,16 @@ +using System; + +// Token: 0x02000175 RID: 373 +public enum SLIDE_VECTOR +{ + // Token: 0x04000889 RID: 2185 + NONE, + // Token: 0x0400088A RID: 2186 + LEFT, + // Token: 0x0400088B RID: 2187 + RIGHT, + // Token: 0x0400088C RID: 2188 + UP, + // Token: 0x0400088D RID: 2189 + DOWN +} diff --git a/Assets/Scripts/Assembly-CSharp/SPRITE_DRAW_MODE.cs b/Assets/Scripts/Assembly-CSharp/SPRITE_DRAW_MODE.cs new file mode 100644 index 000000000..4c7919bfb --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SPRITE_DRAW_MODE.cs @@ -0,0 +1,20 @@ +using System; + +// Token: 0x02000158 RID: 344 +public enum SPRITE_DRAW_MODE +{ + // Token: 0x040007EC RID: 2028 + MUL, + // Token: 0x040007ED RID: 2029 + MUL_NOTEXALPHA, + // Token: 0x040007EE RID: 2030 + ADD, + // Token: 0x040007EF RID: 2031 + SUB, + // Token: 0x040007F0 RID: 2032 + TEX_ALPHA, + // Token: 0x040007F1 RID: 2033 + BACK, + // Token: 0x040007F2 RID: 2034 + OTHER +} diff --git a/Assets/Scripts/Assembly-CSharp/SPRITE_FX_FLAG.cs b/Assets/Scripts/Assembly-CSharp/SPRITE_FX_FLAG.cs new file mode 100644 index 000000000..74440a8dd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SPRITE_FX_FLAG.cs @@ -0,0 +1,10 @@ +using System; + +// Token: 0x02000159 RID: 345 +public enum SPRITE_FX_FLAG +{ + // Token: 0x040007F4 RID: 2036 + SHAKE = 1, + // Token: 0x040007F5 RID: 2037 + FLASH +} diff --git a/Assets/Scripts/Assembly-CSharp/SaveFileInfo.cs b/Assets/Scripts/Assembly-CSharp/SaveFileInfo.cs new file mode 100644 index 000000000..49a3c5b13 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SaveFileInfo.cs @@ -0,0 +1,101 @@ +using System; + +// Token: 0x0200013D RID: 317 +public class SaveFileInfo +{ + // Token: 0x170000FD RID: 253 + // (get) Token: 0x060008AD RID: 2221 RVA: 0x000267EC File Offset: 0x000249EC + // (set) Token: 0x060008AE RID: 2222 RVA: 0x000267F4 File Offset: 0x000249F4 + public string HashCode + { + get + { + return this.m_HashCode; + } + set + { + this.m_HashCode = value; + } + } + + // Token: 0x170000FE RID: 254 + // (get) Token: 0x060008AF RID: 2223 RVA: 0x00026800 File Offset: 0x00024A00 + // (set) Token: 0x060008B0 RID: 2224 RVA: 0x00026808 File Offset: 0x00024A08 + public string TimeStamp + { + get + { + return this.m_TimeStamp; + } + set + { + this.m_TimeStamp = value; + } + } + + // Token: 0x170000FF RID: 255 + // (get) Token: 0x060008B1 RID: 2225 RVA: 0x00026814 File Offset: 0x00024A14 + // (set) Token: 0x060008B2 RID: 2226 RVA: 0x0002681C File Offset: 0x00024A1C + public string LastMessage + { + get + { + return this.m_LastMessage; + } + set + { + this.m_LastMessage = value; + } + } + + // Token: 0x17000100 RID: 256 + // (get) Token: 0x060008B3 RID: 2227 RVA: 0x00026828 File Offset: 0x00024A28 + // (set) Token: 0x060008B4 RID: 2228 RVA: 0x00026830 File Offset: 0x00024A30 + public int PlayCharaId + { + get + { + return this.m_PlayCharaId; + } + set + { + this.m_PlayCharaId = value; + } + } + + // Token: 0x17000101 RID: 257 + // (get) Token: 0x060008B5 RID: 2229 RVA: 0x0002683C File Offset: 0x00024A3C + // (set) Token: 0x060008B6 RID: 2230 RVA: 0x00026844 File Offset: 0x00024A44 + public string SceneName + { + get + { + return this.m_SceneName; + } + set + { + this.m_SceneName = value; + } + } + + // Token: 0x060008B7 RID: 2231 RVA: 0x00026850 File Offset: 0x00024A50 + public bool CheckHash(string hashCode) + { + return this.HashCode.CompareTo(hashCode) == 0; + } + + // Token: 0x04000775 RID: 1909 + private string m_HashCode; + + // Token: 0x04000776 RID: 1910 + private string m_TimeStamp; + + // Token: 0x04000777 RID: 1911 + private string m_LastMessage; + + // Token: 0x04000778 RID: 1912 + private int m_PlayCharaId; + + // Token: 0x04000779 RID: 1913 + private string m_SceneName; +} diff --git a/Assets/Scripts/Assembly-CSharp/SaveLoadCallType.cs b/Assets/Scripts/Assembly-CSharp/SaveLoadCallType.cs new file mode 100644 index 000000000..0697b1e8d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SaveLoadCallType.cs @@ -0,0 +1,12 @@ +using System; + +// Token: 0x020000FE RID: 254 +public enum SaveLoadCallType +{ + // Token: 0x04000629 RID: 1577 + INVALID, + // Token: 0x0400062A RID: 1578 + TITLE, + // Token: 0x0400062B RID: 1579 + ADVMENU +} diff --git a/Assets/Scripts/Assembly-CSharp/SaveLoadManager.cs b/Assets/Scripts/Assembly-CSharp/SaveLoadManager.cs new file mode 100644 index 000000000..98bb0aeb5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SaveLoadManager.cs @@ -0,0 +1,340 @@ +using System; +using System.IO; +using System.Text; +using System.Xml.Serialization; +using QO.IO; +using Qoo; +using Qoo.AM.Game; +using Qoo.Def; +using Qoo.Game; +using UnityEngine; + +// Token: 0x0200013E RID: 318 +public class SaveLoadManager +{ + // Token: 0x060008BA RID: 2234 RVA: 0x000268C4 File Offset: 0x00024AC4 + public static void Delete(int index) + { + string str = SaveLoadManager.SAVEDATA_NAME + index.ToString(); + if (File.Exists(SaveLoadManager.SAVEDIR + "/" + str)) + { + File.Delete(SaveLoadManager.SAVEDIR + "/" + str); + } + if (File.Exists(SaveLoadManager.SAVEDIR + "/H_" + str)) + { + File.Delete(SaveLoadManager.SAVEDIR + "/H_" + str); + } + } + + // Token: 0x060008BB RID: 2235 RVA: 0x00026944 File Offset: 0x00024B44 + public static void DeleteAll() + { + SaveLoadManager.DeleteAllGameSaveData(); + SaveLoadManager.DeleteAutoSaveData(); + SaveLoadManager.DeleteSystemSaveData(); + } + + // Token: 0x060008BC RID: 2236 RVA: 0x00026958 File Offset: 0x00024B58 + public static void DeleteAllGameSaveData() + { + for (int i = 0; i < SaveLoadManager.AUTO_SAVE_INDEX; i++) + { + SaveLoadManager.Delete(i); + } + } + + // Token: 0x060008BD RID: 2237 RVA: 0x00026984 File Offset: 0x00024B84 + public static void DeleteSystemSaveData() + { + SaveLoadManager.Delete(SaveLoadManager.SYSTEM_DATA_INDEX); + } + + // Token: 0x060008BE RID: 2238 RVA: 0x00026990 File Offset: 0x00024B90 + public static void DeleteAutoSaveData() + { + SaveLoadManager.Delete(SaveLoadManager.AUTO_SAVE_INDEX); + } + + // Token: 0x060008BF RID: 2239 RVA: 0x0002699C File Offset: 0x00024B9C + public static bool Save(byte[] bytes, SaveFileInfo info, int index) + { + string text = SaveLoadManager.SAVEDATA_NAME + index.ToString(); + byte[] array = null; + for (int i = 0; i < SaveLoadManager.SAVE_RETRY_CNT; i++) + { + try + { + array = SaveLoadManager.SaveBytes(text + "_TMP", bytes, false); + if (array != null) + { + break; + } + } + catch (IOException ex) + { + Qoo.Debug.Print(ex.Message); + } + catch (Exception ex2) + { + Qoo.Debug.Print(ex2.Message); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_SAVE_CATCH_EXCEPTION, "ゲームデータの保存を正常に終了できませんでした。"); + break; + } + } + if (array == null) + { + Qoo.Debug.Print("####Save file create error"); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_SAVE_DATA_CREATE, "ゲームデータの保存を正常に終了できませんでした。"); + return false; + } + string text2 = BytesHash.CreateHashCode(array); + if (text2 == null) + { + Qoo.Debug.Print("####hash = null death"); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_SAVE_HASHCODE_CREATE, "ゲームデータの保存を正常に終了できませんでした。"); + return false; + } + info.HashCode = text2; + if (SaveLoadManager.SaveToXML("H_" + text + "_TMP", info, Encoding.UTF8, false) == null) + { + Qoo.Debug.Print("header file save error"); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_SAVE_HEADER_CREATE, "ゲームデータの保存を正常に終了できませんでした。"); + return false; + } + try + { + if (File.Exists(SaveLoadManager.SAVEDIR + "/" + text)) + { + File.Delete(SaveLoadManager.SAVEDIR + "/" + text); + } + if (File.Exists(SaveLoadManager.SAVEDIR + "/H_" + text)) + { + File.Delete(SaveLoadManager.SAVEDIR + "/H_" + text); + } + File.Move(SaveLoadManager.SAVEDIR + "/" + text + "_TMP", SaveLoadManager.SAVEDIR + "/" + text); + File.Move(SaveLoadManager.SAVEDIR + "/H_" + text + "_TMP", SaveLoadManager.SAVEDIR + "/H_" + text); + } + catch (Exception ex3) + { + Qoo.Debug.Print(ex3.Message); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_SAVE_RENAME, "ゲームデータの保存を正常に終了できませんでした。"); + } + return true; + } + + // Token: 0x060008C0 RID: 2240 RVA: 0x00026BD0 File Offset: 0x00024DD0 + public static bool SaveSystem() + { + SysSaveData sysSaveData = new SysSaveData(); + byte[] bytes = sysSaveData.Save(); + SaveFileInfo info = new SaveFileInfo(); + bool result = SaveLoadManager.Save(bytes, info, SaveLoadManager.SYSTEM_DATA_INDEX); + Qoo.Debug.Print("SaveSysData"); + return result; + } + + // Token: 0x060008C1 RID: 2241 RVA: 0x00026C08 File Offset: 0x00024E08 + public static bool SaveAuto() + { + byte[] array = GameData.Save(); + if (array != null) + { + bool result = SaveLoadManager.Save(array, new SaveFileInfo + { + LastMessage = GameData.LastMessage, + PlayCharaId = (int)GameData.GetRoute(), + SceneName = GameData.GetSceneName(), + TimeStamp = DateTime.Now.ToString("yyyy/MM/dd HH:mm") + }, SaveLoadManager.AUTO_SAVE_INDEX); + Qoo.Debug.Print("SaveAutoSave"); + return result; + } + Qoo.Debug.Print("SaveAutoSave:Fail"); + return false; + } + + // Token: 0x060008C2 RID: 2242 RVA: 0x00026C84 File Offset: 0x00024E84 + public static byte[] Load(int index) + { + string text = SaveLoadManager.SAVEDATA_NAME + index.ToString(); + if (!File.Exists(SaveLoadManager.SAVEDIR + "/" + text)) + { + return null; + } + SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(index); + byte[] array = null; + for (int i = 0; i < SaveLoadManager.SAVE_RETRY_CNT; i++) + { + try + { + array = SaveLoadManager.LoadBytes(text, false); + if (array != null) + { + break; + } + } + catch (IOException ex) + { + Qoo.Debug.Print(ex.Message); + } + catch (Exception ex2) + { + Qoo.Debug.Print(ex2.Message); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_LOAD_CATCH_EXCEPTION, "ゲームデータの読込を正常に終了できませんでした。"); + break; + } + } + if (array == null) + { + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.FAIL_LOAD, "ゲームデータの読込を正常に終了できませんでした。"); + return null; + } + string hashCode = BytesHash.CreateHashCode(array); + if (!saveFileInfo.CheckHash(hashCode)) + { + Qoo.Debug.Print("hash ga tigau yo"); + DispAssert.Show(ErrorDef.ASSERT_ERROR_CODE.UNMATCH_SAVE_HASH, "ゲームデータの読込を正常に終了できませんでした。"); + return null; + } + return array; + } + + // Token: 0x060008C3 RID: 2243 RVA: 0x00026DA0 File Offset: 0x00024FA0 + public static byte[] LoadSystem() + { + return SaveLoadManager.Load(SaveLoadManager.SYSTEM_DATA_INDEX); + } + + // Token: 0x060008C4 RID: 2244 RVA: 0x00026DAC File Offset: 0x00024FAC + public static byte[] LoadAuto() + { + return SaveLoadManager.Load(SaveLoadManager.AUTO_SAVE_INDEX); + } + + // Token: 0x060008C5 RID: 2245 RVA: 0x00026DB8 File Offset: 0x00024FB8 + public static SaveFileInfo LoadHeader(int index) + { + string str = SaveLoadManager.SAVEDATA_NAME + index.ToString(); + return SaveLoadManager.LoadXML("H_" + str, false); + } + + // Token: 0x060008C6 RID: 2246 RVA: 0x00026DEC File Offset: 0x00024FEC + private static byte[] SaveBytes(string fname, byte[] savedata, bool encrypt = false) + { + string text = SaveLoadManager.SAVEDIR + "/" + fname; + QODirectory.CreatePathToFileDirectory(text); + byte[] array = savedata; + if (encrypt) + { + array = BytesEncrypter.EncryptRijndael(array, SaveLoadManager.SALT_STRING, SaveLoadManager.PASSWORD); + } + byte[] result; + try + { + File.WriteAllBytes(text, array); + result = array; + } + catch (IOException ex) + { + Qoo.Debug.Print("####Catch IOException!!"); + throw ex; + } + catch (Exception ex2) + { + Qoo.Debug.Print("####Catch Other Exception!!"); + throw ex2; + } + return result; + } + + // Token: 0x060008C7 RID: 2247 RVA: 0x00026E98 File Offset: 0x00025098 + private static byte[] LoadBytes(string fname, bool decrypt = false) + { + string path = SaveLoadManager.SAVEDIR + "/" + fname; + if (!File.Exists(path)) + { + return null; + } + byte[] result; + try + { + byte[] array = File.ReadAllBytes(path); + if (decrypt) + { + array = BytesEncrypter.DecryptRijndael(array, SaveLoadManager.SALT_STRING, SaveLoadManager.PASSWORD); + } + result = array; + } + catch (IOException ex) + { + Qoo.Debug.Print("####Catch IOException!!"); + throw ex; + } + catch (Exception ex2) + { + Qoo.Debug.Print("####Catch Other Exception!!"); + throw ex2; + } + return result; + } + + // Token: 0x060008C8 RID: 2248 RVA: 0x00026F48 File Offset: 0x00025148 + private static byte[] SaveToXML(string fname, object saveData, Encoding encode, bool encrypt = false) where T : class + { + byte[] savedata = SaveLoadManager.SerializeXML(saveData, encode); + return SaveLoadManager.SaveBytes(fname, savedata, encrypt); + } + + // Token: 0x060008C9 RID: 2249 RVA: 0x00026F68 File Offset: 0x00025168 + private static T LoadXML(string fname, bool decrypt = false) where T : class + { + byte[] array = SaveLoadManager.LoadBytes(fname, decrypt); + if (array == null) + { + return (T)((object)null); + } + return SaveLoadManager.DeserializeXML(array); + } + + // Token: 0x060008CA RID: 2250 RVA: 0x00026F90 File Offset: 0x00025190 + private static byte[] SerializeXML(object data, Encoding encode) where T : class + { + XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); + MemoryStream memoryStream = new MemoryStream(); + StreamWriter streamWriter = new StreamWriter(memoryStream, encode); + xmlSerializer.Serialize(streamWriter, data); + byte[] buffer = memoryStream.GetBuffer(); + streamWriter.Close(); + return buffer; + } + + // Token: 0x060008CB RID: 2251 RVA: 0x00026FD4 File Offset: 0x000251D4 + private static T DeserializeXML(byte[] bytes) where T : class + { + MemoryStream stream = new MemoryStream(bytes); + XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); + object obj = xmlSerializer.Deserialize(stream); + return (T)((object)obj); + } + + // Token: 0x0400077A RID: 1914 + public static readonly int SYSTEM_DATA_INDEX = 99; + + // Token: 0x0400077B RID: 1915 + public static readonly int AUTO_SAVE_INDEX = 9; + + // Token: 0x0400077C RID: 1916 + public static readonly string SAVEDATA_NAME = "SAVEDATA"; + + // Token: 0x0400077D RID: 1917 + public static readonly int SAVE_RETRY_CNT = 5; + + // Token: 0x0400077E RID: 1918 + private static readonly string SALT_STRING = "jp.co.qourier"; + + // Token: 0x0400077F RID: 1919 + private static readonly string PASSWORD = "Qourier1045"; + + // Token: 0x04000780 RID: 1920 + private static readonly string SAVEDIR = Application.persistentDataPath + "/save"; +} diff --git a/Assets/Scripts/Assembly-CSharp/SaveLoadSample.cs b/Assets/Scripts/Assembly-CSharp/SaveLoadSample.cs new file mode 100644 index 000000000..d509ad923 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SaveLoadSample.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +// Token: 0x02000007 RID: 7 +public class SaveLoadSample : MonoBehaviour +{ + // Token: 0x0600000E RID: 14 RVA: 0x00002228 File Offset: 0x00000428 + private void Start() + { + } + + // Token: 0x0600000F RID: 15 RVA: 0x0000222C File Offset: 0x0000042C + private void Update() + { + } +} diff --git a/Assets/Scripts/Assembly-CSharp/SaveLoadType.cs b/Assets/Scripts/Assembly-CSharp/SaveLoadType.cs new file mode 100644 index 000000000..436a6b5b8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SaveLoadType.cs @@ -0,0 +1,12 @@ +using System; + +// Token: 0x020000FD RID: 253 +public enum SaveLoadType +{ + // Token: 0x04000625 RID: 1573 + INVALID, + // Token: 0x04000626 RID: 1574 + SAVE, + // Token: 0x04000627 RID: 1575 + LOAD +} diff --git a/Assets/Scripts/Assembly-CSharp/SaveLoadWindow.cs b/Assets/Scripts/Assembly-CSharp/SaveLoadWindow.cs new file mode 100644 index 000000000..62670d1a7 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SaveLoadWindow.cs @@ -0,0 +1,412 @@ +using System; +using Qoo.Game; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x02000130 RID: 304 +public class SaveLoadWindow : BaseWindow +{ + // Token: 0x06000821 RID: 2081 RVA: 0x0002432C File Offset: 0x0002252C + private bool CheckDataExist(int idx) + { + SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(idx); + return saveFileInfo != null; + } + + // Token: 0x06000822 RID: 2082 RVA: 0x00024348 File Offset: 0x00022548 + private void OnDataSelect(int value) + { + this.m_Index = value; + SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(this.m_Index); + this.viewSaveInfo(saveFileInfo); + if (this.m_SaveOrLoad == SaveLoadType.SAVE) + { + if (value != 9) + { + if (saveFileInfo != null) + { + this.ConfirmShow(true, SaveLoadWindow.ConfrmType.Over); + } + else + { + this.ConfirmShow(true, SaveLoadWindow.ConfrmType.Save); + } + } + } + else if (saveFileInfo != null) + { + this.ConfirmShow(true, SaveLoadWindow.ConfrmType.Load); + } + } + + // Token: 0x06000823 RID: 2083 RVA: 0x000243B4 File Offset: 0x000225B4 + private void OnSaveLoad() + { + if (this.m_SaveOrLoad == SaveLoadType.SAVE) + { + this.OnSave(); + } + else + { + this.OnLoad(); + } + } + + // Token: 0x06000824 RID: 2084 RVA: 0x000243D4 File Offset: 0x000225D4 + private void OnSave() + { + byte[] saveData = this.GetSaveData(); + SaveFileInfo info = this.CreateSaveFileInfo(); + SaveLoadManager.Save(saveData, info, this.m_Index); + SaveLoadManager.SaveSystem(); + this.viewSaveInfo(info); + base.SetTexture(this.m_Index.ToString("SaveData0"), this.GetSaveDataIconName(this.m_Index)); + } + + // Token: 0x06000825 RID: 2085 RVA: 0x0002442C File Offset: 0x0002262C + private void OnLoad() + { + byte[] data_ = SaveLoadManager.Load(this.m_Index); + GameData.Load(data_); + if (this.m_TitleOrAdvMode == SaveLoadCallType.ADVMENU) + { + base.DeleteAllAddScene(); + } + else + { + SceneManager.ChangeScene("SceneAdvMode"); + } + Sound.BgmStop(1000); + } + + // Token: 0x06000826 RID: 2086 RVA: 0x00024478 File Offset: 0x00022678 + private void ConfirmShow(bool show = true, SaveLoadWindow.ConfrmType ct = SaveLoadWindow.ConfrmType.Save) + { + base.GameObjectShow("Confirm", show); + base.GameObjectShow("Confirm_YES", show); + base.GameObjectShow("Confirm_NO", show); + base.GameObjectShow("CofirmCollision", show); + if (show) + { + switch (ct) + { + case SaveLoadWindow.ConfrmType.Save: + this.SetText("SaveConfirmMsg", (!show) ? string.Empty : "セーブしますか?"); + break; + case SaveLoadWindow.ConfrmType.Load: + this.SetText("LoadConfirmMsg", (!show) ? string.Empty : "ロードしますか?"); + break; + case SaveLoadWindow.ConfrmType.Over: + this.SetText("OverConfirmMsg", (!show) ? string.Empty : "上書きしますか?"); + break; + } + } + else + { + this.SetText("SaveConfirmMsg", string.Empty); + this.SetText("LoadConfirmMsg", string.Empty); + this.SetText("OverConfirmMsg", string.Empty); + } + } + + // Token: 0x06000827 RID: 2087 RVA: 0x00024578 File Offset: 0x00022778 + private byte[] GetSaveData() + { + return GameData.Save(); + } + + // Token: 0x06000828 RID: 2088 RVA: 0x00024580 File Offset: 0x00022780 + private SaveFileInfo CreateSaveFileInfo() + { + return new SaveFileInfo + { + LastMessage = GameData.LastMessage, + PlayCharaId = (int)GameData.GetRoute(), + SceneName = GameData.GetSceneName(), + TimeStamp = DateTime.Now.ToString("yyyy/MM/dd HH:mm") + }; + } + + // Token: 0x06000829 RID: 2089 RVA: 0x000245D0 File Offset: 0x000227D0 + private void SetText(string name, string text) + { + UnityTextSprite textSprite = base.GetTextSprite(name); + textSprite.ClearText(); + textSprite.AddText(text, 28); + textSprite.Update(960, 544, -5f); + } + + // Token: 0x0600082A RID: 2090 RVA: 0x0002460C File Offset: 0x0002280C + private string getTimeStamp(SaveFileInfo info) + { + string result = string.Empty; + if (info == null) + { + if (this.m_SaveOrLoad == SaveLoadType.SAVE) + { + result = "New Data"; + } + } + else + { + result = info.TimeStamp; + } + return result; + } + + // Token: 0x0600082B RID: 2091 RVA: 0x00024644 File Offset: 0x00022844 + private string getSceneName(SaveFileInfo info) + { + if (info != null) + { + return info.SceneName; + } + return string.Empty; + } + + // Token: 0x0600082C RID: 2092 RVA: 0x00024658 File Offset: 0x00022858 + private string getLastMessage1(SaveFileInfo info) + { + string result = string.Empty; + if (info == null) + { + return string.Empty; + } + int num = info.LastMessage.IndexOf('\n'); + if (num < 0) + { + result = info.LastMessage; + } + else + { + result = info.LastMessage.Substring(0, num); + } + return result; + } + + // Token: 0x0600082D RID: 2093 RVA: 0x000246A8 File Offset: 0x000228A8 + private string getLastMessage2(SaveFileInfo info) + { + string result = string.Empty; + if (info == null) + { + return string.Empty; + } + int num = info.LastMessage.IndexOf('\n'); + if (num >= 0) + { + string text = info.LastMessage.Substring(num + 1); + int num2 = text.IndexOf('\n'); + if (num2 < 0) + { + result = text; + } + else + { + result = text.Substring(0, num2); + } + } + return result; + } + + // Token: 0x0600082E RID: 2094 RVA: 0x0002470C File Offset: 0x0002290C + private void viewSaveInfo(SaveFileInfo info) + { + this.SetText("TimeStamp", this.getTimeStamp(info)); + this.SetText("SceneName", this.getSceneName(info)); + this.SetText("LastMessage1", this.getLastMessage1(info)); + this.SetText("LastMessage2", this.getLastMessage2(info)); + } + + // Token: 0x0600082F RID: 2095 RVA: 0x00024764 File Offset: 0x00022964 + protected sealed override void OnAwake() + { + this.m_SaveOrLoad = UIValue.SaveLoadType; + this.m_TitleOrAdvMode = UIValue.SaveLoadCallType; + } + + // Token: 0x06000830 RID: 2096 RVA: 0x0002477C File Offset: 0x0002297C + protected sealed override string[] newSceneTextureNameArray() + { + string str = (this.m_SaveOrLoad != SaveLoadType.SAVE) ? "load" : "save"; + return new string[] + { + "screen/sysmenu/sys_bnr_" + str, + "screen/cgmemory2/cgm_bg_1", + "screen/sysmenu/sys_pop", + "screen/common/sys_dialog_save", + "screen/common/dlog_btn_y", + "screen/common/dlog_btn_n", + "screen/common/cancel", + "screen/saveload/icon_empty", + "screen/saveload/icon_play_auto", + "screen/saveload/icon_play_cha01", + "screen/saveload/icon_play_cha02", + "screen/saveload/icon_play_cha03", + "screen/saveload/icon_play_cha04", + "screen/saveload/icon_play_cha05", + "screen/saveload/icon_play_cha06", + "screen/saveload/icon_play_cha07", + "screen/saveload/icon_play_cha08", + "screen/saveload/icon_play_cha09", + "screen/saveload/icon_play_cha10", + "screen/saveload/icon_play_cha99" + }; + } + + // Token: 0x06000831 RID: 2097 RVA: 0x00024860 File Offset: 0x00022A60 + protected sealed override void BeforeInit() + { + base.transform.localPosition = new Vector3(0f, 0f, -50f); + } + + // Token: 0x06000832 RID: 2098 RVA: 0x00024884 File Offset: 0x00022A84 + protected sealed override void AfterInit() + { + this.ConfirmShow(false, SaveLoadWindow.ConfrmType.Save); + } + + // Token: 0x06000833 RID: 2099 RVA: 0x00024890 File Offset: 0x00022A90 + private string GetSaveDataIconName(int i) + { + SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(i); + bool flag = saveFileInfo != null; + string result = "icon_empty"; + if (flag) + { + if (i < 9) + { + result = ((saveFileInfo.PlayCharaId != -1) ? (saveFileInfo.PlayCharaId + 1).ToString("icon_play_cha00") : "icon_play_cha99"); + } + else + { + result = "icon_play_auto"; + } + } + return result; + } + + // Token: 0x06000834 RID: 2100 RVA: 0x000248F8 File Offset: 0x00022AF8 + private string[] GetSaveDataIcons() + { + string[] array = new string[10]; + for (int i = 0; i < 10; i++) + { + array[i] = this.GetSaveDataIconName(i); + } + return array; + } + + // Token: 0x06000835 RID: 2101 RVA: 0x0002492C File Offset: 0x00022B2C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + string str = (this.m_SaveOrLoad != SaveLoadType.SAVE) ? "load" : "save"; + bool flag = this.m_SaveOrLoad == SaveLoadType.LOAD; + string[] saveDataIcons = this.GetSaveDataIcons(); + int num = 188; + int num2 = 131; + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/cgmemory2/cgm_bg_1", true, true), + new BaseWindow.UIImage("Banner", 0, 0, this.wndz + 1, "screen/sysmenu/sys_bnr_" + str, true, true), + new BaseWindow.UIImage("SysPop", 5, 373, this.wndz + 1, "screen/sysmenu/sys_pop", true, true), + new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 2, "screen/common/cancel", true, true, 1, 2, 0), + new BaseWindow.UIImage("SaveData0", 13 + 0 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[0], true, true), + new BaseWindow.UIImage("SaveData1", 13 + 1 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[1], true, true), + new BaseWindow.UIImage("SaveData2", 13 + 2 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[2], true, true), + new BaseWindow.UIImage("SaveData3", 13 + 3 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[3], true, true), + new BaseWindow.UIImage("SaveData4", 13 + 4 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[4], true, true), + new BaseWindow.UIImage("SaveData5", 13 + 0 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[5], true, true), + new BaseWindow.UIImage("SaveData6", 13 + 1 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[6], true, true), + new BaseWindow.UIImage("SaveData7", 13 + 2 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[7], true, true), + new BaseWindow.UIImage("SaveData8", 13 + 3 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[8], true, true), + new BaseWindow.UIImage("SaveData9", 13 + 4 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[9], flag, flag), + new BaseWindow.UIText("TimeStamp", 59, 386, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIText("SceneName", 59, 414, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIText("LastMessage1", 59, 456, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIText("LastMessage2", 59, 484, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UICollision("CofirmCollision", 0, 0, this.wndz + 3, 960, 544), + new BaseWindow.UIImage("Confirm", 136, 182, this.wndz + 3, "screen/common/sys_dialog", true, false), + new BaseWindow.UIButton("Confirm_YES", 312, 277, this.wndz + 4, "screen/common/dlog_btn_y", true, false, 1, 2, 0), + new BaseWindow.UIButton("Confirm_NO", 513, 277, this.wndz + 4, "screen/common/dlog_btn_n", true, false, 1, 2, 0), + new BaseWindow.UIText("SaveConfirmMsg", 480, 230, this.wndz + 4, "セーブしますか?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIText("LoadConfirmMsg", 480, 230, this.wndz + 4, "ロードしますか?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), + new BaseWindow.UIText("OverConfirmMsg", 480, 230, this.wndz + 4, "上書きしますか?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + + // Token: 0x06000836 RID: 2102 RVA: 0x00024E34 File Offset: 0x00023034 + protected sealed override void OnBaseWindowOnButton(string obj) + { + switch (obj) + { + case "SaveData0": + case "SaveData1": + case "SaveData2": + case "SaveData3": + case "SaveData4": + case "SaveData5": + case "SaveData6": + case "SaveData7": + case "SaveData8": + case "SaveData9": + this.saveloadAction(obj); + break; + case "Confirm_YES": + base.PlaySE_Ok(); + this.OnSaveLoad(); + this.ConfirmShow(false, SaveLoadWindow.ConfrmType.Save); + break; + case "Confirm_NO": + base.PlaySE_Cancel(); + this.ConfirmShow(false, SaveLoadWindow.ConfrmType.Save); + break; + case "Cancel": + base.PlaySE_Cancel(); + if (this.m_TitleOrAdvMode == SaveLoadCallType.ADVMENU) + { + base.DeleteLastAddScene(); + } + else + { + SceneManager.BackScene(); + } + break; + } + } + + // Token: 0x06000837 RID: 2103 RVA: 0x00024F8C File Offset: 0x0002318C + private void saveloadAction(string obj) + { + int idx = int.Parse(obj.Replace("SaveData", string.Empty)); + if (this.m_SaveOrLoad == SaveLoadType.LOAD && !this.CheckDataExist(idx)) + { + return; + } + base.PlaySE_Ok(); + this.OnDataSelect(int.Parse(obj.Replace("SaveData", string.Empty))); + } + + // Token: 0x0400072B RID: 1835 + private SaveLoadType m_SaveOrLoad; + + // Token: 0x0400072C RID: 1836 + private SaveLoadCallType m_TitleOrAdvMode; + + // Token: 0x0400072D RID: 1837 + private int m_Index; + + // Token: 0x0400072E RID: 1838 + private readonly int wndz; + + // Token: 0x02000131 RID: 305 + private enum ConfrmType + { + // Token: 0x04000731 RID: 1841 + Save, + // Token: 0x04000732 RID: 1842 + Load, + // Token: 0x04000733 RID: 1843 + Over + } +} diff --git a/Assets/Scripts/Assembly-CSharp/SceneManager.cs b/Assets/Scripts/Assembly-CSharp/SceneManager.cs new file mode 100644 index 000000000..d6e3343c2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SceneManager.cs @@ -0,0 +1,201 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x0200013B RID: 315 +public class SceneManager : MonoBehaviour +{ + // Token: 0x170000F4 RID: 244 + // (get) Token: 0x06000883 RID: 2179 RVA: 0x0002613C File Offset: 0x0002433C + private static SceneManager Instance + { + get + { + GameObject gameObject = GameObject.Find("__SceneManager"); + if (gameObject == null) + { + gameObject = new GameObject("__SceneManager"); + SceneManager.instance = gameObject.AddComponent(); + } + if (SceneManager.instance == null) + { + SceneManager.instance = gameObject.GetComponent(); + } + return SceneManager.instance; + } + } + + // Token: 0x06000884 RID: 2180 RVA: 0x00026198 File Offset: 0x00024398 + public static void ClearSceneStack() + { + SceneManager.SceneStack.Clear(); + SceneManager.SceneStack.Add(SceneManager.CurrentSceneName); + SceneManager.SceneStackByAdd.Clear(); + } + + // Token: 0x06000885 RID: 2181 RVA: 0x000261C0 File Offset: 0x000243C0 + public static void AddScene(string sceneName) + { + SceneManager.SceneStackByAdd.Add(sceneName); + SceneManager.Instance.StartWaitForLoadScene(sceneName); + } + + // Token: 0x06000886 RID: 2182 RVA: 0x000261D8 File Offset: 0x000243D8 + private static void DeleteScene(string sceneName) + { + SceneManager.UnloadScene(sceneName); + if (SceneManager.SceneStackByAdd.Contains(sceneName)) + { + SceneManager.SceneStackByAdd.Remove(sceneName); + } + GameObject gameObject = GameObject.Find(SceneManager.GetCurrentScene() + "/Wnd"); + if (gameObject != null) + { + BaseWindow component = gameObject.GetComponent(); + if (component != null) + { + component.OnCurrentWindow(); + } + } + } + + // Token: 0x06000887 RID: 2183 RVA: 0x00026244 File Offset: 0x00024444 + private static string GetCurrentScene() + { + int count = SceneManager.SceneStackByAdd.Count; + return (count == 0) ? SceneManager.CurrentSceneName : SceneManager.SceneStackByAdd[count - 1]; + } + + // Token: 0x06000888 RID: 2184 RVA: 0x0002627C File Offset: 0x0002447C + public static void DeleteLastAddScene() + { + if (SceneManager.SceneStackByAdd.Count == 0) + { + return; + } + string sceneName = SceneManager.SceneStackByAdd[SceneManager.SceneStackByAdd.Count - 1]; + SceneManager.DeleteScene(sceneName); + } + + // Token: 0x06000889 RID: 2185 RVA: 0x000262B8 File Offset: 0x000244B8 + public static void DeleteAllAddScene() + { + if (SceneManager.SceneStackByAdd.Count == 0) + { + return; + } + while (SceneManager.SceneStackByAdd.Count > 0) + { + SceneManager.DeleteLastAddScene(); + } + } + + // Token: 0x0600088A RID: 2186 RVA: 0x000262F0 File Offset: 0x000244F0 + public static void ChangeScene(string nextSceneName) + { + if (SceneManager.CurrentSceneName != null && SceneManager.CurrentSceneName != nextSceneName) + { + SceneManager.SceneStack.Add(SceneManager.CurrentSceneName); + } + SceneManager.Instance.StartChangeSceneCoroutine(SceneManager.CurrentSceneName, nextSceneName); + } + + // Token: 0x0600088B RID: 2187 RVA: 0x0002632C File Offset: 0x0002452C + public static void BackScene() + { + if (SceneManager.SceneStack.Count == 0) + { + return; + } + string nextSceneName = SceneManager.SceneStack[SceneManager.SceneStack.Count - 1]; + SceneManager.SceneStack.RemoveAt(SceneManager.SceneStack.Count - 1); + SceneManager.Instance.StartChangeSceneCoroutine(SceneManager.CurrentSceneName, nextSceneName); + } + + // Token: 0x0600088C RID: 2188 RVA: 0x00026388 File Offset: 0x00024588 + private static AsyncOperation LoadScene(string sceneName) + { + return Application.LoadLevelAdditiveAsync(sceneName); + } + + // Token: 0x0600088D RID: 2189 RVA: 0x00026390 File Offset: 0x00024590 + private static void UnloadScene(string sceneName) + { + GameObject gameObject = GameObject.Find(sceneName); + if (gameObject != null) + { + UnityEngine.Object.Destroy(gameObject); + } + Resources.UnloadUnusedAssets(); + } + + // Token: 0x0600088E RID: 2190 RVA: 0x000263C0 File Offset: 0x000245C0 + private void SetCurrentSceneName(string nextSceneName) + { + SceneManager.CurrentSceneName = nextSceneName; + } + + // Token: 0x0600088F RID: 2191 RVA: 0x000263C8 File Offset: 0x000245C8 + private void StartChangeSceneCoroutine(string currentSceneName, string nextSceneName) + { + base.StartCoroutine(this.ChangeSceneCoroutine(currentSceneName, nextSceneName, new Action(this.SetCurrentSceneName))); + } + + // Token: 0x06000890 RID: 2192 RVA: 0x000263E8 File Offset: 0x000245E8 + private void StartWaitForLoadScene(string nextSceneName) + { + base.StartCoroutine(this.WaitForLoadScene(null, nextSceneName, null)); + } + + // Token: 0x06000891 RID: 2193 RVA: 0x000263FC File Offset: 0x000245FC + private IEnumerator WaitForLoadScene(string currentSceneName, string nextSceneName, Action action) + { + AsyncOperation ao = SceneManager.LoadScene(nextSceneName); + if (currentSceneName != null) + { + SceneManager.UnloadScene(currentSceneName); + } + if (action != null) + { + action(nextSceneName); + } + while (ao.progress < 1f) + { + yield return new WaitForSeconds(0.1f); + } + GameObject go = GameObject.Find(nextSceneName + "/Wnd"); + if (go != null) + { + BaseWindow w = go.GetComponent(); + if (w != null) + { + yield return base.StartCoroutine(w.WaitLoadTexture()); + w.OnCurrentWindow(); + } + } + yield break; + } + + // Token: 0x06000892 RID: 2194 RVA: 0x00026444 File Offset: 0x00024644 + private IEnumerator ChangeSceneCoroutine(string currentSceneName, string nextSceneName, Action action) + { + yield return base.StartCoroutine(ScreenEffect.FadeBlackOut(0.5f)); + yield return base.StartCoroutine(this.WaitForLoadScene(currentSceneName, nextSceneName, action)); + yield return base.StartCoroutine(ScreenEffect.FadeBlackIn(0.5f)); + ScreenEffect.Term(); + yield break; + } + + // Token: 0x04000767 RID: 1895 + private static SceneManager instance; + + // Token: 0x04000768 RID: 1896 + private static string CurrentSceneName; + + // Token: 0x04000769 RID: 1897 + private static List SceneStack = new List(); + + // Token: 0x0400076A RID: 1898 + private static List SceneStackByAdd = new List(); +} diff --git a/Assets/Scripts/Assembly-CSharp/ScreenEffect.cs b/Assets/Scripts/Assembly-CSharp/ScreenEffect.cs new file mode 100644 index 000000000..d92d8750c --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ScreenEffect.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x02000140 RID: 320 +public class ScreenEffect +{ + // Token: 0x1700010D RID: 269 + // (get) Token: 0x060008E9 RID: 2281 RVA: 0x00027300 File Offset: 0x00025500 + // (set) Token: 0x060008EA RID: 2282 RVA: 0x00027308 File Offset: 0x00025508 + public static bool FadeExec + { + get + { + return ScreenEffect.fadeExec; + } + set + { + ScreenEffect.fadeExec = value; + } + } + + // Token: 0x060008EB RID: 2283 RVA: 0x00027310 File Offset: 0x00025510 + public static IEnumerator FadeBlackOut(float sec) + { + return ScreenEffect.FadeMain(sec, new Color(0f, 0f, 0f, 0f), new Color(0f, 0f, 0f, 1f)); + } + + // Token: 0x060008EC RID: 2284 RVA: 0x00027358 File Offset: 0x00025558 + public static IEnumerator FadeBlackIn(float sec) + { + return ScreenEffect.FadeMain(sec, new Color(0f, 0f, 0f, 1f), new Color(0f, 0f, 0f, 0f)); + } + + // Token: 0x060008ED RID: 2285 RVA: 0x000273A0 File Offset: 0x000255A0 + private static IEnumerator FadeMain(float sec, Color src, Color dst) + { + AnimationRange_Color work = new AnimationRange_Color(1, sec, 0f, src, dst); + while (work.Active) + { + if (ScreenEffect.goScreenEffect == null) + { + ScreenEffect.Init(99, Color.black, null); + } + ScreenEffect.goScreenEffect.renderer.material.SetColor("_Color", work.Offset); + work.Update(); + yield return 0; + } + ScreenEffect.fadeExec = false; + yield break; + } + + // Token: 0x060008EE RID: 2286 RVA: 0x000273E0 File Offset: 0x000255E0 + public static void Init(int z, Color color, Transform parent = null) + { + ScreenEffect.goScreenEffect = GameObject.Find("__ScreenEffenct"); + if (ScreenEffect.goScreenEffect == null) + { + ScreenEffect.goScreenEffect = GameObject.CreatePrimitive(PrimitiveType.Quad); + ScreenEffect.goScreenEffect.renderer.material = new Material(Resources.Load("Shader/Color/UnlitColor") as Shader); + ScreenEffect.goScreenEffect.transform.localScale = new Vector3(960f, 544f, 1f); + ScreenEffect.goScreenEffect.name = "__ScreenEffenct"; + } + ScreenEffect.goScreenEffect.transform.parent = parent; + if (parent != null) + { + ScreenEffect.goScreenEffect.transform.localPosition = new Vector3(0f, 0f, (float)(-(float)z)); + } + else + { + ScreenEffect.goScreenEffect.transform.localPosition = new Vector3(2000f, 0f, (float)(-(float)z)); + } + ScreenEffect.goScreenEffect.renderer.material.SetColor("_Color", color); + } + + // Token: 0x060008EF RID: 2287 RVA: 0x000274EC File Offset: 0x000256EC + public static void Term() + { + if (ScreenEffect.goScreenEffect != null) + { + UnityEngine.Object.Destroy(ScreenEffect.goScreenEffect); + ScreenEffect.goScreenEffect = null; + } + } + + // Token: 0x0400078E RID: 1934 + private static GameObject goScreenEffect; + + // Token: 0x0400078F RID: 1935 + private static bool fadeExec; +} diff --git a/Assets/Scripts/Assembly-CSharp/ScreenKeyboardManager.cs b/Assets/Scripts/Assembly-CSharp/ScreenKeyboardManager.cs new file mode 100644 index 000000000..8811994b9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ScreenKeyboardManager.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x02000174 RID: 372 +public class ScreenKeyboardManager : MonoBehaviour +{ + // Token: 0x1700015A RID: 346 + // (get) Token: 0x06000A93 RID: 2707 RVA: 0x0002EA38 File Offset: 0x0002CC38 + private static ScreenKeyboardManager Instance + { + get + { + if (ScreenKeyboardManager.m_instance == null) + { + GameObject gameObject = GameObject.Find("_ScreenKeyboardManager"); + if (gameObject == null) + { + gameObject = new GameObject("_ScreenKeyboardManager"); + } + ScreenKeyboardManager.m_instance = gameObject.AddComponent(); + ScreenKeyboardManager.m_instance.m_inputText = string.Empty; + } + return ScreenKeyboardManager.m_instance; + } + } + + // Token: 0x1700015B RID: 347 + // (get) Token: 0x06000A94 RID: 2708 RVA: 0x0002EA98 File Offset: 0x0002CC98 + public static string InputText + { + get + { + return ScreenKeyboardManager.Instance.m_inputText; + } + } + + // Token: 0x1700015C RID: 348 + // (set) Token: 0x06000A95 RID: 2709 RVA: 0x0002EAA4 File Offset: 0x0002CCA4 + public static string DebugInputText + { + set + { + ScreenKeyboardManager.Instance.m_inputText = value; + } + } + + // Token: 0x1700015D RID: 349 + // (get) Token: 0x06000A96 RID: 2710 RVA: 0x0002EAB4 File Offset: 0x0002CCB4 + public static bool IsCancel + { + get + { + return ScreenKeyboardManager.Instance.m_keyboard.wasCanceled; + } + } + + // Token: 0x06000A97 RID: 2711 RVA: 0x0002EAC8 File Offset: 0x0002CCC8 + public static IEnumerator Open(string defaultString = "") + { + ScreenKeyboardManager.Instance.m_inputText = defaultString; + ScreenKeyboardManager.Instance.m_keyboard = TouchScreenKeyboard.Open(defaultString, TouchScreenKeyboardType.NamePhonePad); + while (!ScreenKeyboardManager.Instance.m_keyboard.active) + { + yield return 0; + } + while (ScreenKeyboardManager.Instance.m_keyboard.active) + { + yield return 0; + } + if (ScreenKeyboardManager.Instance.m_keyboard.done) + { + ScreenKeyboardManager.Instance.m_inputText = ScreenKeyboardManager.Instance.m_keyboard.text; + } + yield break; + } + + // Token: 0x06000A98 RID: 2712 RVA: 0x0002EAEC File Offset: 0x0002CCEC + public static void Close() + { + if (ScreenKeyboardManager.m_instance != null) + { + UnityEngine.Object.Destroy(ScreenKeyboardManager.m_instance.gameObject); + ScreenKeyboardManager.m_instance = null; + } + } + + // Token: 0x04000885 RID: 2181 + private static ScreenKeyboardManager m_instance; + + // Token: 0x04000886 RID: 2182 + private TouchScreenKeyboard m_keyboard; + + // Token: 0x04000887 RID: 2183 + private string m_inputText; +} diff --git a/Assets/Scripts/Assembly-CSharp/ScreenMovieSample.cs b/Assets/Scripts/Assembly-CSharp/ScreenMovieSample.cs new file mode 100644 index 000000000..e216db700 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ScreenMovieSample.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x02000008 RID: 8 +public class ScreenMovieSample : MonoBehaviour +{ + // Token: 0x06000011 RID: 17 RVA: 0x00002238 File Offset: 0x00000438 + private IEnumerator Start() + { + yield return base.StartCoroutine(MovieManager.PlayMovie("mp4/high/op_movie.mp4", FullScreenMovieControlMode.CancelOnInput)); + Debug.Log(" #DEBUGLOG::MOVIE OWATA "); + yield break; + } + + // Token: 0x06000012 RID: 18 RVA: 0x00002254 File Offset: 0x00000454 + private void Update() + { + } +} diff --git a/Assets/Scripts/Assembly-CSharp/ScriptEvent.cs b/Assets/Scripts/Assembly-CSharp/ScriptEvent.cs new file mode 100644 index 000000000..a5ff28d88 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ScriptEvent.cs @@ -0,0 +1,23 @@ +using System; +using UnityEngine; + +// Token: 0x02000142 RID: 322 +public class ScriptEvent : MonoBehaviour +{ + // Token: 0x060008F1 RID: 2289 RVA: 0x00027524 File Offset: 0x00025724 + public virtual void Action() + { + } + + // Token: 0x060008F2 RID: 2290 RVA: 0x00027528 File Offset: 0x00025728 + private void OnMouseUpAsButton() + { + if (this.Triger == ScriptEventTriger.OnMouseDownUp) + { + this.Action(); + } + } + + // Token: 0x04000792 RID: 1938 + public ScriptEventTriger Triger; +} diff --git a/Assets/Scripts/Assembly-CSharp/ScriptEventSelfHandler.cs b/Assets/Scripts/Assembly-CSharp/ScriptEventSelfHandler.cs new file mode 100644 index 000000000..fdb0c7fe5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ScriptEventSelfHandler.cs @@ -0,0 +1,114 @@ +using System; +using UnityEngine; + +// Token: 0x02000143 RID: 323 +public class ScriptEventSelfHandler : ScriptEvent +{ + // Token: 0x060008F4 RID: 2292 RVA: 0x00027544 File Offset: 0x00025744 + public static ScriptEvent Create(GameObject go, ScriptEventTriger triger, Action action) + { + ScriptEventSelfHandler scriptEventSelfHandler = go.AddComponent(); + scriptEventSelfHandler.Triger = triger; + scriptEventSelfHandler.handler = new ScriptEventSelfHandler.HandlerWithoutParam(action); + return scriptEventSelfHandler; + } + + // Token: 0x060008F5 RID: 2293 RVA: 0x0002756C File Offset: 0x0002576C + public static ScriptEvent Create(GameObject go, ScriptEventTriger triger, Action action, int param) + { + ScriptEventSelfHandler scriptEventSelfHandler = go.AddComponent(); + scriptEventSelfHandler.Triger = triger; + scriptEventSelfHandler.handler = new ScriptEventSelfHandler.HandlerWithInt(action, param); + return scriptEventSelfHandler; + } + + // Token: 0x060008F6 RID: 2294 RVA: 0x00027598 File Offset: 0x00025798 + public static ScriptEvent Create(GameObject go, ScriptEventTriger triger, Action action, string param) + { + ScriptEventSelfHandler scriptEventSelfHandler = go.AddComponent(); + scriptEventSelfHandler.Triger = triger; + scriptEventSelfHandler.handler = new ScriptEventSelfHandler.HandlerWithString(action, param); + return scriptEventSelfHandler; + } + + // Token: 0x060008F7 RID: 2295 RVA: 0x000275C4 File Offset: 0x000257C4 + public override void Action() + { + this.handler.Action(); + } + + // Token: 0x04000793 RID: 1939 + private ScriptEventSelfHandler.IHandler handler; + + // Token: 0x02000144 RID: 324 + public abstract class IHandler + { + // Token: 0x060008F9 RID: 2297 + public abstract void Action(); + } + + // Token: 0x02000145 RID: 325 + public class HandlerWithoutParam : ScriptEventSelfHandler.IHandler + { + // Token: 0x060008FA RID: 2298 RVA: 0x000275DC File Offset: 0x000257DC + public HandlerWithoutParam(Action action_) + { + this.action = action_; + } + + // Token: 0x060008FB RID: 2299 RVA: 0x000275EC File Offset: 0x000257EC + public override void Action() + { + this.action(); + } + + // Token: 0x04000794 RID: 1940 + private Action action; + } + + // Token: 0x02000146 RID: 326 + public class HandlerWithInt : ScriptEventSelfHandler.IHandler + { + // Token: 0x060008FC RID: 2300 RVA: 0x000275FC File Offset: 0x000257FC + public HandlerWithInt(Action action_, int param_) + { + this.action = action_; + this.param = param_; + } + + // Token: 0x060008FD RID: 2301 RVA: 0x00027614 File Offset: 0x00025814 + public override void Action() + { + this.action(this.param); + } + + // Token: 0x04000795 RID: 1941 + private Action action; + + // Token: 0x04000796 RID: 1942 + private int param; + } + + // Token: 0x02000147 RID: 327 + public class HandlerWithString : ScriptEventSelfHandler.IHandler + { + // Token: 0x060008FE RID: 2302 RVA: 0x00027628 File Offset: 0x00025828 + public HandlerWithString(Action action_, string param_) + { + this.action = action_; + this.param = param_; + } + + // Token: 0x060008FF RID: 2303 RVA: 0x0002764C File Offset: 0x0002584C + public override void Action() + { + this.action(this.param); + } + + // Token: 0x04000797 RID: 1943 + private Action action; + + // Token: 0x04000798 RID: 1944 + private string param = string.Empty; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/ScriptEventTriger.cs b/Assets/Scripts/Assembly-CSharp/ScriptEventTriger.cs new file mode 100644 index 000000000..ee705c7a2 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/ScriptEventTriger.cs @@ -0,0 +1,8 @@ +using System; + +// Token: 0x02000141 RID: 321 +public enum ScriptEventTriger +{ + // Token: 0x04000791 RID: 1937 + OnMouseDownUp +} diff --git a/Assets/Scripts/Assembly-CSharp/SelectWnd.cs b/Assets/Scripts/Assembly-CSharp/SelectWnd.cs new file mode 100644 index 000000000..66f51f4fe --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SelectWnd.cs @@ -0,0 +1,319 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Qoo; +using Qoo.Application; +using Qoo.Def; +using Qoo.Game; +using Qoo.Input; +using Qoo.Select; +using Qoo.SoundSystem; +using UnityEngine; + +// Token: 0x020000BD RID: 189 +public class SelectWnd : Singleton +{ + // Token: 0x170000CF RID: 207 + // (get) Token: 0x060005A2 RID: 1442 RVA: 0x000169CC File Offset: 0x00014BCC + // (set) Token: 0x060005A3 RID: 1443 RVA: 0x000169D4 File Offset: 0x00014BD4 + private static int SelectNo + { + get + { + return SelectWnd.m_nSelectNo; + } + set + { + SelectWnd.m_nSelectNo = value; + } + } + + // Token: 0x170000D0 RID: 208 + // (get) Token: 0x060005A4 RID: 1444 RVA: 0x000169DC File Offset: 0x00014BDC + // (set) Token: 0x060005A5 RID: 1445 RVA: 0x000169E4 File Offset: 0x00014BE4 + public bool IsRun { get; private set; } + + // Token: 0x060005A6 RID: 1446 RVA: 0x000169F0 File Offset: 0x00014BF0 + private void Awake() + { + this.Init(); + base.enabled = false; + } + + // Token: 0x060005A7 RID: 1447 RVA: 0x00016A00 File Offset: 0x00014C00 + private void Update() + { + if (SelectWnd.m_SelectBtn.Count == 0) + { + return; + } + if (this.IsSelectEnd()) + { + return; + } + if (KsInput.IsMenu) + { + return; + } + if (base.QooGraph.IsFade) + { + return; + } + if (KsInput.State == INPUT_STATE.JUMP_NEXT) + { + return; + } + foreach (SelectBtn selectBtn in SelectWnd.m_SelectBtn) + { + selectBtn.Restore(); + selectBtn.Show(true); + } + switch (UnityApp.Input.Status) + { + case INPUT_STATUS.PUSH: + foreach (SelectBtn selectBtn2 in SelectWnd.m_SelectBtn) + { + selectBtn2.Select(selectBtn2.IsHit(UnityApp.Input.Start)); + } + break; + case INPUT_STATUS.CLICK: + for (int num = 0; num != SelectWnd.m_SelectBtn.Count; num++) + { + SelectWnd.m_SelectBtn[num].Select(false); + } + for (int num2 = 0; num2 != SelectWnd.m_SelectBtn.Count; num2++) + { + SelectBtn selectBtn3 = SelectWnd.m_SelectBtn[num2]; + if (selectBtn3.IsHit(UnityApp.Input.End)) + { + this.Select(num2); + return; + } + } + break; + case INPUT_STATUS.DRAG_ON: + break; + default: + foreach (SelectBtn selectBtn4 in SelectWnd.m_SelectBtn) + { + selectBtn4.Select(false); + } + break; + } + if (Qoo.Debug.IsAutoKsDebug) + { + this.Select(App.GetRandom(SelectWnd.m_SelectBtn.Count)); + } + } + + // Token: 0x060005A8 RID: 1448 RVA: 0x00016C44 File Offset: 0x00014E44 + private void Select(int index) + { + Sound.SE_Ok(); + SelectBtn selectBtn = SelectWnd.m_SelectBtn[index]; + selectBtn.Select(true); + Qoo.Debug.Print("Select:" + index); + base.enabled = false; + if (this.m_isAuto) + { + KsInput.State = INPUT_STATE.AUTO; + Singleton.Instance.IsAutoSkip = true; + } + base.StartCoroutine(this.WaitEnd(index, App.QooSelect.IsAnim(index))); + } + + // Token: 0x060005A9 RID: 1449 RVA: 0x00016CBC File Offset: 0x00014EBC + private IEnumerator WaitEnd(int select, bool IsAnim) + { + if (IsAnim) + { + this.m_LoveAnim = Man2D.Sprite("sys_love.png"); + Point2 pos = SelectWnd.m_SelectBtn[select].GetPos(); + if (App.QooSelect.IsGrp()) + { + pos.x += 50; + pos.y += 186; + } + else + { + pos.x += 364; + pos.y += -18; + } + this.m_LoveAnim.SetPos(pos.x, pos.y, 783); + this.m_LoveAnim.SetPtnNum(7, 2); + this.m_LoveAnim.SetPtnPos(0, 0); + this.m_LoveAnim.RepeatUVAnim(false); + this.m_LoveAnim.SetUVAnimWait(4); + this.m_LoveAnim.EnableUVAnim(true); + while (this.m_LoveAnim.IsEnableUVAnim()) + { + yield return 0; + if (this.m_LoveAnim == null) + { + IL_198: + Singleton.Instance.RemoveSprite(this.m_LoveAnim); + this.m_LoveAnim = null; + goto IL_1DB; + } + } + goto IL_198; + } + yield return new WaitForSeconds(1f); + IL_1DB: + SelectWnd.SelectNo = select; + yield break; + } + + // Token: 0x060005AA RID: 1450 RVA: 0x00016CF4 File Offset: 0x00014EF4 + public void OnDestroy() + { + this.Init(); + } + + // Token: 0x060005AB RID: 1451 RVA: 0x00016CFC File Offset: 0x00014EFC + public void Init() + { + this.ReleaseBtn(); + SelectWnd.SelectNo = -1; + if (Singleton.IsReady && this.m_LoveAnim != null) + { + Singleton.Instance.RemoveSprite(this.m_LoveAnim); + } + this.m_LoveAnim = null; + } + + // Token: 0x060005AC RID: 1452 RVA: 0x00016D44 File Offset: 0x00014F44 + public void ReleaseBtn() + { + foreach (SelectBtn selectBtn in SelectWnd.m_SelectBtn) + { + selectBtn.Release(); + } + SelectWnd.m_SelectBtn.Clear(); + } + + // Token: 0x060005AD RID: 1453 RVA: 0x00016DB4 File Offset: 0x00014FB4 + public void Begin(bool p, bool bReaded, string nameTable) + { + Qoo.Debug.Assert(App.QooSelect.Count > 0, "選択肢が登録されていません"); + this.Init(); + this.m_isAuto = KsInput.IsAuto; + if (this.m_isAuto) + { + Singleton.Instance.IsAutoSkip = false; + KsInput.Clear(); + } + UnityApp.Input.Clear(); + UnityApp.Input.IsOnePushDelete = true; + UnityTask.SetSubTask(this.CreateSelectBtn(bReaded, nameTable)); + this.IsRun = true; + } + + // Token: 0x060005AE RID: 1454 RVA: 0x00016E30 File Offset: 0x00015030 + private IEnumerator CreateSelectBtn(bool bReaded, string nameTable) + { + foreach (SelectItem item in App.QooSelect.SelectAr) + { + if (item.IsGrpFile) + { + Man2D.ReadyTexture(item.Select, true); + } + } + yield return 0; + foreach (SelectItem item2 in App.QooSelect.SelectAr) + { + if (item2.IsGrpFile) + { + while (!Man2D.IsUseTexture(item2.Select)) + { + yield return base.StartCoroutine(Singleton.Instance.RunReadTask()); + } + } + } + Point2[] pos = SelectDef.GetBtnPos(nameTable, App.QooSelect.IsGrp(), App.QooSelect.Count); + int count = 0; + foreach (SelectItem item3 in App.QooSelect.SelectAr) + { + SelectBtn btn = new SelectBtn(); + if (item3.IsGrpFile) + { + btn.CreateGrpBtn(item3.Select, bReaded && SysData.IsReadedMark(item3.Ks, item3.Label), count); + } + else + { + btn.CreateTxtBtn(item3.Select, bReaded && SysData.IsReadedMark(item3.Ks, item3.Label)); + } + btn.SetPos(pos[SelectWnd.m_SelectBtn.Count]); + SelectWnd.m_SelectBtn.Add(btn); + count++; + } + base.enabled = true; + yield break; + } + + // Token: 0x060005AF RID: 1455 RVA: 0x00016E68 File Offset: 0x00015068 + public void End() + { + Qoo.Debug.Assert(App.QooSelect.SelectAr.Count > 0, "選択肢が登録されていません"); + App.QooSelect.Clear(); + this.ReleaseBtn(); + if (Singleton.IsReady && this.m_LoveAnim != null) + { + Singleton.Instance.RemoveSprite(this.m_LoveAnim); + } + this.m_LoveAnim = null; + this.IsRun = false; + } + + // Token: 0x060005B0 RID: 1456 RVA: 0x00016ED8 File Offset: 0x000150D8 + public int GetSelectNo() + { + return SelectWnd.SelectNo; + } + + // Token: 0x060005B1 RID: 1457 RVA: 0x00016EE0 File Offset: 0x000150E0 + public int GetSelectNum() + { + return App.QooSelect.SelectAr.Count; + } + + // Token: 0x060005B2 RID: 1458 RVA: 0x00016EF4 File Offset: 0x000150F4 + public bool IsGrp() + { + return App.QooSelect.IsGrp(); + } + + // Token: 0x060005B3 RID: 1459 RVA: 0x00016F00 File Offset: 0x00015100 + public string GetSelectKs() + { + Qoo.Debug.Assert(App.QooSelect.SelectAr.Count > 0, "選択肢が登録されていません"); + Qoo.Debug.Assert(SelectWnd.SelectNo >= 0 && SelectWnd.SelectNo < App.QooSelect.SelectAr.Count, "選択結果が選択肢の範囲に収まっていません"); + return App.QooSelect.SelectAr[SelectWnd.SelectNo].Ks; + } + + // Token: 0x060005B4 RID: 1460 RVA: 0x00016F70 File Offset: 0x00015170 + public string GetSelectLabel() + { + Qoo.Debug.Assert(App.QooSelect.SelectAr.Count > 0, "選択肢が登録されていません"); + Qoo.Debug.Assert(SelectWnd.SelectNo >= 0 && SelectWnd.SelectNo < App.QooSelect.SelectAr.Count, "選択結果が選択肢の範囲に収まっていません"); + return App.QooSelect.SelectAr[SelectWnd.SelectNo].Label; + } + + // Token: 0x060005B5 RID: 1461 RVA: 0x00016FE0 File Offset: 0x000151E0 + public bool IsSelectEnd() + { + return SelectWnd.SelectNo >= 0; + } + + // Token: 0x04000422 RID: 1058 + private static List m_SelectBtn = new List(); + + // Token: 0x04000423 RID: 1059 + private static int m_nSelectNo = -1; + + // Token: 0x04000424 RID: 1060 + private bool m_isAuto; + + // Token: 0x04000425 RID: 1061 + private UnitySprite m_LoveAnim; +} diff --git a/Assets/Scripts/Assembly-CSharp/Singleton.cs b/Assets/Scripts/Assembly-CSharp/Singleton.cs new file mode 100644 index 000000000..88d6977b6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Singleton.cs @@ -0,0 +1,41 @@ +using System; +using UnityEngine; + +// Token: 0x020001AE RID: 430 +public class Singleton : UserBaseClass where T : UserBaseClass +{ + // Token: 0x170001AE RID: 430 + // (get) Token: 0x06000C65 RID: 3173 RVA: 0x00032D94 File Offset: 0x00030F94 + public static T Instance + { + get + { + if (Singleton.instance == null) + { + Singleton.instance = (T)((object)UnityEngine.Object.FindObjectOfType(typeof(T))); + if (Singleton.instance == null) + { + Debug.LogError("An instance of " + typeof(T) + " is needed in the scene, but there is none."); + } + } + return Singleton.instance; + } + } + + // Token: 0x170001AF RID: 431 + // (get) Token: 0x06000C66 RID: 3174 RVA: 0x00032E08 File Offset: 0x00031008 + public static bool IsReady + { + get + { + if (Singleton.instance == null) + { + Singleton.instance = (T)((object)UnityEngine.Object.FindObjectOfType(typeof(T))); + } + return Singleton.instance != null; + } + } + + // Token: 0x04000968 RID: 2408 + protected static T instance; +} diff --git a/Assets/Scripts/Assembly-CSharp/Size.cs b/Assets/Scripts/Assembly-CSharp/Size.cs new file mode 100644 index 000000000..f0631bd2d --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/Size.cs @@ -0,0 +1,18 @@ +using System; + +// Token: 0x0200017C RID: 380 +public class Size +{ + // Token: 0x06000ACA RID: 2762 RVA: 0x0002F5F8 File Offset: 0x0002D7F8 + public Size(int w_ = 0, int h_ = 0) + { + this.w = w_; + this.h = h_; + } + + // Token: 0x040008B9 RID: 2233 + public int w; + + // Token: 0x040008BA RID: 2234 + public int h; +} diff --git a/Assets/Scripts/Assembly-CSharp/SizeF.cs b/Assets/Scripts/Assembly-CSharp/SizeF.cs new file mode 100644 index 000000000..22f67b2a3 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SizeF.cs @@ -0,0 +1,18 @@ +using System; + +// Token: 0x0200017D RID: 381 +public class SizeF +{ + // Token: 0x06000ACB RID: 2763 RVA: 0x0002F610 File Offset: 0x0002D810 + public SizeF(float w_ = 0f, float h_ = 0f) + { + this.w = w_; + this.h = h_; + } + + // Token: 0x040008BB RID: 2235 + public float w; + + // Token: 0x040008BC RID: 2236 + public float h; +} diff --git a/Assets/Scripts/Assembly-CSharp/SoundData.cs b/Assets/Scripts/Assembly-CSharp/SoundData.cs new file mode 100644 index 000000000..9f0700cda --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SoundData.cs @@ -0,0 +1,82 @@ +using System; +using System.Text; +using Qoo.File; +using UnityEngine; + +// Token: 0x0200018A RID: 394 +public class SoundData +{ + // Token: 0x06000B33 RID: 2867 RVA: 0x00030458 File Offset: 0x0002E658 + public SoundData() + { + } + + // Token: 0x06000B34 RID: 2868 RVA: 0x00030460 File Offset: 0x0002E660 + public SoundData(string category, string name_) + { + this.Create(category, name_); + } + + // Token: 0x17000176 RID: 374 + // (get) Token: 0x06000B35 RID: 2869 RVA: 0x00030474 File Offset: 0x0002E674 + // (set) Token: 0x06000B36 RID: 2870 RVA: 0x0003047C File Offset: 0x0002E67C + public AudioClip Data + { + get + { + return this.data; + } + private set + { + this.data = value; + } + } + + // Token: 0x17000177 RID: 375 + // (get) Token: 0x06000B37 RID: 2871 RVA: 0x00030488 File Offset: 0x0002E688 + // (set) Token: 0x06000B38 RID: 2872 RVA: 0x00030490 File Offset: 0x0002E690 + public string Name + { + get + { + return this.name; + } + set + { + this.name = value; + } + } + + // Token: 0x17000178 RID: 376 + // (get) Token: 0x06000B39 RID: 2873 RVA: 0x0003049C File Offset: 0x0002E69C + // (set) Token: 0x06000B3A RID: 2874 RVA: 0x000304A4 File Offset: 0x0002E6A4 + public bool IsAsync { get; private set; } + + // Token: 0x06000B3B RID: 2875 RVA: 0x000304B0 File Offset: 0x0002E6B0 + public bool Create(string category, string name_) + { + this.Name = name_; + this.Data = SoundData.Load(category, name_); + this.IsAsync = false; + return this.Data != null; + } + + // Token: 0x06000B3C RID: 2876 RVA: 0x000304E4 File Offset: 0x0002E6E4 + public static AudioClip Load(string category, string name) + { + FileId fileId = new FileId(name); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append("mp3"); + stringBuilder.Append("/"); + stringBuilder.Append(category); + stringBuilder.Append("/"); + stringBuilder.Append(fileId.Name); + return Resources.Load(stringBuilder.ToString()) as AudioClip; + } + + // Token: 0x040008E6 RID: 2278 + private string name; + + // Token: 0x040008E7 RID: 2279 + private AudioClip data; +} diff --git a/Assets/Scripts/Assembly-CSharp/SoundOptionType.cs b/Assets/Scripts/Assembly-CSharp/SoundOptionType.cs new file mode 100644 index 000000000..e9ef993d9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SoundOptionType.cs @@ -0,0 +1,12 @@ +using System; + +// Token: 0x020000F8 RID: 248 +public enum SoundOptionType +{ + // Token: 0x0400060C RID: 1548 + BGM, + // Token: 0x0400060D RID: 1549 + SE, + // Token: 0x0400060E RID: 1550 + SYSTEM +} diff --git a/Assets/Scripts/Assembly-CSharp/SoundStream.cs b/Assets/Scripts/Assembly-CSharp/SoundStream.cs new file mode 100644 index 000000000..6d05feb4b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SoundStream.cs @@ -0,0 +1,113 @@ +using System; +using UnityEngine; + +// Token: 0x0200018B RID: 395 +public class SoundStream : MonoBehaviour +{ + // Token: 0x17000179 RID: 377 + // (get) Token: 0x06000B3E RID: 2878 RVA: 0x0003055C File Offset: 0x0002E75C + public SoundVoice Current + { + get + { + return this.voice[this.current]; + } + } + + // Token: 0x1700017A RID: 378 + // (get) Token: 0x06000B3F RID: 2879 RVA: 0x0003056C File Offset: 0x0002E76C + public bool IsPlay + { + get + { + return this.Current.IsPlay; + } + } + + // Token: 0x06000B40 RID: 2880 RVA: 0x0003057C File Offset: 0x0002E77C + public static SoundStream CreateObject(GameObject parent, string name) + { + return new GameObject("SoundStream." + name) + { + transform = + { + parent = parent.transform + } + }.gameObject.AddComponent(); + } + + // Token: 0x06000B41 RID: 2881 RVA: 0x000305B8 File Offset: 0x0002E7B8 + private void Awake() + { + for (int i = 0; i < this.voice.Length; i++) + { + this.voice[i] = base.gameObject.AddComponent(); + } + } + + // Token: 0x06000B42 RID: 2882 RVA: 0x000305F4 File Offset: 0x0002E7F4 + private void Update() + { + } + + // Token: 0x06000B43 RID: 2883 RVA: 0x000305F8 File Offset: 0x0002E7F8 + public void Play(string category, string name_, bool isLoop = true, float volume = 1f, int timeIn = 1000, int timeOut = 1000) + { + bool flag = true; + if (category == "bgm" || (category == "se" && isLoop)) + { + flag = (!this.Current.IsPlay || this.Current.Name != name_); + } + if (flag) + { + this.Stop(timeOut); + this.Change(); + this.Current.SetSource(category, name_); + this.Current.FadeInTime = timeIn; + this.Current.Loop = isLoop; + this.Current.Volume = volume; + this.Current.Play(); + } + else + { + this.Current.FadeInTime = timeIn; + this.Current.Loop = isLoop; + this.Current.Volume = volume; + } + } + + // Token: 0x06000B44 RID: 2884 RVA: 0x000306D0 File Offset: 0x0002E8D0 + public void Stop(int timeOut = 1000) + { + if (this.Current.IsPlay) + { + this.Current.FadeOutTime = timeOut; + this.Current.Stop(); + } + } + + // Token: 0x06000B45 RID: 2885 RVA: 0x00030704 File Offset: 0x0002E904 + public void Pause(bool bPause) + { + this.Current.Pause(bPause); + } + + // Token: 0x06000B46 RID: 2886 RVA: 0x00030714 File Offset: 0x0002E914 + private void Change() + { + this.current++; + if (this.current >= this.voice.Length) + { + this.current = 0; + } + } + + // Token: 0x040008E9 RID: 2281 + private const int SOUND_STREAM_NUM = 2; + + // Token: 0x040008EA RID: 2282 + private SoundVoice[] voice = new SoundVoice[2]; + + // Token: 0x040008EB RID: 2283 + private int current; +} diff --git a/Assets/Scripts/Assembly-CSharp/SoundVoice.cs b/Assets/Scripts/Assembly-CSharp/SoundVoice.cs new file mode 100644 index 000000000..323cdbd5a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SoundVoice.cs @@ -0,0 +1,352 @@ +using System; +using System.Collections; +using Qoo.Application; +using UnityEngine; + +// Token: 0x0200018C RID: 396 +public class SoundVoice : MonoBehaviour +{ + // Token: 0x1700017B RID: 379 + // (get) Token: 0x06000B48 RID: 2888 RVA: 0x00030778 File Offset: 0x0002E978 + // (set) Token: 0x06000B49 RID: 2889 RVA: 0x00030780 File Offset: 0x0002E980 + public string Name + { + get + { + return this.sourceName; + } + private set + { + this.sourceName = value; + } + } + + // Token: 0x1700017C RID: 380 + // (get) Token: 0x06000B4A RID: 2890 RVA: 0x0003078C File Offset: 0x0002E98C + // (set) Token: 0x06000B4B RID: 2891 RVA: 0x00030794 File Offset: 0x0002E994 + public bool IsPause + { + get + { + return this.isPause; + } + private set + { + this.isPause = value; + } + } + + // Token: 0x1700017D RID: 381 + // (get) Token: 0x06000B4C RID: 2892 RVA: 0x000307A0 File Offset: 0x0002E9A0 + public bool IsPlay + { + get + { + return this.voice.isPlaying || this.isStart; + } + } + + // Token: 0x1700017E RID: 382 + // (get) Token: 0x06000B4D RID: 2893 RVA: 0x000307BC File Offset: 0x0002E9BC + // (set) Token: 0x06000B4E RID: 2894 RVA: 0x000307C4 File Offset: 0x0002E9C4 + public int FadeInTime + { + get + { + return this.timeIn; + } + set + { + this.timeIn = value; + } + } + + // Token: 0x1700017F RID: 383 + // (get) Token: 0x06000B4F RID: 2895 RVA: 0x000307D0 File Offset: 0x0002E9D0 + // (set) Token: 0x06000B50 RID: 2896 RVA: 0x000307D8 File Offset: 0x0002E9D8 + public int FadeOutTime + { + get + { + return this.timeOut; + } + set + { + this.timeOut = value; + } + } + + // Token: 0x17000180 RID: 384 + // (get) Token: 0x06000B51 RID: 2897 RVA: 0x000307E4 File Offset: 0x0002E9E4 + // (set) Token: 0x06000B52 RID: 2898 RVA: 0x000307EC File Offset: 0x0002E9EC + public float Volume + { + get + { + return this.volume; + } + set + { + this.volume = value; + } + } + + // Token: 0x17000181 RID: 385 + // (get) Token: 0x06000B53 RID: 2899 RVA: 0x000307F8 File Offset: 0x0002E9F8 + public float OutVolume + { + get + { + return this.voice.volume; + } + } + + // Token: 0x17000182 RID: 386 + // (get) Token: 0x06000B54 RID: 2900 RVA: 0x00030808 File Offset: 0x0002EA08 + public bool IsFade + { + get + { + return this.isFadeIn || this.isFadeOut; + } + } + + // Token: 0x17000183 RID: 387 + // (get) Token: 0x06000B55 RID: 2901 RVA: 0x00030820 File Offset: 0x0002EA20 + // (set) Token: 0x06000B56 RID: 2902 RVA: 0x00030830 File Offset: 0x0002EA30 + public bool Loop + { + get + { + return this.voice.loop; + } + set + { + this.voice.loop = value; + } + } + + // Token: 0x17000184 RID: 388 + // (get) Token: 0x06000B57 RID: 2903 RVA: 0x00030840 File Offset: 0x0002EA40 + public bool IsSource + { + get + { + return this.voice.clip != null; + } + } + + // Token: 0x06000B58 RID: 2904 RVA: 0x00030854 File Offset: 0x0002EA54 + public static SoundVoice CreateObject(GameObject parent, string name) + { + return new GameObject("SoundVoice." + name) + { + transform = + { + parent = parent.transform + } + }.gameObject.AddComponent(); + } + + // Token: 0x06000B59 RID: 2905 RVA: 0x00030890 File Offset: 0x0002EA90 + private void Awake() + { + this.voice = base.gameObject.AddComponent(); + this.voice.panLevel = 0f; + } + + // Token: 0x06000B5A RID: 2906 RVA: 0x000308B4 File Offset: 0x0002EAB4 + private void Update() + { + if (this.m_data != null && this.voice.clip == null && this.m_data.Data != null) + { + this.voice.clip = this.m_data.Data; + this.voice.panLevel = 0f; + this.m_data = null; + } + if (this.isStart && this.voice.clip != null) + { + this.Play(); + } + if (!this.IsFade) + { + this.voice.volume = this.Volume; + } + } + + // Token: 0x06000B5B RID: 2907 RVA: 0x00030968 File Offset: 0x0002EB68 + public bool SetSource(string category, string name_) + { + this.Name = name_; + this.isStart = false; + this.isFadeOut = false; + this.isFadeIn = false; + if (this.voice.clip != null) + { + this.voice.Stop(); + Resources.UnloadAsset(this.voice.clip); + } + this.voice.clip = null; + this.voice.clip = SoundData.Load(category, name_); + this.voice.panLevel = 0f; + return this.voice.clip != null; + } + + // Token: 0x06000B5C RID: 2908 RVA: 0x00030A04 File Offset: 0x0002EC04 + public void Play(SoundData data, float fVol = 1f) + { + if (data != null) + { + this.voice.PlayOneShot(data.Data, fVol); + } + } + + // Token: 0x06000B5D RID: 2909 RVA: 0x00030A20 File Offset: 0x0002EC20 + public void Play() + { + this.isStart = false; + if (this.voice.clip == null) + { + this.isStart = true; + this.isFadeOut = false; + this.isFadeIn = false; + } + else + { + this.isFadeOut = false; + this.voice.Play(); + if (this.FadeInTime > 0) + { + this.isFadeIn = true; + base.StartCoroutine(this.FadeIn(0f, this.Volume)); + } + this.IsPause = false; + } + } + + // Token: 0x06000B5E RID: 2910 RVA: 0x00030AA8 File Offset: 0x0002ECA8 + public void Stop() + { + if (this.isFadeOut && this.FadeOutTime > 0) + { + this.isFadeOut = true; + this.isStart = false; + this.isFadeIn = false; + base.StartCoroutine(this.FadeOut(this.Volume, 0f)); + } + else + { + this.isFadeOut = false; + this.isFadeIn = false; + this.isStart = false; + this.voice.Stop(); + Resources.UnloadAsset(this.voice.clip); + this.voice.clip = null; + } + } + + // Token: 0x06000B5F RID: 2911 RVA: 0x00030B3C File Offset: 0x0002ED3C + public void Pause(bool bPause) + { + if (this.IsSource) + { + if (bPause && this.IsPlay) + { + this.voice.Pause(); + } + else if (!bPause && this.IsPause) + { + this.voice.Play(); + } + this.IsPause = bPause; + } + } + + // Token: 0x06000B60 RID: 2912 RVA: 0x00030B98 File Offset: 0x0002ED98 + private IEnumerator FadeOut(float volIn, float volOut) + { + if (!this.isFadeOut) + { + yield break; + } + int start = App.GetTimeMilli(); + int end = start + this.FadeInTime; + for (int now = start; now < end; now = App.GetTimeMilli()) + { + if (!this.isFadeOut) + { + yield break; + } + this.voice.volume = Mathf.Lerp(volOut, volIn, (float)(now / end)); + yield return 0; + } + if (this.isFadeOut) + { + this.voice.volume = volOut; + if (volOut == 0f) + { + this.voice.Stop(); + Resources.UnloadAsset(this.voice.clip); + this.voice.clip = null; + } + this.isFadeOut = false; + } + yield break; + } + + // Token: 0x06000B61 RID: 2913 RVA: 0x00030BD0 File Offset: 0x0002EDD0 + private IEnumerator FadeIn(float volIn, float volOut) + { + if (!this.isFadeIn) + { + yield break; + } + int start = App.GetTimeMilli(); + int end = start + this.FadeInTime; + for (int now = start; now < end; now = App.GetTimeMilli()) + { + if (!this.isFadeIn) + { + yield break; + } + this.voice.volume = Mathf.Lerp(volOut, volIn, (float)(now / end)); + yield return 0; + } + if (this.isFadeIn) + { + this.voice.volume = volOut; + this.isFadeIn = false; + } + yield break; + } + + // Token: 0x040008EC RID: 2284 + private AudioSource voice; + + // Token: 0x040008ED RID: 2285 + private SoundData m_data; + + // Token: 0x040008EE RID: 2286 + private bool isPause; + + // Token: 0x040008EF RID: 2287 + private bool isFadeIn; + + // Token: 0x040008F0 RID: 2288 + private bool isFadeOut; + + // Token: 0x040008F1 RID: 2289 + private string sourceName; + + // Token: 0x040008F2 RID: 2290 + private int timeIn = 1000; + + // Token: 0x040008F3 RID: 2291 + private int timeOut = 1000; + + // Token: 0x040008F4 RID: 2292 + private float volume = 1f; + + // Token: 0x040008F5 RID: 2293 + private bool isStart; +} diff --git a/Assets/Scripts/Assembly-CSharp/SplitImageObject2.cs b/Assets/Scripts/Assembly-CSharp/SplitImageObject2.cs new file mode 100644 index 000000000..fc3d8dfb9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SplitImageObject2.cs @@ -0,0 +1,54 @@ +using System; +using UnityEngine; + +// Token: 0x0200019B RID: 411 +public class SplitImageObject2 : ImageObject2 +{ + // Token: 0x06000BED RID: 3053 RVA: 0x000320E4 File Offset: 0x000302E4 + public SplitImageObject2(GameObject go, int x, int y, int z, UnityTexture uniTex, int imgCountX, int imgCountY) : base(go, x, y, z, uniTex) + { + this.SetImageCount(imgCountX, imgCountY); + } + + // Token: 0x170001A3 RID: 419 + // (get) Token: 0x06000BEE RID: 3054 RVA: 0x00032100 File Offset: 0x00030300 + public int ImageCountX + { + get + { + return this.m_ImageCountX; + } + } + + // Token: 0x170001A4 RID: 420 + // (get) Token: 0x06000BEF RID: 3055 RVA: 0x00032108 File Offset: 0x00030308 + public int ImageCountY + { + get + { + return this.m_ImageCountY; + } + } + + // Token: 0x06000BF0 RID: 3056 RVA: 0x00032110 File Offset: 0x00030310 + public void SetImageCount(int countX, int countY) + { + this.m_ImageCountX = countX; + this.m_ImageCountY = countY; + this.FixedTexture(); + } + + // Token: 0x06000BF1 RID: 3057 RVA: 0x00032128 File Offset: 0x00030328 + public override void FixedTexture() + { + if (base.HasTexture) + { + } + } + + // Token: 0x04000938 RID: 2360 + private int m_ImageCountX; + + // Token: 0x04000939 RID: 2361 + private int m_ImageCountY; +} diff --git a/Assets/Scripts/Assembly-CSharp/StorySelectWindow.cs b/Assets/Scripts/Assembly-CSharp/StorySelectWindow.cs new file mode 100644 index 000000000..a4f9c9cb4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/StorySelectWindow.cs @@ -0,0 +1,40 @@ +using System; + +// Token: 0x02000132 RID: 306 +public class StorySelectWindow : GalleryCharaSelectWindow +{ + // Token: 0x06000839 RID: 2105 RVA: 0x00024FF4 File Offset: 0x000231F4 + protected sealed override string GetBGMName() + { + return "lovecheck2_ali"; + } + + // Token: 0x0600083A RID: 2106 RVA: 0x00024FFC File Offset: 0x000231FC + protected sealed override int GetCollect() + { + return -1; + } + + // Token: 0x0600083B RID: 2107 RVA: 0x00025000 File Offset: 0x00023200 + protected sealed override void OnName() + { + } + + // Token: 0x0600083C RID: 2108 RVA: 0x00025004 File Offset: 0x00023204 + protected sealed override bool IsNameButton() + { + return false; + } + + // Token: 0x0600083D RID: 2109 RVA: 0x00025008 File Offset: 0x00023208 + protected sealed override string GetHeaderPath() + { + return "screen/title/kyara_bnr"; + } + + // Token: 0x0600083E RID: 2110 RVA: 0x00025010 File Offset: 0x00023210 + protected sealed override string GetCharaButtonSceneName() + { + return UIValue.SCENE_INTRODUCTION; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/SubPartCamera.cs b/Assets/Scripts/Assembly-CSharp/SubPartCamera.cs new file mode 100644 index 000000000..0e86df53b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SubPartCamera.cs @@ -0,0 +1,117 @@ +using System; +using UnityEngine; + +// Token: 0x020000E7 RID: 231 +public class SubPartCamera : MonoBehaviour +{ + // Token: 0x170000D6 RID: 214 + // (get) Token: 0x06000638 RID: 1592 RVA: 0x00019D78 File Offset: 0x00017F78 + private static SubPartCamera Instance + { + get + { + GameObject gameObject = GameObject.Find("__SubPartCamera"); + if (gameObject == null) + { + gameObject = new GameObject("__SubPartCamera"); + SubPartCamera.instance = gameObject.AddComponent(); + } + if (SubPartCamera.instance == null) + { + SubPartCamera.instance = gameObject.GetComponent(); + } + return SubPartCamera.instance; + } + } + + // Token: 0x06000639 RID: 1593 RVA: 0x00019DD4 File Offset: 0x00017FD4 + public static void Init(float aspect_w = 16f, float aspect_h = 9f) + { + SubPartCamera.Instance.m_AspectWidth = aspect_w; + SubPartCamera.Instance.m_AspectHeight = aspect_h; + SubPartCamera.Instance.m_Camera = SubPartCamera.Instance.gameObject.AddComponent(); + SubPartCamera.Instance.m_Camera.orthographic = true; + SubPartCamera.Instance.m_Camera.orthographicSize = 272f; + SubPartCamera.Instance.m_Camera.clearFlags = CameraClearFlags.Color; + SubPartCamera.Instance.m_Camera.backgroundColor = Color.black; + SubPartCamera.Instance.m_Camera.farClipPlane = 10000f; + SubPartCamera.Instance.m_Camera.nearClipPlane = 0.3f; + SubPartCamera.Instance.m_Camera.rect = SubPartCamera.Instance.calcAspect(SubPartCamera.Instance.m_AspectWidth, SubPartCamera.Instance.m_AspectHeight); + SubPartCamera.Instance.m_Camera.enabled = true; + SubPartCamera.Instance.gameObject.transform.localPosition = new Vector3(2000f, 0f, -1000f); + } + + // Token: 0x0600063A RID: 1594 RVA: 0x00019EE8 File Offset: 0x000180E8 + public static Camera GetCamera() + { + return SubPartCamera.Instance.m_Camera; + } + + // Token: 0x170000D7 RID: 215 + // (get) Token: 0x0600063B RID: 1595 RVA: 0x00019EF4 File Offset: 0x000180F4 + // (set) Token: 0x0600063C RID: 1596 RVA: 0x00019F08 File Offset: 0x00018108 + public static bool Enabled + { + get + { + return SubPartCamera.Instance.m_Camera.enabled; + } + set + { + SubPartCamera.Instance.m_Camera.enabled = value; + } + } + + // Token: 0x0600063D RID: 1597 RVA: 0x00019F1C File Offset: 0x0001811C + private void Start() + { + } + + // Token: 0x0600063E RID: 1598 RVA: 0x00019F20 File Offset: 0x00018120 + private void Update() + { + } + + // Token: 0x0600063F RID: 1599 RVA: 0x00019F24 File Offset: 0x00018124 + private void OnDestory() + { + SubPartCamera.instance = null; + } + + // Token: 0x06000640 RID: 1600 RVA: 0x00019F2C File Offset: 0x0001812C + private Rect calcAspect(float width, float height) + { + float num = width / height; + float num2 = (float)Screen.width / (float)Screen.height; + float num3 = num2 / num; + Rect result = new Rect(0f, 0f, 1f, 1f); + if (1f > num3) + { + result.x = 0f; + result.y = (1f - num3) / 2f; + result.width = 1f; + result.height = num3; + } + else + { + float num4 = 1f / num3; + result.x = (1f - num4) / 2f; + result.y = 0f; + result.width = num4; + result.height = 1f; + } + return result; + } + + // Token: 0x040005B6 RID: 1462 + private static SubPartCamera instance; + + // Token: 0x040005B7 RID: 1463 + public float m_AspectWidth = 16f; + + // Token: 0x040005B8 RID: 1464 + public float m_AspectHeight = 9f; + + // Token: 0x040005B9 RID: 1465 + private Camera m_Camera; +} diff --git a/Assets/Scripts/Assembly-CSharp/SubPartTask.cs b/Assets/Scripts/Assembly-CSharp/SubPartTask.cs new file mode 100644 index 000000000..7cc2c1be1 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SubPartTask.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000F1 RID: 241 +public class SubPartTask +{ + // Token: 0x06000683 RID: 1667 RVA: 0x0001B004 File Offset: 0x00019204 + protected IEnumerator Open(string sceneName, bool bFade) + { + SceneManager.AddScene(sceneName); + GameObject go = null; + while (go == null) + { + yield return 0; + Singleton.Instance.UpdateReadTask(); + go = GameObject.Find(sceneName + "/Wnd"); + } + Singleton.Instance.Disable(false); + if (bFade) + { + EffectManager.FadeBlackIn(0.5f); + while (EffectManager.FadeIsEnd()) + { + yield return 0; + } + } + SubTaskBaseWindow baseTaskWindow = go.GetComponent(); + while (!baseTaskWindow.IsTaskEnd) + { + yield return 0; + Singleton.Instance.UpdateReadTask(); + } + if (bFade) + { + EffectManager.FadeBlackOut(0.5f); + while (EffectManager.FadeIsEnd()) + { + yield return 0; + } + } + Singleton.Instance.Enable(false); + yield return 0; + SceneManager.DeleteLastAddScene(); + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/SubTaskBaseWindow.cs b/Assets/Scripts/Assembly-CSharp/SubTaskBaseWindow.cs new file mode 100644 index 000000000..b3c44658f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/SubTaskBaseWindow.cs @@ -0,0 +1,10 @@ +using System; + +// Token: 0x020001AB RID: 427 +public abstract class SubTaskBaseWindow : BaseWindow +{ + // Token: 0x170001A9 RID: 425 + // (get) Token: 0x06000C5A RID: 3162 RVA: 0x00032D10 File Offset: 0x00030F10 + // (set) Token: 0x06000C5B RID: 3163 RVA: 0x00032D18 File Offset: 0x00030F18 + public bool IsTaskEnd { get; set; } +} diff --git a/Assets/Scripts/Assembly-CSharp/TASK_TYPE.cs b/Assets/Scripts/Assembly-CSharp/TASK_TYPE.cs new file mode 100644 index 000000000..2aac3b0b9 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TASK_TYPE.cs @@ -0,0 +1,18 @@ +using System; + +// Token: 0x0200018D RID: 397 +public enum TASK_TYPE +{ + // Token: 0x040008F7 RID: 2295 + NEXT_FRAME, + // Token: 0x040008F8 RID: 2296 + TIME_WAIT, + // Token: 0x040008F9 RID: 2297 + EFFECT, + // Token: 0x040008FA RID: 2298 + SPRITE_ANIM, + // Token: 0x040008FB RID: 2299 + COROUTINE, + // Token: 0x040008FC RID: 2300 + COROUTINE_NOUNITY +} diff --git a/Assets/Scripts/Assembly-CSharp/TOUCH_STATE.cs b/Assets/Scripts/Assembly-CSharp/TOUCH_STATE.cs new file mode 100644 index 000000000..fc5978898 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TOUCH_STATE.cs @@ -0,0 +1,18 @@ +using System; + +// Token: 0x02000178 RID: 376 +public enum TOUCH_STATE +{ + // Token: 0x040008A1 RID: 2209 + NULL, + // Token: 0x040008A2 RID: 2210 + PUSH, + // Token: 0x040008A3 RID: 2211 + CLICK, + // Token: 0x040008A4 RID: 2212 + DRAG, + // Token: 0x040008A5 RID: 2213 + DRAG_END, + // Token: 0x040008A6 RID: 2214 + FLICK +} diff --git a/Assets/Scripts/Assembly-CSharp/TaskManager.cs b/Assets/Scripts/Assembly-CSharp/TaskManager.cs new file mode 100644 index 000000000..bb4c65b52 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TaskManager.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x0200018F RID: 399 +public class TaskManager : Singleton +{ + // Token: 0x17000186 RID: 390 + // (get) Token: 0x06000B72 RID: 2930 RVA: 0x00030E00 File Offset: 0x0002F000 + // (set) Token: 0x06000B73 RID: 2931 RVA: 0x00030E08 File Offset: 0x0002F008 + public bool IsTaskRunnning { get; private set; } + + // Token: 0x06000B74 RID: 2932 RVA: 0x00030E14 File Offset: 0x0002F014 + private void Awake() + { + this.IsTaskRunnning = false; + base.StartCoroutine("UpdateTask"); + } + + // Token: 0x06000B75 RID: 2933 RVA: 0x00030E2C File Offset: 0x0002F02C + private void Update() + { + } + + // Token: 0x06000B76 RID: 2934 RVA: 0x00030E30 File Offset: 0x0002F030 + public bool AddMainTask(UnityTask task_) + { + this.MainTaskList.Add(task_); + return true; + } + + // Token: 0x06000B77 RID: 2935 RVA: 0x00030E40 File Offset: 0x0002F040 + public bool AddSubTask(UnityTask task_) + { + this.SubTaskList.Add(task_); + return true; + } + + // Token: 0x06000B78 RID: 2936 RVA: 0x00030E50 File Offset: 0x0002F050 + public bool AddReadTask(UnityTask task_) + { + this.ReadTaskList.Add(task_); + return true; + } + + // Token: 0x06000B79 RID: 2937 RVA: 0x00030E60 File Offset: 0x0002F060 + public void UpdateReadTask() + { + base.StartCoroutine(this.RunReadTask()); + } + + // Token: 0x06000B7A RID: 2938 RVA: 0x00030E70 File Offset: 0x0002F070 + public IEnumerator UpdateTask() + { + for (;;) + { + if (this.MainTaskList.Count == 0 && this.SubTaskList.Count == 0) + { + yield return 0; + } + while (this.SubTaskList.Count > 0) + { + this.IsTaskRunnning = true; + List nowList = new List(this.SubTaskList); + this.SubTaskList.Clear(); + foreach (UnityTask item2 in nowList) + { + yield return base.StartCoroutine(this.RunReadTask()); + switch (item2.type) + { + case TASK_TYPE.NEXT_FRAME: + yield return 0; + break; + case TASK_TYPE.TIME_WAIT: + yield return new WaitForSeconds(item2.param_float); + break; + case TASK_TYPE.EFFECT: + { + IEnumerator task = Singleton.Instance.Effect(item2.param_string, item2.param_float); + if (task != null) + { + yield return base.StartCoroutine(task); + } + break; + } + case TASK_TYPE.COROUTINE: + if (item2.task != null) + { + yield return base.StartCoroutine(item2.task); + } + break; + case TASK_TYPE.COROUTINE_NOUNITY: + if (item2.task != null) + { + while (item2.MoveNext()) + { + yield return base.StartCoroutine(this.RunReadTask()); + } + } + break; + } + } + nowList.Clear(); + this.IsTaskRunnning = false; + } + if (this.MainTaskList.Count > 0) + { + List nowList2 = new List(this.MainTaskList); + this.MainTaskList.Clear(); + nowList2.ForEach(delegate(UnityTask item) + { + item.IsTaskEnd = !item.MoveNext(); + }); + nowList2.RemoveAll((UnityTask item) => item.IsTaskEnd); + this.MainTaskList.InsertRange(0, nowList2.GetRange(0, nowList2.Count)); + nowList2.Clear(); + } + yield return base.StartCoroutine(this.RunReadTask()); + } + yield break; + } + + // Token: 0x06000B7B RID: 2939 RVA: 0x00030E8C File Offset: 0x0002F08C + public IEnumerator RunReadTask() + { + List nowList = new List(this.ReadTaskList); + this.ReadTaskList.Clear(); + foreach (UnityTask item in nowList) + { + yield return base.StartCoroutine(item.task); + } + yield break; + } + + // Token: 0x04000903 RID: 2307 + private List MainTaskList = new List(); + + // Token: 0x04000904 RID: 2308 + private List SubTaskList = new List(); + + // Token: 0x04000905 RID: 2309 + private List ReadTaskList = new List(); +} diff --git a/Assets/Scripts/Assembly-CSharp/TextItem.cs b/Assets/Scripts/Assembly-CSharp/TextItem.cs new file mode 100644 index 000000000..2d9b502df --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TextItem.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; + +// Token: 0x0200000D RID: 13 +public class TextItem +{ + // Token: 0x1700000B RID: 11 + // (get) Token: 0x06000038 RID: 56 RVA: 0x00002604 File Offset: 0x00000804 + public int ID + { + get + { + return this.m_id; + } + } + + // Token: 0x1700000C RID: 12 + // (get) Token: 0x06000039 RID: 57 RVA: 0x0000260C File Offset: 0x0000080C + public string Name + { + get + { + return this.m_Name; + } + } + + // Token: 0x1700000D RID: 13 + // (get) Token: 0x0600003A RID: 58 RVA: 0x00002614 File Offset: 0x00000814 + public TextItem Parent + { + get + { + return this.m_Parent; + } + } + + // Token: 0x1700000E RID: 14 + // (get) Token: 0x0600003B RID: 59 RVA: 0x0000261C File Offset: 0x0000081C + public List Child + { + get + { + return this.m_Child; + } + } + + // Token: 0x0600003C RID: 60 RVA: 0x00002624 File Offset: 0x00000824 + public bool Create(int id, TextItem parent, string name) + { + this.m_id = id; + this.m_Parent = parent; + if (parent != null) + { + parent.AddChild(this); + } + this.m_Name = name; + return true; + } + + // Token: 0x0600003D RID: 61 RVA: 0x00002658 File Offset: 0x00000858 + public bool Release() + { + foreach (TextItem textItem in this.m_Child) + { + textItem.Release(); + } + if (this.Parent != null) + { + this.Parent.RemoveChild(this); + } + this.m_Name = string.Empty; + return true; + } + + // Token: 0x0600003E RID: 62 RVA: 0x000026E4 File Offset: 0x000008E4 + private bool AddChild(TextItem item) + { + this.m_Child.Add(item); + return true; + } + + // Token: 0x0600003F RID: 63 RVA: 0x000026F4 File Offset: 0x000008F4 + private bool RemoveChild(TextItem item) + { + for (int num = 0; num != this.m_Child.Count; num++) + { + if (item.ID == this.m_Child[num].ID) + { + this.m_Child.RemoveAt(num); + } + } + return true; + } + + // Token: 0x06000040 RID: 64 RVA: 0x00002748 File Offset: 0x00000948 + public TextItem SearchItem(int id) + { + if (this.m_id == id) + { + return this; + } + foreach (TextItem textItem in this.m_Child) + { + TextItem textItem2 = textItem.SearchItem(id); + if (textItem2 != null) + { + return textItem2; + } + } + return null; + } + + // Token: 0x0400001E RID: 30 + private int m_id = -1; + + // Token: 0x0400001F RID: 31 + private TextItem m_Parent; + + // Token: 0x04000020 RID: 32 + private string m_Name = string.Empty; + + // Token: 0x04000021 RID: 33 + private List m_Child = new List(); +} diff --git a/Assets/Scripts/Assembly-CSharp/TextMenuWnd.cs b/Assets/Scripts/Assembly-CSharp/TextMenuWnd.cs new file mode 100644 index 000000000..7ecd5b215 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TextMenuWnd.cs @@ -0,0 +1,287 @@ +using System; +using System.Collections.Generic; +using Qoo; +using UnityEngine; + +// Token: 0x0200000E RID: 14 +public class TextMenuWnd : UserBaseClass +{ + // Token: 0x1700000F RID: 15 + // (get) Token: 0x06000042 RID: 66 RVA: 0x00002848 File Offset: 0x00000A48 + // (set) Token: 0x06000043 RID: 67 RVA: 0x00002850 File Offset: 0x00000A50 + public bool IsSelect { get; private set; } + + // Token: 0x17000010 RID: 16 + // (get) Token: 0x06000044 RID: 68 RVA: 0x0000285C File Offset: 0x00000A5C + // (set) Token: 0x06000045 RID: 69 RVA: 0x00002864 File Offset: 0x00000A64 + public int SelectID { get; private set; } + + // Token: 0x06000046 RID: 70 RVA: 0x00002870 File Offset: 0x00000A70 + private void Awake() + { + base.enabled = false; + } + + // Token: 0x06000047 RID: 71 RVA: 0x0000287C File Offset: 0x00000A7C + public void Release() + { + Qoo.Debug.Print("TextMenuWnd:Destroy:" + Singleton.IsReady); + if (Singleton.IsReady) + { + foreach (UnityTextSprite sp in this.m_TxtList) + { + Singleton.Instance.RemoveSprite(sp); + } + this.m_TxtList.Clear(); + foreach (UnitySprite sp2 in this.m_BaseList) + { + Singleton.Instance.RemoveSprite(sp2); + } + this.m_BaseList.Clear(); + } + } + + // Token: 0x06000048 RID: 72 RVA: 0x0000297C File Offset: 0x00000B7C + private void OnDestroy() + { + this.Release(); + } + + // Token: 0x06000049 RID: 73 RVA: 0x00002984 File Offset: 0x00000B84 + public bool Init(Color32 ColTxt, Color32 ColBack, int height, int line_num) + { + this.m_nScrollPos = 0; + this.m_RootItem.Create(-1, null, string.Empty); + this.m_CurrentItem = null; + this.m_colTxt = ColTxt; + this.m_colBase = ColBack; + this.m_nItemHeight = height; + this.m_nLineNum = line_num; + int num = 544 / line_num; + for (int num2 = 0; num2 != this.m_nLineNum; num2++) + { + this.m_TxtList.Add(Man2D.TextSprite(null)); + this.m_BaseList.Add(Man2D.Sprite(string.Empty)); + this.m_BaseList[num2].SetPos(16, 0 + num * num2, 8000); + this.m_BaseList[num2].SetSize(928, this.m_nItemHeight - 1); + this.m_BaseList[num2].SetColor(this.m_colBase); + this.m_BaseList[num2].Show = false; + this.m_BaseList[num2].SetName("Debug:Base:" + num2); + this.m_TxtList[num2].SetPos(16, 0 + num * num2, 8001); + this.m_TxtList[num2].SetTextColor(this.m_colTxt); + this.m_TxtList[num2].Show = false; + this.m_TxtList[num2].SetName("Debug:Txt:" + num2); + } + return true; + } + + // Token: 0x0600004A RID: 74 RVA: 0x00002B04 File Offset: 0x00000D04 + public bool AddMenu(int id_parent, int id, string name) + { + TextItem textItem = new TextItem(); + TextItem parent = this.GetParent(id_parent); + if (parent != null) + { + textItem.Create(id, parent, name); + return true; + } + return false; + } + + // Token: 0x0600004B RID: 75 RVA: 0x00002B34 File Offset: 0x00000D34 + public bool Begin() + { + if (this.m_CurrentItem == null) + { + this.SetCurrent(this.m_RootItem); + } + this.IsSelect = false; + this.SelectID = -1; + this.m_nOldDelta = 0; + base.enabled = true; + return true; + } + + // Token: 0x0600004C RID: 76 RVA: 0x00002B78 File Offset: 0x00000D78 + public bool End() + { + base.enabled = false; + return true; + } + + // Token: 0x0600004D RID: 77 RVA: 0x00002B84 File Offset: 0x00000D84 + private void Update() + { + INPUT_STATUS status = UnityApp.Input.Status; + if (status != INPUT_STATUS.CLICK) + { + if (status == INPUT_STATUS.DRAG_ON) + { + if (this.m_nOldDelta != UnityApp.Input.Delta.y) + { + int num = -(this.m_nOldDelta - UnityApp.Input.Delta.y); + num /= this.m_nItemHeight; + if (num != 0) + { + this.Scroll(this.m_nScrollPos + num); + } + this.m_nOldDelta = UnityApp.Input.Delta.y; + } + } + } + else + { + Point2 end = UnityApp.Input.End; + bool flag = false; + for (int num2 = 0; num2 != this.m_nLineNum; num2++) + { + if (this.m_BaseList[num2].Show && this.m_BaseList[num2].IsHit(end)) + { + this.SetSelect(this.m_nScrollPos + num2); + flag = true; + } + } + if (!flag) + { + this.Back(); + } + } + } + + // Token: 0x0600004E RID: 78 RVA: 0x00002C90 File Offset: 0x00000E90 + private void SetSelect(int nItemPos) + { + if (nItemPos < 0 || this.m_CurrentItem.Child.Count <= nItemPos) + { + return; + } + if (this.m_CurrentItem.Child[nItemPos].Child.Count > 0) + { + this.SetCurrent(this.m_CurrentItem.Child[nItemPos]); + } + else + { + this.IsSelect = true; + this.SelectID = this.m_CurrentItem.Child[nItemPos].ID; + this.End(); + } + } + + // Token: 0x0600004F RID: 79 RVA: 0x00002D24 File Offset: 0x00000F24 + private void SetCurrent(TextItem curItem) + { + this.Clear(); + this.m_CurrentItem = curItem; + this.Scroll(0); + } + + // Token: 0x06000050 RID: 80 RVA: 0x00002D3C File Offset: 0x00000F3C + private void Back() + { + if (this.m_CurrentItem.Parent != null) + { + this.SetCurrent(this.m_CurrentItem.Parent); + } + } + + // Token: 0x06000051 RID: 81 RVA: 0x00002D60 File Offset: 0x00000F60 + private void Scroll(int iPos) + { + if (iPos < 0) + { + iPos = 0; + } + else if (this.m_CurrentItem.Child.Count < this.m_nLineNum) + { + iPos = 0; + } + else if (this.m_CurrentItem.Child.Count - this.m_nLineNum < iPos) + { + iPos = this.m_CurrentItem.Child.Count - this.m_nLineNum; + } + this.m_nScrollPos = iPos; + int num = this.m_nScrollPos; + while (num < this.m_CurrentItem.Child.Count && num < this.m_nScrollPos + this.m_nLineNum) + { + int index = num - this.m_nScrollPos; + this.m_TxtList[index].ClearText(); + this.m_TxtList[index].AddText(this.m_CurrentItem.Child[num].Name, this.m_nItemHeight - 2); + this.m_TxtList[index].Show = true; + this.m_BaseList[index].Show = true; + num++; + } + } + + // Token: 0x06000052 RID: 82 RVA: 0x00002E84 File Offset: 0x00001084 + private void Clear() + { + foreach (UnityTextSprite unityTextSprite in this.m_TxtList) + { + unityTextSprite.Show = false; + } + foreach (UnitySprite unitySprite in this.m_BaseList) + { + unitySprite.Show = false; + } + this.m_nScrollPos = 0; + this.m_CurrentItem = null; + } + + // Token: 0x06000053 RID: 83 RVA: 0x00002F50 File Offset: 0x00001150 + private TextItem GetParent(int id) + { + if (id == -1) + { + return this.m_RootItem; + } + TextItem textItem = this.m_RootItem.SearchItem(id); + if (textItem == null) + { + Qoo.Debug.Print("指定親IDが見つかりませんでした。ParentID:" + id); + return null; + } + return textItem; + } + + // Token: 0x04000022 RID: 34 + public const int ROOT_ID = -1; + + // Token: 0x04000023 RID: 35 + public const int DEF_ITEM_HEIGHT = 16; + + // Token: 0x04000024 RID: 36 + public const int ITEM_X = 16; + + // Token: 0x04000025 RID: 37 + public const int ITEM_Y = 0; + + // Token: 0x04000026 RID: 38 + private TextItem m_RootItem = new TextItem(); + + // Token: 0x04000027 RID: 39 + private List m_TxtList = new List(); + + // Token: 0x04000028 RID: 40 + private List m_BaseList = new List(); + + // Token: 0x04000029 RID: 41 + private TextItem m_CurrentItem; + + // Token: 0x0400002A RID: 42 + private int m_nScrollPos; + + // Token: 0x0400002B RID: 43 + private Color32 m_colTxt = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + + // Token: 0x0400002C RID: 44 + private Color32 m_colBase = new Color32(0, 0, 32, byte.MaxValue); + + // Token: 0x0400002D RID: 45 + private int m_nOldDelta; + + // Token: 0x0400002E RID: 46 + private int m_nItemHeight = 16; + + // Token: 0x0400002F RID: 47 + private int m_nLineNum = 34; +} diff --git a/Assets/Scripts/Assembly-CSharp/TitleRestoreWindow.cs b/Assets/Scripts/Assembly-CSharp/TitleRestoreWindow.cs new file mode 100644 index 000000000..9d658ae79 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TitleRestoreWindow.cs @@ -0,0 +1,170 @@ +using System; +using System.Collections.Generic; +using PaymentGameApi; + +// Token: 0x02000133 RID: 307 +public class TitleRestoreWindow : BaseWindow +{ + // Token: 0x06000840 RID: 2112 RVA: 0x00025028 File Offset: 0x00023228 + protected sealed override void OnAwake() + { + this.state = TitleRestoreWindow.STATE.PAYINIT; + this.tm = new RestoreMain(); + this.pi = new PaymentInit(); + } + + // Token: 0x06000841 RID: 2113 RVA: 0x00025048 File Offset: 0x00023248 + protected sealed override string[] newSceneTextureNameArray() + { + return new string[] + { + "screen/common/sys_dialog" + }; + } + + // Token: 0x06000842 RID: 2114 RVA: 0x00025068 File Offset: 0x00023268 + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + return new BaseWindow.UIComponent[] + { + new BaseWindow.UICollision("Close", 0, 0, this.wndz, 960, 544), + new BaseWindow.UIImage("MsgWnd", 137, 182, this.wndz, "screen/common/sys_dialog", false, true), + new BaseWindow.UIText("text", 480, 272, this.wndz + 1, "リストア処理中です。", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.Center, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) + }; + } + + // Token: 0x06000843 RID: 2115 RVA: 0x000250FC File Offset: 0x000232FC + protected sealed override void OnBaseWindowOnButton(string obj) + { + if (obj != null) + { + if (TitleRestoreWindow.<>f__switch$map1B == null) + { + TitleRestoreWindow.<>f__switch$map1B = new Dictionary(1) + { + { + "Close", + 0 + } + }; + } + int num; + if (TitleRestoreWindow.<>f__switch$map1B.TryGetValue(obj, out num)) + { + if (num == 0) + { + base.PlaySE_Cancel(); + this.OnClose(); + } + } + } + } + + // Token: 0x06000844 RID: 2116 RVA: 0x00025164 File Offset: 0x00023364 + protected override void OnBaseWindowUpdate() + { + switch (this.state) + { + case TitleRestoreWindow.STATE.PAYINIT: + this.pi.Init(); + this.state = TitleRestoreWindow.STATE.PAYEXEC; + break; + case TitleRestoreWindow.STATE.PAYEXEC: + if (this.pi.Exec()) + { + if (this.pi.Result() == AMAppStore.ResultStatus.RESULT_SUCCESS) + { + this.state = TitleRestoreWindow.STATE.INIT; + } + else + { + base.StartTime(); + this.SetText(this.pi.ResultMessage()); + this.state = TitleRestoreWindow.STATE.FAILD; + } + } + break; + case TitleRestoreWindow.STATE.INIT: + this.tm.Init(); + this.state = TitleRestoreWindow.STATE.EXEC; + break; + case TitleRestoreWindow.STATE.EXEC: + if (this.tm.Exec()) + { + base.StartTime(); + this.SetText(this.tm.ResultMessage()); + this.state = ((this.tm.Result() != AMAppStore.ResultStatus.RESULT_SUCCESS) ? TitleRestoreWindow.STATE.FAILD : TitleRestoreWindow.STATE.SUCCESS); + } + break; + case TitleRestoreWindow.STATE.SUCCESS: + if (base.CheckTime(1f)) + { + this.OnClose(); + } + break; + case TitleRestoreWindow.STATE.FAILD: + if (base.CheckTime(1f)) + { + this.OnClose(); + } + break; + case TitleRestoreWindow.STATE.EXIT: + base.DeleteLastAddScene(); + this.state = TitleRestoreWindow.STATE.AFTER_EXIT; + break; + } + } + + // Token: 0x06000845 RID: 2117 RVA: 0x000252B8 File Offset: 0x000234B8 + private void OnClose() + { + TitleRestoreWindow.STATE state = this.state; + if (state == TitleRestoreWindow.STATE.SUCCESS || state == TitleRestoreWindow.STATE.FAILD) + { + this.state = TitleRestoreWindow.STATE.EXIT; + } + } + + // Token: 0x06000846 RID: 2118 RVA: 0x000252EC File Offset: 0x000234EC + private void SetText(string message) + { + UnityTextSprite textSprite = base.GetTextSprite("text"); + textSprite.ClearText(); + textSprite.AddText(message, 22); + textSprite.SetPosition(480, 272, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.Center); + textSprite.Update(960, 544, (float)(-(float)(this.wndz + 1))); + } + + // Token: 0x04000734 RID: 1844 + private TitleRestoreWindow.STATE state; + + // Token: 0x04000735 RID: 1845 + private RestoreMain tm; + + // Token: 0x04000736 RID: 1846 + private PaymentInit pi; + + // Token: 0x04000737 RID: 1847 + private readonly int wndz = 10; + + // Token: 0x02000134 RID: 308 + private enum STATE + { + // Token: 0x0400073A RID: 1850 + PAYINIT, + // Token: 0x0400073B RID: 1851 + PAYEXEC, + // Token: 0x0400073C RID: 1852 + INIT, + // Token: 0x0400073D RID: 1853 + EXEC, + // Token: 0x0400073E RID: 1854 + SUCCESS, + // Token: 0x0400073F RID: 1855 + FAILD, + // Token: 0x04000740 RID: 1856 + EXIT, + // Token: 0x04000741 RID: 1857 + AFTER_EXIT + } +} diff --git a/Assets/Scripts/Assembly-CSharp/TitleWindow.cs b/Assets/Scripts/Assembly-CSharp/TitleWindow.cs new file mode 100644 index 000000000..02831c318 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/TitleWindow.cs @@ -0,0 +1,225 @@ +using System; +using Qoo.Application; +using Qoo.Game; +using UnityEngine; + +// Token: 0x02000135 RID: 309 +public class TitleWindow : BaseWindow +{ + // Token: 0x06000848 RID: 2120 RVA: 0x0002534C File Offset: 0x0002354C + protected sealed override string GetBGMName() + { + return "sysbgm_title"; + } + + // Token: 0x06000849 RID: 2121 RVA: 0x00025354 File Offset: 0x00023554 + protected sealed override void OnAwake() + { + SceneManager.ClearSceneStack(); + if (TitleWindow.titleCall == null) + { + TitleWindow.titleCall = new TitleWindow.TitleCall(); + } + this.state = TitleWindow.STATE.WAIT_INPUT; + } + + // Token: 0x0600084A RID: 2122 RVA: 0x00025384 File Offset: 0x00023584 + protected sealed override string[] newSceneTextureNameArray() + { + string str = (!base.IsTrial) ? string.Empty : "_tri"; + return new string[] + { + "screen/title/title_base", + "screen/title/title_0", + "screen/title/title_1" + str, + "screen/title/title_2", + "screen/title/title_3", + "screen/title/title_4" + str, + "screen/title/title_5", + "screen/title/restore" + }; + } + + // Token: 0x0600084B RID: 2123 RVA: 0x00025400 File Offset: 0x00023600 + protected sealed override void AfterInit() + { + if (base.IsTrial) + { + base.GetActionButton("Btn1").ActionEnable = false; + } + base.GameObjectShow("BtnGuard", false); + GameData.ResetVoiceCheck(); + } + + // Token: 0x0600084C RID: 2124 RVA: 0x0002543C File Offset: 0x0002363C + protected sealed override BaseWindow.UIComponent[] newComponentArray() + { + string str = (!base.IsTrial) ? string.Empty : "_tri"; + return new BaseWindow.UIComponent[] + { + new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/title/title_base", true, true), + new BaseWindow.UIButton("Btn0", 171, 272, this.wndz + 1, "screen/title/title_0", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn1", 378, 272, this.wndz + 1, "screen/title/title_1" + str, true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn2", 585, 272, this.wndz + 1, "screen/title/title_2", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn3", 171, 404, this.wndz + 1, "screen/title/title_3", true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn4", 378, 404, this.wndz + 1, "screen/title/title_4" + str, true, true, 1, 2, 0), + new BaseWindow.UIButton("Btn5", 585, 404, this.wndz + 1, "screen/title/title_5", true, true, 1, 2, 0), + new BaseWindow.UIButton("BtnRestore", 814, 472, this.wndz + 1, "screen/title/restore", !base.IsTrial, !base.IsTrial, 1, 2, 0), + new BaseWindow.UICollision("BtnGuard", 0, 0, this.wndz + 3, 960, 544) + }; + } + + // Token: 0x0600084D RID: 2125 RVA: 0x000255E8 File Offset: 0x000237E8 + protected sealed override void OnBaseWindowUpdate() + { + switch (this.state) + { + case TitleWindow.STATE.WAIT_SE_STOP: + if (!base.IsPlayerSEPlaying()) + { + this.OnWaitSE(); + } + break; + } + } + + // Token: 0x0600084E RID: 2126 RVA: 0x00025634 File Offset: 0x00023834 + protected sealed override void OnBaseWindowOnButton(string obj) + { + TitleWindow.STATE state = this.state; + if (state != TitleWindow.STATE.WAIT_INPUT) + { + return; + } + switch (obj) + { + case "Btn0": + this.OnButtonStartAdvMode(0); + break; + case "Btn1": + if (!base.IsTrial) + { + this.OnButtonStartAdvMode(1); + } + break; + case "Btn2": + base.PlaySE_Ok(); + UIValue.SaveLoadType = SaveLoadType.LOAD; + UIValue.SaveLoadCallType = SaveLoadCallType.TITLE; + SceneManager.ChangeScene(UIValue.SCENE_SAVELOAD); + break; + case "Btn3": + base.PlaySE_Ok(); + SceneManager.ChangeScene(UIValue.SCENE_GALLERYMENU); + break; + case "Btn4": + base.PlaySE_Ok(); + UIValue.GalleryCharactor = 10; + SceneManager.ChangeScene(UIValue.SCENE_INTRODUCTION); + break; + case "Btn5": + base.PlaySE_Ok(); + SceneManager.ChangeScene(UIValue.SCENE_HELP); + break; + case "BtnRestore": + base.PlaySE_Ok(); + base.AddScene(UIValue.SCENE_TITLERESTORE); + break; + } + } + + // Token: 0x0600084F RID: 2127 RVA: 0x000257A8 File Offset: 0x000239A8 + private void OnButtonStartAdvMode(int buttonId) + { + base.GameObjectShow("BtnGuard", true); + base.PlaySE_Ok(); + base.PlayPlayerSE(TitleWindow.titleCall.getVoiceId().ToString("sysse_call00")); + this.state = TitleWindow.STATE.WAIT_SE_STOP; + App.SetAdvMode(buttonId); + } + + // Token: 0x06000850 RID: 2128 RVA: 0x000257F4 File Offset: 0x000239F4 + private void OnWaitSE() + { + SceneManager.ChangeScene(UIValue.SCENE_ADVMODE); + this.state = TitleWindow.STATE.END; + } + + // Token: 0x04000742 RID: 1858 + private readonly int wndz; + + // Token: 0x04000743 RID: 1859 + private static TitleWindow.TitleCall titleCall; + + // Token: 0x04000744 RID: 1860 + private TitleWindow.STATE state; + + // Token: 0x02000136 RID: 310 + private class TitleCall + { + // Token: 0x06000851 RID: 2129 RVA: 0x00025808 File Offset: 0x00023A08 + public TitleCall() + { + this.table = new int[this.variation]; + this.index = 0; + this.Init(); + } + + // Token: 0x06000852 RID: 2130 RVA: 0x00025840 File Offset: 0x00023A40 + public int getVoiceId() + { + int result = this.table[this.index++]; + if (this.index == this.variation) + { + this.Init(); + } + return result; + } + + // Token: 0x06000853 RID: 2131 RVA: 0x00025880 File Offset: 0x00023A80 + private void Init() + { + for (int i = 0; i < this.variation; i++) + { + this.table[i] = this.top + i; + } + this.Shuffle(this.table); + this.index = 0; + } + + // Token: 0x06000854 RID: 2132 RVA: 0x000258C8 File Offset: 0x00023AC8 + private void Shuffle(T[] array) + { + for (int i = array.Length; i > 1; i--) + { + int num = UnityEngine.Random.Range(0, i); + T t = array[num]; + array[num] = array[i - 1]; + array[i - 1] = t; + } + } + + // Token: 0x04000746 RID: 1862 + private readonly int variation = 10; + + // Token: 0x04000747 RID: 1863 + private readonly int top = 1; + + // Token: 0x04000748 RID: 1864 + private int[] table; + + // Token: 0x04000749 RID: 1865 + private int index; + } + + // Token: 0x02000137 RID: 311 + private enum STATE + { + // Token: 0x0400074B RID: 1867 + WAIT_INPUT, + // Token: 0x0400074C RID: 1868 + WAIT_SE_STOP, + // Token: 0x0400074D RID: 1869 + END + } +} diff --git a/Assets/Scripts/Assembly-CSharp/UIAction.cs b/Assets/Scripts/Assembly-CSharp/UIAction.cs new file mode 100644 index 000000000..dc88a2a35 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UIAction.cs @@ -0,0 +1,33 @@ +using System; +using UnityEngine; + +// Token: 0x0200019C RID: 412 +public class UIAction : MonoBehaviour +{ + // Token: 0x170001A5 RID: 421 + // (get) Token: 0x06000BF3 RID: 3059 RVA: 0x00032148 File Offset: 0x00030348 + // (set) Token: 0x06000BF4 RID: 3060 RVA: 0x00032150 File Offset: 0x00030350 + public bool ActionEnable + { + get + { + return this.actionEnable; + } + set + { + this.actionEnable = value; + } + } + + // Token: 0x06000BF5 RID: 3061 RVA: 0x0003215C File Offset: 0x0003035C + public virtual void Init() + { + this.imageObject = base.gameObject.GetComponent(); + } + + // Token: 0x0400093A RID: 2362 + public ImageObject imageObject; + + // Token: 0x0400093B RID: 2363 + private bool actionEnable = true; +} diff --git a/Assets/Scripts/Assembly-CSharp/UIActionButton.cs b/Assets/Scripts/Assembly-CSharp/UIActionButton.cs new file mode 100644 index 000000000..3fb9a4bb4 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UIActionButton.cs @@ -0,0 +1,49 @@ +using System; +using UnityEngine; + +// Token: 0x0200019D RID: 413 +public class UIActionButton : UIAction +{ + // Token: 0x06000BF7 RID: 3063 RVA: 0x00032178 File Offset: 0x00030378 + public static UIActionButton Create(GameObject go, int normal = 0, int press = 1) + { + UIActionButton uiactionButton = go.AddComponent(); + uiactionButton.m_NormalIndex = normal; + uiactionButton.m_PressIndex = press; + return uiactionButton; + } + + // Token: 0x06000BF8 RID: 3064 RVA: 0x0003219C File Offset: 0x0003039C + public override void Init() + { + base.Init(); + } + + // Token: 0x06000BF9 RID: 3065 RVA: 0x000321A4 File Offset: 0x000303A4 + private void SetImageIndex(int index) + { + if (base.ActionEnable) + { + this.imageObject.ImageBlockIndex = index; + this.imageObject.InitTextureUV(); + } + } + + // Token: 0x06000BFA RID: 3066 RVA: 0x000321D4 File Offset: 0x000303D4 + private void OnMouseDown() + { + this.SetImageIndex(this.m_PressIndex); + } + + // Token: 0x06000BFB RID: 3067 RVA: 0x000321E4 File Offset: 0x000303E4 + private void OnMouseUp() + { + this.SetImageIndex(this.m_NormalIndex); + } + + // Token: 0x0400093C RID: 2364 + private int m_NormalIndex; + + // Token: 0x0400093D RID: 2365 + private int m_PressIndex; +} diff --git a/Assets/Scripts/Assembly-CSharp/UIActionToggle.cs b/Assets/Scripts/Assembly-CSharp/UIActionToggle.cs new file mode 100644 index 000000000..6f160e0af --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UIActionToggle.cs @@ -0,0 +1,111 @@ +using System; +using UnityEngine; + +// Token: 0x0200019E RID: 414 +public class UIActionToggle : UIAction +{ + // Token: 0x170001A6 RID: 422 + // (get) Token: 0x06000BFD RID: 3069 RVA: 0x000321FC File Offset: 0x000303FC + // (set) Token: 0x06000BFE RID: 3070 RVA: 0x00032204 File Offset: 0x00030404 + public bool AutoSwitch + { + get + { + return this.m_Auto; + } + set + { + this.m_Auto = value; + } + } + + // Token: 0x06000BFF RID: 3071 RVA: 0x00032210 File Offset: 0x00030410 + public bool IsSwitchOn() + { + return this.m_Value == this.m_On; + } + + // Token: 0x06000C00 RID: 3072 RVA: 0x00032220 File Offset: 0x00030420 + public static UIActionToggle Create(GameObject go, int on = 0, int off = 1, bool autoSwitch = false) + { + UIActionToggle uiactionToggle = go.AddComponent(); + uiactionToggle.m_On = on; + uiactionToggle.m_Off = off; + uiactionToggle.m_Auto = autoSwitch; + return uiactionToggle; + } + + // Token: 0x06000C01 RID: 3073 RVA: 0x0003224C File Offset: 0x0003044C + public override void Init() + { + base.Init(); + } + + // Token: 0x06000C02 RID: 3074 RVA: 0x00032254 File Offset: 0x00030454 + public void SetToggle(int value) + { + if (base.ActionEnable) + { + this.m_Value = value; + this.UpdateTexture(); + } + } + + // Token: 0x06000C03 RID: 3075 RVA: 0x00032270 File Offset: 0x00030470 + public void SwitchOn() + { + this.SetToggle(this.m_On); + } + + // Token: 0x06000C04 RID: 3076 RVA: 0x00032280 File Offset: 0x00030480 + public void SwitchOff() + { + this.SetToggle(this.m_Off); + } + + // Token: 0x06000C05 RID: 3077 RVA: 0x00032290 File Offset: 0x00030490 + public void SwitchToggle() + { + if (this.m_Value == this.m_On) + { + this.SwitchOff(); + } + else + { + this.SwitchOn(); + } + } + + // Token: 0x06000C06 RID: 3078 RVA: 0x000322C0 File Offset: 0x000304C0 + private void UpdateTexture() + { + this.imageObject.ImageBlockIndex = this.m_Value; + this.imageObject.InitTextureUV(); + } + + // Token: 0x06000C07 RID: 3079 RVA: 0x000322E0 File Offset: 0x000304E0 + private void OnMouseDown() + { + } + + // Token: 0x06000C08 RID: 3080 RVA: 0x000322E4 File Offset: 0x000304E4 + private void OnMouseUp() + { + if (this.m_Auto) + { + this.SwitchToggle(); + } + } + + // Token: 0x0400093E RID: 2366 + private int m_On; + + // Token: 0x0400093F RID: 2367 + private int m_Off; + + // Token: 0x04000940 RID: 2368 + private int m_Value; + + // Token: 0x04000941 RID: 2369 + private bool m_Auto; +} diff --git a/Assets/Scripts/Assembly-CSharp/UIFont.cs b/Assets/Scripts/Assembly-CSharp/UIFont.cs new file mode 100644 index 000000000..f1801aeac --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UIFont.cs @@ -0,0 +1,600 @@ +using System; +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +// Token: 0x02000150 RID: 336 +public class UIFont : MonoBehaviour +{ + // Token: 0x1700011F RID: 287 + // (get) Token: 0x06000952 RID: 2386 RVA: 0x00028A90 File Offset: 0x00026C90 + // (set) Token: 0x06000953 RID: 2387 RVA: 0x00028A98 File Offset: 0x00026C98 + public BMFont Font + { + get + { + return this.mFont; + } + set + { + this.mFont = value; + } + } + + // Token: 0x17000120 RID: 288 + // (get) Token: 0x06000954 RID: 2388 RVA: 0x00028AA4 File Offset: 0x00026CA4 + public int Width + { + get + { + return (this.mFont == null) ? 1 : this.mFont.texWidth; + } + } + + // Token: 0x17000121 RID: 289 + // (get) Token: 0x06000955 RID: 2389 RVA: 0x00028AC4 File Offset: 0x00026CC4 + public int Height + { + get + { + return (this.mFont == null) ? 1 : this.mFont.texHeight; + } + } + + // Token: 0x17000122 RID: 290 + // (get) Token: 0x06000956 RID: 2390 RVA: 0x00028AE4 File Offset: 0x00026CE4 + // (set) Token: 0x06000957 RID: 2391 RVA: 0x00028AEC File Offset: 0x00026CEC + public Material material + { + get + { + return this.mMat; + } + set + { + this.mMat = value; + } + } + + // Token: 0x17000123 RID: 291 + // (get) Token: 0x06000958 RID: 2392 RVA: 0x00028AF8 File Offset: 0x00026CF8 + // (set) Token: 0x06000959 RID: 2393 RVA: 0x00028B50 File Offset: 0x00026D50 + public Rect uvRect + { + get + { + if (this.texture != null && this.sprite != null) + { + this.mUVRect.width = (float)this.sprite.w; + this.mUVRect.height = (float)this.sprite.h; + } + return this.mUVRect; + } + set + { + this.mUVRect = value; + } + } + + // Token: 0x17000124 RID: 292 + // (get) Token: 0x0600095A RID: 2394 RVA: 0x00028B5C File Offset: 0x00026D5C + // (set) Token: 0x0600095B RID: 2395 RVA: 0x00028B64 File Offset: 0x00026D64 + public int horizontalSpacing + { + get + { + return this.mSpacingX; + } + set + { + this.mSpacingX = value; + } + } + + // Token: 0x17000125 RID: 293 + // (get) Token: 0x0600095C RID: 2396 RVA: 0x00028B70 File Offset: 0x00026D70 + // (set) Token: 0x0600095D RID: 2397 RVA: 0x00028B78 File Offset: 0x00026D78 + public int verticalSpacing + { + get + { + return this.mSpacingY; + } + set + { + this.mSpacingY = value; + } + } + + // Token: 0x17000126 RID: 294 + // (get) Token: 0x0600095E RID: 2398 RVA: 0x00028B84 File Offset: 0x00026D84 + public int size + { + get + { + return this.mFont.charSize; + } + } + + // Token: 0x0600095F RID: 2399 RVA: 0x00028B94 File Offset: 0x00026D94 + private void Trim() + { + } + + // Token: 0x06000960 RID: 2400 RVA: 0x00028B98 File Offset: 0x00026D98 + public Vector2 CalculatePrintedSize(string text) + { + Vector2 zero = Vector2.zero; + if (this.mFont != null && this.mFont.isValid && !string.IsNullOrEmpty(text)) + { + int length = text.Length; + int num = 0; + int num2 = 0; + int num3 = 0; + int num4 = 0; + int num5 = this.mFont.charSize + this.mSpacingY; + for (int i = 0; i < length; i++) + { + char c = text[i]; + if (c == '\n') + { + if (num2 > num) + { + num = num2; + } + num2 = 0; + num3 += num5; + num4 = 0; + } + else if (c < ' ') + { + num4 = 0; + } + else + { + BMGlyph glyph = this.mFont.GetGlyph((int)c); + if (glyph != null) + { + num2 += this.mSpacingX + ((num4 == 0) ? glyph.advance : (glyph.advance + glyph.GetKerning(num4, true))); + num4 = (int)c; + } + } + } + float num6 = (this.mFont.charSize <= 0) ? 1f : (1f / (float)this.mFont.charSize); + zero.x = num6 * (float)((num2 <= num) ? num : num2); + zero.y = num6 * (float)(num3 + num5); + } + return zero; + } + + // Token: 0x06000961 RID: 2401 RVA: 0x00028CEC File Offset: 0x00026EEC + private static void EndLine(ref StringBuilder s) + { + int num = s.Length - 1; + if (num > 0 && s[num] == ' ') + { + s[num] = '\n'; + } + else + { + s.Append('\n'); + } + } + + // Token: 0x06000962 RID: 2402 RVA: 0x00028D34 File Offset: 0x00026F34 + public string GetEndOfLineThatFits(string text, float maxWidth) + { + int num = Mathf.RoundToInt(maxWidth * (float)this.size); + if (num < 1) + { + return text; + } + int length = text.Length; + int num2 = num; + BMGlyph bmglyph = null; + int num3 = length; + while (num3 > 0 && num2 > 0) + { + char c = text[--num3]; + BMGlyph glyph = this.mFont.GetGlyph((int)c); + int num4 = this.mSpacingX; + if (glyph != null) + { + num4 += glyph.advance + ((bmglyph != null) ? bmglyph.GetKerning((int)c, true) : 0); + bmglyph = glyph; + num2 -= num4; + } + else + { + bmglyph = null; + } + } + if (num2 < 0) + { + num3++; + } + return text.Substring(num3, length - num3); + } + + // Token: 0x06000963 RID: 2403 RVA: 0x00028DF8 File Offset: 0x00026FF8 + public string WrapText(string text, float maxWidth, int maxLineCount) + { + int num = Mathf.RoundToInt(maxWidth * (float)this.size); + if (num < 1) + { + return text; + } + StringBuilder stringBuilder = new StringBuilder(); + int length = text.Length; + int num2 = num; + int num3 = 0; + int num4 = 0; + int i = 0; + bool flag = true; + bool flag2 = maxLineCount != 1; + int num5 = 1; + while (i < length) + { + char c = text[i]; + if (c == '\n') + { + if (!flag2 || num5 == maxLineCount) + { + break; + } + num2 = num; + if (num4 < i) + { + stringBuilder.Append(text.Substring(num4, i - num4 + 1)); + } + else + { + stringBuilder.Append(c); + } + flag = true; + num5++; + num4 = i + 1; + num3 = 0; + } + else + { + if (c == ' ' && num3 != 32 && num4 < i) + { + stringBuilder.Append(text.Substring(num4, i - num4 + 1)); + flag = false; + num4 = i + 1; + num3 = (int)c; + } + BMGlyph glyph = this.mFont.GetGlyph((int)c); + int num6 = this.mSpacingX; + if (glyph != null) + { + num6 += ((num3 == 0) ? glyph.advance : (glyph.advance + glyph.GetKerning(num3, true))); + num2 -= num6; + if (num2 < 0) + { + if (flag || !flag2 || num5 == maxLineCount) + { + stringBuilder.Append(text.Substring(num4, Mathf.Max(0, i - num4))); + if (!flag2 || num5 == maxLineCount) + { + num4 = i; + break; + } + UIFont.EndLine(ref stringBuilder); + flag = true; + num5++; + if (c == ' ') + { + num4 = i + 1; + num2 = num; + } + else + { + num4 = i; + num2 = num - num6; + } + num3 = 0; + } + else + { + while (num4 < length && text[num4] == ' ') + { + num4++; + } + flag = true; + num2 = num; + i = num4 - 1; + num3 = 0; + if (!flag2 || num5 == maxLineCount) + { + break; + } + num5++; + UIFont.EndLine(ref stringBuilder); + } + } + else + { + num3 = (int)c; + } + } + } + i++; + } + if (num4 < i) + { + stringBuilder.Append(text.Substring(num4, i - num4)); + } + return stringBuilder.ToString(); + } + + // Token: 0x06000964 RID: 2404 RVA: 0x00029064 File Offset: 0x00027264 + private void Align(List verts, int indexOffset, UIFont.Alignment alignment, int x, int lineWidth) + { + if (alignment != UIFont.Alignment.Left && this.mFont.charSize > 0) + { + float num = (alignment != UIFont.Alignment.Right) ? ((float)(lineWidth - x) * 0.5f) : ((float)(lineWidth - x)); + num = (float)Mathf.RoundToInt(num); + if (num < 0f) + { + num = 0f; + } + num /= (float)this.mFont.charSize; + for (int i = indexOffset; i < verts.Count; i++) + { + Vector3 value = verts[i]; + value.x += num; + verts[i] = value; + } + } + } + + // Token: 0x06000965 RID: 2405 RVA: 0x00029108 File Offset: 0x00027308 + public void Print(List text, List verts, List uvs, List cols) + { + if (this.mFont != null && text != null) + { + if (!this.mFont.isValid) + { + Debug.LogError("Attempting to print using an invalid font!"); + return; + } + Vector3 zero = Vector3.zero; + Vector3 zero2 = Vector3.zero; + Vector2 zero3 = Vector2.zero; + Vector2 zero4 = Vector2.zero; + float num = this.uvRect.width / (float)this.mFont.texWidth; + float num2 = this.mUVRect.height / (float)this.mFont.texHeight; + int count = text.Count; + for (int i = 0; i < count; i++) + { + char code = text[i].code; + Color color = text[i].color; + int x = text[i].X; + int y = text[i].Y; + float scale = text[i].scale; + if (code != '\n') + { + if (code >= ' ') + { + BMGlyph glyph = this.mFont.GetGlyph((int)code); + if (glyph != null) + { + if (code != ' ') + { + zero.x = (float)x + scale * (float)glyph.offsetX; + zero.y = -((float)y + scale * (float)glyph.offsetY); + zero2.x = zero.x + scale * (float)glyph.width; + zero2.y = zero.y - scale * (float)glyph.height; + zero3.x = this.mUVRect.xMin + num * (float)glyph.x; + zero3.y = this.mUVRect.yMax - num2 * (float)glyph.y; + zero4.x = zero3.x + num * (float)glyph.width; + zero4.y = zero3.y - num2 * (float)glyph.height; + if (glyph.channel == 0 || glyph.channel == 15) + { + for (int j = 0; j < 4; j++) + { + cols.Add(color); + } + } + else + { + Color color2 = color; + color2 *= 0.49f; + switch (glyph.channel) + { + case 1: + color2.b += 0.51f; + break; + case 2: + color2.g += 0.51f; + break; + case 4: + color2.r += 0.51f; + break; + case 8: + color2.a += 0.51f; + break; + } + for (int k = 0; k < 4; k++) + { + cols.Add(color2); + } + } + verts.Add(new Vector3(zero2.x, zero.y)); + verts.Add(new Vector3(zero2.x, zero2.y)); + verts.Add(new Vector3(zero.x, zero2.y)); + verts.Add(new Vector3(zero.x, zero.y)); + uvs.Add(new Vector2(zero4.x, zero3.y)); + uvs.Add(new Vector2(zero4.x, zero4.y)); + uvs.Add(new Vector2(zero3.x, zero4.y)); + uvs.Add(new Vector2(zero3.x, zero3.y)); + } + } + } + } + } + } + } + + // Token: 0x06000966 RID: 2406 RVA: 0x000294F0 File Offset: 0x000276F0 + public void Print(string text, Color color, List verts, List uvs, List cols, UIFont.Alignment alignment, int lineWidth, bool premultiply) + { + if (this.mFont != null && text != null) + { + if (!this.mFont.isValid) + { + Debug.LogError("Attempting to print using an invalid font!"); + return; + } + this.mColors.Clear(); + this.mColors.Add(color); + Vector2 vector = (this.mFont.charSize <= 0) ? Vector2.one : new Vector2(1f / (float)this.mFont.charSize, 1f / (float)this.mFont.charSize); + int count = verts.Count; + int num = 0; + int num2 = 0; + int num3 = 0; + int num4 = 0; + int num5 = this.mFont.charSize + this.mSpacingY; + Vector3 zero = Vector3.zero; + Vector3 zero2 = Vector3.zero; + Vector2 zero3 = Vector2.zero; + Vector2 zero4 = Vector2.zero; + float num6 = this.uvRect.width / (float)this.mFont.texWidth; + float num7 = this.mUVRect.height / (float)this.mFont.texHeight; + int length = text.Length; + for (int i = 0; i < length; i++) + { + char c = text[i]; + if (c == '\n') + { + if (num2 > num) + { + num = num2; + } + if (alignment != UIFont.Alignment.Left) + { + this.Align(verts, count, alignment, num2, lineWidth); + count = verts.Count; + } + num2 = 0; + num3 += num5; + num4 = 0; + } + else if (c < ' ') + { + num4 = 0; + } + else + { + BMGlyph glyph = this.mFont.GetGlyph((int)c); + if (glyph != null) + { + if (num4 != 0) + { + num2 += glyph.GetKerning(num4, true); + } + if (c == ' ') + { + num2 += this.mSpacingX + glyph.advance; + num4 = (int)c; + } + else + { + zero.x = vector.x * (float)(num2 + glyph.offsetX); + zero.y = -vector.y * (float)(num3 + glyph.offsetY); + zero2.x = zero.x + vector.x * (float)glyph.width; + zero2.y = zero.y - vector.y * (float)glyph.height; + zero3.x = this.mUVRect.xMin + num6 * (float)glyph.x; + zero3.y = this.mUVRect.yMax - num7 * (float)glyph.y; + zero4.x = zero3.x + num6 * (float)glyph.width; + zero4.y = zero3.y - num7 * (float)glyph.height; + num2 += this.mSpacingX + glyph.advance; + num4 = (int)c; + if (glyph.channel == 0 || glyph.channel == 15) + { + for (int j = 0; j < 4; j++) + { + cols.Add(color); + } + } + else + { + Color color2 = color; + color2 *= 0.49f; + switch (glyph.channel) + { + case 1: + color2.b += 0.51f; + break; + case 2: + color2.g += 0.51f; + break; + case 4: + color2.r += 0.51f; + break; + case 8: + color2.a += 0.51f; + break; + } + for (int k = 0; k < 4; k++) + { + cols.Add(color2); + } + } + verts.Add(new Vector3(zero2.x, zero.y)); + verts.Add(new Vector3(zero2.x, zero2.y)); + verts.Add(new Vector3(zero.x, zero2.y)); + verts.Add(new Vector3(zero.x, zero.y)); + uvs.Add(new Vector2(zero4.x, zero3.y)); + uvs.Add(new Vector2(zero4.x, zero4.y)); + uvs.Add(new Vector2(zero3.x, zero4.y)); + uvs.Add(new Vector2(zero3.x, zero3.y)); + } + } + } + } + if (alignment != UIFont.Alignment.Left && count < verts.Count) + { + this.Align(verts, count, alignment, num2, lineWidth); + count = verts.Count; + } + } + } + + // Token: 0x040007C2 RID: 1986 + private Material mMat; + + // Token: 0x040007C3 RID: 1987 + private Rect mUVRect = new Rect(0f, 0f, 1f, 1f); + + // Token: 0x040007C4 RID: 1988 + private BMFont mFont = new BMFont(); + + // Token: 0x040007C5 RID: 1989 + private int mSpacingX; + + // Token: 0x040007C6 RID: 1990 + private int mSpacingY; + + // Token: 0x040007C7 RID: 1991 + private List mColors = new List(); + + // Token: 0x040007C8 RID: 1992 + public UnityTexture texture; + + // Token: 0x040007C9 RID: 1993 + public UnitySprite sprite; + + // Token: 0x02000151 RID: 337 + public enum Alignment + { + // Token: 0x040007CB RID: 1995 + Left, + // Token: 0x040007CC RID: 1996 + Center, + // Token: 0x040007CD RID: 1997 + Right + } +} diff --git a/Assets/Scripts/Assembly-CSharp/UIObjectInfo.cs b/Assets/Scripts/Assembly-CSharp/UIObjectInfo.cs new file mode 100644 index 000000000..766a4df16 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UIObjectInfo.cs @@ -0,0 +1,38 @@ +using System; + +// Token: 0x0200019F RID: 415 +public class UIObjectInfo +{ + // Token: 0x06000C09 RID: 3081 RVA: 0x000322F8 File Offset: 0x000304F8 + public UIObjectInfo(string name_, int x_, int y_, int z_, string fpath_, int xImgCnt_ = 1, int yImgCnt_ = 1, int defaultIndex_ = 0) + { + this.ObjectName = name_; + this.ScreenX = x_; + this.ScreenY = y_; + this.ScreenZ = z_; + this.UITexture = new UITextureInfo(xImgCnt_, yImgCnt_, fpath_); + this.DefaultTextureIndex = defaultIndex_; + this.ScaleRate = 1; + } + + // Token: 0x04000942 RID: 2370 + public string ObjectName; + + // Token: 0x04000943 RID: 2371 + public int ScreenX; + + // Token: 0x04000944 RID: 2372 + public int ScreenY; + + // Token: 0x04000945 RID: 2373 + public int ScreenZ; + + // Token: 0x04000946 RID: 2374 + public int ScaleRate; + + // Token: 0x04000947 RID: 2375 + public UITextureInfo UITexture; + + // Token: 0x04000948 RID: 2376 + public int DefaultTextureIndex; +} diff --git a/Assets/Scripts/Assembly-CSharp/UITextureInfo.cs b/Assets/Scripts/Assembly-CSharp/UITextureInfo.cs new file mode 100644 index 000000000..3c0262fe6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UITextureInfo.cs @@ -0,0 +1,32 @@ +using System; + +// Token: 0x020001A0 RID: 416 +public class UITextureInfo +{ + // Token: 0x06000C0A RID: 3082 RVA: 0x00032348 File Offset: 0x00030548 + public UITextureInfo(int blockX, int blockY, string texturePath) + { + this.TexturePath = texturePath; + this.BlockX = blockX; + this.BlockY = blockY; + } + + // Token: 0x170001A7 RID: 423 + // (get) Token: 0x06000C0B RID: 3083 RVA: 0x00032368 File Offset: 0x00030568 + public int BlockNum + { + get + { + return this.BlockX * this.BlockY; + } + } + + // Token: 0x04000949 RID: 2377 + public string TexturePath; + + // Token: 0x0400094A RID: 2378 + public int BlockX; + + // Token: 0x0400094B RID: 2379 + public int BlockY; +} diff --git a/Assets/Scripts/Assembly-CSharp/UIValue.cs b/Assets/Scripts/Assembly-CSharp/UIValue.cs new file mode 100644 index 000000000..457c1b87f --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UIValue.cs @@ -0,0 +1,146 @@ +using System; + +// Token: 0x020000FF RID: 255 +public class UIValue +{ + // Token: 0x0400062C RID: 1580 + public static readonly string SCENE_GAMEINIT = "SceneGameInit"; + + // Token: 0x0400062D RID: 1581 + public static readonly string SCENE_INIT = "SceneInit"; + + // Token: 0x0400062E RID: 1582 + public static readonly string SCENE_TITLE = "SceneTitle"; + + // Token: 0x0400062F RID: 1583 + public static readonly string SCENE_TITLERESTORE = "SceneTitleRestore"; + + // Token: 0x04000630 RID: 1584 + public static readonly string SCENE_GALLERYMENU = "SceneGalleryMenu"; + + // Token: 0x04000631 RID: 1585 + public static readonly string SCENE_GALLERYMOVIE = "SceneGalleryMovie"; + + // Token: 0x04000632 RID: 1586 + public static readonly string SCENE_GALLERYCG = "SceneGalleryCG"; + + // Token: 0x04000633 RID: 1587 + public static readonly string SCENE_GALLERYINPUTNAME = "SceneGalleryInputName"; + + // Token: 0x04000634 RID: 1588 + public static readonly string SCENE_GALLERYINPUTNAMEKEYBOARD = "SceneGalleryInputNameKeyboard"; + + // Token: 0x04000635 RID: 1589 + public static readonly string SCENE_GALLERYINPUTNAMEDIALOG = "SceneGalleryInputNameDialog"; + + // Token: 0x04000636 RID: 1590 + public static readonly string SCENE_CGCHARASELECT = "SceneCGCharaSelect"; + + // Token: 0x04000637 RID: 1591 + public static readonly string SCENE_CGSELECT = "SceneCGSelect"; + + // Token: 0x04000638 RID: 1592 + public static readonly string SCENE_CGVIEWER = "SceneCGViewer"; + + // Token: 0x04000639 RID: 1593 + public static readonly string SCENE_MEMORYCHARASELECT = "SceneMemoryCharaSelect"; + + // Token: 0x0400063A RID: 1594 + public static readonly string SCENE_MEMORYSELECT = "SceneMemorySelect"; + + // Token: 0x0400063B RID: 1595 + public static readonly string SCENE_ADVMENU = "SceneAdvMenu"; + + // Token: 0x0400063C RID: 1596 + public static readonly string SCENE_STORYSELECT = "SceneStorySelect"; + + // Token: 0x0400063D RID: 1597 + public static readonly string SCENE_INTRODUCTION = "SceneIntroduction"; + + // Token: 0x0400063E RID: 1598 + public static readonly string SCENE_PAYMENT = "ScenePayment"; + + // Token: 0x0400063F RID: 1599 + public static readonly string SCENE_PAYMENTDIALOG = "ScenePaymentDialog"; + + // Token: 0x04000640 RID: 1600 + public static readonly string SCENE_PAYMENTLIST = "ScenePaymentList"; + + // Token: 0x04000641 RID: 1601 + public static readonly string SCENE_SAVELOAD = "SceneSaveLoad"; + + // Token: 0x04000642 RID: 1602 + public static readonly string SCENE_HELP = "SceneHelp"; + + // Token: 0x04000643 RID: 1603 + public static readonly string SCENE_ADVMODE = "SceneAdvMode"; + + // Token: 0x04000644 RID: 1604 + public static readonly string SCENE_LOGOMOVIE = "SceneLogoMovie"; + + // Token: 0x04000645 RID: 1605 + public static readonly string SCENE_OPTIONTEXT = "SceneOptionText"; + + // Token: 0x04000646 RID: 1606 + public static readonly string SCENE_OPTIONSOUND = "SceneOptionSound"; + + // Token: 0x04000647 RID: 1607 + public static readonly string SCENE_OPTIONVOICE = "SceneOptionVoice"; + + // Token: 0x04000648 RID: 1608 + public static readonly string SCENE_OPTIONSCREEN = "SceneOptionScreen"; + + // Token: 0x04000649 RID: 1609 + public static readonly string SCENE_OPTIONSKIP = "SceneOptionSkip"; + + // Token: 0x0400064A RID: 1610 + public static readonly string SCENE_OPTIONBACK = "SceneOptionBack"; + + // Token: 0x0400064B RID: 1611 + public static int GalleryCharactor; + + // Token: 0x0400064C RID: 1612 + public static int GalleryPage; + + // Token: 0x0400064D RID: 1613 + public static int GalleryIndex; + + // Token: 0x0400064E RID: 1614 + public static GalleryInputNameDialogType GalleryInputNameDialog_Type; + + // Token: 0x0400064F RID: 1615 + public static string GalleryInputNameDialog_Name; + + // Token: 0x04000650 RID: 1616 + public static GalleryInputNameDialogExitType GalleryInputNameDialog_Exit; + + // Token: 0x04000651 RID: 1617 + public static SaveLoadType SaveLoadType; + + // Token: 0x04000652 RID: 1618 + public static SaveLoadCallType SaveLoadCallType; + + // Token: 0x04000653 RID: 1619 + public static int SaveDataIndex; + + // Token: 0x04000654 RID: 1620 + public static int VolumeBGM; + + // Token: 0x04000655 RID: 1621 + public static int VolumeSE; + + // Token: 0x04000656 RID: 1622 + public static int VolumeSystem; + + // Token: 0x04000657 RID: 1623 + public static PaymentCallType Payment_Call; + + // Token: 0x04000658 RID: 1624 + public static PaymentExitType Payment_Exit; + + // Token: 0x04000659 RID: 1625 + public static string Payment_ProductId; + + // Token: 0x0400065A RID: 1626 + public static int[] CharaVoiceVolume = new int[11]; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityApp.cs b/Assets/Scripts/Assembly-CSharp/UnityApp.cs new file mode 100644 index 000000000..886b030d5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityApp.cs @@ -0,0 +1,307 @@ +using System; +using System.Collections; +using Qoo; +using Qoo.Application; +using Qoo.File; +using Qoo.Ks; +using UnityEngine; + +// Token: 0x0200013C RID: 316 +public class UnityApp : Singleton +{ + // Token: 0x170000F5 RID: 245 + // (get) Token: 0x06000894 RID: 2196 RVA: 0x000264A0 File Offset: 0x000246A0 + public bool IsInit + { + get + { + return this.m_isInit; + } + } + + // Token: 0x06000895 RID: 2197 RVA: 0x000264A8 File Offset: 0x000246A8 + private void Awake() + { + UnityEngine.Object.DontDestroyOnLoad(this); + this.task = base.gameObject.AddComponent(); + this.time = base.gameObject.AddComponent(); + this.file = base.gameObject.AddComponent(); + this.input = base.gameObject.AddComponent(); + this.graph = base.gameObject.AddComponent(); + this.sound = base.gameObject.AddComponent(); + UnityTask.SetMainTask(this.InitData()); + this.m_isInit = false; + } + + // Token: 0x06000896 RID: 2198 RVA: 0x00026534 File Offset: 0x00024734 + private void Update() + { + } + + // Token: 0x06000897 RID: 2199 RVA: 0x00026538 File Offset: 0x00024738 + private void OnEnable() + { + AMAppStore.RegistrationEvent(); + } + + // Token: 0x06000898 RID: 2200 RVA: 0x00026540 File Offset: 0x00024740 + private void OnDisable() + { + AMAppStore.DeleteEvent(); + } + + // Token: 0x06000899 RID: 2201 RVA: 0x00026548 File Offset: 0x00024748 + private void OnApplicationFocus(bool isFocus) + { + if (isFocus) + { + Qoo.Debug.Print("APP Focus!!"); + } + else + { + Qoo.Debug.Print("APP FocusLost!!"); + } + } + + // Token: 0x0600089A RID: 2202 RVA: 0x0002656C File Offset: 0x0002476C + private void OnApplicationPause(bool pauseStatus) + { + if (pauseStatus) + { + Qoo.Debug.Print("APP PAUSE!!"); + UnityApp.AutoSave(); + } + else + { + Qoo.Debug.Print("APP Resume!!"); + } + } + + // Token: 0x0600089B RID: 2203 RVA: 0x000265A0 File Offset: 0x000247A0 + private void OnApplicationQuit() + { + Qoo.Debug.Print("APP QUIT!!"); + UnityApp.AutoSave(); + AMAppStore.End(); + } + + // Token: 0x0600089C RID: 2204 RVA: 0x000265B8 File Offset: 0x000247B8 + private IEnumerator InitData() + { + this.m_LoadQueue.LoadOther("data0.nmb", "/nmb/"); + this.m_LoadQueue.LoadOther("data1.nmb", "/nmb/"); + while (!this.m_LoadQueue.IsReadEndAll()) + { + yield return 0; + } + this.CreateNmb(); + this.m_LoadQueue.LoadOther("kslist.akb", "/ks/"); + while (!this.m_LoadQueue.IsReadEndAll()) + { + yield return 0; + } + this.CreateAkb(); + this.m_LoadQueue.LoadOther("h2m_font.fnt", "/font/"); + this.m_LoadQueue.LoadResource("h2m_font_0", "font/"); + while (!this.m_LoadQueue.IsReadEndAll()) + { + yield return 0; + } + this.CreateFontFile(); + App.Init(); + this.m_isInit = true; + CSVManager.init(); + Qoo.Debug.Print("---Init End---"); + if (UnityEngine.Debug.isDebugBuild) + { + SceneManager.ChangeScene(this.InitDebugScene); + } + else + { + SceneManager.ChangeScene(this.InitScene); + } + GameObject lcamera = GameObject.Find("LoadingCamera"); + if (lcamera != null) + { + UnityEngine.Object.Destroy(lcamera); + lcamera = null; + } + GameObject lsprite = GameObject.Find("LoadingSprite"); + if (lsprite != null) + { + UnityEngine.Object.Destroy(lsprite); + lsprite = null; + } + yield break; + } + + // Token: 0x0600089D RID: 2205 RVA: 0x000265D4 File Offset: 0x000247D4 + public int GetTimeMilli() + { + return this.time.GetTimeMilli(); + } + + // Token: 0x0600089E RID: 2206 RVA: 0x000265E4 File Offset: 0x000247E4 + public int FrameUpdate() + { + return UnityTask.FrameUpdate(); + } + + // Token: 0x0600089F RID: 2207 RVA: 0x000265EC File Offset: 0x000247EC + private void CreateAkb() + { + Akb.Create(this.m_LoadQueue.GetData("kslist.akb")); + this.m_LoadQueue.Remove("kslist.akb"); + } + + // Token: 0x060008A0 RID: 2208 RVA: 0x00026620 File Offset: 0x00024820 + private void CreateNmb() + { + Nmb.Add(this.m_LoadQueue.GetData("data0.nmb")); + Nmb.Add(this.m_LoadQueue.GetData("data1.nmb")); + this.m_LoadQueue.Remove("data0.nmb"); + this.m_LoadQueue.Remove("data1.nmb"); + } + + // Token: 0x060008A1 RID: 2209 RVA: 0x0002667C File Offset: 0x0002487C + private void CreateFontFile() + { + this.graph.CreateFont("FOT-ニューロダン Pro B", this.m_LoadQueue.GetData("h2m_font.fnt"), this.graph.m_ManSprite.SetTexture("h2m_font_0", this.m_LoadQueue.GetObject("h2m_font_0") as Texture2D)); + this.m_LoadQueue.Remove("h2m_font.fnt"); + this.m_LoadQueue.Remove("h2m_font_0"); + } + + // Token: 0x060008A2 RID: 2210 RVA: 0x000266F8 File Offset: 0x000248F8 + public static void AutoSave() + { + if (App.IsInit) + { + SaveLoadManager.SaveSystem(); + GameObject gameObject = GameObject.Find("SceneAdvMode"); + if (gameObject != null) + { + EventWnd component = gameObject.GetComponent(); + if (component != null && component.Mode == PLAY_MODE.NORMAL && !component.Player.RestoreOn) + { + SaveLoadManager.SaveAuto(); + Qoo.Debug.Print("Auto Save"); + } + } + } + } + + // Token: 0x060008A3 RID: 2211 RVA: 0x00026770 File Offset: 0x00024970 + public static int GetOSVersion() + { + return 0; + } + + // Token: 0x060008A4 RID: 2212 RVA: 0x00026774 File Offset: 0x00024974 + public static void CleanMemory() + { + Resources.UnloadUnusedAssets(); + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + } + + // Token: 0x170000F6 RID: 246 + // (get) Token: 0x060008A5 RID: 2213 RVA: 0x0002678C File Offset: 0x0002498C + public static UnityApp PlatformApp + { + get + { + return Singleton.Instance; + } + } + + // Token: 0x170000F7 RID: 247 + // (get) Token: 0x060008A6 RID: 2214 RVA: 0x00026794 File Offset: 0x00024994 + public static ManSound Sound + { + get + { + return Singleton.Instance.sound; + } + } + + // Token: 0x170000F8 RID: 248 + // (get) Token: 0x060008A7 RID: 2215 RVA: 0x000267A0 File Offset: 0x000249A0 + public static UnityGraph Graph + { + get + { + return Singleton.Instance.graph; + } + } + + // Token: 0x170000F9 RID: 249 + // (get) Token: 0x060008A8 RID: 2216 RVA: 0x000267AC File Offset: 0x000249AC + public static Man2D Sprite + { + get + { + return Singleton.Instance.graph.m_ManSprite; + } + } + + // Token: 0x170000FA RID: 250 + // (get) Token: 0x060008A9 RID: 2217 RVA: 0x000267C0 File Offset: 0x000249C0 + public static TaskManager Task + { + get + { + return Singleton.Instance.task; + } + } + + // Token: 0x170000FB RID: 251 + // (get) Token: 0x060008AA RID: 2218 RVA: 0x000267CC File Offset: 0x000249CC + public static UnityFileLoader File + { + get + { + return Singleton.Instance.file; + } + } + + // Token: 0x170000FC RID: 252 + // (get) Token: 0x060008AB RID: 2219 RVA: 0x000267D8 File Offset: 0x000249D8 + public static GameInput Input + { + get + { + return Singleton.Instance.input; + } + } + + // Token: 0x0400076B RID: 1899 + private TaskManager task; + + // Token: 0x0400076C RID: 1900 + private UnityFileLoader file; + + // Token: 0x0400076D RID: 1901 + private UnityTimer time; + + // Token: 0x0400076E RID: 1902 + private UnityGraph graph; + + // Token: 0x0400076F RID: 1903 + private ManSound sound; + + // Token: 0x04000770 RID: 1904 + private GameInput input; + + // Token: 0x04000771 RID: 1905 + private UnityFileLoaderQueue m_LoadQueue = new UnityFileLoaderQueue(); + + // Token: 0x04000772 RID: 1906 + public string InitScene; + + // Token: 0x04000773 RID: 1907 + public string InitDebugScene; + + // Token: 0x04000774 RID: 1908 + private bool m_isInit; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityBaseClass.cs b/Assets/Scripts/Assembly-CSharp/UnityBaseClass.cs new file mode 100644 index 000000000..1c1d9de66 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityBaseClass.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +// Token: 0x020001AC RID: 428 +public class UnityBaseClass : MonoBehaviour +{ + // Token: 0x06000C5D RID: 3165 RVA: 0x00032D2C File Offset: 0x00030F2C + private void Begin() + { + } + + // Token: 0x06000C5E RID: 3166 RVA: 0x00032D30 File Offset: 0x00030F30 + private void Update() + { + } +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityFile.cs b/Assets/Scripts/Assembly-CSharp/UnityFile.cs new file mode 100644 index 000000000..4ccb81346 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityFile.cs @@ -0,0 +1,246 @@ +using System; +using System.Collections; +using Qoo; +using UnityEngine; + +// Token: 0x02000148 RID: 328 +public class UnityFile +{ + // Token: 0x1700010E RID: 270 + // (get) Token: 0x06000901 RID: 2305 RVA: 0x0002768C File Offset: 0x0002588C + public bool IsReadEnd + { + get + { + return this.m_isReadEnd; + } + } + + // Token: 0x1700010F RID: 271 + // (get) Token: 0x06000902 RID: 2306 RVA: 0x00027694 File Offset: 0x00025894 + public string Name + { + get + { + return this.m_szName; + } + } + + // Token: 0x17000110 RID: 272 + // (get) Token: 0x06000903 RID: 2307 RVA: 0x0002769C File Offset: 0x0002589C + public string Path + { + get + { + return this.m_szPath; + } + } + + // Token: 0x17000111 RID: 273 + // (get) Token: 0x06000904 RID: 2308 RVA: 0x000276A4 File Offset: 0x000258A4 + public byte[] Data + { + get + { + return this.m_ReadData; + } + } + + // Token: 0x17000112 RID: 274 + // (get) Token: 0x06000905 RID: 2309 RVA: 0x000276AC File Offset: 0x000258AC + public AssetBundle Asset + { + get + { + return this.m_asset; + } + } + + // Token: 0x17000113 RID: 275 + // (get) Token: 0x06000906 RID: 2310 RVA: 0x000276B4 File Offset: 0x000258B4 + public UnityEngine.Object Obj + { + get + { + return this.m_object; + } + } + + // Token: 0x17000114 RID: 276 + // (get) Token: 0x06000907 RID: 2311 RVA: 0x000276BC File Offset: 0x000258BC + public bool IsError + { + get + { + return this.m_IsError; + } + } + + // Token: 0x06000908 RID: 2312 RVA: 0x000276C4 File Offset: 0x000258C4 + public bool Create(WWW loader, string name, string path, bool IsAssetBandle) + { + this.m_szName = name; + this.m_szPath = path; + this.m_IsAssetBandle = IsAssetBandle; + UnityTask.SetReadTask(this.LoadWait()); + return true; + } + + // Token: 0x06000909 RID: 2313 RVA: 0x000276F4 File Offset: 0x000258F4 + public bool CreateFromAssetBundle(AssetBundle asset, string name) + { + this.m_szName = name; + this.m_ReadData = (asset.Load(name) as TextAsset).bytes; + this.m_isReadEnd = true; + return true; + } + + // Token: 0x0600090A RID: 2314 RVA: 0x00027728 File Offset: 0x00025928 + public bool LoadResource(string name_, string path_) + { + this.m_szName = name_; + this.m_szPath = path_; + this.m_object = Resources.Load(path_ + name_); + if (this.m_object != null) + { + this.m_isReadEnd = true; + } + return this.m_isReadEnd; + } + + // Token: 0x0600090B RID: 2315 RVA: 0x00027774 File Offset: 0x00025974 + public bool CreateAssetBandle(WWW loader, string name, string path) + { + this.m_szName = name; + this.m_szPath = path; + this.m_isLoadAssetBandle = true; + this.m_IsAssetBandle = true; + UnityTask.SetReadTask(this.LoadWait()); + return true; + } + + // Token: 0x0600090C RID: 2316 RVA: 0x000277AC File Offset: 0x000259AC + private string CreateLoader(string name, string localpath, bool IsAssetBandle) + { + localpath = localpath.Replace('\\', '/'); + name = name.Replace('\\', '/'); + if (IsAssetBandle) + { + name = Pathing.ToPlatformAssetBundleName(name); + } + string text = Pathing.appContentDataPath + localpath + name; + Qoo.Debug.Print("FileLoad:" + text); + return text; + } + + // Token: 0x0600090D RID: 2317 RVA: 0x00027800 File Offset: 0x00025A00 + private IEnumerator LoadWait() + { + if (this.m_isLoadPackFile) + { + AssetBundleCreateRequest req = AssetBundle.CreateFromMemory(this.m_ReadData); + yield return req; + this.m_object = req.assetBundle.mainAsset; + req.assetBundle.Unload(false); + req = null; + this.m_isReadEnd = true; + Resources.UnloadUnusedAssets(); + yield return new WaitForEndOfFrame(); + } + else + { + WWW loader = null; + string path = this.CreateLoader(this.m_szName, this.m_szPath, this.m_IsAssetBandle); + for (int i = 0; i <= 10; i++) + { + loader = new WWW(path); + yield return loader; + this.m_szErrorMsg = loader.error; + if (this.m_szErrorMsg != null && this.m_szErrorMsg.Length > 0) + { + Qoo.Debug.Print("Error:" + this.m_szErrorMsg); + if (i == 10) + { + this.m_IsError = true; + break; + } + if (this.m_isLoadAssetBandle) + { + this.m_IsError = true; + break; + } + loader = null; + } + else if (loader.isDone) + { + break; + } + yield return 0; + } + if (loader.isDone) + { + if (this.m_isLoadAssetBandle) + { + this.m_asset = loader.assetBundle; + } + else if (this.m_IsAssetBandle) + { + AssetBundle ab = loader.assetBundle; + TextAsset ta = ab.mainAsset as TextAsset; + this.m_ReadData = ta.bytes; + Resources.UnloadAsset(ta); + ab.Unload(false); + } + else + { + this.m_ReadData = loader.bytes; + } + loader.Dispose(); + this.m_isReadEnd = true; + } + else + { + UnityEngine.Debug.LogError("Error:FileRead Failed" + this.m_szName); + this.m_IsError = true; + } + loader = null; + } + yield break; + } + + // Token: 0x04000799 RID: 1945 + private const int RETRY_COUNT = 10; + + // Token: 0x0400079A RID: 1946 + private bool m_isReadEnd; + + // Token: 0x0400079B RID: 1947 + private string m_szName = string.Empty; + + // Token: 0x0400079C RID: 1948 + private string m_szPath = string.Empty; + + // Token: 0x0400079D RID: 1949 + private bool m_IsAssetBandle; + + // Token: 0x0400079E RID: 1950 + private bool m_IsError; + + // Token: 0x0400079F RID: 1951 + private string m_szErrorMsg = string.Empty; + + // Token: 0x040007A0 RID: 1952 + private byte[] m_ReadData; + + // Token: 0x040007A1 RID: 1953 + private AssetBundle m_asset; + + // Token: 0x040007A2 RID: 1954 + private UnityEngine.Object m_object; + + // Token: 0x040007A3 RID: 1955 + private bool m_isLoadAssetBandle; + + // Token: 0x040007A4 RID: 1956 + private bool m_isLoadPackFile; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityFileLoader.cs b/Assets/Scripts/Assembly-CSharp/UnityFileLoader.cs new file mode 100644 index 000000000..71256e1c5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityFileLoader.cs @@ -0,0 +1,145 @@ +using System; +using Qoo; +using Qoo.File; +using UnityEngine; + +// Token: 0x02000149 RID: 329 +public class UnityFileLoader : Singleton +{ + // Token: 0x0600090F RID: 2319 RVA: 0x00027824 File Offset: 0x00025A24 + private void Awake() + { + } + + // Token: 0x06000910 RID: 2320 RVA: 0x00027828 File Offset: 0x00025A28 + private void Update() + { + } + + // Token: 0x06000911 RID: 2321 RVA: 0x0002782C File Offset: 0x00025A2C + public UnityFile LoadImageFile(string name) + { + name = this.NormalizeImageName(name); + string imageDir = this.GetImageDir(name); + return this.LoadFile(name, imageDir, true); + } + + // Token: 0x06000912 RID: 2322 RVA: 0x00027854 File Offset: 0x00025A54 + public UnityFile LoadSoundFile(string name) + { + name = this.NormalizeImageName(name); + return this.LoadFile(name, string.Empty, true); + } + + // Token: 0x06000913 RID: 2323 RVA: 0x0002786C File Offset: 0x00025A6C + public UnityFile LoadKsFile(string name) + { + name = name.ToLower(); + return this.LoadFile(name, "/ks/", false); + } + + // Token: 0x06000914 RID: 2324 RVA: 0x00027884 File Offset: 0x00025A84 + public UnityFile LoadFile(string name, string localpath, bool IsAssetBandle = false) + { + if (this.IsLoadedAssetBundle()) + { + string name2 = this.NormalizeImageName(name); + if (this.m_Asset.Asset.Contains(name2)) + { + return this.GetAssetBandleFile(name); + } + } + UnityFile unityFile = new UnityFile(); + unityFile.Create(null, name, localpath, IsAssetBandle); + return unityFile; + } + + // Token: 0x06000915 RID: 2325 RVA: 0x000278D4 File Offset: 0x00025AD4 + public UnityFile LoadResource(string name, string path) + { + UnityFile unityFile = new UnityFile(); + unityFile.LoadResource(name, path); + return unityFile; + } + + // Token: 0x06000916 RID: 2326 RVA: 0x000278F4 File Offset: 0x00025AF4 + public static WWW CreateLoader(string name, string localpath, bool IsAssetBandle) + { + localpath = localpath.Replace('\\', '/'); + name = name.Replace('\\', '/'); + if (IsAssetBandle) + { + name = Pathing.ToPlatformAssetBundleName(name); + } + string text = Pathing.appContentDataPath + localpath + name; + Qoo.Debug.Print("FileLoad:" + text); + return new WWW(text); + } + + // Token: 0x06000917 RID: 2327 RVA: 0x0002794C File Offset: 0x00025B4C + private string NormalizeImageName(string name) + { + name = name.ToLower(); + int num = name.LastIndexOf('.'); + if (num != -1) + { + name = name.Substring(0, num); + } + return name; + } + + // Token: 0x06000918 RID: 2328 RVA: 0x0002797C File Offset: 0x00025B7C + public string GetImageDir(string name) + { + name = this.NormalizeImageName(name); + NMB_FILEINFO fileInfo = Nmb.GetFileInfo(name); + return '/' + fileInfo.DirName; + } + + // Token: 0x06000919 RID: 2329 RVA: 0x000279AC File Offset: 0x00025BAC + public int GetPackNo(string name) + { + return Nmb.GetPackNo(name); + } + + // Token: 0x0600091A RID: 2330 RVA: 0x000279B4 File Offset: 0x00025BB4 + public int NameToNo(string name) + { + return Nmb.NameToNo(name); + } + + // Token: 0x0600091B RID: 2331 RVA: 0x000279BC File Offset: 0x00025BBC + public void LoadAssetBundle(string name) + { + this.UnloadAssetBundle(); + this.m_Asset = new UnityFile(); + this.m_Asset.CreateAssetBandle(null, name, string.Empty); + } + + // Token: 0x0600091C RID: 2332 RVA: 0x000279F0 File Offset: 0x00025BF0 + public bool IsLoadedAssetBundle() + { + return this.m_Asset != null && this.m_Asset.IsReadEnd; + } + + // Token: 0x0600091D RID: 2333 RVA: 0x00027A0C File Offset: 0x00025C0C + public void UnloadAssetBundle() + { + if (this.m_Asset != null) + { + this.m_Asset.Asset.Unload(true); + } + this.m_Asset = null; + } + + // Token: 0x0600091E RID: 2334 RVA: 0x00027A34 File Offset: 0x00025C34 + private UnityFile GetAssetBandleFile(string name) + { + UnityFile unityFile = new UnityFile(); + unityFile.CreateFromAssetBundle(this.m_Asset.Asset, name); + return unityFile; + } + + // Token: 0x040007A5 RID: 1957 + private UnityFile m_Asset; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityFileLoaderQueue.cs b/Assets/Scripts/Assembly-CSharp/UnityFileLoaderQueue.cs new file mode 100644 index 000000000..ab9d7bcfc --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityFileLoaderQueue.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x0200014A RID: 330 +public class UnityFileLoaderQueue +{ + // Token: 0x06000920 RID: 2336 RVA: 0x00027A70 File Offset: 0x00025C70 + public bool LoadImage(string name) + { + UnityFile unityFile = Singleton.Instance.LoadImageFile(name); + if (unityFile != null) + { + this.Add(name, unityFile); + return true; + } + return false; + } + + // Token: 0x06000921 RID: 2337 RVA: 0x00027A9C File Offset: 0x00025C9C + public bool LoadKsFile(string name) + { + UnityFile unityFile = Singleton.Instance.LoadKsFile(name); + if (unityFile != null) + { + this.Add(name, unityFile); + return true; + } + return false; + } + + // Token: 0x06000922 RID: 2338 RVA: 0x00027AC8 File Offset: 0x00025CC8 + public bool LoadOther(string name, string path) + { + UnityFile unityFile = Singleton.Instance.LoadFile(name, path, false); + if (unityFile != null) + { + this.Add(name, unityFile); + return true; + } + return false; + } + + // Token: 0x06000923 RID: 2339 RVA: 0x00027AF4 File Offset: 0x00025CF4 + public bool LoadResource(string name, string path) + { + UnityFile unityFile = Singleton.Instance.LoadResource(name, path); + if (unityFile != null) + { + this.Add(name, unityFile); + return true; + } + return false; + } + + // Token: 0x06000924 RID: 2340 RVA: 0x00027B20 File Offset: 0x00025D20 + public void Add(string name, UnityFile file) + { + this.m_Dic.Add(name, file); + } + + // Token: 0x06000925 RID: 2341 RVA: 0x00027B30 File Offset: 0x00025D30 + public bool IsReadEnd(string name) + { + return this.m_Dic.ContainsKey(name) && this.m_Dic[name].IsReadEnd; + } + + // Token: 0x06000926 RID: 2342 RVA: 0x00027B64 File Offset: 0x00025D64 + public bool IsReadEndAll() + { + Dictionary.ValueCollection values = this.m_Dic.Values; + foreach (UnityFile unityFile in values) + { + if (!unityFile.IsReadEnd) + { + return false; + } + } + return true; + } + + // Token: 0x06000927 RID: 2343 RVA: 0x00027BE0 File Offset: 0x00025DE0 + public byte[] GetData(string name) + { + if (this.m_Dic.ContainsKey(name) && this.IsReadEnd(name)) + { + return this.m_Dic[name].Data; + } + return null; + } + + // Token: 0x06000928 RID: 2344 RVA: 0x00027C20 File Offset: 0x00025E20 + public UnityEngine.Object GetObject(string name) + { + if (this.m_Dic.ContainsKey(name) && this.IsReadEnd(name)) + { + return this.m_Dic[name].Obj; + } + return null; + } + + // Token: 0x06000929 RID: 2345 RVA: 0x00027C60 File Offset: 0x00025E60 + public bool Remove(string name) + { + return this.m_Dic.ContainsKey(name) && this.m_Dic.Remove(name); + } + + // Token: 0x040007A6 RID: 1958 + private Dictionary m_Dic = new Dictionary(); +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityGraph.cs b/Assets/Scripts/Assembly-CSharp/UnityGraph.cs new file mode 100644 index 000000000..a52b2fa24 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityGraph.cs @@ -0,0 +1,498 @@ +using System; +using System.Collections; +using Qoo; +using Qoo.Application; +using Qoo.File; +using UnityEngine; + +// Token: 0x02000157 RID: 343 +public class UnityGraph : Singleton +{ + // Token: 0x1700012C RID: 300 + // (get) Token: 0x060009AE RID: 2478 RVA: 0x0002AD04 File Offset: 0x00028F04 + public UIFont Font + { + get + { + return this.font; + } + } + + // Token: 0x1700012D RID: 301 + // (get) Token: 0x060009AF RID: 2479 RVA: 0x0002AD0C File Offset: 0x00028F0C + // (set) Token: 0x060009B0 RID: 2480 RVA: 0x0002AD14 File Offset: 0x00028F14 + public bool RunEffect + { + get + { + return this.m_isRunEffect; + } + set + { + this.m_isRunEffect = value; + } + } + + // Token: 0x1700012E RID: 302 + // (get) Token: 0x060009B1 RID: 2481 RVA: 0x0002AD20 File Offset: 0x00028F20 + public bool IsFade + { + get + { + return this.FadeParam < 255; + } + } + + // Token: 0x060009B2 RID: 2482 RVA: 0x0002AD30 File Offset: 0x00028F30 + private void Awake() + { + this.sprite_obj = new GameObject("2D Sprite Manager"); + this.sprite_obj.transform.parent = base.gameObject.transform; + this.m_ManSprite = this.sprite_obj.AddComponent(); + Camera camera = base.gameObject.GetComponent(); + if (camera == null) + { + camera = base.gameObject.AddComponent(); + } + camera.enabled = false; + this.m_FrameDraw = new UnitySprite(false, base.gameObject, false); + this.m_FrameDraw.obj.name = "FrameBuffer Sprite"; + this.m_FrameDraw.z = 100; + this.m_FrameDraw.Brend = SPRITE_DRAW_MODE.MUL_NOTEXALPHA; + this.m_FrameDraw.Update(Screen.width, Screen.height, 0f); + this.FadeParam = 0; + this.m_FrameBg = new UnitySprite(false, base.gameObject, false); + this.m_FrameBg.obj.name = "FrameBufferBG"; + this.m_FrameBg.w = Screen.width; + this.m_FrameBg.h = Screen.height; + this.m_FrameBg.R = (this.m_FrameBg.G = (this.m_FrameBg.B = 0)); + this.m_FrameBg.A = byte.MaxValue; + this.m_FrameBg.UW = Screen.width; + this.m_FrameBg.VH = Screen.height; + this.m_FrameBg.z = 0; + this.m_FrameBg.Brend = SPRITE_DRAW_MODE.BACK; + this.FadeParam = 0; + this.Disable(false); + } + + // Token: 0x060009B3 RID: 2483 RVA: 0x0002AECC File Offset: 0x000290CC + public void Enable(bool IsBlack = false) + { + this.RunEffect = false; + this.m_ManSprite.enabled = true; + CreateSprite.CreateSpriteCamera(base.gameObject, Screen.height, false); + base.gameObject.camera.aspect = (float)Screen.width / (float)Screen.height; + base.gameObject.camera.enabled = true; + this.m_FrameBg.obj.SetActive(true); + if (this.m_FrameBg.tex == null) + { + this.m_FrameBg.SetImage(this.m_ManSprite.LoadTexture("jimon.png")); + } + UnitySprite frameBg = this.m_FrameBg; + int num = 0; + this.m_FrameBg.y = num; + frameBg.x = num; + this.m_FrameBg.R = (this.m_FrameBg.G = (this.m_FrameBg.B = 0)); + this.m_FrameBg.A = byte.MaxValue; + this.m_FrameDraw.obj.SetActive(true); + UnitySprite frameDraw = this.m_FrameDraw; + num = 0; + this.m_FrameDraw.y = num; + frameDraw.x = num; + if (!IsBlack) + { + this.m_FrameDraw.SetRenderImage(this.m_ManSprite.GetFrameBuffer(), 960, 544); + } + this.m_FrameDraw.CalcRenderImageOffset(Screen.width, Screen.height); + this.m_FrameDraw.Brend = SPRITE_DRAW_MODE.MUL_NOTEXALPHA; + this.m_FrameDraw.Update(Screen.width, Screen.height, 0f); + UnityApp.Input.SetScreenRect(this.m_FrameDraw.x, this.m_FrameDraw.y, this.m_FrameDraw.w, this.m_FrameDraw.h, 960, 544); + base.enabled = true; + } + + // Token: 0x060009B4 RID: 2484 RVA: 0x0002B08C File Offset: 0x0002928C + public void Disable(bool IsClean = false) + { + base.enabled = false; + base.gameObject.camera.enabled = false; + this.m_ManSprite.enabled = false; + this.m_FrameDraw.obj.SetActive(false); + this.m_FrameBg.obj.SetActive(false); + if (IsClean) + { + this.m_FrameDraw.SetRenderImage(null, 960, 544); + } + UnityApp.Input.ResetScreenRect(); + } + + // Token: 0x060009B5 RID: 2485 RVA: 0x0002B108 File Offset: 0x00029308 + public void Restore() + { + if (base.enabled) + { + this.m_ManSprite.CreateFrameBuffer(); + } + } + + // Token: 0x060009B6 RID: 2486 RVA: 0x0002B120 File Offset: 0x00029320 + public IEnumerator RestoreEnable(Texture2D tex) + { + this.m_ManSprite.CreateFrameBuffer(); + this.m_FrameDraw.SetRenderImage(tex, 960, 544); + this.Enable(true); + this.m_isRunEffect = true; + yield return 0; + this.m_ManSprite.UpdateFrameBuffer(); + yield return 0; + this.m_ManSprite.UpdateFrameBuffer(); + this.m_isRunEffect = false; + yield break; + } + + // Token: 0x060009B7 RID: 2487 RVA: 0x0002B14C File Offset: 0x0002934C + public Texture2D CopyFrameBuffer() + { + RenderTexture frameBuffer = Singleton.Instance.GetFrameBuffer(); + Texture2D texture2D = new Texture2D(frameBuffer.width, frameBuffer.height, TextureFormat.ARGB32, false, false); + RenderTexture.active = frameBuffer; + texture2D.ReadPixels(new Rect(0f, 0f, (float)frameBuffer.width, (float)frameBuffer.height), 0, 0); + texture2D.Apply(); + RenderTexture.active = null; + return texture2D; + } + + // Token: 0x060009B8 RID: 2488 RVA: 0x0002B1B4 File Offset: 0x000293B4 + public bool CreateFont(string name_, byte[] data_, UnityTexture tex_) + { + BMFont bmfont = new BMFont(); + BMFontReader.Load(bmfont, name_, data_); + this.font = base.gameObject.AddComponent(); + this.font.Font = bmfont; + this.font.texture = tex_; + Qoo.Debug.Print("CreateFont=" + name_); + return true; + } + + // Token: 0x060009B9 RID: 2489 RVA: 0x0002B20C File Offset: 0x0002940C + private void Update() + { + if (!this.m_isRunEffect) + { + UnitySprite frameBg = this.m_FrameBg; + int num = 0; + this.m_FrameBg.y = num; + frameBg.x = num; + this.m_FrameBg.Update(Screen.width, Screen.height, 10f); + this.m_ManSprite.UpdateFrameBuffer(); + RenderTexture frameBuffer = this.m_ManSprite.GetFrameBuffer(); + this.m_FrameDraw.SetRenderImage(frameBuffer, 960, 544); + UnitySprite frameDraw = this.m_FrameDraw; + num = 0; + this.m_FrameDraw.y = num; + frameDraw.x = num; + if (frameBuffer != null) + { + this.m_FrameDraw.A = (byte)this.FadeParam; + } + else + { + this.m_FrameDraw.A = 0; + } + this.m_FrameDraw.CalcRenderImageOffset(Screen.width, Screen.height); + this.m_FrameDraw.Update(Screen.width, Screen.height, 0f); + } + } + + // Token: 0x060009BA RID: 2490 RVA: 0x0002B300 File Offset: 0x00029500 + private IEnumerator Fade_In(int time_ = 1000) + { + if (this.FadeParam < 255) + { + return this.Fade(time_, 255, this.FadeParam); + } + return null; + } + + // Token: 0x060009BB RID: 2491 RVA: 0x0002B334 File Offset: 0x00029534 + private IEnumerator Fade_Out(int time_ = 1000) + { + if (this.FadeParam > 0) + { + return this.Fade(time_, 0, this.FadeParam); + } + return null; + } + + // Token: 0x060009BC RID: 2492 RVA: 0x0002B354 File Offset: 0x00029554 + public void ResetFade(int param = 255) + { + this.FadeParam = param; + } + + // Token: 0x060009BD RID: 2493 RVA: 0x0002B360 File Offset: 0x00029560 + private IEnumerator Fade(int time, int dest, int src) + { + int start = Singleton.Instance.GetTimeMilli(); + int now = Singleton.Instance.GetTimeMilli(); + while (now < start + time) + { + now = Singleton.Instance.GetTimeMilli(); + float param = (float)(now - start) / (float)time; + if (param > 1f) + { + param = 1f; + } + if (param < 0f) + { + param = 0f; + } + param = (float)(dest - src) * param + (float)src; + if (param > 255f) + { + param = 255f; + } + if (param < 0f) + { + param = 0f; + } + this.FadeParam = (int)((byte)param); + yield return 0; + } + this.FadeParam = (int)((byte)dest); + yield return 0; + yield return 0; + yield return 0; + yield break; + } + + // Token: 0x060009BE RID: 2494 RVA: 0x0002B3A8 File Offset: 0x000295A8 + public void SetEffect(string name, float time) + { + this.m_isRunEffect = true; + UnityTask.Effect(name, time); + } + + // Token: 0x060009BF RID: 2495 RVA: 0x0002B3BC File Offset: 0x000295BC + public IEnumerator Effect(string name, float time = 1f) + { + string text = name; + switch (text) + { + case "FadeIn": + this.m_isRunEffect = false; + return this.Fade_In((int)(time * 1000f)); + case "FadeOut": + this.m_isRunEffect = false; + return this.Fade_Out((int)(time * 1000f)); + case "wave": + return this.EffectMain(name, time); + case "ripple": + return this.EffectMain(name, time); + case "mosaic": + return this.EffectMain(name, time); + } + if (name == null || name.Length <= 0) + { + return this.CrossFade(time); + } + if (Singleton.Instance.GetPackNo(name) == 0) + { + string imageDir = Singleton.Instance.GetImageDir(name); + name = imageDir + name; + return this.EffectMain(name, time); + } + NMB_FILEINFO fileInfo = Nmb.GetFileInfo(name); + if (fileInfo == null) + { + name = "ogv/effect/" + name + ".ogv"; + } + else + { + name = fileInfo.DirName + fileInfo.FileName; + } + return this.EffectMovie(name); + } + + // Token: 0x060009C0 RID: 2496 RVA: 0x0002B524 File Offset: 0x00029724 + private IEnumerator EffectMain(string name, float time) + { + yield return 0; + yield return 0; + this.m_ManSprite.UpdateFrameBuffer(); + this.m_ManSprite.enabled = false; + EffectManager.Init(name, (int)(time * 1000f), this.m_FrameDraw.obj.renderer, this.m_ManSprite.GetFrameBufferOld(), this.m_ManSprite.GetFrameBuffer()); + yield return base.StartCoroutine(EffectManager.StartEffect()); + this.m_isRunEffect = false; + this.m_ManSprite.enabled = true; + yield return 0; + yield break; + } + + // Token: 0x060009C1 RID: 2497 RVA: 0x0002B55C File Offset: 0x0002975C + private IEnumerator EffectMovie(string name) + { + yield return 0; + yield return 0; + this.m_ManSprite.UpdateFrameBuffer(); + this.m_ManSprite.enabled = false; + MovieTex movie = base.gameObject.AddComponent(); + this.m_FrameDraw.SetRenderImage(this.m_ManSprite.GetFrameBuffer(), 960, 544); + UnitySprite movieFrame = new UnitySprite(false, base.gameObject, false); + movieFrame.SetName("Movie Frame"); + this.m_FrameDraw.A = (movieFrame.R = (movieFrame.G = (movieFrame.B = (movieFrame.A = byte.MaxValue)))); + movieFrame.SetMaterial(movie.Play(name, MOVIE_TEX_TYPE.ADD, false), 960, 544); + yield return 0; + while (movie.IsPlay) + { + this.m_FrameDraw.CalcRenderImageOffset(Screen.width, Screen.height); + movieFrame.CalcRenderImageOffset(Screen.width, Screen.height); + this.m_FrameDraw.Update(Screen.width, Screen.height, 10f); + movieFrame.Update(Screen.width, Screen.height, 0f); + yield return 0; + } + UnityEngine.Object.Destroy(movie); + movieFrame.obj.renderer.material = null; + movieFrame.tex = null; + this.m_ManSprite.RemoveSprite(movieFrame); + movieFrame = null; + this.m_isRunEffect = false; + this.m_ManSprite.enabled = true; + yield return 0; + yield break; + } + + // Token: 0x060009C2 RID: 2498 RVA: 0x0002B588 File Offset: 0x00029788 + private IEnumerator CrossFade(float time) + { + int ms = (int)(time * 1000f); + this.m_isRunEffect = true; + yield return 0; + yield return 0; + this.m_ManSprite.UpdateFrameBuffer(); + this.m_ManSprite.enabled = false; + UnitySprite BaseFrame = new UnitySprite(false, base.gameObject, false); + BaseFrame.SetName("CrossFade Frame"); + BaseFrame.Brend = SPRITE_DRAW_MODE.MUL_NOTEXALPHA; + BaseFrame.Update(Screen.width, Screen.height, 0f); + this.m_FrameDraw.Brend = SPRITE_DRAW_MODE.MUL_NOTEXALPHA; + this.m_FrameDraw.Update(Screen.width, Screen.height, 10f); + BaseFrame.SetRenderImage(this.m_ManSprite.GetFrameBufferOld(), 960, 544); + this.m_FrameDraw.SetRenderImage(this.m_ManSprite.GetFrameBuffer(), 960, 544); + BaseFrame.R = (this.m_FrameBg.G = (this.m_FrameBg.B = byte.MaxValue)); + this.m_FrameBg.A = 0; + this.m_FrameDraw.A = byte.MaxValue; + int start = Singleton.Instance.GetTimeMilli(); + int now = Singleton.Instance.GetTimeMilli(); + while (now < start + ms) + { + now = Singleton.Instance.GetTimeMilli(); + float param = (float)(now - start) / (float)ms; + if (param > 1f) + { + param = 1f; + } + if (param < 0f) + { + param = 0f; + } + BaseFrame.A = (byte)(255f * (1f - param)); + this.m_FrameDraw.CalcRenderImageOffset(Screen.width, Screen.height); + BaseFrame.CalcRenderImageOffset(Screen.width, Screen.height); + this.m_FrameDraw.Update(Screen.width, Screen.height, 10f); + BaseFrame.Update(Screen.width, Screen.height, 0f); + yield return 0; + } + BaseFrame.tex = null; + this.m_ManSprite.RemoveSprite(BaseFrame); + BaseFrame = null; + this.m_FrameDraw.A = byte.MaxValue; + this.m_ManSprite.enabled = true; + this.m_isRunEffect = false; + yield return 0; + yield break; + } + + // Token: 0x060009C3 RID: 2499 RVA: 0x0002B5B4 File Offset: 0x000297B4 + public IEnumerator Flash(float time, Color32 rgb) + { + this.m_isRunEffect = false; + foreach (UnitySprite item in base.QooSprite.SpriteManager.SpriteList) + { + if ((item.Effect & 2) != 0) + { + item.Brend = SPRITE_DRAW_MODE.TEX_ALPHA; + } + } + int length = (int)(time * 1000f); + int start = Singleton.Instance.GetTimeMilli(); + int now = Singleton.Instance.GetTimeMilli(); + while (now < start + length) + { + now = Singleton.Instance.GetTimeMilli(); + float param = (float)(now - start) / (float)length; + if (param > 1f) + { + param = 1f; + } + rgb.a = (byte)(255f * param); + foreach (UnitySprite item2 in base.QooSprite.SpriteManager.SpriteList) + { + if ((item2.Effect & 2) != 0) + { + item2.FxColor = rgb; + } + } + yield return 0; + } + base.QooSprite.SpriteManager.ResetFx(2); + yield return 0; + yield break; + } + + // Token: 0x060009C4 RID: 2500 RVA: 0x0002B5EC File Offset: 0x000297EC + public IEnumerator Shake(float time, int w, int h) + { + this.m_isRunEffect = false; + int length = (int)(time * 1000f); + int start = Singleton.Instance.GetTimeMilli(); + int now = Singleton.Instance.GetTimeMilli(); + while (now < start + length) + { + now = Singleton.Instance.GetTimeMilli(); + int iAddX = App.GetRandom(w); + int iAddY = App.GetRandom(h); + foreach (UnitySprite item in base.QooSprite.SpriteManager.SpriteList) + { + if ((item.Effect & 1) != 0) + { + item.SetFxPos(iAddX, iAddY); + } + } + yield return 0; + } + base.QooSprite.SpriteManager.ResetFx(1); + yield return 0; + yield break; + } + + // Token: 0x040007E3 RID: 2019 + public Man2D m_ManSprite; + + // Token: 0x040007E4 RID: 2020 + private GameObject sprite_obj; + + // Token: 0x040007E5 RID: 2021 + private UnitySprite m_FrameBg; + + // Token: 0x040007E6 RID: 2022 + private UnitySprite m_FrameDraw; + + // Token: 0x040007E7 RID: 2023 + private UIFont font; + + // Token: 0x040007E8 RID: 2024 + private int FadeParam; + + // Token: 0x040007E9 RID: 2025 + private bool m_isRunEffect; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityInput.cs b/Assets/Scripts/Assembly-CSharp/UnityInput.cs new file mode 100644 index 000000000..997e1f957 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityInput.cs @@ -0,0 +1,300 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x02000179 RID: 377 +public class UnityInput : MonoBehaviour +{ + // Token: 0x17000168 RID: 360 + // (get) Token: 0x06000AB2 RID: 2738 RVA: 0x0002F0C4 File Offset: 0x0002D2C4 + protected bool IsPush + { + get + { + return this.m_isPush; + } + } + + // Token: 0x17000169 RID: 361 + // (get) Token: 0x06000AB3 RID: 2739 RVA: 0x0002F0CC File Offset: 0x0002D2CC + protected Vector2 PushPosition + { + get + { + return this.m_posNow; + } + } + + // Token: 0x1700016A RID: 362 + // (get) Token: 0x06000AB4 RID: 2740 RVA: 0x0002F0D4 File Offset: 0x0002D2D4 + protected Vector2 StartPosition + { + get + { + return this.m_posStart; + } + } + + // Token: 0x1700016B RID: 363 + // (get) Token: 0x06000AB5 RID: 2741 RVA: 0x0002F0DC File Offset: 0x0002D2DC + protected Vector2 EndPosition + { + get + { + return this.m_posEnd; + } + } + + // Token: 0x1700016C RID: 364 + // (get) Token: 0x06000AB6 RID: 2742 RVA: 0x0002F0E4 File Offset: 0x0002D2E4 + protected Vector2 DeltaPosition + { + get + { + if (this.m_posOld.Count < 2) + { + return new Vector2(0f, 0f); + } + Queue queue = new Queue(); + bool flag = true; + Vector2 b = new Vector2(0f, 0f); + foreach (Vector2 vector in this.m_posOld) + { + if (flag) + { + flag = false; + } + else + { + queue.Enqueue(vector - b); + } + b = vector; + } + Vector2 a = new Vector2(0f, 0f); + foreach (Vector2 b2 in queue) + { + a += b2; + } + return a / (float)queue.Count; + } + } + + // Token: 0x1700016D RID: 365 + // (get) Token: 0x06000AB7 RID: 2743 RVA: 0x0002F218 File Offset: 0x0002D418 + protected Vector2 StartDeltaPosition + { + get + { + return this.m_posNow - this.m_posStart; + } + } + + // Token: 0x1700016E RID: 366 + // (get) Token: 0x06000AB8 RID: 2744 RVA: 0x0002F22C File Offset: 0x0002D42C + // (set) Token: 0x06000AB9 RID: 2745 RVA: 0x0002F234 File Offset: 0x0002D434 + private protected TOUCH_STATE State + { + protected get + { + return this.m_eState; + } + private set + { + this.m_eState = value; + } + } + + // Token: 0x1700016F RID: 367 + // (get) Token: 0x06000ABA RID: 2746 RVA: 0x0002F240 File Offset: 0x0002D440 + public int Width + { + get + { + return this.m_Width; + } + } + + // Token: 0x17000170 RID: 368 + // (get) Token: 0x06000ABB RID: 2747 RVA: 0x0002F248 File Offset: 0x0002D448 + public int Height + { + get + { + return this.m_Height; + } + } + + // Token: 0x17000171 RID: 369 + // (get) Token: 0x06000ABC RID: 2748 RVA: 0x0002F250 File Offset: 0x0002D450 + // (set) Token: 0x06000ABD RID: 2749 RVA: 0x0002F258 File Offset: 0x0002D458 + public bool IsOnePushDelete { get; set; } + + // Token: 0x06000ABE RID: 2750 RVA: 0x0002F264 File Offset: 0x0002D464 + public void Awake() + { + this.m_Width = Screen.width; + this.m_Height = Screen.height; + Input.simulateMouseWithTouches = true; + this.IsOnePushDelete = false; + } + + // Token: 0x06000ABF RID: 2751 RVA: 0x0002F28C File Offset: 0x0002D48C + public void Update() + { + if (this.IsOnePushDelete) + { + this.m_isPush = false; + this.State = TOUCH_STATE.NULL; + if (!Input.GetMouseButton(0)) + { + this.IsOnePushDelete = false; + } + return; + } + Vector2 vector = new Vector2(Input.mousePosition.x, (float)this.m_Height - Input.mousePosition.y); + if (Input.GetMouseButton(0)) + { + this.UpdateNowPos(vector); + this.m_isPush = true; + if (Input.GetMouseButtonDown(0)) + { + this.m_posStart = vector; + this.ResetOld(); + this.State = TOUCH_STATE.PUSH; + this.m_fMax = 0f; + } + else + { + float magnitude = this.DeltaPosition.magnitude; + if (magnitude > this.m_fMax) + { + this.m_fMax = magnitude; + } + if (magnitude > 0f) + { + if (this.State != TOUCH_STATE.DRAG) + { + this.State = TOUCH_STATE.DRAG; + } + } + else if (this.State != TOUCH_STATE.DRAG) + { + this.State = TOUCH_STATE.PUSH; + } + } + } + else if (Input.GetMouseButtonUp(0)) + { + this.UpdateNowPos(vector); + this.m_isPush = false; + this.CalcEndState(); + this.m_fMax = 0f; + } + else + { + this.Clear(); + } + } + + // Token: 0x06000AC0 RID: 2752 RVA: 0x0002F3D0 File Offset: 0x0002D5D0 + private void UpdateNowPos(Vector2 now) + { + this.m_posNow = now; + if (this.m_posOld.Count > 4) + { + this.m_posOld.Dequeue(); + } + this.m_posOld.Enqueue(now); + } + + // Token: 0x06000AC1 RID: 2753 RVA: 0x0002F410 File Offset: 0x0002D610 + private void ResetOld() + { + this.m_posOld.Clear(); + } + + // Token: 0x06000AC2 RID: 2754 RVA: 0x0002F420 File Offset: 0x0002D620 + public void Clear() + { + this.m_posStart = new Vector2(0f, 0f); + this.m_posOld.Clear(); + this.m_posNow = new Vector2(0f, 0f); + this.m_posEnd = new Vector2(0f, 0f); + this.m_isPush = false; + this.m_eState = TOUCH_STATE.NULL; + } + + // Token: 0x06000AC3 RID: 2755 RVA: 0x0002F488 File Offset: 0x0002D688 + private void CalcEndState() + { + float magnitude = this.DeltaPosition.magnitude; + float magnitude2 = this.StartDeltaPosition.magnitude; + if (magnitude > 32f) + { + this.State = TOUCH_STATE.FLICK; + this.m_posEnd = this.m_posNow; + } + else if (magnitude2 < 16f && this.m_fMax < 16f) + { + this.State = TOUCH_STATE.CLICK; + this.m_posEnd = this.m_posNow; + } + else + { + this.State = TOUCH_STATE.DRAG_END; + this.m_posEnd = this.m_posNow; + } + } + + // Token: 0x06000AC4 RID: 2756 RVA: 0x0002F51C File Offset: 0x0002D71C + public void ResetStartPosition() + { + if (this.IsPush) + { + this.m_posStart = this.m_posNow; + } + } + + // Token: 0x06000AC5 RID: 2757 RVA: 0x0002F538 File Offset: 0x0002D738 + private void SetLeaveEvent() + { + this.m_posEnd = this.m_posNow; + this.State = TOUCH_STATE.NULL; + } + + // Token: 0x040008A7 RID: 2215 + private const int DEF_OLD_BUF = 4; + + // Token: 0x040008A8 RID: 2216 + private const float DEF_FLICK_DELTA = 32f; + + // Token: 0x040008A9 RID: 2217 + private const float DEF_CLICK_DELTA = 16f; + + // Token: 0x040008AA RID: 2218 + private Vector2 m_posStart = default(Vector2); + + // Token: 0x040008AB RID: 2219 + private Queue m_posOld = new Queue(); + + // Token: 0x040008AC RID: 2220 + private Vector2 m_posNow = default(Vector2); + + // Token: 0x040008AD RID: 2221 + private Vector2 m_posEnd = default(Vector2); + + // Token: 0x040008AE RID: 2222 + private float m_fMax; + + // Token: 0x040008AF RID: 2223 + private bool m_isPush; + + // Token: 0x040008B0 RID: 2224 + private TOUCH_STATE m_eState; + + // Token: 0x040008B1 RID: 2225 + private int m_Width; + + // Token: 0x040008B2 RID: 2226 + private int m_Height; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnitySprite.cs b/Assets/Scripts/Assembly-CSharp/UnitySprite.cs new file mode 100644 index 000000000..11b85ed81 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnitySprite.cs @@ -0,0 +1,676 @@ +using System; +using Qoo; +using UnityEngine; + +// Token: 0x0200015A RID: 346 +public class UnitySprite +{ + // Token: 0x060009C5 RID: 2501 RVA: 0x0002B634 File Offset: 0x00029834 + public UnitySprite(bool IsSprite = true, GameObject parent = null, bool IsText = false) + { + this.id = (UnitySprite.id_base += 1U); + if (!IsText) + { + this.obj = CreateSprite.Create(); + } + else + { + this.obj = CreateSprite.CreateTextSprite(); + } + this.obj.transform.parent = parent.transform; + if (IsSprite) + { + this.obj.layer = LayerMask.NameToLayer("Sprite"); + this.IsUseTex = true; + } + else + { + this.obj.layer = 0; + this.IsUseTex = false; + } + } + + // Token: 0x1700012F RID: 303 + // (get) Token: 0x060009C6 RID: 2502 RVA: 0x0002B700 File Offset: 0x00029900 + // (set) Token: 0x060009C7 RID: 2503 RVA: 0x0002B708 File Offset: 0x00029908 + public virtual int x + { + get + { + return this.m_nX; + } + set + { + this.m_nX = value; + } + } + + // Token: 0x17000130 RID: 304 + // (get) Token: 0x060009C8 RID: 2504 RVA: 0x0002B714 File Offset: 0x00029914 + // (set) Token: 0x060009C9 RID: 2505 RVA: 0x0002B71C File Offset: 0x0002991C + public virtual int y + { + get + { + return this.m_nY; + } + set + { + this.m_nY = value; + } + } + + // Token: 0x17000131 RID: 305 + // (get) Token: 0x060009CA RID: 2506 RVA: 0x0002B728 File Offset: 0x00029928 + // (set) Token: 0x060009CB RID: 2507 RVA: 0x0002B730 File Offset: 0x00029930 + public virtual int z + { + get + { + return this.m_nZ; + } + set + { + this.m_nZ = value; + } + } + + // Token: 0x17000132 RID: 306 + // (get) Token: 0x060009CC RID: 2508 RVA: 0x0002B73C File Offset: 0x0002993C + // (set) Token: 0x060009CD RID: 2509 RVA: 0x0002B744 File Offset: 0x00029944 + public virtual int w + { + get + { + return this.m_nW; + } + set + { + this.m_nW = value; + } + } + + // Token: 0x17000133 RID: 307 + // (get) Token: 0x060009CE RID: 2510 RVA: 0x0002B750 File Offset: 0x00029950 + // (set) Token: 0x060009CF RID: 2511 RVA: 0x0002B758 File Offset: 0x00029958 + public virtual int h + { + get + { + return this.m_nH; + } + set + { + this.m_nH = value; + } + } + + // Token: 0x17000134 RID: 308 + // (get) Token: 0x060009D0 RID: 2512 RVA: 0x0002B764 File Offset: 0x00029964 + // (set) Token: 0x060009D1 RID: 2513 RVA: 0x0002B76C File Offset: 0x0002996C + public virtual int OrgW + { + get + { + return this.orgW; + } + protected set + { + this.orgW = value; + } + } + + // Token: 0x17000135 RID: 309 + // (get) Token: 0x060009D2 RID: 2514 RVA: 0x0002B778 File Offset: 0x00029978 + // (set) Token: 0x060009D3 RID: 2515 RVA: 0x0002B780 File Offset: 0x00029980 + public virtual int OrgH + { + get + { + return this.orgH; + } + protected set + { + this.orgH = value; + } + } + + // Token: 0x17000136 RID: 310 + // (get) Token: 0x060009D4 RID: 2516 RVA: 0x0002B78C File Offset: 0x0002998C + // (set) Token: 0x060009D5 RID: 2517 RVA: 0x0002B794 File Offset: 0x00029994 + public virtual bool Show + { + get + { + return this.isShow; + } + set + { + this.isShow = value; + } + } + + // Token: 0x17000137 RID: 311 + // (get) Token: 0x060009D6 RID: 2518 RVA: 0x0002B7A0 File Offset: 0x000299A0 + // (set) Token: 0x060009D7 RID: 2519 RVA: 0x0002B7A8 File Offset: 0x000299A8 + public virtual int Effect + { + get + { + return this.m_nEffect; + } + set + { + this.m_nEffect = value; + } + } + + // Token: 0x17000138 RID: 312 + // (get) Token: 0x060009D8 RID: 2520 RVA: 0x0002B7B4 File Offset: 0x000299B4 + // (set) Token: 0x060009D9 RID: 2521 RVA: 0x0002B7BC File Offset: 0x000299BC + public virtual Color32 FxColor + { + get + { + return this.m_colorFx; + } + set + { + this.m_colorFx = value; + } + } + + // Token: 0x17000139 RID: 313 + // (get) Token: 0x060009DA RID: 2522 RVA: 0x0002B7C8 File Offset: 0x000299C8 + public virtual bool IsTexRelease + { + get + { + return true; + } + } + + // Token: 0x060009DB RID: 2523 RVA: 0x0002B7CC File Offset: 0x000299CC + public bool Reset() + { + this.DeleteMaterial(); + if (this.obj != null && this.obj.GetComponent().sharedMesh != null) + { + this.obj.GetComponent().sharedMesh.Clear(); + UnityEngine.Object.Destroy(this.obj.GetComponent().sharedMesh); + this.obj.GetComponent().sharedMesh = null; + } + if (this.obj != null) + { + UnityEngine.Object.Destroy(this.obj); + } + this.obj = null; + this.tex = null; + return true; + } + + // Token: 0x060009DC RID: 2524 RVA: 0x0002B874 File Offset: 0x00029A74 + public void DeleteMaterial() + { + if (this.obj != null && this.obj.renderer != null && this.obj.renderer.material != null && this.obj.renderer.material.shader != null) + { + UnityEngine.Object.Destroy(this.obj.renderer.material); + this.obj.renderer.material = null; + } + } + + // Token: 0x060009DD RID: 2525 RVA: 0x0002B90C File Offset: 0x00029B0C + public void SetMaterial(string shader_name) + { + this.DeleteMaterial(); + this.obj.renderer.material = new Material(Resources.Load(shader_name) as Shader); + } + + // Token: 0x060009DE RID: 2526 RVA: 0x0002B940 File Offset: 0x00029B40 + public virtual void Update(int ScrW, int ScrH, float worldZ) + { + if (this.OldBrend != this.Brend) + { + switch (this.Brend) + { + case SPRITE_DRAW_MODE.MUL: + this.SetMaterial("Shader/Sprite/Sprite"); + break; + case SPRITE_DRAW_MODE.MUL_NOTEXALPHA: + this.SetMaterial("Shader/Sprite/Sprite NoTexAlpha"); + break; + case SPRITE_DRAW_MODE.ADD: + this.SetMaterial("Shader/Sprite/Sprite Add"); + break; + case SPRITE_DRAW_MODE.SUB: + this.SetMaterial("Shader/Sprite/Sprite Sub"); + break; + case SPRITE_DRAW_MODE.TEX_ALPHA: + this.SetMaterial("Shader/Sprite/Sprite Flash"); + break; + case SPRITE_DRAW_MODE.BACK: + this.SetMaterial("Shader/Sprite/Sprite Back"); + break; + } + this.OldBrend = this.Brend; + } + if (this.IsUseTex) + { + if (this.tex != null) + { + this.obj.renderer.material.mainTexture = this.tex.m_Texture; + } + else + { + this.obj.renderer.material.mainTexture = null; + } + } + this.UpdateUVAnim(); + if (this.obj.activeSelf != this.Show) + { + this.obj.SetActive(this.Show); + } + this.obj.transform.localPosition = new Vector3((float)(this.x + this.m_nFx - ScrW / 2), (float)(-(float)this.y + this.m_nFy + ScrH / 2), worldZ); + if (this.obj.transform.localScale != new Vector3((float)this.w, (float)this.h, 0f)) + { + this.obj.transform.localScale = new Vector3((float)this.w, (float)this.h, 0f); + } + if (this.Brend != SPRITE_DRAW_MODE.OTHER) + { + this.obj.renderer.material.SetVector("_UVWH", new Vector4((float)this.U / (float)this.OrgW, (float)(this.OrgH - this.V) / (float)this.OrgH - (float)this.VH / (float)this.OrgH, (float)this.UW / (float)this.OrgW, (float)this.VH / (float)this.OrgH)); + SPRITE_DRAW_MODE brend = this.Brend; + if (brend == SPRITE_DRAW_MODE.TEX_ALPHA) + { + this.obj.renderer.material.SetColor("_EffectColor", this.m_colorFx); + } + } + this.obj.renderer.material.color = new Color((float)this.R / 255f, (float)this.G / 255f, (float)this.B / 255f, (float)this.A / 255f); + } + + // Token: 0x060009DF RID: 2527 RVA: 0x0002BC1C File Offset: 0x00029E1C + public void SetImage(UnityTexture tex_) + { + if (this.tex != null && this.tex != tex_) + { + Singleton.Instance.ReleaseTexture(this.tex, false); + } + this.tex = tex_; + if (this.obj) + { + if (this.tex == null) + { + int num = 0; + this.OrgW = num; + this.w = (this.UW = num); + num = 0; + this.OrgH = num; + this.h = (this.VH = num); + } + else + { + if (!this.tex.IsInit) + { + Qoo.Debug.Print("+++++間に合ってない。" + this.tex.m_Name); + } + int num = this.tex.m_Texture.width; + this.OrgW = num; + this.w = (this.UW = num); + num = this.tex.m_Texture.height; + this.OrgH = num; + this.h = (this.VH = num); + this.w = (int)((float)this.w * this.tex.m_Scale.w); + this.h = (int)((float)this.h * this.tex.m_Scale.h); + } + } + } + + // Token: 0x060009E0 RID: 2528 RVA: 0x0002BD64 File Offset: 0x00029F64 + public void SetRenderImage(Texture offscreen, int w_, int h_) + { + if (this.obj) + { + if (offscreen == null) + { + this.A = 0; + } + this.obj.renderer.material.mainTexture = offscreen; + this.OrgW = w_; + this.UW = w_; + this.w = w_; + this.OrgH = h_; + this.VH = h_; + this.h = h_; + } + } + + // Token: 0x060009E1 RID: 2529 RVA: 0x0002BDDC File Offset: 0x00029FDC + public void SetMaterial(Material mat_, int screenW, int screenH) + { + this.IsUseTex = false; + if (this.obj) + { + this.obj.renderer.material = mat_; + this.OrgW = screenW; + this.UW = screenW; + this.w = screenW; + this.OrgH = screenH; + this.VH = screenH; + this.h = screenH; + } + } + + // Token: 0x060009E2 RID: 2530 RVA: 0x0002BE44 File Offset: 0x0002A044 + public void ResetUVAnim() + { + this.UVAnimCnt = -1; + this.UVAnimIndex = 0; + } + + // Token: 0x060009E3 RID: 2531 RVA: 0x0002BE54 File Offset: 0x0002A054 + public void UpdateUVAnim() + { + if (!this.UVAnimOn) + { + return; + } + if (this.PtnNumX <= 1 && this.PtnNumY <= 1) + { + this.UVAnimOn = false; + return; + } + if (this.UVAnimCnt >= this.UVAnimWait) + { + this.UVAnimCnt = 0; + this.UVAnimIndex++; + if (this.UVAnimIndex >= this.PtnNumX * this.PtnNumY) + { + if (this.UVAnimRepeat) + { + this.UVAnimIndex %= this.PtnNumX * this.PtnNumY; + } + else + { + this.UVAnimIndex = this.PtnNumX * this.PtnNumY - 1; + this.UVAnimOn = false; + } + } + } + else + { + this.UVAnimCnt++; + } + if (this.UVAnimIndex >= 0 && this.UVAnimIndex < this.PtnNumX * this.PtnNumY) + { + this.SetPtnPos(this.UVAnimIndex % this.PtnNumX, this.UVAnimIndex / this.PtnNumX); + } + } + + // Token: 0x060009E4 RID: 2532 RVA: 0x0002BF68 File Offset: 0x0002A168 + public void SetPtnPos(int nPosX, int nPosY) + { + if (nPosX < this.PtnNumX && nPosY < this.PtnNumY) + { + this.w = (this.UW = this.OrgW / this.PtnNumX); + this.h = (this.VH = this.OrgH / this.PtnNumY); + this.U = this.UW * nPosX; + this.V = this.VH * nPosY; + if (this.tex != null) + { + this.w = (int)((float)this.w * this.tex.m_Scale.w); + this.h = (int)((float)this.h * this.tex.m_Scale.h); + } + } + } + + // Token: 0x060009E5 RID: 2533 RVA: 0x0002C02C File Offset: 0x0002A22C + public void SetPtnNum(int nNumX, int nNumY) + { + this.PtnNumX = nNumX; + this.PtnNumY = nNumY; + } + + // Token: 0x060009E6 RID: 2534 RVA: 0x0002C03C File Offset: 0x0002A23C + public void EnableUVAnim(bool bOn) + { + this.UVAnimOn = bOn; + } + + // Token: 0x060009E7 RID: 2535 RVA: 0x0002C048 File Offset: 0x0002A248 + public bool IsEnableUVAnim() + { + return this.UVAnimOn; + } + + // Token: 0x060009E8 RID: 2536 RVA: 0x0002C050 File Offset: 0x0002A250 + public void RepeatUVAnim(bool bOn) + { + this.UVAnimRepeat = bOn; + } + + // Token: 0x060009E9 RID: 2537 RVA: 0x0002C05C File Offset: 0x0002A25C + public void SetUVAnimWait(int nWait) + { + this.UVAnimWait = nWait; + } + + // Token: 0x060009EA RID: 2538 RVA: 0x0002C068 File Offset: 0x0002A268 + public void SetCenterPosH() + { + this.x = (960 - this.w) / 2; + } + + // Token: 0x060009EB RID: 2539 RVA: 0x0002C080 File Offset: 0x0002A280 + public void SetRightPosH() + { + this.x = 960 - this.w; + } + + // Token: 0x060009EC RID: 2540 RVA: 0x0002C094 File Offset: 0x0002A294 + public void SetCenterPosV() + { + this.y = (544 - this.h) / 2; + } + + // Token: 0x060009ED RID: 2541 RVA: 0x0002C0AC File Offset: 0x0002A2AC + public void SetBottomPosV() + { + if (this.h < 544) + { + this.y = 544 - this.h; + } + else + { + this.y = 0; + } + } + + // Token: 0x060009EE RID: 2542 RVA: 0x0002C0E8 File Offset: 0x0002A2E8 + public void SetName(string name) + { + if (this.obj) + { + this.obj.transform.name = name; + } + } + + // Token: 0x060009EF RID: 2543 RVA: 0x0002C10C File Offset: 0x0002A30C + public void SetColor(Color32 col) + { + this.R = col.r; + this.G = col.g; + this.B = col.b; + this.A = col.a; + } + + // Token: 0x060009F0 RID: 2544 RVA: 0x0002C150 File Offset: 0x0002A350 + public void SetSize(int w_, int h_) + { + this.w = w_; + this.h = h_; + } + + // Token: 0x060009F1 RID: 2545 RVA: 0x0002C160 File Offset: 0x0002A360 + public void SetFxPos(int x_, int y_) + { + this.m_nFx = x_; + this.m_nFy = y_; + } + + // Token: 0x060009F2 RID: 2546 RVA: 0x0002C170 File Offset: 0x0002A370 + public void CalcRenderImageOffset(int width, int height) + { + float num = (float)this.OrgW / (float)this.OrgH; + float num2 = (float)width / (float)height; + if (num2 < num) + { + float num3 = (float)width / (float)this.OrgW; + float num4 = (float)this.OrgH * num3; + this.w = width; + this.h = (int)num4; + this.y = (height - (int)num4) / 2; + } + else if (num2 > num) + { + float num5 = (float)height / (float)this.OrgH; + float num6 = (float)this.OrgW * num5; + this.w = (int)num6; + this.h = height; + this.y = 0; + this.x = (width - (int)num6) / 2; + } + else + { + this.w = width; + this.h = height; + this.y = 0; + } + } + + // Token: 0x060009F3 RID: 2547 RVA: 0x0002C22C File Offset: 0x0002A42C + internal void SetPos(int iX, int iY, int z_) + { + this.x = iX; + this.y = iY; + this.z = z_; + } + + // Token: 0x060009F4 RID: 2548 RVA: 0x0002C244 File Offset: 0x0002A444 + internal bool IsEqualCg(string idCG) + { + return this.tex != null && this.tex.m_Name == ManTexture.NormalizeName(idCG); + } + + // Token: 0x060009F5 RID: 2549 RVA: 0x0002C26C File Offset: 0x0002A46C + public bool IsHit(Point2 pos_) + { + return this.Show && this.x <= pos_.x && pos_.x < this.x + this.w && this.y <= pos_.y && pos_.y < this.y + this.h; + } + + // Token: 0x040007F6 RID: 2038 + public uint id; + + // Token: 0x040007F7 RID: 2039 + private int m_nX; + + // Token: 0x040007F8 RID: 2040 + private int m_nY; + + // Token: 0x040007F9 RID: 2041 + private int m_nZ; + + // Token: 0x040007FA RID: 2042 + private int m_nFx; + + // Token: 0x040007FB RID: 2043 + private int m_nFy; + + // Token: 0x040007FC RID: 2044 + private int m_nW; + + // Token: 0x040007FD RID: 2045 + private int m_nH; + + // Token: 0x040007FE RID: 2046 + public int U; + + // Token: 0x040007FF RID: 2047 + public int V; + + // Token: 0x04000800 RID: 2048 + public int UW; + + // Token: 0x04000801 RID: 2049 + public int VH; + + // Token: 0x04000802 RID: 2050 + private int orgW; + + // Token: 0x04000803 RID: 2051 + private int orgH; + + // Token: 0x04000804 RID: 2052 + private bool isShow = true; + + // Token: 0x04000805 RID: 2053 + public float Rotate; + + // Token: 0x04000806 RID: 2054 + public int PtnNumX; + + // Token: 0x04000807 RID: 2055 + public int PtnNumY; + + // Token: 0x04000808 RID: 2056 + public int UVAnimWait; + + // Token: 0x04000809 RID: 2057 + public int UVAnimCnt; + + // Token: 0x0400080A RID: 2058 + public int UVAnimIndex; + + // Token: 0x0400080B RID: 2059 + public bool UVAnimOn; + + // Token: 0x0400080C RID: 2060 + public bool UVAnimRepeat; + + // Token: 0x0400080D RID: 2061 + public byte R = byte.MaxValue; + + // Token: 0x0400080E RID: 2062 + public byte G = byte.MaxValue; + + // Token: 0x0400080F RID: 2063 + public byte B = byte.MaxValue; + + // Token: 0x04000810 RID: 2064 + public byte A = byte.MaxValue; + + // Token: 0x04000811 RID: 2065 + public byte Bright; + + // Token: 0x04000812 RID: 2066 + public Color32 m_colorFx; + + // Token: 0x04000813 RID: 2067 + public SPRITE_DRAW_MODE Brend; + + // Token: 0x04000814 RID: 2068 + public SPRITE_DRAW_MODE OldBrend; + + // Token: 0x04000815 RID: 2069 + private int m_nEffect; + + // Token: 0x04000816 RID: 2070 + public GameObject obj; + + // Token: 0x04000817 RID: 2071 + public UnityTexture tex; + + // Token: 0x04000818 RID: 2072 + protected bool IsUseTex; + + // Token: 0x04000819 RID: 2073 + private static uint id_base; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityTask.cs b/Assets/Scripts/Assembly-CSharp/UnityTask.cs new file mode 100644 index 000000000..76f2f07d5 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityTask.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections; + +// Token: 0x0200018E RID: 398 +public class UnityTask +{ + // Token: 0x06000B62 RID: 2914 RVA: 0x00030C08 File Offset: 0x0002EE08 + public UnityTask(IEnumerator task_) + { + this.task = task_; + this.type = TASK_TYPE.COROUTINE; + this.IsTaskEnd = false; + } + + // Token: 0x06000B63 RID: 2915 RVA: 0x00030C28 File Offset: 0x0002EE28 + public UnityTask(IEnumerator task_, bool isNoUnityTask) + { + this.task = task_; + if (isNoUnityTask) + { + this.type = TASK_TYPE.COROUTINE_NOUNITY; + } + else + { + this.type = TASK_TYPE.COROUTINE; + } + this.IsTaskEnd = false; + } + + // Token: 0x06000B64 RID: 2916 RVA: 0x00030C58 File Offset: 0x0002EE58 + private UnityTask(TASK_TYPE type_) + { + this.task = null; + this.type = type_; + this.IsTaskEnd = false; + } + + // Token: 0x06000B65 RID: 2917 RVA: 0x00030C78 File Offset: 0x0002EE78 + private UnityTask(float waitTime) + { + this.type = TASK_TYPE.TIME_WAIT; + this.param_float = waitTime; + this.IsTaskEnd = false; + } + + // Token: 0x06000B66 RID: 2918 RVA: 0x00030C98 File Offset: 0x0002EE98 + private UnityTask(string name_, float time_) + { + this.type = TASK_TYPE.EFFECT; + this.param_string = name_; + this.param_float = time_; + } + + // Token: 0x17000185 RID: 389 + // (get) Token: 0x06000B67 RID: 2919 RVA: 0x00030CB8 File Offset: 0x0002EEB8 + // (set) Token: 0x06000B68 RID: 2920 RVA: 0x00030CC0 File Offset: 0x0002EEC0 + public bool IsTaskEnd { get; set; } + + // Token: 0x06000B69 RID: 2921 RVA: 0x00030CCC File Offset: 0x0002EECC + public static int FrameUpdate() + { + Singleton.Instance.AddSubTask(new UnityTask(TASK_TYPE.NEXT_FRAME)); + return 0; + } + + // Token: 0x06000B6A RID: 2922 RVA: 0x00030CE0 File Offset: 0x0002EEE0 + public static int Effect(string name, float time) + { + Singleton.Instance.AddSubTask(new UnityTask(name, time)); + return 0; + } + + // Token: 0x06000B6B RID: 2923 RVA: 0x00030CF8 File Offset: 0x0002EEF8 + public static int Wait(float time) + { + Singleton.Instance.AddSubTask(new UnityTask(time)); + return 0; + } + + // Token: 0x06000B6C RID: 2924 RVA: 0x00030D0C File Offset: 0x0002EF0C + public static int SetMainTask(IEnumerator task_) + { + Singleton.Instance.AddMainTask(new UnityTask(task_)); + return 0; + } + + // Token: 0x06000B6D RID: 2925 RVA: 0x00030D20 File Offset: 0x0002EF20 + public static int SetSubTask(IEnumerator task_) + { + Singleton.Instance.AddSubTask(new UnityTask(task_)); + return 0; + } + + // Token: 0x06000B6E RID: 2926 RVA: 0x00030D34 File Offset: 0x0002EF34 + public static int SetSubNoUnityTask(IEnumerator task_) + { + Singleton.Instance.AddSubTask(new UnityTask(task_, true)); + return 0; + } + + // Token: 0x06000B6F RID: 2927 RVA: 0x00030D4C File Offset: 0x0002EF4C + public static void SetReadTask(IEnumerator task_) + { + Singleton.Instance.AddReadTask(new UnityTask(task_)); + } + + // Token: 0x06000B70 RID: 2928 RVA: 0x00030D60 File Offset: 0x0002EF60 + public bool MoveNext() + { + if (this.m_Child != null) + { + if (this.m_Child.MoveNext()) + { + return true; + } + this.m_Child = null; + } + if (this.task.MoveNext()) + { + if (this.task.Current is IEnumerator) + { + this.m_Child = new UnityTask(this.task.Current as IEnumerator); + } + return true; + } + return false; + } + + // Token: 0x040008FD RID: 2301 + private UnityTask m_Child; + + // Token: 0x040008FE RID: 2302 + public IEnumerator task; + + // Token: 0x040008FF RID: 2303 + public TASK_TYPE type; + + // Token: 0x04000900 RID: 2304 + public float param_float; + + // Token: 0x04000901 RID: 2305 + public string param_string; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityTextSprite.cs b/Assets/Scripts/Assembly-CSharp/UnityTextSprite.cs new file mode 100644 index 000000000..3f2c0312b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityTextSprite.cs @@ -0,0 +1,429 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x0200015C RID: 348 +public class UnityTextSprite : UnitySprite +{ + // Token: 0x060009FB RID: 2555 RVA: 0x0002C3F4 File Offset: 0x0002A5F4 + public UnityTextSprite(bool IsSprite = true, GameObject parent = null) : base(IsSprite, parent, true) + { + this.mFilter = this.obj.GetComponent(); + this.mesh = this.mFilter.sharedMesh; + if (this.mesh == null) + { + this.mesh = new Mesh(); + this.mesh.hideFlags = HideFlags.DontSave; + this.mFilter.sharedMesh = this.mesh; + } + this.IsUseTex = true; + } + + // Token: 0x1700013C RID: 316 + // (get) Token: 0x060009FC RID: 2556 RVA: 0x0002C4E0 File Offset: 0x0002A6E0 + // (set) Token: 0x060009FD RID: 2557 RVA: 0x0002C4F4 File Offset: 0x0002A6F4 + public override int w + { + get + { + return (int)((float)this.OrgW * this.fWidth); + } + set + { + this.fWidth = (float)(value / this.OrgW); + } + } + + // Token: 0x1700013D RID: 317 + // (get) Token: 0x060009FE RID: 2558 RVA: 0x0002C508 File Offset: 0x0002A708 + // (set) Token: 0x060009FF RID: 2559 RVA: 0x0002C51C File Offset: 0x0002A71C + public override int h + { + get + { + return (int)((float)this.OrgH * this.fHeight); + } + set + { + this.fHeight = (float)(value / this.OrgH); + } + } + + // Token: 0x1700013E RID: 318 + // (get) Token: 0x06000A00 RID: 2560 RVA: 0x0002C530 File Offset: 0x0002A730 + // (set) Token: 0x06000A01 RID: 2561 RVA: 0x0002C538 File Offset: 0x0002A738 + public int MarginX + { + get + { + return this.marginX; + } + set + { + this.marginX = value; + } + } + + // Token: 0x1700013F RID: 319 + // (get) Token: 0x06000A02 RID: 2562 RVA: 0x0002C544 File Offset: 0x0002A744 + // (set) Token: 0x06000A03 RID: 2563 RVA: 0x0002C54C File Offset: 0x0002A74C + public int MarginY + { + get + { + return this.marginY; + } + set + { + this.marginY = value; + } + } + + // Token: 0x06000A04 RID: 2564 RVA: 0x0002C558 File Offset: 0x0002A758 + public void SetPosition(int nX, int nY, UnityTextSprite.PositionType px = UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType py = UnityTextSprite.PositionType.TopLeft) + { + if (px != UnityTextSprite.PositionType.TopLeft || py != UnityTextSprite.PositionType.TopLeft) + { + this.CalcSize(); + this.x = nX + this.calcOfs(this.w, px); + this.y = nY + this.calcOfs(this.h, py); + } + else + { + this.x = nX; + this.y = nY; + } + } + + // Token: 0x06000A05 RID: 2565 RVA: 0x0002C5B8 File Offset: 0x0002A7B8 + private int calcOfs(int wh, UnityTextSprite.PositionType p) + { + switch (p) + { + case UnityTextSprite.PositionType.TopLeft: + return 0; + case UnityTextSprite.PositionType.Center: + return -wh / 2; + case UnityTextSprite.PositionType.BottomRight: + return -wh; + default: + return 0; + } + } + + // Token: 0x17000140 RID: 320 + // (get) Token: 0x06000A06 RID: 2566 RVA: 0x0002C5EC File Offset: 0x0002A7EC + // (set) Token: 0x06000A07 RID: 2567 RVA: 0x0002C5F4 File Offset: 0x0002A7F4 + public UIFont Font + { + get + { + return this.font; + } + set + { + this.font = value; + if (this.font != null) + { + this.tex = this.font.texture; + } + } + } + + // Token: 0x17000141 RID: 321 + // (get) Token: 0x06000A08 RID: 2568 RVA: 0x0002C620 File Offset: 0x0002A820 + public override bool IsTexRelease + { + get + { + return false; + } + } + + // Token: 0x06000A09 RID: 2569 RVA: 0x0002C624 File Offset: 0x0002A824 + public void ClearText() + { + this.text.Clear(); + this.linePos.Clear(); + this.charPosX = 0; + this.charPosY = 0; + } + + // Token: 0x06000A0A RID: 2570 RVA: 0x0002C658 File Offset: 0x0002A858 + public bool AddText(string str_, int size) + { + int charSize = this.font.Font.charSize; + float scale_ = this.Scale(charSize, size); + foreach (char c in str_) + { + if (c == '\n') + { + this.charPosX = 0; + this.charPosY += size + this.MarginY; + this.linePos.Add(this.text.Count); + } + else + { + BMGlyph glyph = this.font.Font.GetGlyph((int)c); + int num = size; + if (glyph != null) + { + this.text.Add(new CharObject(c, size, this.charPosX, this.charPosY, glyph, scale_, this.textColor)); + float num2 = (float)glyph.advance / (float)this.font.Font.charSize; + num = (int)((float)size * num2); + } + this.charPosX += num + this.MarginX; + } + } + this.isUpdate = true; + return true; + } + + // Token: 0x06000A0B RID: 2571 RVA: 0x0002C76C File Offset: 0x0002A96C + public bool Normalize() + { + int top_y = 0; + int num = 0; + int num2; + if (this.linePos.Count > 0) + { + for (int i = 0; i < this.linePos.Count; i++) + { + num2 = this.linePos[i]; + top_y = this.SortUnderLine(num, num2, top_y) + this.MarginY; + num = num2; + } + } + num2 = this.text.Count; + if (num2 != num) + { + top_y = this.SortUnderLine(num, num2, top_y); + } + this.isUpdate = true; + return true; + } + + // Token: 0x06000A0C RID: 2572 RVA: 0x0002C7F4 File Offset: 0x0002A9F4 + public bool SetArray(CharObject[] array) + { + int charSize = this.font.Font.charSize; + this.ClearText(); + foreach (CharObject charObject in array) + { + if (charObject.color.a != 0) + { + if (charObject.code != '\0') + { + if (charObject.size != 0) + { + if (charObject.glyph == null) + { + charObject.glyph = this.font.Font.GetGlyph((int)charObject.code); + } + if (charObject.glyph != null) + { + charObject.scale = this.Scale(charSize, charObject.size); + this.text.Add(charObject); + } + } + } + } + } + this.isUpdate = true; + return true; + } + + // Token: 0x06000A0D RID: 2573 RVA: 0x0002C8C0 File Offset: 0x0002AAC0 + public void CalcSize() + { + if (this.isUpdate) + { + int num = 0; + int num2 = 0; + foreach (CharObject charObject in this.text) + { + num2 = Math.Max(charObject.X + charObject.Width, num2); + num = Math.Max(charObject.Y + charObject.Height, num); + } + this.OrgW = (this.UW = num2); + this.OrgH = (this.VH = num); + } + } + + // Token: 0x06000A0E RID: 2574 RVA: 0x0002C97C File Offset: 0x0002AB7C + public void Clear() + { + this.text.Clear(); + this.linePos.Clear(); + this.mesh.Clear(); + this.verts.Clear(); + this.uv.Clear(); + this.color.Clear(); + int num = 0; + this.y = num; + this.x = num; + this.fWidth = 1f; + this.fHeight = 1f; + this.isUpdate = true; + } + + // Token: 0x06000A0F RID: 2575 RVA: 0x0002C9F8 File Offset: 0x0002ABF8 + public override void Update(int ScrW, int ScrH, float worldZ) + { + if (this.isUpdate) + { + this.CalcSize(); + this.verts.Clear(); + this.uv.Clear(); + this.color.Clear(); + this.font.Print(this.text, this.verts, this.uv, this.color); + this.BuildMesh(); + this.isUpdate = false; + } + if (this.IsUseTex) + { + if (this.tex != null) + { + this.obj.renderer.material.mainTexture = this.tex.m_Texture; + } + else + { + this.obj.renderer.material.mainTexture = null; + } + } + this.obj.transform.localPosition = new Vector3((float)(this.x - ScrW / 2), (float)(-(float)this.y + ScrH / 2), worldZ); + this.obj.transform.localScale = new Vector3(this.fWidth, this.fHeight, 0f); + this.obj.renderer.material.color = new Color((float)this.R / 255f, (float)this.G / 255f, (float)this.B / 255f, (float)this.A / 255f); + this.obj.SetActive(this.Show); + } + + // Token: 0x06000A10 RID: 2576 RVA: 0x0002CB6C File Offset: 0x0002AD6C + private void BuildMesh() + { + int count = this.verts.Count; + int num = (count >> 1) * 3; + bool flag = this.mIndices == null || this.mIndices.Length != num; + if (flag) + { + int num2 = 0; + this.mIndices = new int[num]; + for (int i = 0; i < count; i += 4) + { + this.mIndices[num2++] = i; + this.mIndices[num2++] = i + 1; + this.mIndices[num2++] = i + 2; + this.mIndices[num2++] = i + 2; + this.mIndices[num2++] = i + 3; + this.mIndices[num2++] = i; + } + this.mesh.Clear(); + } + if (this.verts.Count > 0) + { + this.mesh.vertices = this.verts.ToArray(); + } + if (this.uv.Count > 0) + { + this.mesh.uv = this.uv.ToArray(); + } + if (this.color.Count > 0) + { + this.mesh.colors32 = this.color.ToArray(); + } + if (flag) + { + this.mesh.triangles = this.mIndices; + } + this.mesh.RecalculateBounds(); + this.mFilter.mesh = this.mesh; + } + + // Token: 0x06000A11 RID: 2577 RVA: 0x0002CCE4 File Offset: 0x0002AEE4 + private float Scale(int size, int base_size) + { + return (float)base_size / (float)size; + } + + // Token: 0x06000A12 RID: 2578 RVA: 0x0002CCEC File Offset: 0x0002AEEC + private int SortUnderLine(int now, int end, int top_y) + { + int num = 0; + foreach (CharObject charObject in this.text.GetRange(now, end - now)) + { + num = Math.Max(num, Math.Max(charObject.Y, top_y) + charObject.Height); + } + foreach (CharObject charObject2 in this.text.GetRange(now, end - now)) + { + charObject2.Y = num - charObject2.Height; + } + return num; + } + + // Token: 0x06000A13 RID: 2579 RVA: 0x0002CDD8 File Offset: 0x0002AFD8 + public void SetTextColor(Color32 col_) + { + this.textColor = col_; + } + + // Token: 0x04000823 RID: 2083 + private UIFont font; + + // Token: 0x04000824 RID: 2084 + private List text = new List(); + + // Token: 0x04000825 RID: 2085 + private List linePos = new List(); + + // Token: 0x04000826 RID: 2086 + private bool isUpdate; + + // Token: 0x04000827 RID: 2087 + private Mesh mesh; + + // Token: 0x04000828 RID: 2088 + private MeshFilter mFilter; + + // Token: 0x04000829 RID: 2089 + private List verts = new List(); + + // Token: 0x0400082A RID: 2090 + private List uv = new List(); + + // Token: 0x0400082B RID: 2091 + private List color = new List(); + + // Token: 0x0400082C RID: 2092 + private Color32 textColor = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue); + + // Token: 0x0400082D RID: 2093 + private int[] mIndices; + + // Token: 0x0400082E RID: 2094 + private int charPosX; + + // Token: 0x0400082F RID: 2095 + private int charPosY; + + // Token: 0x04000830 RID: 2096 + private float fWidth = 1f; + + // Token: 0x04000831 RID: 2097 + private float fHeight = 1f; + + // Token: 0x04000832 RID: 2098 + private int marginX; + + // Token: 0x04000833 RID: 2099 + private int marginY = 1; + + // Token: 0x0200015D RID: 349 + public enum PositionType + { + // Token: 0x04000835 RID: 2101 + TopLeft, + // Token: 0x04000836 RID: 2102 + Center, + // Token: 0x04000837 RID: 2103 + BottomRight + } +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityTexture.cs b/Assets/Scripts/Assembly-CSharp/UnityTexture.cs new file mode 100644 index 000000000..e9e24371b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityTexture.cs @@ -0,0 +1,132 @@ +using System; +using Qoo; +using UnityEngine; + +// Token: 0x0200015E RID: 350 +public class UnityTexture +{ + // Token: 0x06000A14 RID: 2580 RVA: 0x0002CDE4 File Offset: 0x0002AFE4 + public UnityTexture(string name_, Texture2D texture_, UnityFile file, SizeF scale = null) + { + this.m_Name = name_; + this.m_Texture = texture_; + this.m_Texture.name = name_; + this.m_File = file; + if (scale != null) + { + this.m_Scale = scale; + } + this.m_Count = 1; + this.m_isInit = false; + } + + // Token: 0x06000A15 RID: 2581 RVA: 0x0002CE4C File Offset: 0x0002B04C + public UnityTexture(string name_, Texture2D texture_, byte[] data, SizeF scale = null) + { + this.m_Name = name_; + this.m_Texture = texture_; + this.m_Texture.name = name_; + if (scale != null) + { + this.m_Scale = scale; + } + this.m_Count = 1; + this.SetData(data); + } + + // Token: 0x06000A16 RID: 2582 RVA: 0x0002CEAC File Offset: 0x0002B0AC + public UnityTexture(string name_, Texture2D texture_, SizeF scale = null) + { + this.m_Name = name_; + this.m_Texture = texture_; + this.m_Texture.name = name_; + if (scale != null) + { + this.m_Scale = scale; + } + this.m_Count = 1; + this.m_isInit = true; + } + + // Token: 0x17000142 RID: 322 + // (get) Token: 0x06000A17 RID: 2583 RVA: 0x0002CF0C File Offset: 0x0002B10C + // (set) Token: 0x06000A18 RID: 2584 RVA: 0x0002CF14 File Offset: 0x0002B114 + public string m_Name { get; private set; } + + // Token: 0x17000143 RID: 323 + // (get) Token: 0x06000A19 RID: 2585 RVA: 0x0002CF20 File Offset: 0x0002B120 + // (set) Token: 0x06000A1A RID: 2586 RVA: 0x0002CF28 File Offset: 0x0002B128 + public Texture2D m_Texture { get; set; } + + // Token: 0x17000144 RID: 324 + // (get) Token: 0x06000A1B RID: 2587 RVA: 0x0002CF34 File Offset: 0x0002B134 + public bool IsInit + { + get + { + return this.m_isInit; + } + } + + // Token: 0x06000A1C RID: 2588 RVA: 0x0002CF3C File Offset: 0x0002B13C + public void IncCount() + { + this.m_Count++; + } + + // Token: 0x06000A1D RID: 2589 RVA: 0x0002CF4C File Offset: 0x0002B14C + public void DecCount() + { + if (this.m_Count > 0) + { + this.m_Count--; + } + } + + // Token: 0x06000A1E RID: 2590 RVA: 0x0002CF68 File Offset: 0x0002B168 + public bool IsRelease() + { + return this.m_Count == 0; + } + + // Token: 0x06000A1F RID: 2591 RVA: 0x0002CF74 File Offset: 0x0002B174 + public bool Update() + { + if (!this.m_isInit && this.m_File.IsReadEnd && this.SetData(this.m_File.Data)) + { + this.m_File = null; + } + return true; + } + + // Token: 0x06000A20 RID: 2592 RVA: 0x0002CFB0 File Offset: 0x0002B1B0 + private bool SetData(byte[] data) + { + if (data == null) + { + Qoo.Debug.Assert(false, string.Format("Error:Load:Not Found TextureFile = {0}", this.m_Name)); + } + else + { + if (this.m_Texture.LoadImage(data)) + { + this.m_isInit = true; + return true; + } + Qoo.Debug.Assert(false, string.Format("Error:Load:Not Found TextureFile = {0}", this.m_Name)); + } + return false; + } + + // Token: 0x04000838 RID: 2104 + public SizeF m_Scale = new SizeF(1f, 1f); + + // Token: 0x04000839 RID: 2105 + private int m_Count; + + // Token: 0x0400083A RID: 2106 + private UnityFile m_File; + + // Token: 0x0400083B RID: 2107 + private bool m_isInit; +} diff --git a/Assets/Scripts/Assembly-CSharp/UnityTimer.cs b/Assets/Scripts/Assembly-CSharp/UnityTimer.cs new file mode 100644 index 000000000..07c2d1574 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UnityTimer.cs @@ -0,0 +1,55 @@ +using System; +using UnityEngine; + +// Token: 0x02000190 RID: 400 +public class UnityTimer : Singleton +{ + // Token: 0x17000187 RID: 391 + // (get) Token: 0x06000B7D RID: 2941 RVA: 0x00030EB0 File Offset: 0x0002F0B0 + // (set) Token: 0x06000B7E RID: 2942 RVA: 0x00030EB8 File Offset: 0x0002F0B8 + public float Now + { + get + { + return this.now; + } + private set + { + this.now = value; + } + } + + // Token: 0x17000188 RID: 392 + // (get) Token: 0x06000B7F RID: 2943 RVA: 0x00030EC4 File Offset: 0x0002F0C4 + // (set) Token: 0x06000B80 RID: 2944 RVA: 0x00030ECC File Offset: 0x0002F0CC + public bool IsPause { get; set; } + + // Token: 0x06000B81 RID: 2945 RVA: 0x00030ED8 File Offset: 0x0002F0D8 + private void Awake() + { + this.old = Time.time; + } + + // Token: 0x06000B82 RID: 2946 RVA: 0x00030EE8 File Offset: 0x0002F0E8 + private void Update() + { + float num = Time.time - this.old; + if (!this.IsPause) + { + this.Now += num; + } + this.old = Time.time; + } + + // Token: 0x06000B83 RID: 2947 RVA: 0x00030F28 File Offset: 0x0002F128 + public int GetTimeMilli() + { + return (int)(this.Now * 1000f); + } + + // Token: 0x04000907 RID: 2311 + private float now; + + // Token: 0x04000908 RID: 2312 + private float old; +} diff --git a/Assets/Scripts/Assembly-CSharp/UserBaseClass.cs b/Assets/Scripts/Assembly-CSharp/UserBaseClass.cs new file mode 100644 index 000000000..6d7555533 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/UserBaseClass.cs @@ -0,0 +1,61 @@ +using System; + +// Token: 0x020001AD RID: 429 +public class UserBaseClass : UnityBaseClass +{ + // Token: 0x170001AA RID: 426 + // (get) Token: 0x06000C60 RID: 3168 RVA: 0x00032D3C File Offset: 0x00030F3C + public UnityGraph QooGraph + { + get + { + if (Singleton.IsReady) + { + return Singleton.Instance; + } + return null; + } + } + + // Token: 0x170001AB RID: 427 + // (get) Token: 0x06000C61 RID: 3169 RVA: 0x00032D50 File Offset: 0x00030F50 + public UnityApp QooApp + { + get + { + if (Singleton.IsReady) + { + return Singleton.Instance; + } + return null; + } + } + + // Token: 0x170001AC RID: 428 + // (get) Token: 0x06000C62 RID: 3170 RVA: 0x00032D64 File Offset: 0x00030F64 + public Man2D QooSprite + { + get + { + if (Singleton.IsReady) + { + return Singleton.Instance; + } + return null; + } + } + + // Token: 0x170001AD RID: 429 + // (get) Token: 0x06000C63 RID: 3171 RVA: 0x00032D78 File Offset: 0x00030F78 + public ManSound QooSound + { + get + { + if (Singleton.IsReady) + { + return Singleton.Instance; + } + return null; + } + } +} diff --git a/Assets/Scripts/Assembly-CSharp/VoiceOptionCollider.cs b/Assets/Scripts/Assembly-CSharp/VoiceOptionCollider.cs new file mode 100644 index 000000000..a8a00f9ea --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/VoiceOptionCollider.cs @@ -0,0 +1,115 @@ +using System; +using UnityEngine; + +// Token: 0x020000F4 RID: 244 +public class VoiceOptionCollider : MonoBehaviour +{ + // Token: 0x06000689 RID: 1673 RVA: 0x0001B0B0 File Offset: 0x000192B0 + private void Start() + { + base.gameObject.AddComponent(); + } + + // Token: 0x0600068A RID: 1674 RVA: 0x0001B0C0 File Offset: 0x000192C0 + private void Update() + { + if (this.m_Drag) + { + return; + } + Vector3 localPosition = this.ListObject.transform.localPosition; + float basePositionY = this.BasePositionY; + if (localPosition.y < basePositionY) + { + float num = localPosition.y - basePositionY; + num /= 3f; + if (Mathf.Abs(num) < 1f) + { + localPosition.y = basePositionY; + } + else + { + localPosition.y = basePositionY + num; + } + } + else if (localPosition.y > this.Height) + { + float num2 = Mathf.Abs(localPosition.y - this.Height); + num2 /= 3f; + localPosition.y = this.Height + ((Mathf.Abs(num2) >= 1f) ? num2 : 0f); + if (Mathf.Abs(num2) < 1f) + { + localPosition.y = this.Height; + } + else + { + localPosition.y = this.Height + num2; + } + } + this.ListObject.transform.localPosition = localPosition; + } + + // Token: 0x0600068B RID: 1675 RVA: 0x0001B1D8 File Offset: 0x000193D8 + public void SetInfo(GameObject dragObject, int height) + { + this.ListObject = dragObject; + this.BasePositionY = this.ListObject.transform.localPosition.y; + this.Height = (float)height; + } + + // Token: 0x0600068C RID: 1676 RVA: 0x0001B214 File Offset: 0x00019414 + public void AddScrollBar(VoiceOptionScrollbar scrollbar) + { + this.m_Scrollbar = scrollbar; + } + + // Token: 0x0600068D RID: 1677 RVA: 0x0001B220 File Offset: 0x00019420 + private void OnMouseDown() + { + this.m_Drag = true; + this.OnInputStartObjectPosition = this.ListObject.transform.position; + this.OnInputStartMousePosition = Input.mousePosition; + } + + // Token: 0x0600068E RID: 1678 RVA: 0x0001B258 File Offset: 0x00019458 + private void OnMouseDrag() + { + Camera camera = SubPartCamera.GetCamera(); + Vector3 position = camera.WorldToScreenPoint(this.OnInputStartObjectPosition); + Vector3 vector = Input.mousePosition - this.OnInputStartMousePosition; + position.y += vector.y; + position = camera.ScreenToWorldPoint(position); + this.ListObject.transform.position = position; + if (this.m_Scrollbar != null) + { + this.m_Scrollbar.SetValue((int)(this.BasePositionY - position.y)); + } + } + + // Token: 0x0600068F RID: 1679 RVA: 0x0001B2E4 File Offset: 0x000194E4 + private void OnMouseUp() + { + this.m_Drag = false; + } + + // Token: 0x040005E9 RID: 1513 + public GameObject ListObject; + + // Token: 0x040005EA RID: 1514 + public bool m_Drag; + + // Token: 0x040005EB RID: 1515 + public float BasePositionY; + + // Token: 0x040005EC RID: 1516 + public float Height; + + // Token: 0x040005ED RID: 1517 + private Vector3 OnInputStartMousePosition; + + // Token: 0x040005EE RID: 1518 + private Vector3 OnInputStartObjectPosition; + + // Token: 0x040005EF RID: 1519 + private VoiceOptionScrollbar m_Scrollbar; +} diff --git a/Assets/Scripts/Assembly-CSharp/VoiceOptionList.cs b/Assets/Scripts/Assembly-CSharp/VoiceOptionList.cs new file mode 100644 index 000000000..24c1b08dd --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/VoiceOptionList.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Token: 0x020000F5 RID: 245 +public class VoiceOptionList : MonoBehaviour +{ + // Token: 0x170000DA RID: 218 + // (get) Token: 0x06000691 RID: 1681 RVA: 0x0001B304 File Offset: 0x00019504 + public List ListGameObjects + { + get + { + return this.UIGameObjects; + } + } + + // Token: 0x06000692 RID: 1682 RVA: 0x0001B30C File Offset: 0x0001950C + public static VoiceOptionList Create(int x, int y, int z, int width, int height, int itemCount, Transform parent) + { + GameObject gameObject = new GameObject("VoiceOptionList"); + VoiceOptionList voiceOptionList = gameObject.AddComponent(); + voiceOptionList.Init(x, y, z, width, height, itemCount, parent); + int num = -480; + int num2 = 272; + voiceOptionList.m_ColliderScript = new GameObject("VoiceOptionCollider") + { + transform = + { + parent = parent, + localPosition = new Vector3((float)(num + width / 2 + x), (float)(num2 - height / 2 - y), -(parent.localPosition.z + (float)z + 2f)), + localScale = new Vector3((float)width, (float)height, 1f) + } + }.AddComponent(); + voiceOptionList.m_ColliderScript.SetInfo(gameObject, 600); + return voiceOptionList; + } + + // Token: 0x06000693 RID: 1683 RVA: 0x0001B3D8 File Offset: 0x000195D8 + public void AddListItem(ImageObject itemObject) + { + itemObject.transform.parent = base.transform; + ListItemObject listItemObject = ListItemObject.Create(itemObject); + listItemObject.SetArea((float)this.ListTop, (float)this.ListBottom); + } + + // Token: 0x06000694 RID: 1684 RVA: 0x0001B414 File Offset: 0x00019614 + public void SetScrollbar(GameObject area, GameObject slider) + { + VoiceOptionScrollbar voiceOptionScrollbar = VoiceOptionScrollbar.Create(600, area.GetComponent(), slider.GetComponent(), base.transform); + voiceOptionScrollbar.SetSlideObject(base.gameObject); + this.m_ColliderScript.AddScrollBar(voiceOptionScrollbar); + } + + // Token: 0x06000695 RID: 1685 RVA: 0x0001B458 File Offset: 0x00019658 + public void Init(int x, int y, int z, int width, int height, int itemCount, Transform parent) + { + this.ListTop = y; + this.ListBottom = y + height; + base.transform.parent = parent; + base.transform.localPosition = new Vector3(0f, 0f, (float)(-(float)z)); + } + + // Token: 0x040005F0 RID: 1520 + private const int VOICE_CHIP_HEIGHT = 66; + + // Token: 0x040005F1 RID: 1521 + private const int VOICE_BASE_X = 250; + + // Token: 0x040005F2 RID: 1522 + private const int VOICE_BASE_Y = 155; + + // Token: 0x040005F3 RID: 1523 + private const int VOICE_DISTANCE = 75; + + // Token: 0x040005F4 RID: 1524 + private const int FRAME_BASE_X = 434; + + // Token: 0x040005F5 RID: 1525 + private const int FRAME_BASE_Y = 185; + + // Token: 0x040005F6 RID: 1526 + private const int FRAME_DISTANCE = 75; + + // Token: 0x040005F7 RID: 1527 + private const int METER_BASE_X = 436; + + // Token: 0x040005F8 RID: 1528 + private const int METER_BASE_Y = 187; + + // Token: 0x040005F9 RID: 1529 + private const int METER_DISTANCE = 75; + + // Token: 0x040005FA RID: 1530 + private int ListTop; + + // Token: 0x040005FB RID: 1531 + private int ListBottom; + + // Token: 0x040005FC RID: 1532 + private VoiceOptionCollider m_ColliderScript; + + // Token: 0x040005FD RID: 1533 + private List UIGameObjects = new List(); + + // Token: 0x040005FE RID: 1534 + private List m_MeterList; +} diff --git a/Assets/Scripts/Assembly-CSharp/VoiceOptionScrollbar.cs b/Assets/Scripts/Assembly-CSharp/VoiceOptionScrollbar.cs new file mode 100644 index 000000000..ddd1bd9a8 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/VoiceOptionScrollbar.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x020000F6 RID: 246 +public class VoiceOptionScrollbar : MonoBehaviour +{ + // Token: 0x06000697 RID: 1687 RVA: 0x0001B4A8 File Offset: 0x000196A8 + public static VoiceOptionScrollbar Create(int height, ImageObject area, ImageObject slider, Transform parent) + { + GameObject gameObject = new GameObject("VoiceOptionScrollBar"); + gameObject.transform.parent = parent; + gameObject.transform.localPosition = default(Vector3); + VoiceOptionScrollbar voiceOptionScrollbar = gameObject.AddComponent(); + voiceOptionScrollbar.Init(height, area, slider, gameObject.transform); + return voiceOptionScrollbar; + } + + // Token: 0x06000698 RID: 1688 RVA: 0x0001B4F8 File Offset: 0x000196F8 + private void Init(int height, ImageObject area, ImageObject slider, Transform parent) + { + this.m_Scrollarea = area; + this.m_Scrollbar = slider; + this.m_Height = height; + base.StartCoroutine(this.TextureLoadWait()); + } + + // Token: 0x06000699 RID: 1689 RVA: 0x0001B528 File Offset: 0x00019728 + private IEnumerator TextureLoadWait() + { + while (!GraphicManager.CheckLoadImageComplete("voice_ber1")) + { + yield return 0; + } + while (!GraphicManager.CheckLoadImageComplete("voice_ber2")) + { + yield return 0; + } + this.m_ScrollHeight = (int)(this.m_Scrollarea.transform.localScale.y - this.m_Scrollbar.transform.localScale.y); + this.m_Scrollbar.gameObject.GetComponent().SetHeight(this.m_ScrollHeight); + this.m_Scrollbar.gameObject.GetComponent().SetListHeight(this.m_Height); + yield break; + } + + // Token: 0x0600069A RID: 1690 RVA: 0x0001B544 File Offset: 0x00019744 + public void SetSlideObject(GameObject slideObject) + { + VoiceOptionScrollbarSlider voiceOptionScrollbarSlider = this.m_Scrollbar.gameObject.AddComponent(); + voiceOptionScrollbarSlider.SetSlideObject(slideObject); + } + + // Token: 0x0600069B RID: 1691 RVA: 0x0001B56C File Offset: 0x0001976C + public void SetValue(int value) + { + this.m_Value = value; + this.UpdateBar(); + } + + // Token: 0x0600069C RID: 1692 RVA: 0x0001B57C File Offset: 0x0001977C + private void UpdateBar() + { + this.m_Rate = (float)this.m_Value / (float)this.m_Height; + if (this.m_Rate < -1f) + { + this.m_Rate = -1f; + } + if (this.m_Rate > 0f) + { + this.m_Rate = 0f; + } + this.m_Scrollbar.OnViewPosition.y = this.m_Scrollbar.OriginalPosition.y + this.m_Rate * (float)this.m_ScrollHeight; + if (this.m_Scrollbar.OnViewPosition.y > this.m_Scrollbar.OriginalPosition.y) + { + this.m_Scrollbar.OnViewPosition.y = this.m_Scrollbar.OriginalPosition.y; + } + } + + // Token: 0x040005FF RID: 1535 + private ImageObject m_Scrollbar; + + // Token: 0x04000600 RID: 1536 + private ImageObject m_Scrollarea; + + // Token: 0x04000601 RID: 1537 + private int m_Height; + + // Token: 0x04000602 RID: 1538 + private int m_Value; + + // Token: 0x04000603 RID: 1539 + private float m_Rate; + + // Token: 0x04000604 RID: 1540 + private int m_ScrollHeight; +} diff --git a/Assets/Scripts/Assembly-CSharp/VoiceOptionScrollbarSlider.cs b/Assets/Scripts/Assembly-CSharp/VoiceOptionScrollbarSlider.cs new file mode 100644 index 000000000..ad086eef6 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/VoiceOptionScrollbarSlider.cs @@ -0,0 +1,77 @@ +using System; +using UnityEngine; + +// Token: 0x020000F7 RID: 247 +public class VoiceOptionScrollbarSlider : MonoBehaviour +{ + // Token: 0x0600069E RID: 1694 RVA: 0x0001B650 File Offset: 0x00019850 + public void SetSlideObject(GameObject go) + { + this.slideObject = go; + } + + // Token: 0x0600069F RID: 1695 RVA: 0x0001B65C File Offset: 0x0001985C + public void SetHeight(int height) + { + this.m_Height = height; + } + + // Token: 0x060006A0 RID: 1696 RVA: 0x0001B668 File Offset: 0x00019868 + public void SetListHeight(int listHeight) + { + this.m_ListHeight = listHeight; + } + + // Token: 0x060006A1 RID: 1697 RVA: 0x0001B674 File Offset: 0x00019874 + private void OnMouseDown() + { + this.imageObject = base.gameObject.GetComponent(); + this.InputStartObjectPosition = this.imageObject.OnViewPosition; + this.InputStartMousePosition = Input.mousePosition; + } + + // Token: 0x060006A2 RID: 1698 RVA: 0x0001B6A4 File Offset: 0x000198A4 + private void OnMouseDrag() + { + Camera camera = SubPartCamera.GetCamera(); + Vector3 vector = Input.mousePosition - this.InputStartMousePosition; + Vector3 vector2 = camera.WorldToScreenPoint(this.InputStartObjectPosition); + vector2.y += vector.y; + vector2 = camera.ScreenToWorldPoint(vector2); + if (vector2.y > this.imageObject.OriginalPosition.y) + { + vector2.y = this.imageObject.OriginalPosition.y; + } + if (vector2.y < this.imageObject.OriginalPosition.y - (float)this.m_Height) + { + vector2.y = this.imageObject.OriginalPosition.y - (float)this.m_Height; + } + this.imageObject.OnViewPosition = vector2; + float num = (this.imageObject.OriginalPosition.y - vector2.y) / (float)this.m_Height; + float y = num * (float)this.m_ListHeight; + this.slideObject.transform.localPosition = new Vector3(this.slideObject.transform.localPosition.x, y, this.slideObject.transform.localPosition.z); + } + + // Token: 0x060006A3 RID: 1699 RVA: 0x0001B7EC File Offset: 0x000199EC + private void OnMouseUp() + { + } + + // Token: 0x04000605 RID: 1541 + private GameObject slideObject; + + // Token: 0x04000606 RID: 1542 + private ImageObject imageObject; + + // Token: 0x04000607 RID: 1543 + private Vector3 InputStartObjectPosition; + + // Token: 0x04000608 RID: 1544 + private Vector3 InputStartMousePosition; + + // Token: 0x04000609 RID: 1545 + private int m_Height; + + // Token: 0x0400060A RID: 1546 + private int m_ListHeight; +} diff --git a/Assets/Scripts/Assembly-CSharp/effect_sample_main.cs b/Assets/Scripts/Assembly-CSharp/effect_sample_main.cs new file mode 100644 index 000000000..38aa8ee6a --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/effect_sample_main.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x02000003 RID: 3 +public class effect_sample_main : MonoBehaviour +{ + // Token: 0x06000006 RID: 6 RVA: 0x00002138 File Offset: 0x00000338 + private IEnumerator Start() + { + this.idx = 0; + yield return base.StartCoroutine(this.loadAssetBundle()); + GameObject panel = GameObject.Find("Panel"); + panel.renderer.material.mainTexture = this.fromTex; + for (;;) + { + EffectManager.Init(this.ManageEffects[this.idx], this.transTime, panel.renderer, this.fromTex, this.toTex); + yield return new WaitForSeconds(1f); + yield return base.StartCoroutine(EffectManager.StartEffect()); + this.idx++; + this.idx = (this.idx + this.ManageEffects.Length) % this.ManageEffects.Length; + } + yield break; + } + + // Token: 0x06000007 RID: 7 RVA: 0x00002154 File Offset: 0x00000354 + private IEnumerator loadAssetBundle() + { + for (int i = 0; i < 2; i++) + { + string fname = string.Empty; + if (i == 0) + { + fname = "bg_001_map_a"; + } + else + { + fname = "bg_003_hmap_a"; + } + string abname = Pathing.ToPlatformAssetBundleName(fname); + WWW www = new WWW(Pathing.appContentDataPath + "/bytes/event/bgimage/" + abname); + yield return www; + AssetBundle ab = www.assetBundle; + TextAsset ta = ab.mainAsset as TextAsset; + Texture2D tex = new Texture2D(0, 0, TextureFormat.RGBA32, false, true); + tex.LoadImage(ta.bytes); + tex.wrapMode = TextureWrapMode.Clamp; + ab.Unload(true); + www.Dispose(); + if (i == 0) + { + this.fromTex = tex; + } + else + { + this.toTex = tex; + } + } + yield break; + } + + // Token: 0x04000001 RID: 1 + private int idx; + + // Token: 0x04000002 RID: 2 + public string[] ManageEffects; + + // Token: 0x04000003 RID: 3 + public int transTime = 2000; + + // Token: 0x04000004 RID: 4 + public TextMesh tm; + + // Token: 0x04000005 RID: 5 + private Texture2D fromTex; + + // Token: 0x04000006 RID: 6 + private Texture2D toTex; +} diff --git a/Assets/Scripts/Assembly-CSharp/keyboard_sample_main.cs b/Assets/Scripts/Assembly-CSharp/keyboard_sample_main.cs new file mode 100644 index 000000000..5c2102fce --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/keyboard_sample_main.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections; +using UnityEngine; + +// Token: 0x02000004 RID: 4 +public class keyboard_sample_main : MonoBehaviour +{ + // Token: 0x06000009 RID: 9 RVA: 0x00002178 File Offset: 0x00000378 + private void OnMouseDown() + { + Debug.Log("OnMouseDown"); + base.StartCoroutine(this.UserInput()); + } + + // Token: 0x0600000A RID: 10 RVA: 0x00002194 File Offset: 0x00000394 + private IEnumerator UserInput() + { + yield return base.StartCoroutine(ScreenKeyboardManager.Open(ScreenKeyboardManager.InputText)); + TextMesh tMesh = base.GetComponent(); + tMesh.text = ScreenKeyboardManager.InputText; + yield break; + } +} diff --git a/Assets/Scripts/Assembly-CSharp/myClass.cs b/Assets/Scripts/Assembly-CSharp/myClass.cs new file mode 100644 index 000000000..44a0edd6b --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/myClass.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; + +// Token: 0x02000006 RID: 6 +[Serializable] +public class myClass +{ + // Token: 0x04000009 RID: 9 + public myClassChild child; + + // Token: 0x0400000A RID: 10 + public int a; + + // Token: 0x0400000B RID: 11 + public float f; + + // Token: 0x0400000C RID: 12 + public string b; + + // Token: 0x0400000D RID: 13 + public char c; + + // Token: 0x0400000E RID: 14 + public string[] strArray = new string[] + { + "a", + "b", + "c" + }; + + // Token: 0x0400000F RID: 15 + public List strList; +} diff --git a/Assets/Scripts/Assembly-CSharp/myClassChild.cs b/Assets/Scripts/Assembly-CSharp/myClassChild.cs new file mode 100644 index 000000000..9bbca6e02 --- /dev/null +++ b/Assets/Scripts/Assembly-CSharp/myClassChild.cs @@ -0,0 +1,17 @@ +using System; + +// Token: 0x02000005 RID: 5 +[Serializable] +public class myClassChild +{ + // Token: 0x04000007 RID: 7 + public string a; + + // Token: 0x04000008 RID: 8 + public string[] b = new string[] + { + "a", + "b", + "c" + }; +} diff --git a/Assets/Scripts/P31RestKit.sln b/Assets/Scripts/P31RestKit.sln new file mode 100644 index 000000000..71cc0b433 --- /dev/null +++ b/Assets/Scripts/P31RestKit.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.4 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "P31RestKit", "P31RestKit\P31RestKit.csproj", "{10769494-BEF0-4E49-B36B-1F1685047645}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {10769494-BEF0-4E49-B36B-1F1685047645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {10769494-BEF0-4E49-B36B-1F1685047645}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10769494-BEF0-4E49-B36B-1F1685047645}.Release|Any CPU.ActiveCfg = Release|Any CPU + {10769494-BEF0-4E49-B36B-1F1685047645}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Assets/Scripts/P31RestKit/AbstractManager.cs b/Assets/Scripts/P31RestKit/AbstractManager.cs new file mode 100644 index 000000000..3073d1b85 --- /dev/null +++ b/Assets/Scripts/P31RestKit/AbstractManager.cs @@ -0,0 +1,109 @@ +using System; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x0200000D RID: 13 + public abstract class AbstractManager : MonoBehaviour + { + // Token: 0x17000007 RID: 7 + // (get) Token: 0x0600004C RID: 76 RVA: 0x00004354 File Offset: 0x00002554 + public static MonoBehaviour coroutineSurrogate + { + get + { + if (AbstractManager._prime31GameObjectMonobehaviourRef == null) + { + GameObject prime31ManagerGameObject = AbstractManager.getPrime31ManagerGameObject(); + AbstractManager._prime31GameObjectMonobehaviourRef = prime31ManagerGameObject.AddComponent(); + } + return AbstractManager._prime31GameObjectMonobehaviourRef; + } + } + + // Token: 0x0600004E RID: 78 RVA: 0x0000439C File Offset: 0x0000259C + public static ThreadingCallbackHelper getThreadingCallbackHelper() + { + return AbstractManager._threadingCallbackHelper; + } + + // Token: 0x0600004F RID: 79 RVA: 0x000043B8 File Offset: 0x000025B8 + public static void createThreadingCallbackHelper() + { + if (!(AbstractManager._threadingCallbackHelper != null)) + { + AbstractManager._threadingCallbackHelper = (UnityEngine.Object.FindObjectOfType(typeof(ThreadingCallbackHelper)) as ThreadingCallbackHelper); + if (!(AbstractManager._threadingCallbackHelper != null)) + { + GameObject prime31ManagerGameObject = AbstractManager.getPrime31ManagerGameObject(); + AbstractManager._threadingCallbackHelper = prime31ManagerGameObject.AddComponent(); + } + } + } + + // Token: 0x06000050 RID: 80 RVA: 0x0000441C File Offset: 0x0000261C + public static GameObject getPrime31ManagerGameObject() + { + GameObject prime31GameObject; + if (AbstractManager._prime31GameObject != null) + { + prime31GameObject = AbstractManager._prime31GameObject; + } + else + { + AbstractManager._prime31GameObject = GameObject.Find("prime[31]"); + if (AbstractManager._prime31GameObject == null) + { + AbstractManager._prime31GameObject = new GameObject("prime[31]"); + UnityEngine.Object.DontDestroyOnLoad(AbstractManager._prime31GameObject); + } + prime31GameObject = AbstractManager._prime31GameObject; + } + return prime31GameObject; + } + + // Token: 0x06000051 RID: 81 RVA: 0x0000448C File Offset: 0x0000268C + public static void initialize(Type type) + { + try + { + MonoBehaviour x = UnityEngine.Object.FindObjectOfType(type) as MonoBehaviour; + if (!(x != null)) + { + GameObject prime31ManagerGameObject = AbstractManager.getPrime31ManagerGameObject(); + GameObject gameObject = new GameObject(type.ToString()); + gameObject.AddComponent(type); + gameObject.transform.parent = prime31ManagerGameObject.transform; + UnityEngine.Object.DontDestroyOnLoad(gameObject); + } + } + catch (UnityException) + { + Debug.LogWarning(string.Concat(new object[] + { + "It looks like you have the ", + type, + " on a GameObject in your scene. Our new prefab-less manager system does not require the ", + type, + " to be on a GameObject.\nIt will be added to your scene at runtime automatically for you. Please remove the script from your scene." + })); + } + } + + // Token: 0x06000052 RID: 82 RVA: 0x00004538 File Offset: 0x00002738 + private void Awake() + { + base.gameObject.name = base.GetType().ToString(); + UnityEngine.Object.DontDestroyOnLoad(this); + } + + // Token: 0x0400001F RID: 31 + private static MonoBehaviour _prime31GameObjectMonobehaviourRef; + + // Token: 0x04000020 RID: 32 + private static ThreadingCallbackHelper _threadingCallbackHelper; + + // Token: 0x04000021 RID: 33 + private static GameObject _prime31GameObject; + } +} diff --git a/Assets/Scripts/P31RestKit/ActionExtensions.cs b/Assets/Scripts/P31RestKit/ActionExtensions.cs new file mode 100644 index 000000000..4a1f9f277 --- /dev/null +++ b/Assets/Scripts/P31RestKit/ActionExtensions.cs @@ -0,0 +1,86 @@ +using System; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x02000007 RID: 7 + public static class ActionExtensions + { + // Token: 0x0600001C RID: 28 RVA: 0x00002DC0 File Offset: 0x00000FC0 + private static void invoke(Delegate listener, object[] args) + { + if (!listener.Method.IsStatic && (listener.Target == null || listener.Target.Equals(null))) + { + Debug.LogError("an event listener is still subscribed to an event with the method " + listener.Method.Name + " even though it is null. Be sure to balance your event subscriptions."); + } + else + { + listener.Method.Invoke(listener.Target, args); + } + } + + // Token: 0x0600001D RID: 29 RVA: 0x00002E34 File Offset: 0x00001034 + public static void fire(this Action handler) + { + if (handler != null) + { + object[] args = new object[0]; + foreach (Delegate listener in handler.GetInvocationList()) + { + ActionExtensions.invoke(listener, args); + } + } + } + + // Token: 0x0600001E RID: 30 RVA: 0x00002E7C File Offset: 0x0000107C + public static void fire(this Action handler, T param) + { + if (handler != null) + { + object[] args = new object[] + { + param + }; + foreach (Delegate listener in handler.GetInvocationList()) + { + ActionExtensions.invoke(listener, args); + } + } + } + + // Token: 0x0600001F RID: 31 RVA: 0x00002ECC File Offset: 0x000010CC + public static void fire(this Action handler, T param1, U param2) + { + if (handler != null) + { + object[] args = new object[] + { + param1, + param2 + }; + foreach (Delegate listener in handler.GetInvocationList()) + { + ActionExtensions.invoke(listener, args); + } + } + } + + // Token: 0x06000020 RID: 32 RVA: 0x00002F28 File Offset: 0x00001128 + public static void fire(this Action handler, T param1, U param2, V param3) + { + if (handler != null) + { + object[] args = new object[] + { + param1, + param2, + param3 + }; + foreach (Delegate listener in handler.GetInvocationList()) + { + ActionExtensions.invoke(listener, args); + } + } + } + } +} diff --git a/Assets/Scripts/P31RestKit/DTOBase.cs b/Assets/Scripts/P31RestKit/DTOBase.cs new file mode 100644 index 000000000..399d94865 --- /dev/null +++ b/Assets/Scripts/P31RestKit/DTOBase.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; + +namespace Prime31 +{ + // Token: 0x0200000F RID: 15 + public class DTOBase + { + // Token: 0x06000058 RID: 88 RVA: 0x000046A4 File Offset: 0x000028A4 + public static List listFromJson(string json) where T : DTOBase + { + List list = json.listFromJson(); + List list2 = new List(); + foreach (object obj in list) + { + T item = Activator.CreateInstance(); + item.setDataFromDictionary(obj as Dictionary); + list2.Add(item); + } + return list2; + } + + // Token: 0x06000059 RID: 89 RVA: 0x00004734 File Offset: 0x00002934 + public void setDataFromJson(string json) + { + this.setDataFromDictionary(json.dictionaryFromJson()); + } + + // Token: 0x0600005A RID: 90 RVA: 0x00004744 File Offset: 0x00002944 + public void setDataFromDictionary(Dictionary dict) + { + Dictionary> membersWithSetters = this.getMembersWithSetters(); + foreach (KeyValuePair keyValuePair in dict) + { + if (membersWithSetters.ContainsKey(keyValuePair.Key)) + { + try + { + membersWithSetters[keyValuePair.Key](keyValuePair.Value); + } + catch (Exception obj) + { + Utils.logObject(obj); + } + } + } + } + + // Token: 0x0600005B RID: 91 RVA: 0x000047F0 File Offset: 0x000029F0 + private bool shouldIncludeTypeWithSetters(Type type) + { + return !type.IsGenericType && type.Namespace.StartsWith("System"); + } + + // Token: 0x0600005C RID: 92 RVA: 0x00004834 File Offset: 0x00002A34 + protected Dictionary> getMembersWithSetters() + { + Dictionary> dictionary = new Dictionary>(); + FieldInfo[] fields = base.GetType().GetFields(); + for (int i = 0; i < fields.Length; i++) + { + FieldInfo fieldInfo = fields[i]; + if (this.shouldIncludeTypeWithSetters(fieldInfo.FieldType)) + { + FieldInfo theInfo = fieldInfo; + dictionary[fieldInfo.Name] = delegate(object val) + { + theInfo.SetValue(this, val); + }; + } + } + foreach (PropertyInfo propertyInfo in base.GetType().GetProperties()) + { + if (this.shouldIncludeTypeWithSetters(propertyInfo.PropertyType)) + { + if (propertyInfo.CanWrite && propertyInfo.GetSetMethod() != null) + { + PropertyInfo theInfo = propertyInfo; + dictionary[propertyInfo.Name] = delegate(object val) + { + theInfo.SetValue(this, val, null); + }; + } + } + } + return dictionary; + } + + // Token: 0x0600005D RID: 93 RVA: 0x00004954 File Offset: 0x00002B54 + public override string ToString() + { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendFormat("[{0}]:", base.GetType()); + foreach (FieldInfo fieldInfo in base.GetType().GetFields()) + { + stringBuilder.AppendFormat(", {0}: {1}", fieldInfo.Name, fieldInfo.GetValue(this)); + } + foreach (PropertyInfo propertyInfo in base.GetType().GetProperties()) + { + stringBuilder.AppendFormat(", {0}: {1}", propertyInfo.Name, propertyInfo.GetValue(this, null)); + } + return stringBuilder.ToString(); + } + } +} diff --git a/Assets/Scripts/P31RestKit/DateTimeExtensions.cs b/Assets/Scripts/P31RestKit/DateTimeExtensions.cs new file mode 100644 index 000000000..d7fe29fd8 --- /dev/null +++ b/Assets/Scripts/P31RestKit/DateTimeExtensions.cs @@ -0,0 +1,15 @@ +using System; + +namespace Prime31 +{ + // Token: 0x02000008 RID: 8 + public static class DateTimeExtensions + { + // Token: 0x06000021 RID: 33 RVA: 0x00002F8C File Offset: 0x0000118C + public static long toEpochTime(this DateTime self) + { + DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + return Convert.ToInt64((self - d).TotalSeconds); + } + } +} diff --git a/Assets/Scripts/P31RestKit/DeserializationExtensions.cs b/Assets/Scripts/P31RestKit/DeserializationExtensions.cs new file mode 100644 index 000000000..e0b80595d --- /dev/null +++ b/Assets/Scripts/P31RestKit/DeserializationExtensions.cs @@ -0,0 +1,191 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x02000005 RID: 5 + public static class DeserializationExtensions + { + // Token: 0x06000015 RID: 21 RVA: 0x00002878 File Offset: 0x00000A78 + public static List toList(this IList self) + { + List list = new List(); + IEnumerator enumerator = self.GetEnumerator(); + try + { + while (enumerator.MoveNext()) + { + object obj = enumerator.Current; + Dictionary self2 = (Dictionary)obj; + list.Add(self2.toClass()); + } + } + finally + { + IDisposable disposable; + if ((disposable = (enumerator as IDisposable)) != null) + { + disposable.Dispose(); + } + } + return list; + } + + // Token: 0x06000016 RID: 22 RVA: 0x000028F0 File Offset: 0x00000AF0 + public static T toClass(this IDictionary self) + { + object obj = Activator.CreateInstance(typeof(T)); + foreach (FieldInfo fieldInfo in typeof(T).GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + object[] customAttributes = fieldInfo.GetCustomAttributes(typeof(P31DeserializeableFieldAttribute), true); + int j = 0; + while (j < customAttributes.Length) + { + object obj2 = customAttributes[j]; + P31DeserializeableFieldAttribute p31DeserializeableFieldAttribute = obj2 as P31DeserializeableFieldAttribute; + if (self.Contains(p31DeserializeableFieldAttribute.key)) + { + object obj3 = self[p31DeserializeableFieldAttribute.key]; + if (obj3 is IDictionary) + { + MethodInfo methodInfo = typeof(DeserializationExtensions).GetMethod("toClass").MakeGenericMethod(new Type[] + { + p31DeserializeableFieldAttribute.type + }); + object value = methodInfo.Invoke(null, new object[] + { + obj3 + }); + fieldInfo.SetValue(obj, value); + self.Remove(p31DeserializeableFieldAttribute.key); + } + else if (obj3 is IList) + { + if (!p31DeserializeableFieldAttribute.isCollection) + { + Debug.LogError("found an IList but the field is not a collection: " + p31DeserializeableFieldAttribute.key); + } + else + { + MethodInfo methodInfo2 = typeof(DeserializationExtensions).GetMethod("toList").MakeGenericMethod(new Type[] + { + p31DeserializeableFieldAttribute.type + }); + object value2 = methodInfo2.Invoke(null, new object[] + { + obj3 + }); + fieldInfo.SetValue(obj, value2); + self.Remove(p31DeserializeableFieldAttribute.key); + } + } + else + { + fieldInfo.SetValue(obj, Convert.ChangeType(obj3, fieldInfo.FieldType)); + self.Remove(p31DeserializeableFieldAttribute.key); + } + } + IL_19E: + j++; + continue; + goto IL_19E; + } + } + return (T)((object)obj); + } + + // Token: 0x06000017 RID: 23 RVA: 0x00002ACC File Offset: 0x00000CCC + public static Dictionary toDictionary(this object self) + { + Dictionary dictionary = new Dictionary(); + foreach (FieldInfo fieldInfo in self.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + foreach (object obj in fieldInfo.GetCustomAttributes(typeof(P31DeserializeableFieldAttribute), true)) + { + P31DeserializeableFieldAttribute p31DeserializeableFieldAttribute = obj as P31DeserializeableFieldAttribute; + if (p31DeserializeableFieldAttribute.isCollection) + { + IEnumerable enumerable = fieldInfo.GetValue(self) as IEnumerable; + ArrayList arrayList = new ArrayList(); + IEnumerator enumerator = enumerable.GetEnumerator(); + try + { + while (enumerator.MoveNext()) + { + object self2 = enumerator.Current; + arrayList.Add(self2.toDictionary()); + } + } + finally + { + IDisposable disposable; + if ((disposable = (enumerator as IDisposable)) != null) + { + disposable.Dispose(); + } + } + dictionary[p31DeserializeableFieldAttribute.key] = arrayList; + } + else if (p31DeserializeableFieldAttribute.type != null) + { + dictionary[p31DeserializeableFieldAttribute.key] = fieldInfo.GetValue(self).toDictionary(); + } + else + { + dictionary[p31DeserializeableFieldAttribute.key] = fieldInfo.GetValue(self); + } + } + } + return dictionary; + } + + // Token: 0x06000018 RID: 24 RVA: 0x00002C2C File Offset: 0x00000E2C + [Obsolete("Use the toDictionary method to get a proper generic Dictionary returned. Hashtables are obsolute.")] + public static Hashtable toHashtable(this object self) + { + Hashtable hashtable = new Hashtable(); + foreach (FieldInfo fieldInfo in self.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + foreach (object obj in fieldInfo.GetCustomAttributes(typeof(P31DeserializeableFieldAttribute), true)) + { + P31DeserializeableFieldAttribute p31DeserializeableFieldAttribute = obj as P31DeserializeableFieldAttribute; + if (p31DeserializeableFieldAttribute.isCollection) + { + IEnumerable enumerable = fieldInfo.GetValue(self) as IEnumerable; + ArrayList arrayList = new ArrayList(); + IEnumerator enumerator = enumerable.GetEnumerator(); + try + { + while (enumerator.MoveNext()) + { + object self2 = enumerator.Current; + arrayList.Add(self2.toHashtable()); + } + } + finally + { + IDisposable disposable; + if ((disposable = (enumerator as IDisposable)) != null) + { + disposable.Dispose(); + } + } + hashtable[p31DeserializeableFieldAttribute.key] = arrayList; + } + else if (p31DeserializeableFieldAttribute.type != null) + { + hashtable[p31DeserializeableFieldAttribute.key] = fieldInfo.GetValue(self).toHashtable(); + } + else + { + hashtable[p31DeserializeableFieldAttribute.key] = fieldInfo.GetValue(self); + } + } + } + return hashtable; + } + } +} diff --git a/Assets/Scripts/P31RestKit/HTTPVerb.cs b/Assets/Scripts/P31RestKit/HTTPVerb.cs new file mode 100644 index 000000000..f7811e6be --- /dev/null +++ b/Assets/Scripts/P31RestKit/HTTPVerb.cs @@ -0,0 +1,17 @@ +using System; + +namespace Prime31 +{ + // Token: 0x02000002 RID: 2 + public enum HTTPVerb + { + // Token: 0x04000002 RID: 2 + GET, + // Token: 0x04000003 RID: 3 + POST, + // Token: 0x04000004 RID: 4 + PUT, + // Token: 0x04000005 RID: 5 + DELETE + } +} diff --git a/Assets/Scripts/P31RestKit/IJsonSerializerStrategy.cs b/Assets/Scripts/P31RestKit/IJsonSerializerStrategy.cs new file mode 100644 index 000000000..be5ce3366 --- /dev/null +++ b/Assets/Scripts/P31RestKit/IJsonSerializerStrategy.cs @@ -0,0 +1,14 @@ +using System; + +namespace Prime31 +{ + // Token: 0x0200001B RID: 27 + public interface IJsonSerializerStrategy + { + // Token: 0x060000A8 RID: 168 + bool serializeNonPrimitiveObject(object input, out object output); + + // Token: 0x060000A9 RID: 169 + object deserializeObject(object value, Type type); + } +} diff --git a/Assets/Scripts/P31RestKit/Json.cs b/Assets/Scripts/P31RestKit/Json.cs new file mode 100644 index 000000000..53880f268 --- /dev/null +++ b/Assets/Scripts/P31RestKit/Json.cs @@ -0,0 +1,892 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Reflection; +using System.Text; + +namespace Prime31 +{ + // Token: 0x02000010 RID: 16 + public class Json + { + // Token: 0x0600005F RID: 95 RVA: 0x00004A54 File Offset: 0x00002C54 + public static object decode(string json) + { + object result; + if (Json.useSimpleJson) + { + result = SimpleJson.decode(json); + } + else + { + object obj = Json.Deserializer.deserialize(json); + if (obj == null) + { + Utils.logObject("Something went wrong deserializing the json. We got a null return. Here is the json we tried to deserialize: " + json); + } + result = obj; + } + return result; + } + + // Token: 0x06000060 RID: 96 RVA: 0x00004AA0 File Offset: 0x00002CA0 + public static T decode(string json, string rootElement = null) where T : new() + { + T result; + if (Json.useSimpleJson) + { + result = SimpleJson.decode(json, rootElement); + } + else + { + result = (T)((object)Json.ObjectDecoder.decode(json, rootElement)); + } + return result; + } + + // Token: 0x06000061 RID: 97 RVA: 0x00004AD8 File Offset: 0x00002CD8 + public static T decodeObject(object jsonObject, string rootElement = null) where T : new() + { + return SimpleJson.decodeObject(jsonObject, rootElement); + } + + // Token: 0x06000062 RID: 98 RVA: 0x00004AF4 File Offset: 0x00002CF4 + public static string encode(object obj) + { + string text = (!Json.useSimpleJson) ? Json.Serializer.serialize(obj) : SimpleJson.encode(obj); + if (text == null) + { + Utils.logObject("Something went wrong serializing the object. We got a null return. Here is the object we tried to deserialize: "); + Utils.logObject(obj); + } + return text; + } + + // Token: 0x06000063 RID: 99 RVA: 0x00004B40 File Offset: 0x00002D40 + public static object jsonDecode(string json) + { + return Json.decode(json); + } + + // Token: 0x06000064 RID: 100 RVA: 0x00004B5C File Offset: 0x00002D5C + public static string jsonEncode(object obj) + { + string text = Json.Serializer.serialize(obj); + if (text == null) + { + Utils.logObject("Something went wrong serializing the object. We got a null return. Here is the object we tried to deserialize: "); + Utils.logObject(obj); + } + return text; + } + + // Token: 0x04000024 RID: 36 + public static bool useSimpleJson; + + // Token: 0x02000011 RID: 17 + internal class ObjectDecoder + { + // Token: 0x06000066 RID: 102 RVA: 0x00004B9C File Offset: 0x00002D9C + public static object decode(string json, string rootElement = null) where T : new() + { + object obj = Json.decode(json); + object result; + if (obj == null) + { + result = null; + } + else + { + result = new Json.ObjectDecoder().decode(obj, rootElement); + } + return result; + } + + // Token: 0x06000067 RID: 103 RVA: 0x00004BD4 File Offset: 0x00002DD4 + private object decode(object decodedJsonObject, string rootElement = null) where T : new() + { + if (rootElement != null) + { + IDictionary dictionary = decodedJsonObject as IDictionary; + if (dictionary == null) + { + Utils.logObject(string.Concat(new object[] + { + "A rootElement was requested (", + rootElement, + ") but the json did not decode to a Dictionary. It decoded to: ", + decodedJsonObject + })); + return null; + } + if (!dictionary.Contains(rootElement)) + { + Utils.logObject("A rootElement was requested (" + rootElement + ") but does not exist in the decoded Dictionary"); + return null; + } + decodedJsonObject = dictionary[rootElement]; + } + Type type = typeof(T); + IList list = null; + object result; + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) + { + list = (Activator.CreateInstance() as IList); + type = list.GetType().GetGenericArguments()[0]; + if (!(decodedJsonObject is IList) || !decodedJsonObject.GetType().IsGenericType) + { + Utils.logObject("A List was required but the json did not decode to a List. It decoded to: " + decodedJsonObject); + result = null; + } + else + { + IEnumerator enumerator = ((IList)decodedJsonObject).GetEnumerator(); + try + { + while (enumerator.MoveNext()) + { + object obj = enumerator.Current; + Dictionary dictionary2 = (Dictionary)obj; + if (dictionary2 == null) + { + Utils.logObject("Aborted populating List because the json did not decode to a List of Dictionaries"); + return list; + } + list.Add(this.createAndPopulateObjectFromDictionary(type, dictionary2)); + } + } + finally + { + IDisposable disposable; + if ((disposable = (enumerator as IDisposable)) != null) + { + disposable.Dispose(); + } + } + result = list; + } + } + else + { + result = this.createAndPopulateObjectFromDictionary(type, decodedJsonObject as Dictionary); + } + return result; + } + + // Token: 0x06000068 RID: 104 RVA: 0x00004D78 File Offset: 0x00002F78 + private Dictionary> getMemberInfoForObject(object obj) + { + if (this._memberInfo == null) + { + this._memberInfo = Json.ObjectDecoder.getMembersWithSetters(obj); + } + return this._memberInfo; + } + + // Token: 0x06000069 RID: 105 RVA: 0x00004DAC File Offset: 0x00002FAC + private static Dictionary> getMembersWithSetters(object obj) + { + Dictionary> dictionary = new Dictionary>(); + FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); + for (int i = 0; i < fields.Length; i++) + { + FieldInfo fieldInfo = fields[i]; + if (fieldInfo.FieldType.Namespace.StartsWith("System")) + { + FieldInfo theInfo = fieldInfo; + Type theFieldType = fieldInfo.FieldType; + dictionary[fieldInfo.Name] = delegate(object ownerObject, object val) + { + theInfo.SetValue(ownerObject, Convert.ChangeType(val, theFieldType)); + }; + } + } + foreach (PropertyInfo propertyInfo in obj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + if (propertyInfo.PropertyType.Namespace.StartsWith("System")) + { + if (propertyInfo.CanWrite && propertyInfo.GetSetMethod(true) != null) + { + PropertyInfo theInfo = propertyInfo; + Type thePropertyType = propertyInfo.PropertyType; + dictionary[propertyInfo.Name] = delegate(object ownerObject, object val) + { + theInfo.SetValue(ownerObject, Convert.ChangeType(val, thePropertyType), null); + }; + } + } + } + return dictionary; + } + + // Token: 0x0600006A RID: 106 RVA: 0x00004EEC File Offset: 0x000030EC + public object createAndPopulateObjectFromDictionary(Type objectType, Dictionary dict) + { + object obj = Activator.CreateInstance(objectType); + Dictionary> memberInfoForObject = this.getMemberInfoForObject(obj); + Dictionary.KeyCollection keys = dict.Keys; + foreach (string key in keys) + { + if (memberInfoForObject.ContainsKey(key)) + { + try + { + memberInfoForObject[key](obj, dict[key]); + } + catch (Exception obj2) + { + Utils.logObject(obj2); + } + } + } + return obj; + } + + // Token: 0x04000025 RID: 37 + private Dictionary> _memberInfo; + } + + // Token: 0x02000012 RID: 18 + internal class Deserializer + { + // Token: 0x0600006B RID: 107 RVA: 0x00004FEF File Offset: 0x000031EF + private Deserializer(string json) + { + this.charArray = json.ToCharArray(); + } + + // Token: 0x0600006C RID: 108 RVA: 0x00005004 File Offset: 0x00003204 + public static object deserialize(string json) + { + object result; + if (json != null) + { + Json.Deserializer deserializer = new Json.Deserializer(json); + result = deserializer.deserialize(); + } + else + { + result = null; + } + return result; + } + + // Token: 0x0600006D RID: 109 RVA: 0x00005038 File Offset: 0x00003238 + private object deserialize() + { + int num = 0; + return this.parseValue(this.charArray, ref num); + } + + // Token: 0x0600006E RID: 110 RVA: 0x00005060 File Offset: 0x00003260 + protected object parseValue(char[] json, ref int index) + { + switch (this.lookAhead(json, index)) + { + case Json.Deserializer.JsonToken.CurlyOpen: + return this.parseObject(json, ref index); + case Json.Deserializer.JsonToken.SquaredOpen: + return this.parseArray(json, ref index); + case Json.Deserializer.JsonToken.String: + return this.parseString(json, ref index); + case Json.Deserializer.JsonToken.Number: + return this.parseNumber(json, ref index); + case Json.Deserializer.JsonToken.True: + this.nextToken(json, ref index); + return bool.Parse("TRUE"); + case Json.Deserializer.JsonToken.False: + this.nextToken(json, ref index); + return bool.Parse("FALSE"); + case Json.Deserializer.JsonToken.Null: + this.nextToken(json, ref index); + return null; + } + return null; + } + + // Token: 0x0600006F RID: 111 RVA: 0x00005144 File Offset: 0x00003344 + private IDictionary parseObject(char[] json, ref int index) + { + IDictionary dictionary = new Dictionary(); + this.nextToken(json, ref index); + bool flag = false; + while (!flag) + { + Json.Deserializer.JsonToken jsonToken = this.lookAhead(json, index); + if (jsonToken != Json.Deserializer.JsonToken.None) + { + if (jsonToken == Json.Deserializer.JsonToken.Comma) + { + this.nextToken(json, ref index); + } + else + { + if (jsonToken == Json.Deserializer.JsonToken.CurlyClose) + { + this.nextToken(json, ref index); + return dictionary; + } + string text = this.parseString(json, ref index); + if (text == null) + { + return null; + } + jsonToken = this.nextToken(json, ref index); + if (jsonToken != Json.Deserializer.JsonToken.Colon) + { + return null; + } + object value = this.parseValue(json, ref index); + dictionary[text] = value; + } + continue; + } + return null; + } + return dictionary; + } + + // Token: 0x06000070 RID: 112 RVA: 0x00005204 File Offset: 0x00003404 + private IList parseArray(char[] json, ref int index) + { + List list = new List(); + this.nextToken(json, ref index); + bool flag = false; + while (!flag) + { + Json.Deserializer.JsonToken jsonToken = this.lookAhead(json, index); + if (jsonToken == Json.Deserializer.JsonToken.None) + { + return null; + } + if (jsonToken == Json.Deserializer.JsonToken.Comma) + { + this.nextToken(json, ref index); + } + else + { + if (jsonToken == Json.Deserializer.JsonToken.SquaredClose) + { + this.nextToken(json, ref index); + break; + } + object item = this.parseValue(json, ref index); + list.Add(item); + } + } + return list; + } + + // Token: 0x06000071 RID: 113 RVA: 0x00005294 File Offset: 0x00003494 + private string parseString(char[] json, ref int index) + { + string text = string.Empty; + this.eatWhitespace(json, ref index); + char c = json[index++]; + bool flag = false; + while (!flag) + { + if (index == json.Length) + { + break; + } + c = json[index++]; + if (c == '"') + { + flag = true; + break; + } + if (c == '\\') + { + if (index == json.Length) + { + break; + } + c = json[index++]; + if (c == '"') + { + text += '"'; + } + else if (c == '\\') + { + text += '\\'; + } + else if (c == '/') + { + text += '/'; + } + else if (c == 'b') + { + text += '\b'; + } + else if (c == 'f') + { + text += '\f'; + } + else if (c == 'n') + { + text += '\n'; + } + else if (c == 'r') + { + text += '\r'; + } + else if (c == 't') + { + text += '\t'; + } + else if (c == 'u') + { + int num = json.Length - index; + if (num < 4) + { + break; + } + char[] array = new char[4]; + Array.Copy(json, index, array, 0, 4); + uint utf = uint.Parse(new string(array), NumberStyles.HexNumber); + try + { + text += char.ConvertFromUtf32((int)utf); + } + catch (Exception) + { + foreach (char c2 in array) + { + text += c2; + } + } + index += 4; + } + } + else + { + text += c; + } + } + string result; + if (!flag) + { + result = null; + } + else + { + result = text; + } + return result; + } + + // Token: 0x06000072 RID: 114 RVA: 0x000054E4 File Offset: 0x000036E4 + private object parseNumber(char[] json, ref int index) + { + this.eatWhitespace(json, ref index); + int lastIndexOfNumber = this.getLastIndexOfNumber(json, index); + int num = lastIndexOfNumber - index + 1; + char[] array = new char[num]; + Array.Copy(json, index, array, 0, num); + index = lastIndexOfNumber + 1; + string text = new string(array); + if (!text.Contains(".")) + { + long num2; + if (long.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out num2)) + { + return num2; + } + } + return double.Parse(new string(array), CultureInfo.InvariantCulture); + } + + // Token: 0x06000073 RID: 115 RVA: 0x0000557C File Offset: 0x0000377C + private int getLastIndexOfNumber(char[] json, int index) + { + int i; + for (i = index; i < json.Length; i++) + { + if ("0123456789+-.eE".IndexOf(json[i]) == -1) + { + break; + } + } + return i - 1; + } + + // Token: 0x06000074 RID: 116 RVA: 0x000055C2 File Offset: 0x000037C2 + private void eatWhitespace(char[] json, ref int index) + { + while (index < json.Length) + { + if (" \t\n\r".IndexOf(json[index]) == -1) + { + break; + } + index++; + } + } + + // Token: 0x06000075 RID: 117 RVA: 0x000055F8 File Offset: 0x000037F8 + private Json.Deserializer.JsonToken lookAhead(char[] json, int index) + { + int num = index; + return this.nextToken(json, ref num); + } + + // Token: 0x06000076 RID: 118 RVA: 0x00005618 File Offset: 0x00003818 + private Json.Deserializer.JsonToken nextToken(char[] json, ref int index) + { + this.eatWhitespace(json, ref index); + Json.Deserializer.JsonToken result; + if (index == json.Length) + { + result = Json.Deserializer.JsonToken.None; + } + else + { + char c = json[index]; + index++; + switch (c) + { + case ',': + result = Json.Deserializer.JsonToken.Comma; + break; + case '-': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + result = Json.Deserializer.JsonToken.Number; + break; + default: + switch (c) + { + case '[': + result = Json.Deserializer.JsonToken.SquaredOpen; + break; + default: + switch (c) + { + case '{': + result = Json.Deserializer.JsonToken.CurlyOpen; + break; + default: + if (c != '"') + { + index--; + int num = json.Length - index; + if (num >= 5) + { + if (json[index] == 'f' && json[index + 1] == 'a' && json[index + 2] == 'l' && json[index + 3] == 's' && json[index + 4] == 'e') + { + index += 5; + result = Json.Deserializer.JsonToken.False; + break; + } + } + if (num >= 4) + { + if (json[index] == 't' && json[index + 1] == 'r' && json[index + 2] == 'u' && json[index + 3] == 'e') + { + index += 4; + result = Json.Deserializer.JsonToken.True; + break; + } + } + if (num >= 4) + { + if (json[index] == 'n' && json[index + 1] == 'u' && json[index + 2] == 'l' && json[index + 3] == 'l') + { + index += 4; + result = Json.Deserializer.JsonToken.Null; + break; + } + } + result = Json.Deserializer.JsonToken.None; + } + else + { + result = Json.Deserializer.JsonToken.String; + } + break; + case '}': + result = Json.Deserializer.JsonToken.CurlyClose; + break; + } + break; + case ']': + result = Json.Deserializer.JsonToken.SquaredClose; + break; + } + break; + case ':': + result = Json.Deserializer.JsonToken.Colon; + break; + } + } + return result; + } + + // Token: 0x04000026 RID: 38 + private char[] charArray; + + // Token: 0x02000013 RID: 19 + private enum JsonToken + { + // Token: 0x04000028 RID: 40 + None, + // Token: 0x04000029 RID: 41 + CurlyOpen, + // Token: 0x0400002A RID: 42 + CurlyClose, + // Token: 0x0400002B RID: 43 + SquaredOpen, + // Token: 0x0400002C RID: 44 + SquaredClose, + // Token: 0x0400002D RID: 45 + Colon, + // Token: 0x0400002E RID: 46 + Comma, + // Token: 0x0400002F RID: 47 + String, + // Token: 0x04000030 RID: 48 + Number, + // Token: 0x04000031 RID: 49 + True, + // Token: 0x04000032 RID: 50 + False, + // Token: 0x04000033 RID: 51 + Null + } + } + + // Token: 0x02000014 RID: 20 + internal class Serializer + { + // Token: 0x06000077 RID: 119 RVA: 0x000057FE File Offset: 0x000039FE + private Serializer() + { + this._builder = new StringBuilder(); + } + + // Token: 0x06000078 RID: 120 RVA: 0x00005814 File Offset: 0x00003A14 + public static string serialize(object obj) + { + Json.Serializer serializer = new Json.Serializer(); + serializer.serializeObject(obj); + return serializer._builder.ToString(); + } + + // Token: 0x06000079 RID: 121 RVA: 0x00005844 File Offset: 0x00003A44 + private void serializeObject(object value) + { + if (value == null) + { + this._builder.Append("null"); + } + else if (value is string) + { + this.serializeString((string)value); + } + else if (value is IList) + { + this.serializeIList((IList)value); + } + else if (value is Dictionary) + { + this.serializeDictionary((Dictionary)value); + } + else if (value is IDictionary) + { + this.serializeIDictionary((IDictionary)value); + } + else if (value is bool) + { + this._builder.Append(value.ToString().ToLower()); + } + else if (value.GetType().IsPrimitive) + { + this._builder.Append(value); + } + else if (value is DateTime) + { + DateTime value2 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + double totalMilliseconds = ((DateTime)value).Subtract(value2).TotalMilliseconds; + this.serializeString(Convert.ToString(totalMilliseconds, CultureInfo.InvariantCulture)); + } + else + { + try + { + this.serializeClass(value); + } + catch (Exception ex) + { + Utils.logObject(string.Format("failed to serialize {0} with error: {1}", value, ex.Message)); + } + } + } + + // Token: 0x0600007A RID: 122 RVA: 0x000059C4 File Offset: 0x00003BC4 + private void serializeIList(IList anArray) + { + this._builder.Append("["); + bool flag = true; + for (int i = 0; i < anArray.Count; i++) + { + object value = anArray[i]; + if (!flag) + { + this._builder.Append(", "); + } + this.serializeObject(value); + flag = false; + } + this._builder.Append("]"); + } + + // Token: 0x0600007B RID: 123 RVA: 0x00005A38 File Offset: 0x00003C38 + private void serializeIDictionary(IDictionary dict) + { + this._builder.Append("{"); + bool flag = true; + IEnumerator enumerator = dict.Keys.GetEnumerator(); + try + { + while (enumerator.MoveNext()) + { + object obj = enumerator.Current; + if (!flag) + { + this._builder.Append(", "); + } + this.serializeString(obj.ToString()); + this._builder.Append(":"); + this.serializeObject(dict[obj]); + flag = false; + } + } + finally + { + IDisposable disposable; + if ((disposable = (enumerator as IDisposable)) != null) + { + disposable.Dispose(); + } + } + this._builder.Append("}"); + } + + // Token: 0x0600007C RID: 124 RVA: 0x00005AFC File Offset: 0x00003CFC + private void serializeDictionary(Dictionary dict) + { + this._builder.Append("{"); + bool flag = true; + Dictionary.KeyCollection keys = dict.Keys; + foreach (string text in keys) + { + if (!flag) + { + this._builder.Append(", "); + } + this.serializeString(text.ToString()); + this._builder.Append(":"); + this.serializeObject(dict[text]); + flag = false; + } + this._builder.Append("}"); + } + + // Token: 0x0600007D RID: 125 RVA: 0x00005BC0 File Offset: 0x00003DC0 + private void serializeString(string str) + { + this._builder.Append("\""); + foreach (char c in str.ToCharArray()) + { + if (c == '"') + { + this._builder.Append("\\\""); + } + else if (c == '\\') + { + this._builder.Append("\\\\"); + } + else if (c == '\b') + { + this._builder.Append("\\b"); + } + else if (c == '\f') + { + this._builder.Append("\\f"); + } + else if (c == '\n') + { + this._builder.Append("\\n"); + } + else if (c == '\r') + { + this._builder.Append("\\r"); + } + else if (c == '\t') + { + this._builder.Append("\\t"); + } + else + { + int num = Convert.ToInt32(c, CultureInfo.InvariantCulture); + if (num >= 32 && num <= 126) + { + this._builder.Append(c); + } + else + { + this._builder.Append("\\u" + Convert.ToString(num, 16).PadLeft(4, '0')); + } + } + } + this._builder.Append("\""); + } + + // Token: 0x0600007E RID: 126 RVA: 0x00005D4C File Offset: 0x00003F4C + private void serializeClass(object value) + { + this._builder.Append("{"); + bool flag = true; + foreach (FieldInfo fieldInfo in value.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + if (!fieldInfo.IsPrivate || !fieldInfo.Name.Contains("k__BackingField")) + { + if (!flag) + { + this._builder.Append(", "); + } + this.serializeString(fieldInfo.Name); + this._builder.Append(":"); + this.serializeObject(fieldInfo.GetValue(value)); + flag = false; + } + } + foreach (PropertyInfo propertyInfo in value.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + if (!flag) + { + this._builder.Append(", "); + } + this.serializeString(propertyInfo.Name); + this._builder.Append(":"); + this.serializeObject(propertyInfo.GetValue(value, null)); + flag = false; + } + this._builder.Append("}"); + } + + // Token: 0x04000034 RID: 52 + private StringBuilder _builder; + } + } +} diff --git a/Assets/Scripts/P31RestKit/JsonArray.cs b/Assets/Scripts/P31RestKit/JsonArray.cs new file mode 100644 index 000000000..1175d4d0e --- /dev/null +++ b/Assets/Scripts/P31RestKit/JsonArray.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace Prime31 +{ + // Token: 0x02000018 RID: 24 + public class JsonArray : List + { + // Token: 0x06000088 RID: 136 RVA: 0x0000630E File Offset: 0x0000450E + public JsonArray() + { + } + + // Token: 0x06000089 RID: 137 RVA: 0x00006317 File Offset: 0x00004517 + public JsonArray(int capacity) : base(capacity) + { + } + + // Token: 0x0600008A RID: 138 RVA: 0x00006324 File Offset: 0x00004524 + public override string ToString() + { + return JsonFormatter.prettyPrint(SimpleJson.encode(this)) ?? string.Empty; + } + } +} diff --git a/Assets/Scripts/P31RestKit/JsonExtensions.cs b/Assets/Scripts/P31RestKit/JsonExtensions.cs new file mode 100644 index 000000000..8f4515bba --- /dev/null +++ b/Assets/Scripts/P31RestKit/JsonExtensions.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Prime31 +{ + // Token: 0x02000015 RID: 21 + public static class JsonExtensions + { + // Token: 0x0600007F RID: 127 RVA: 0x00005E88 File Offset: 0x00004088 + public static string toJson(this IList obj) + { + return Json.encode(obj); + } + + // Token: 0x06000080 RID: 128 RVA: 0x00005EA4 File Offset: 0x000040A4 + public static string toJson(this IDictionary obj) + { + return Json.encode(obj); + } + + // Token: 0x06000081 RID: 129 RVA: 0x00005EC0 File Offset: 0x000040C0 + public static List listFromJson(this string json) + { + return Json.decode(json) as List; + } + + // Token: 0x06000082 RID: 130 RVA: 0x00005EE0 File Offset: 0x000040E0 + public static Dictionary dictionaryFromJson(this string json) + { + return Json.decode(json) as Dictionary; + } + } +} diff --git a/Assets/Scripts/P31RestKit/JsonFormatter.cs b/Assets/Scripts/P31RestKit/JsonFormatter.cs new file mode 100644 index 000000000..eb2c93dcf --- /dev/null +++ b/Assets/Scripts/P31RestKit/JsonFormatter.cs @@ -0,0 +1,211 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Prime31 +{ + // Token: 0x02000016 RID: 22 + public class JsonFormatter + { + // Token: 0x06000084 RID: 132 RVA: 0x00005F30 File Offset: 0x00004130 + public static string prettyPrint(string input) + { + string result; + try + { + result = new JsonFormatter().print(input); + } + catch (Exception) + { + result = null; + } + return result; + } + + // Token: 0x06000085 RID: 133 RVA: 0x00005F6C File Offset: 0x0000416C + private static void buildIndents(int indents, StringBuilder output) + { + for (indents = indents; indents > 0; indents--) + { + output.Append("\t"); + } + } + + // Token: 0x06000086 RID: 134 RVA: 0x00005F90 File Offset: 0x00004190 + private bool inString() + { + return this.inDoubleString || this.inSingleString; + } + + // Token: 0x06000087 RID: 135 RVA: 0x00005FBC File Offset: 0x000041BC + public string print(string input) + { + StringBuilder stringBuilder = new StringBuilder(input.Length * 2); + foreach (char c in input) + { + switch (c) + { + case ' ': + if (this.inString()) + { + stringBuilder.Append(c); + } + break; + default: + switch (c) + { + case ':': + if (!this.inString()) + { + this.inVariableAssignment = true; + stringBuilder.Append(c); + stringBuilder.Append(" "); + } + else + { + stringBuilder.Append(c); + } + break; + default: + switch (c) + { + case '[': + stringBuilder.Append(c); + if (!this.inString()) + { + this.context.Push(JsonFormatter.JsonContextType.Array); + } + break; + default: + switch (c) + { + case '{': + if (!this.inString()) + { + if (this.inVariableAssignment || (this.context.Count > 0 && this.context.Peek() != JsonFormatter.JsonContextType.Array)) + { + stringBuilder.Append(Environment.NewLine); + JsonFormatter.buildIndents(this.context.Count, stringBuilder); + } + stringBuilder.Append(c); + this.context.Push(JsonFormatter.JsonContextType.Object); + stringBuilder.Append(Environment.NewLine); + JsonFormatter.buildIndents(this.context.Count, stringBuilder); + } + else + { + stringBuilder.Append(c); + } + break; + default: + if (c != '\'') + { + if (c != ',') + { + stringBuilder.Append(c); + } + else + { + stringBuilder.Append(c); + if (!this.inString()) + { + stringBuilder.Append(" "); + } + if (!this.inString() && this.context.Peek() != JsonFormatter.JsonContextType.Array) + { + JsonFormatter.buildIndents(this.context.Count, stringBuilder); + stringBuilder.Append(Environment.NewLine); + JsonFormatter.buildIndents(this.context.Count, stringBuilder); + this.inVariableAssignment = false; + } + } + } + else + { + if (!this.inDoubleString && this.prevChar != '\\') + { + this.inSingleString = !this.inSingleString; + } + stringBuilder.Append(c); + } + break; + case '}': + if (!this.inString()) + { + stringBuilder.Append(Environment.NewLine); + this.context.Pop(); + JsonFormatter.buildIndents(this.context.Count, stringBuilder); + stringBuilder.Append(c); + } + else + { + stringBuilder.Append(c); + } + break; + } + break; + case ']': + if (!this.inString()) + { + stringBuilder.Append(c); + this.context.Pop(); + } + else + { + stringBuilder.Append(c); + } + break; + } + break; + case '=': + stringBuilder.Append(c); + break; + } + break; + case '"': + if (!this.inSingleString && this.prevChar != '\\') + { + this.inDoubleString = !this.inDoubleString; + } + stringBuilder.Append(c); + break; + } + this.prevChar = c; + } + return stringBuilder.ToString(); + } + + // Token: 0x04000035 RID: 53 + private const int defaultIndent = 0; + + // Token: 0x04000036 RID: 54 + private const string indent = "\t"; + + // Token: 0x04000037 RID: 55 + private const string space = " "; + + // Token: 0x04000038 RID: 56 + private bool inDoubleString = false; + + // Token: 0x04000039 RID: 57 + private bool inSingleString = false; + + // Token: 0x0400003A RID: 58 + private bool inVariableAssignment = false; + + // Token: 0x0400003B RID: 59 + private char prevChar = '\0'; + + // Token: 0x0400003C RID: 60 + private Stack context = new Stack(); + + // Token: 0x02000017 RID: 23 + private enum JsonContextType + { + // Token: 0x0400003E RID: 62 + Object, + // Token: 0x0400003F RID: 63 + Array + } + } +} diff --git a/Assets/Scripts/P31RestKit/JsonObject.cs b/Assets/Scripts/P31RestKit/JsonObject.cs new file mode 100644 index 000000000..d5958dd00 --- /dev/null +++ b/Assets/Scripts/P31RestKit/JsonObject.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; + +namespace Prime31 +{ + // Token: 0x02000019 RID: 25 + public class JsonObject : Dictionary + { + // Token: 0x0600008C RID: 140 RVA: 0x00006358 File Offset: 0x00004558 + public override string ToString() + { + return JsonFormatter.prettyPrint(SimpleJson.encode(this)) ?? string.Empty; + } + } +} diff --git a/Assets/Scripts/P31RestKit/MonoBehaviourGUI.cs b/Assets/Scripts/P31RestKit/MonoBehaviourGUI.cs new file mode 100644 index 000000000..6c511630c --- /dev/null +++ b/Assets/Scripts/P31RestKit/MonoBehaviourGUI.cs @@ -0,0 +1,211 @@ +using System; +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x0200000C RID: 12 + public class MonoBehaviourGUI : MonoBehaviour + { + // Token: 0x0600003E RID: 62 RVA: 0x00003DF8 File Offset: 0x00001FF8 + private bool isRetinaOrLargeScreen() + { + return this._isWindowsPhone || Screen.width >= 960 || Screen.height >= 960; + } + + // Token: 0x0600003F RID: 63 RVA: 0x00003E3C File Offset: 0x0000203C + private void paintWindow(int id) + { + GUI.skin.label.alignment = TextAnchor.UpperLeft; + this._logScrollPosition = GUILayout.BeginScrollView(this._logScrollPosition, new GUILayoutOption[0]); + if (GUILayout.Button("Clear Console", new GUILayoutOption[0])) + { + this._logBuilder.Remove(0, this._logBuilder.Length); + } + GUILayout.Label(this._logBuilder.ToString(), new GUILayoutOption[0]); + GUILayout.EndScrollView(); + } + + // Token: 0x06000040 RID: 64 RVA: 0x00003EB9 File Offset: 0x000020B9 + private void handleLog(string logString, string stackTrace, LogType type) + { + this._logBuilder.AppendFormat("{0}\n", logString); + } + + // Token: 0x06000041 RID: 65 RVA: 0x00003ECE File Offset: 0x000020CE + private void OnDestroy() + { + Application.RegisterLogCallback(null); + } + + // Token: 0x06000042 RID: 66 RVA: 0x00003ED8 File Offset: 0x000020D8 + private void Update() + { + if (!this._logRegistered) + { + Application.RegisterLogCallback(new Application.LogCallback(this.handleLog)); + this._logRegistered = true; + this._isWindowsPhone = Application.platform.ToString().ToLower().Contains("wp8"); + } + bool flag = false; + if (Input.GetMouseButtonDown(0)) + { + float num = Time.time - this._previousClickTime; + if (num < this._doubleClickDelay) + { + flag = true; + } + else + { + this._previousClickTime = Time.time; + } + } + if (Input.touchCount == 2 || flag) + { + this._isShowingLogConsole = !this._isShowingLogConsole; + } + } + + // Token: 0x06000043 RID: 67 RVA: 0x00003F8C File Offset: 0x0000218C + protected void beginColumn() + { + this._width = (float)(Screen.width / 2 - 15); + this._buttonHeight = (float)((!this.isRetinaOrLargeScreen()) ? 30 : 70); + GUI.skin.button.margin = new RectOffset(0, 0, 10, 0); + GUI.skin.button.stretchWidth = true; + GUI.skin.button.fixedHeight = this._buttonHeight; + GUI.skin.button.wordWrap = false; + if (this._isShowingLogConsole) + { + GUILayout.BeginArea(new Rect(0f, 0f, 0f, 0f)); + } + else + { + GUILayout.BeginArea(new Rect(10f, 10f, this._width, (float)Screen.height)); + } + GUILayout.BeginVertical(new GUILayoutOption[0]); + } + + // Token: 0x06000044 RID: 68 RVA: 0x0000406D File Offset: 0x0000226D + protected void endColumn() + { + this.endColumn(false); + } + + // Token: 0x06000045 RID: 69 RVA: 0x00004078 File Offset: 0x00002278 + protected void endColumn(bool hasSecondColumn) + { + GUILayout.EndVertical(); + GUILayout.EndArea(); + if (this._isShowingLogConsole) + { + GUILayout.Window(1, new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), new GUI.WindowFunction(this.paintWindow), "prime[31] Log Console - double tap to dismiss", new GUILayoutOption[0]); + } + if (hasSecondColumn) + { + this.beginRightColumn(); + } + } + + // Token: 0x06000046 RID: 70 RVA: 0x000040E0 File Offset: 0x000022E0 + private void beginRightColumn() + { + if (this._isShowingLogConsole) + { + GUILayout.BeginArea(new Rect(0f, 0f, 0f, 0f)); + } + else + { + GUILayout.BeginArea(new Rect((float)Screen.width - this._width - 10f, 10f, this._width, (float)Screen.height)); + } + GUILayout.BeginVertical(new GUILayoutOption[0]); + } + + // Token: 0x06000047 RID: 71 RVA: 0x00004158 File Offset: 0x00002358 + protected bool bottomRightButton(string text, float width = 150f) + { + return GUI.Button(new Rect((float)Screen.width - width - 10f, (float)Screen.height - this._buttonHeight - 10f, width, this._buttonHeight), text); + } + + // Token: 0x06000048 RID: 72 RVA: 0x000041A0 File Offset: 0x000023A0 + protected bool bottomLeftButton(string text, float width = 150f) + { + return GUI.Button(new Rect(10f, (float)Screen.height - this._buttonHeight - 10f, width, this._buttonHeight), text); + } + + // Token: 0x06000049 RID: 73 RVA: 0x000041E0 File Offset: 0x000023E0 + protected bool bottomCenterButton(string text, float width = 150f) + { + float left = (float)(Screen.width / 2) - width / 2f; + return GUI.Button(new Rect(left, (float)Screen.height - this._buttonHeight - 10f, width, this._buttonHeight), text); + } + + // Token: 0x0600004A RID: 74 RVA: 0x0000422C File Offset: 0x0000242C + protected bool toggleButton(string defaultText, string selectedText) + { + if (!this._toggleButtons.ContainsKey(defaultText)) + { + this._toggleButtons[defaultText] = true; + } + string text = (!this._toggleButtons[defaultText]) ? selectedText : defaultText; + if (!this._toggleButtons[defaultText]) + { + GUI.skin.button.fontStyle = FontStyle.BoldAndItalic; + GUI.contentColor = Color.yellow; + } + else + { + GUI.skin.button.fontStyle = FontStyle.Bold; + GUI.contentColor = Color.red; + } + if (GUILayout.Button(text, new GUILayoutOption[0])) + { + this._toggleButtons[defaultText] = (text != defaultText); + } + GUI.skin.button.fontStyle = FontStyle.Normal; + GUI.contentColor = Color.white; + return this._toggleButtons[defaultText]; + } + + // Token: 0x0600004B RID: 75 RVA: 0x00004314 File Offset: 0x00002514 + protected bool toggleButtonState(string defaultText) + { + if (!this._toggleButtons.ContainsKey(defaultText)) + { + this._toggleButtons[defaultText] = true; + } + return this._toggleButtons[defaultText]; + } + + // Token: 0x04000015 RID: 21 + protected float _width; + + // Token: 0x04000016 RID: 22 + protected float _buttonHeight; + + // Token: 0x04000017 RID: 23 + protected Dictionary _toggleButtons = new Dictionary(); + + // Token: 0x04000018 RID: 24 + protected StringBuilder _logBuilder = new StringBuilder(); + + // Token: 0x04000019 RID: 25 + private bool _logRegistered; + + // Token: 0x0400001A RID: 26 + private Vector2 _logScrollPosition; + + // Token: 0x0400001B RID: 27 + private bool _isShowingLogConsole; + + // Token: 0x0400001C RID: 28 + private float _doubleClickDelay = 0.15f; + + // Token: 0x0400001D RID: 29 + private float _previousClickTime; + + // Token: 0x0400001E RID: 30 + private bool _isWindowsPhone; + } +} diff --git a/Assets/Scripts/P31RestKit/OAuthManager.cs b/Assets/Scripts/P31RestKit/OAuthManager.cs new file mode 100644 index 000000000..169fa5b99 --- /dev/null +++ b/Assets/Scripts/P31RestKit/OAuthManager.cs @@ -0,0 +1,366 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Security.Cryptography; +using System.Text; + +namespace Prime31 +{ + // Token: 0x0200000A RID: 10 + public class OAuthManager + { + // Token: 0x06000023 RID: 35 RVA: 0x00003078 File Offset: 0x00001278 + public OAuthManager() + { + this._random = new Random(); + this._params = new SortedDictionary(); + this._params["consumer_key"] = ""; + this._params["consumer_secret"] = ""; + this._params["timestamp"] = this.generateTimeStamp(); + this._params["nonce"] = this.generateNonce(); + this._params["signature_method"] = "HMAC-SHA1"; + this._params["signature"] = ""; + this._params["token"] = ""; + this._params["token_secret"] = ""; + this._params["version"] = "1.0"; + } + + // Token: 0x06000024 RID: 36 RVA: 0x00003164 File Offset: 0x00001364 + public OAuthManager(string consumerKey, string consumerSecret, string token, string tokenSecret) : this() + { + this._params["consumer_key"] = consumerKey; + this._params["consumer_secret"] = consumerSecret; + this._params["token"] = token; + this._params["token_secret"] = tokenSecret; + } + + // Token: 0x17000004 RID: 4 + public string this[string ix] + { + get + { + if (this._params.ContainsKey(ix)) + { + return this._params[ix]; + } + throw new ArgumentException(ix); + } + set + { + if (!this._params.ContainsKey(ix)) + { + throw new ArgumentException(ix); + } + this._params[ix] = value; + } + } + + // Token: 0x06000027 RID: 39 RVA: 0x00003224 File Offset: 0x00001424 + private string generateTimeStamp() + { + return Convert.ToInt64((DateTime.UtcNow - OAuthManager._epoch).TotalSeconds).ToString(); + } + + // Token: 0x06000028 RID: 40 RVA: 0x00003263 File Offset: 0x00001463 + private void prepareNewRequest() + { + this._params["nonce"] = this.generateNonce(); + this._params["timestamp"] = this.generateTimeStamp(); + } + + // Token: 0x06000029 RID: 41 RVA: 0x00003294 File Offset: 0x00001494 + private string generateNonce() + { + StringBuilder stringBuilder = new StringBuilder(); + for (int i = 0; i < 8; i++) + { + int num = this._random.Next(3); + if (num != 0) + { + stringBuilder.Append((char)(this._random.Next(10) + 48), 1); + } + else + { + stringBuilder.Append((char)(this._random.Next(26) + 97), 1); + } + } + return stringBuilder.ToString(); + } + + // Token: 0x0600002A RID: 42 RVA: 0x00003320 File Offset: 0x00001520 + private SortedDictionary extractQueryParameters(string queryString) + { + if (queryString.StartsWith("?")) + { + queryString = queryString.Remove(0, 1); + } + SortedDictionary sortedDictionary = new SortedDictionary(); + SortedDictionary result; + if (string.IsNullOrEmpty(queryString)) + { + result = sortedDictionary; + } + else + { + foreach (string text in queryString.Split(new char[] + { + '&' + })) + { + if (!string.IsNullOrEmpty(text) && !text.StartsWith("oauth_")) + { + if (text.IndexOf('=') > -1) + { + string[] array2 = text.Split(new char[] + { + '=' + }); + sortedDictionary.Add(array2[0], array2[1]); + } + else + { + sortedDictionary.Add(text, string.Empty); + } + } + } + result = sortedDictionary; + } + return result; + } + + // Token: 0x0600002B RID: 43 RVA: 0x000033FC File Offset: 0x000015FC + public static string urlEncode(string value) + { + StringBuilder stringBuilder = new StringBuilder(); + foreach (char c in value) + { + if (OAuthManager.unreservedChars.IndexOf(c) != -1) + { + stringBuilder.Append(c); + } + else + { + stringBuilder.Append('%' + string.Format("{0:X2}", (int)c)); + } + } + return stringBuilder.ToString(); + } + + // Token: 0x0600002C RID: 44 RVA: 0x00003484 File Offset: 0x00001684 + private static SortedDictionary mergePostParamsWithOauthParams(SortedDictionary postParams, SortedDictionary oAuthParams) + { + SortedDictionary sortedDictionary = new SortedDictionary(); + foreach (KeyValuePair keyValuePair in postParams) + { + sortedDictionary.Add(keyValuePair.Key, keyValuePair.Value); + } + foreach (KeyValuePair keyValuePair2 in oAuthParams) + { + if (!string.IsNullOrEmpty(keyValuePair2.Value) && !keyValuePair2.Key.EndsWith("secret")) + { + sortedDictionary.Add("oauth_" + keyValuePair2.Key, keyValuePair2.Value); + } + } + return sortedDictionary; + } + + // Token: 0x0600002D RID: 45 RVA: 0x00003584 File Offset: 0x00001784 + private static string encodeRequestParameters(SortedDictionary p) + { + StringBuilder stringBuilder = new StringBuilder(); + foreach (KeyValuePair keyValuePair in p) + { + if (!string.IsNullOrEmpty(keyValuePair.Value) && !keyValuePair.Key.EndsWith("secret")) + { + stringBuilder.AppendFormat("oauth_{0}=\"{1}\", ", keyValuePair.Key, OAuthManager.urlEncode(keyValuePair.Value)); + } + } + return stringBuilder.ToString().TrimEnd(new char[] + { + ' ' + }).TrimEnd(new char[] + { + ',' + }); + } + + // Token: 0x0600002E RID: 46 RVA: 0x00003654 File Offset: 0x00001854 + public static byte[] encodePostParameters(SortedDictionary p) + { + StringBuilder stringBuilder = new StringBuilder(); + foreach (KeyValuePair keyValuePair in p) + { + if (!string.IsNullOrEmpty(keyValuePair.Value)) + { + stringBuilder.AppendFormat("{0}={1}, ", OAuthManager.urlEncode(keyValuePair.Key), OAuthManager.urlEncode(keyValuePair.Value)); + } + } + return Encoding.UTF8.GetBytes(stringBuilder.ToString().TrimEnd(new char[] + { + ' ' + }).TrimEnd(new char[] + { + ',' + })); + } + + // Token: 0x0600002F RID: 47 RVA: 0x0000371C File Offset: 0x0000191C + public OAuthResponse acquireRequestToken(string uri, string method) + { + this.prepareNewRequest(); + string authorizationHeader = this.getAuthorizationHeader(uri, method); + HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri); + httpWebRequest.Headers.Add("Authorization", authorizationHeader); + httpWebRequest.Method = method; + OAuthResponse result; + using (HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse()) + { + using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream())) + { + OAuthResponse oauthResponse = new OAuthResponse(streamReader.ReadToEnd()); + this["token"] = oauthResponse["oauth_token"]; + try + { + if (oauthResponse["oauth_token_secret"] != null) + { + this["token_secret"] = oauthResponse["oauth_token_secret"]; + } + } + catch + { + } + result = oauthResponse; + } + } + return result; + } + + // Token: 0x06000030 RID: 48 RVA: 0x00003820 File Offset: 0x00001A20 + public OAuthResponse acquireAccessToken(string uri, string method, string verifier) + { + this.prepareNewRequest(); + this._params["verifier"] = verifier; + string authorizationHeader = this.getAuthorizationHeader(uri, method); + HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri); + httpWebRequest.Headers.Add("Authorization", authorizationHeader); + httpWebRequest.Method = method; + OAuthResponse result; + using (HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse()) + { + using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream())) + { + OAuthResponse oauthResponse = new OAuthResponse(streamReader.ReadToEnd()); + this["token"] = oauthResponse["oauth_token"]; + this["token_secret"] = oauthResponse["oauth_token_secret"]; + result = oauthResponse; + } + } + return result; + } + + // Token: 0x06000031 RID: 49 RVA: 0x00003908 File Offset: 0x00001B08 + public string generateCredsHeader(string uri, string method, string realm) + { + this.prepareNewRequest(); + return this.getAuthorizationHeader(uri, method, realm); + } + + // Token: 0x06000032 RID: 50 RVA: 0x0000392C File Offset: 0x00001B2C + public string generateAuthzHeader(string uri, string method) + { + this.prepareNewRequest(); + return this.getAuthorizationHeader(uri, method, null); + } + + // Token: 0x06000033 RID: 51 RVA: 0x00003950 File Offset: 0x00001B50 + private string getAuthorizationHeader(string uri, string method) + { + return this.getAuthorizationHeader(uri, method, null); + } + + // Token: 0x06000034 RID: 52 RVA: 0x00003970 File Offset: 0x00001B70 + private string getAuthorizationHeader(string uri, string method, string realm) + { + if (string.IsNullOrEmpty(this._params["consumer_key"])) + { + throw new ArgumentNullException("consumer_key"); + } + if (string.IsNullOrEmpty(this._params["signature_method"])) + { + throw new ArgumentNullException("signature_method"); + } + this.sign(uri, method); + string str = OAuthManager.encodeRequestParameters(this._params); + return (!string.IsNullOrEmpty(realm)) ? (string.Format("OAuth realm=\"{0}\", ", realm) + str) : ("OAuth " + str); + } + + // Token: 0x06000035 RID: 53 RVA: 0x00003A10 File Offset: 0x00001C10 + private void sign(string uri, string method) + { + string signatureBase = this.getSignatureBase(uri, method); + HashAlgorithm hash = this.getHash(); + byte[] bytes = Encoding.ASCII.GetBytes(signatureBase); + byte[] inArray = hash.ComputeHash(bytes); + this["signature"] = Convert.ToBase64String(inArray); + } + + // Token: 0x06000036 RID: 54 RVA: 0x00003A54 File Offset: 0x00001C54 + private string getSignatureBase(string url, string method) + { + Uri uri = new Uri(url); + string text = string.Format("{0}://{1}", uri.Scheme, uri.Host); + if ((!(uri.Scheme == "http") || uri.Port != 80) && (!(uri.Scheme == "https") || uri.Port != 443)) + { + text = text + ":" + uri.Port; + } + text += uri.AbsolutePath; + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append(method).Append('&').Append(OAuthManager.urlEncode(text)).Append('&'); + SortedDictionary sortedDictionary = this.extractQueryParameters(uri.Query); + foreach (KeyValuePair keyValuePair in this._params) + { + if (!string.IsNullOrEmpty(this._params[keyValuePair.Key]) && !keyValuePair.Key.EndsWith("_secret") && !keyValuePair.Key.EndsWith("signature")) + { + sortedDictionary.Add("oauth_" + keyValuePair.Key, keyValuePair.Value); + } + } + StringBuilder stringBuilder2 = new StringBuilder(); + foreach (KeyValuePair keyValuePair2 in sortedDictionary) + { + stringBuilder2.AppendFormat("{0}={1}&", keyValuePair2.Key, keyValuePair2.Value); + } + stringBuilder.Append(OAuthManager.urlEncode(stringBuilder2.ToString().TrimEnd(new char[] + { + '&' + }))); + return stringBuilder.ToString(); + } + + // Token: 0x06000037 RID: 55 RVA: 0x00003C70 File Offset: 0x00001E70 + private HashAlgorithm getHash() + { + if (this["signature_method"] != "HMAC-SHA1") + { + throw new NotImplementedException(); + } + string s = string.Format("{0}&{1}", OAuthManager.urlEncode(this["consumer_secret"]), OAuthManager.urlEncode(this["token_secret"])); + return new HMACSHA1 + { + Key = Encoding.ASCII.GetBytes(s) + }; + } + + // Token: 0x0400000F RID: 15 + private static readonly DateTime _epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0); + + // Token: 0x04000010 RID: 16 + private SortedDictionary _params; + + // Token: 0x04000011 RID: 17 + private Random _random; + + // Token: 0x04000012 RID: 18 + private static string unreservedChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~"; + } +} diff --git a/Assets/Scripts/P31RestKit/OAuthResponse.cs b/Assets/Scripts/P31RestKit/OAuthResponse.cs new file mode 100644 index 000000000..9a4f3b6ce --- /dev/null +++ b/Assets/Scripts/P31RestKit/OAuthResponse.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; + +namespace Prime31 +{ + // Token: 0x0200000B RID: 11 + public class OAuthResponse + { + // Token: 0x17000005 RID: 5 + // (get) Token: 0x06000039 RID: 57 RVA: 0x00003D0C File Offset: 0x00001F0C + // (set) Token: 0x0600003A RID: 58 RVA: 0x00003D26 File Offset: 0x00001F26 + public string responseText { get; set; } + + // Token: 0x17000006 RID: 6 + public string this[string ix] + { + get + { + return this._params[ix]; + } + } + + // Token: 0x0600003C RID: 60 RVA: 0x00003D54 File Offset: 0x00001F54 + public OAuthResponse(string alltext) + { + this.responseText = alltext; + this._params = new Dictionary(); + string[] array = alltext.Split(new char[] + { + '&' + }); + foreach (string text in array) + { + string[] array3 = text.Split(new char[] + { + '=' + }); + this._params.Add(array3[0], array3[1]); + } + } + + // Token: 0x04000014 RID: 20 + private Dictionary _params; + } +} diff --git a/Assets/Scripts/P31RestKit/P31DeserializeableFieldAttribute.cs b/Assets/Scripts/P31RestKit/P31DeserializeableFieldAttribute.cs new file mode 100644 index 000000000..1556c55fc --- /dev/null +++ b/Assets/Scripts/P31RestKit/P31DeserializeableFieldAttribute.cs @@ -0,0 +1,36 @@ +using System; + +namespace Prime31 +{ + // Token: 0x02000006 RID: 6 + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class P31DeserializeableFieldAttribute : Attribute + { + // Token: 0x06000019 RID: 25 RVA: 0x00002D8C File Offset: 0x00000F8C + public P31DeserializeableFieldAttribute(string key) + { + this.key = key; + } + + // Token: 0x0600001A RID: 26 RVA: 0x00002D9C File Offset: 0x00000F9C + public P31DeserializeableFieldAttribute(string key, Type type) : this(key) + { + this.type = type; + } + + // Token: 0x0600001B RID: 27 RVA: 0x00002DAD File Offset: 0x00000FAD + public P31DeserializeableFieldAttribute(string key, Type type, bool isCollection) : this(key, type) + { + this.isCollection = isCollection; + } + + // Token: 0x0400000C RID: 12 + public readonly string key; + + // Token: 0x0400000D RID: 13 + public readonly bool isCollection; + + // Token: 0x0400000E RID: 14 + public Type type; + } +} diff --git a/Assets/Scripts/P31RestKit/P31Error.cs b/Assets/Scripts/P31RestKit/P31Error.cs new file mode 100644 index 000000000..1b2b118f1 --- /dev/null +++ b/Assets/Scripts/P31RestKit/P31Error.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; + +namespace Prime31 +{ + // Token: 0x02000025 RID: 37 + public sealed class P31Error + { + // Token: 0x1700000B RID: 11 + // (get) Token: 0x060000D8 RID: 216 RVA: 0x0000816C File Offset: 0x0000636C + // (set) Token: 0x060000D9 RID: 217 RVA: 0x00008186 File Offset: 0x00006386 + public string message { get; private set; } + + // Token: 0x1700000C RID: 12 + // (get) Token: 0x060000DA RID: 218 RVA: 0x00008190 File Offset: 0x00006390 + // (set) Token: 0x060000DB RID: 219 RVA: 0x000081AA File Offset: 0x000063AA + public string domain { get; private set; } + + // Token: 0x1700000D RID: 13 + // (get) Token: 0x060000DC RID: 220 RVA: 0x000081B4 File Offset: 0x000063B4 + // (set) Token: 0x060000DD RID: 221 RVA: 0x000081CE File Offset: 0x000063CE + public int code { get; private set; } + + // Token: 0x1700000E RID: 14 + // (get) Token: 0x060000DE RID: 222 RVA: 0x000081D8 File Offset: 0x000063D8 + // (set) Token: 0x060000DF RID: 223 RVA: 0x000081F2 File Offset: 0x000063F2 + public Dictionary userInfo { get; private set; } + + // Token: 0x060000E1 RID: 225 RVA: 0x00008204 File Offset: 0x00006404 + public static P31Error errorFromJson(string json) + { + P31Error p31Error = new P31Error(); + P31Error result; + if (!json.StartsWith("{")) + { + p31Error.message = json; + p31Error._containsOnlyMessage = true; + result = p31Error; + } + else + { + Dictionary dictionary = Json.decode(json) as Dictionary; + if (dictionary == null) + { + p31Error.message = "Unknown error"; + } + else + { + p31Error.message = ((!dictionary.ContainsKey("message")) ? null : dictionary["message"].ToString()); + p31Error.domain = ((!dictionary.ContainsKey("domain")) ? null : dictionary["domain"].ToString()); + p31Error.code = ((!dictionary.ContainsKey("code")) ? -1 : int.Parse(dictionary["code"].ToString())); + p31Error.userInfo = ((!dictionary.ContainsKey("userInfo")) ? null : (dictionary["userInfo"] as Dictionary)); + } + result = p31Error; + } + return result; + } + + // Token: 0x060000E2 RID: 226 RVA: 0x00008324 File Offset: 0x00006524 + public override string ToString() + { + string result; + if (this._containsOnlyMessage) + { + result = string.Format("[P31Error]: {0}", this.message); + } + else + { + try + { + string input = Json.encode(this); + result = string.Format("[P31Error]: {0}", JsonFormatter.prettyPrint(input)); + } + catch (Exception) + { + result = string.Format("[P31Error]: {0}", this.message); + } + } + return result; + } + + // Token: 0x0400005E RID: 94 + private bool _containsOnlyMessage; + } +} diff --git a/Assets/Scripts/P31RestKit/P31RestKit.cs b/Assets/Scripts/P31RestKit/P31RestKit.cs new file mode 100644 index 000000000..b70e183b4 --- /dev/null +++ b/Assets/Scripts/P31RestKit/P31RestKit.cs @@ -0,0 +1,248 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x02000003 RID: 3 + public class P31RestKit + { + // Token: 0x17000001 RID: 1 + // (get) Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250 + // (set) Token: 0x06000002 RID: 2 RVA: 0x000020BC File Offset: 0x000002BC + protected virtual GameObject surrogateGameObject + { + get + { + if (this._surrogateGameObject == null) + { + this._surrogateGameObject = GameObject.Find("P31CoroutineSurrogate"); + if (this._surrogateGameObject == null) + { + this._surrogateGameObject = new GameObject("P31CoroutineSurrogate"); + UnityEngine.Object.DontDestroyOnLoad(this._surrogateGameObject); + } + } + return this._surrogateGameObject; + } + set + { + this._surrogateGameObject = value; + } + } + + // Token: 0x17000002 RID: 2 + // (get) Token: 0x06000003 RID: 3 RVA: 0x000020C8 File Offset: 0x000002C8 + // (set) Token: 0x06000004 RID: 4 RVA: 0x00002107 File Offset: 0x00000307 + protected MonoBehaviour surrogateMonobehaviour + { + get + { + if (this._surrogateMonobehaviour == null) + { + this._surrogateMonobehaviour = this.surrogateGameObject.AddComponent(); + } + return this._surrogateMonobehaviour; + } + set + { + this._surrogateMonobehaviour = value; + } + } + + // Token: 0x06000006 RID: 6 RVA: 0x00002120 File Offset: 0x00000320 + protected virtual IEnumerator send(string path, HTTPVerb httpVerb, Dictionary parameters, Action onComplete) + { + if (path.StartsWith("/")) + { + path = path.Substring(1); + } + WWW www = this.processRequest(path, httpVerb, parameters); + yield return www; + if (this.debugRequests) + { + Debug.Log("response error: " + www.error); + Debug.Log("response text: " + www.text); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append("Response Headers:\n"); + foreach (KeyValuePair keyValuePair in www.responseHeaders) + { + stringBuilder.AppendFormat("{0}: {1}\n", keyValuePair.Key, keyValuePair.Value); + } + Debug.Log(stringBuilder.ToString()); + } + if (onComplete != null) + { + this.processResponse(www, onComplete); + } + www.Dispose(); + yield break; + } + + // Token: 0x06000007 RID: 7 RVA: 0x00002160 File Offset: 0x00000360 + protected virtual WWW processRequest(string path, HTTPVerb httpVerb, Dictionary parameters) + { + StringBuilder stringBuilder = new StringBuilder(this._baseUrl + path); + bool flag = httpVerb != HTTPVerb.GET; + WWWForm wwwform = (!flag) ? null : new WWWForm(); + if (parameters != null && parameters.Count > 0) + { + if (flag) + { + foreach (KeyValuePair keyValuePair in parameters) + { + if (keyValuePair.Value is string) + { + wwwform.AddField(keyValuePair.Key, keyValuePair.Value as string); + } + else if (keyValuePair.Value is byte[]) + { + wwwform.AddBinaryData(keyValuePair.Key, keyValuePair.Value as byte[]); + } + } + } + else + { + bool flag2 = true; + if (path.Contains("?")) + { + flag2 = false; + } + foreach (KeyValuePair keyValuePair2 in parameters) + { + if (keyValuePair2.Value is string) + { + stringBuilder.AppendFormat("{0}{1}={2}", (!flag2) ? "&" : "?", WWW.EscapeURL(keyValuePair2.Key), WWW.EscapeURL(keyValuePair2.Value as string)); + flag2 = false; + } + } + } + } + if (this.debugRequests) + { + Debug.Log("url: " + stringBuilder.ToString()); + } + return (!flag) ? new WWW(stringBuilder.ToString()) : new WWW(stringBuilder.ToString(), wwwform); + } + + // Token: 0x06000008 RID: 8 RVA: 0x0000235C File Offset: 0x0000055C + protected virtual Hashtable headersForRequest(HTTPVerb httpVerb, Dictionary parameters) + { + Hashtable result; + if (httpVerb == HTTPVerb.PUT) + { + result = new Hashtable + { + { + "X-HTTP-Method-Override", + "PUT" + } + }; + } + else + { + result = null; + } + return result; + } + + // Token: 0x06000009 RID: 9 RVA: 0x00002398 File Offset: 0x00000598 + protected virtual void processResponse(WWW www, Action onComplete) + { + if (www.error != null) + { + onComplete(www.error, null); + } + else if (this.isResponseJson(www)) + { + object obj = Json.decode(www.text); + if (obj == null) + { + obj = www.text; + } + onComplete(null, obj); + } + else + { + onComplete(null, www.text); + } + } + + // Token: 0x0600000A RID: 10 RVA: 0x0000240C File Offset: 0x0000060C + protected bool isResponseJson(WWW www) + { + bool flag = false; + if (this.forceJsonResponse) + { + flag = true; + } + if (!flag) + { + foreach (KeyValuePair keyValuePair in www.responseHeaders) + { + if (keyValuePair.Key.ToLower() == "content-type") + { + if (keyValuePair.Value.ToLower().Contains("/json") || keyValuePair.Value.ToLower().Contains("/javascript")) + { + flag = true; + } + } + } + } + return (!flag || www.text.StartsWith("[") || www.text.StartsWith("{")) && flag; + } + + // Token: 0x0600000B RID: 11 RVA: 0x00002510 File Offset: 0x00000710 + public void get(string path, Action completionHandler) + { + this.get(path, null, completionHandler); + } + + // Token: 0x0600000C RID: 12 RVA: 0x0000251C File Offset: 0x0000071C + public void get(string path, Dictionary parameters, Action completionHandler) + { + this.surrogateMonobehaviour.StartCoroutine(this.send(path, HTTPVerb.GET, parameters, completionHandler)); + } + + // Token: 0x0600000D RID: 13 RVA: 0x00002535 File Offset: 0x00000735 + public void post(string path, Action completionHandler) + { + this.post(path, null, completionHandler); + } + + // Token: 0x0600000E RID: 14 RVA: 0x00002541 File Offset: 0x00000741 + public void post(string path, Dictionary parameters, Action completionHandler) + { + this.surrogateMonobehaviour.StartCoroutine(this.send(path, HTTPVerb.POST, parameters, completionHandler)); + } + + // Token: 0x0600000F RID: 15 RVA: 0x0000255A File Offset: 0x0000075A + public void put(string path, Action completionHandler) + { + this.put(path, null, completionHandler); + } + + // Token: 0x06000010 RID: 16 RVA: 0x00002566 File Offset: 0x00000766 + public void put(string path, Dictionary parameters, Action completionHandler) + { + this.surrogateMonobehaviour.StartCoroutine(this.send(path, HTTPVerb.PUT, parameters, completionHandler)); + } + + // Token: 0x04000006 RID: 6 + protected string _baseUrl; + + // Token: 0x04000007 RID: 7 + public bool debugRequests = false; + + // Token: 0x04000008 RID: 8 + protected bool forceJsonResponse; + + // Token: 0x04000009 RID: 9 + private GameObject _surrogateGameObject; + + // Token: 0x0400000A RID: 10 + private MonoBehaviour _surrogateMonobehaviour; + } +} diff --git a/Assets/Scripts/P31RestKit/P31RestKit.csproj b/Assets/Scripts/P31RestKit/P31RestKit.csproj new file mode 100644 index 000000000..18655ff11 --- /dev/null +++ b/Assets/Scripts/P31RestKit/P31RestKit.csproj @@ -0,0 +1,80 @@ + + + + + Debug + AnyCPU + {10769494-BEF0-4E49-B36B-1F1685047645} + Library + Prime31 + P31RestKit + v3.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\System.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\System.Core.dll + + + ..\..\..\Desktop\alice hack\IOS\RAW DATA\Payload\aliceheart.app\Data\Managed\UnityEngine.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/Scripts/P31RestKit/PocoJsonSerializerStrategy.cs b/Assets/Scripts/P31RestKit/PocoJsonSerializerStrategy.cs new file mode 100644 index 000000000..18e277605 --- /dev/null +++ b/Assets/Scripts/P31RestKit/PocoJsonSerializerStrategy.cs @@ -0,0 +1,234 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Reflection; +using Prime31.Reflection; + +namespace Prime31 +{ + // Token: 0x0200001C RID: 28 + public class PocoJsonSerializerStrategy : IJsonSerializerStrategy + { + // Token: 0x060000AA RID: 170 RVA: 0x0000749C File Offset: 0x0000569C + public PocoJsonSerializerStrategy() + { + this.cacheResolver = new CacheResolver(new MemberMapLoader(this.buildMap)); + } + + // Token: 0x060000AB RID: 171 RVA: 0x000074C0 File Offset: 0x000056C0 + protected virtual void buildMap(Type type, SafeDictionary memberMaps) + { + foreach (PropertyInfo propertyInfo in type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + memberMaps.add(propertyInfo.Name, new CacheResolver.MemberMap(propertyInfo)); + } + foreach (FieldInfo fieldInfo in type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + memberMaps.add(fieldInfo.Name, new CacheResolver.MemberMap(fieldInfo)); + } + } + + // Token: 0x060000AC RID: 172 RVA: 0x00007544 File Offset: 0x00005744 + public virtual bool serializeNonPrimitiveObject(object input, out object output) + { + return this.trySerializeKnownTypes(input, out output) || this.trySerializeUnknownTypes(input, out output); + } + + // Token: 0x060000AD RID: 173 RVA: 0x00007574 File Offset: 0x00005774 + public virtual object deserializeObject(object value, Type type) + { + object obj = null; + if (value is string) + { + string text = value as string; + if (!string.IsNullOrEmpty(text) && (type == typeof(DateTime) || (ReflectionUtils.isNullableType(type) && Nullable.GetUnderlyingType(type) == typeof(DateTime)))) + { + obj = DateTime.ParseExact(text, PocoJsonSerializerStrategy.Iso8601Format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal); + } + else + { + obj = text; + } + } + else if (value is bool) + { + obj = value; + } + else if (value == null) + { + obj = null; + } + else if ((value is long && type == typeof(long)) || (value is double && type == typeof(double))) + { + obj = value; + } + else + { + if ((!(value is double) || type == typeof(double)) && (!(value is long) || type == typeof(long))) + { + if (value is IDictionary) + { + IDictionary dictionary = (IDictionary)value; + if (ReflectionUtils.isTypeDictionary(type)) + { + Type type2 = type.GetGenericArguments()[0]; + Type type3 = type.GetGenericArguments()[1]; + Type type4 = typeof(Dictionary<, >).MakeGenericType(new Type[] + { + type2, + type3 + }); + IDictionary dictionary2 = (IDictionary)CacheResolver.getNewInstance(type4); + foreach (KeyValuePair keyValuePair in dictionary) + { + dictionary2.Add(keyValuePair.Key, this.deserializeObject(keyValuePair.Value, type3)); + } + obj = dictionary2; + } + else + { + obj = CacheResolver.getNewInstance(type); + SafeDictionary safeDictionary = this.cacheResolver.loadMaps(type); + if (safeDictionary == null) + { + obj = value; + } + else + { + foreach (KeyValuePair keyValuePair2 in safeDictionary) + { + CacheResolver.MemberMap value2 = keyValuePair2.Value; + if (value2.Setter != null) + { + string key = keyValuePair2.Key; + if (dictionary.ContainsKey(key)) + { + object value3 = this.deserializeObject(dictionary[key], value2.Type); + value2.Setter(obj, value3); + } + } + } + } + } + } + else if (value is IList) + { + IList list = (IList)value; + IList list2 = null; + if (type.IsArray) + { + list2 = (IList)Activator.CreateInstance(type, new object[] + { + list.Count + }); + int num = 0; + foreach (object value4 in list) + { + list2[num++] = this.deserializeObject(value4, type.GetElementType()); + } + } + else if (ReflectionUtils.isTypeGenericeCollectionInterface(type) || typeof(IList).IsAssignableFrom(type)) + { + Type type5 = type.GetGenericArguments()[0]; + Type type6 = typeof(List<>).MakeGenericType(new Type[] + { + type5 + }); + list2 = (IList)CacheResolver.getNewInstance(type6); + foreach (object value5 in list) + { + list2.Add(this.deserializeObject(value5, type5)); + } + } + obj = list2; + } + return obj; + } + obj = ((!typeof(IConvertible).IsAssignableFrom(type)) ? value : Convert.ChangeType(value, type, CultureInfo.InvariantCulture)); + } + object result; + if (ReflectionUtils.isNullableType(type)) + { + result = ReflectionUtils.toNullableType(obj, type); + } + else + { + result = obj; + } + return result; + } + + // Token: 0x060000AE RID: 174 RVA: 0x000079E0 File Offset: 0x00005BE0 + protected virtual object serializeEnum(Enum p) + { + return Convert.ToDouble(p, CultureInfo.InvariantCulture); + } + + // Token: 0x060000AF RID: 175 RVA: 0x00007A08 File Offset: 0x00005C08 + protected virtual bool trySerializeKnownTypes(object input, out object output) + { + bool result = true; + if (input is DateTime) + { + output = ((DateTime)input).ToUniversalTime().ToString(PocoJsonSerializerStrategy.Iso8601Format[0], CultureInfo.InvariantCulture); + } + else if (input is Guid) + { + output = ((Guid)input).ToString("D"); + } + else if (input is Uri) + { + output = input.ToString(); + } + else if (input is Enum) + { + output = this.serializeEnum((Enum)input); + } + else + { + result = false; + output = null; + } + return result; + } + + // Token: 0x060000B0 RID: 176 RVA: 0x00007AB8 File Offset: 0x00005CB8 + protected virtual bool trySerializeUnknownTypes(object input, out object output) + { + output = null; + Type type = input.GetType(); + bool result; + if (type.FullName == null) + { + result = false; + } + else + { + IDictionary dictionary = new JsonObject(); + SafeDictionary safeDictionary = this.cacheResolver.loadMaps(type); + foreach (KeyValuePair keyValuePair in safeDictionary) + { + if (keyValuePair.Value.Getter != null) + { + dictionary.Add(keyValuePair.Key, keyValuePair.Value.Getter(input)); + } + } + output = dictionary; + result = true; + } + return result; + } + + // Token: 0x0400004F RID: 79 + internal CacheResolver cacheResolver; + + // Token: 0x04000050 RID: 80 + private static readonly string[] Iso8601Format = new string[] + { + "yyyy-MM-dd\\THH:mm:ss.FFFFFFF\\Z", + "yyyy-MM-dd\\THH:mm:ss\\Z", + "yyyy-MM-dd\\THH:mm:ssK" + }; + } +} diff --git a/Assets/Scripts/P31RestKit/Properties/AssemblyInfo.cs b/Assets/Scripts/P31RestKit/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d7b1274c5 --- /dev/null +++ b/Assets/Scripts/P31RestKit/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; + +[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyTitle("P31RestKit")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("desaro")] +[assembly: AssemblyTrademark("")] diff --git a/Assets/Scripts/P31RestKit/Reflection/CacheResolver.cs b/Assets/Scripts/P31RestKit/Reflection/CacheResolver.cs new file mode 100644 index 000000000..e94c02a9f --- /dev/null +++ b/Assets/Scripts/P31RestKit/Reflection/CacheResolver.cs @@ -0,0 +1,166 @@ +using System; +using System.Reflection; + +namespace Prime31.Reflection +{ + // Token: 0x02000021 RID: 33 + public class CacheResolver + { + // Token: 0x060000C5 RID: 197 RVA: 0x00007D46 File Offset: 0x00005F46 + public CacheResolver(MemberMapLoader memberMapLoader) + { + this._memberMapLoader = memberMapLoader; + } + + // Token: 0x060000C6 RID: 198 RVA: 0x00007D64 File Offset: 0x00005F64 + public static object getNewInstance(Type type) + { + CacheResolver.CtorDelegate ctorDelegate; + object result; + if (CacheResolver.constructorCache.tryGetValue(type, out ctorDelegate)) + { + result = ctorDelegate(); + } + else + { + ConstructorInfo constructorInfo = type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, Type.EmptyTypes, null); + ctorDelegate = (() => constructorInfo.Invoke(null)); + CacheResolver.constructorCache.add(type, ctorDelegate); + result = ctorDelegate(); + } + return result; + } + + // Token: 0x060000C7 RID: 199 RVA: 0x00007DD4 File Offset: 0x00005FD4 + public SafeDictionary loadMaps(Type type) + { + SafeDictionary result; + SafeDictionary safeDictionary; + if (type == null || type == typeof(object)) + { + result = null; + } + else if (this._memberMapsCache.tryGetValue(type, out safeDictionary)) + { + result = safeDictionary; + } + else + { + safeDictionary = new SafeDictionary(); + this._memberMapLoader(type, safeDictionary); + this._memberMapsCache.add(type, safeDictionary); + result = safeDictionary; + } + return result; + } + + // Token: 0x060000C8 RID: 200 RVA: 0x00007E44 File Offset: 0x00006044 + private static GetHandler createGetHandler(FieldInfo fieldInfo) + { + return (object instance) => fieldInfo.GetValue(instance); + } + + // Token: 0x060000C9 RID: 201 RVA: 0x00007E74 File Offset: 0x00006074 + private static SetHandler createSetHandler(FieldInfo fieldInfo) + { + SetHandler result; + if (fieldInfo.IsInitOnly || fieldInfo.IsLiteral) + { + result = null; + } + else + { + result = delegate(object instance, object value) + { + fieldInfo.SetValue(instance, value); + }; + } + return result; + } + + // Token: 0x060000CA RID: 202 RVA: 0x00007ECC File Offset: 0x000060CC + private static GetHandler createGetHandler(PropertyInfo propertyInfo) + { + MethodInfo getMethodInfo = propertyInfo.GetGetMethod(true); + GetHandler result; + if (getMethodInfo == null) + { + result = null; + } + else + { + result = ((object instance) => getMethodInfo.Invoke(instance, Type.EmptyTypes)); + } + return result; + } + + // Token: 0x060000CB RID: 203 RVA: 0x00007F14 File Offset: 0x00006114 + private static SetHandler createSetHandler(PropertyInfo propertyInfo) + { + MethodInfo setMethodInfo = propertyInfo.GetSetMethod(true); + SetHandler result; + if (setMethodInfo == null) + { + result = null; + } + else + { + result = delegate(object instance, object value) + { + setMethodInfo.Invoke(instance, new object[] + { + value + }); + }; + } + return result; + } + + // Token: 0x04000051 RID: 81 + private readonly MemberMapLoader _memberMapLoader; + + // Token: 0x04000052 RID: 82 + private readonly SafeDictionary> _memberMapsCache = new SafeDictionary>(); + + // Token: 0x04000053 RID: 83 + private static readonly SafeDictionary constructorCache = new SafeDictionary(); + + // Token: 0x02000022 RID: 34 + // (Invoke) Token: 0x060000CE RID: 206 + private delegate object CtorDelegate(); + + // Token: 0x02000023 RID: 35 + public sealed class MemberMap + { + // Token: 0x060000D1 RID: 209 RVA: 0x00007F66 File Offset: 0x00006166 + public MemberMap(PropertyInfo propertyInfo) + { + this.MemberInfo = propertyInfo; + this.Type = propertyInfo.PropertyType; + this.Getter = CacheResolver.createGetHandler(propertyInfo); + this.Setter = CacheResolver.createSetHandler(propertyInfo); + } + + // Token: 0x060000D2 RID: 210 RVA: 0x00007F9A File Offset: 0x0000619A + public MemberMap(FieldInfo fieldInfo) + { + this.MemberInfo = fieldInfo; + this.Type = fieldInfo.FieldType; + this.Getter = CacheResolver.createGetHandler(fieldInfo); + this.Setter = CacheResolver.createSetHandler(fieldInfo); + } + + // Token: 0x04000054 RID: 84 + public readonly MemberInfo MemberInfo; + + // Token: 0x04000055 RID: 85 + public readonly Type Type; + + // Token: 0x04000056 RID: 86 + public readonly GetHandler Getter; + + // Token: 0x04000057 RID: 87 + public readonly SetHandler Setter; + } + } +} diff --git a/Assets/Scripts/P31RestKit/Reflection/GetHandler.cs b/Assets/Scripts/P31RestKit/Reflection/GetHandler.cs new file mode 100644 index 000000000..bf1ca4a6f --- /dev/null +++ b/Assets/Scripts/P31RestKit/Reflection/GetHandler.cs @@ -0,0 +1,8 @@ +using System; + +namespace Prime31.Reflection +{ + // Token: 0x0200001E RID: 30 + // (Invoke) Token: 0x060000BA RID: 186 + public delegate object GetHandler(object source); +} diff --git a/Assets/Scripts/P31RestKit/Reflection/MemberMapLoader.cs b/Assets/Scripts/P31RestKit/Reflection/MemberMapLoader.cs new file mode 100644 index 000000000..93808f8ed --- /dev/null +++ b/Assets/Scripts/P31RestKit/Reflection/MemberMapLoader.cs @@ -0,0 +1,8 @@ +using System; + +namespace Prime31.Reflection +{ + // Token: 0x02000020 RID: 32 + // (Invoke) Token: 0x060000C2 RID: 194 + public delegate void MemberMapLoader(Type type, SafeDictionary memberMaps); +} diff --git a/Assets/Scripts/P31RestKit/Reflection/ReflectionUtils.cs b/Assets/Scripts/P31RestKit/Reflection/ReflectionUtils.cs new file mode 100644 index 000000000..4a0f3e611 --- /dev/null +++ b/Assets/Scripts/P31RestKit/Reflection/ReflectionUtils.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Reflection; + +namespace Prime31.Reflection +{ + // Token: 0x0200001D RID: 29 + public class ReflectionUtils + { + // Token: 0x060000B3 RID: 179 RVA: 0x00007BAC File Offset: 0x00005DAC + public static Attribute getAttribute(MemberInfo info, Type type) + { + Attribute result; + if (info == null || type == null || !Attribute.IsDefined(info, type)) + { + result = null; + } + else + { + result = Attribute.GetCustomAttribute(info, type); + } + return result; + } + + // Token: 0x060000B4 RID: 180 RVA: 0x00007BE8 File Offset: 0x00005DE8 + public static Attribute getAttribute(Type objectType, Type attributeType) + { + Attribute result; + if (objectType == null || attributeType == null || !Attribute.IsDefined(objectType, attributeType)) + { + result = null; + } + else + { + result = Attribute.GetCustomAttribute(objectType, attributeType); + } + return result; + } + + // Token: 0x060000B5 RID: 181 RVA: 0x00007C24 File Offset: 0x00005E24 + public static bool isTypeGenericeCollectionInterface(Type type) + { + bool result; + if (!type.IsGenericType) + { + result = false; + } + else + { + Type genericTypeDefinition = type.GetGenericTypeDefinition(); + result = (genericTypeDefinition == typeof(IList<>) || genericTypeDefinition == typeof(ICollection<>) || genericTypeDefinition == typeof(IEnumerable<>)); + } + return result; + } + + // Token: 0x060000B6 RID: 182 RVA: 0x00007C84 File Offset: 0x00005E84 + public static bool isTypeDictionary(Type type) + { + bool result; + if (typeof(IDictionary).IsAssignableFrom(type)) + { + result = true; + } + else if (!type.IsGenericType) + { + result = false; + } + else + { + Type genericTypeDefinition = type.GetGenericTypeDefinition(); + result = (genericTypeDefinition == typeof(IDictionary<, >)); + } + return result; + } + + // Token: 0x060000B7 RID: 183 RVA: 0x00007CDC File Offset: 0x00005EDC + public static bool isNullableType(Type type) + { + return type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>); + } + + // Token: 0x060000B8 RID: 184 RVA: 0x00007D14 File Offset: 0x00005F14 + public static object toNullableType(object obj, Type nullableType) + { + return (obj != null) ? Convert.ChangeType(obj, Nullable.GetUnderlyingType(nullableType), CultureInfo.InvariantCulture) : null; + } + } +} diff --git a/Assets/Scripts/P31RestKit/Reflection/SafeDictionary.cs b/Assets/Scripts/P31RestKit/Reflection/SafeDictionary.cs new file mode 100644 index 000000000..b51f5d9f0 --- /dev/null +++ b/Assets/Scripts/P31RestKit/Reflection/SafeDictionary.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; + +namespace Prime31.Reflection +{ + // Token: 0x02000024 RID: 36 + public class SafeDictionary + { + // Token: 0x1700000A RID: 10 + public TValue this[TKey key] + { + get + { + return this._dictionary[key]; + } + } + + // Token: 0x060000D5 RID: 213 RVA: 0x000080D0 File Offset: 0x000062D0 + public bool tryGetValue(TKey key, out TValue value) + { + return this._dictionary.TryGetValue(key, out value); + } + + // Token: 0x060000D6 RID: 214 RVA: 0x000080F4 File Offset: 0x000062F4 + public IEnumerator> GetEnumerator() + { + return ((IEnumerable>)this._dictionary).GetEnumerator(); + } + + // Token: 0x060000D7 RID: 215 RVA: 0x00008114 File Offset: 0x00006314 + public void add(TKey key, TValue value) + { + object padlock = this._padlock; + lock (padlock) + { + if (!this._dictionary.ContainsKey(key)) + { + this._dictionary.Add(key, value); + } + } + } + + // Token: 0x04000058 RID: 88 + private readonly object _padlock = new object(); + + // Token: 0x04000059 RID: 89 + private readonly Dictionary _dictionary = new Dictionary(); + } +} diff --git a/Assets/Scripts/P31RestKit/Reflection/SetHandler.cs b/Assets/Scripts/P31RestKit/Reflection/SetHandler.cs new file mode 100644 index 000000000..5b0c0ad59 --- /dev/null +++ b/Assets/Scripts/P31RestKit/Reflection/SetHandler.cs @@ -0,0 +1,8 @@ +using System; + +namespace Prime31.Reflection +{ + // Token: 0x0200001F RID: 31 + // (Invoke) Token: 0x060000BE RID: 190 + public delegate void SetHandler(object source, object value); +} diff --git a/Assets/Scripts/P31RestKit/SimpleJson.cs b/Assets/Scripts/P31RestKit/SimpleJson.cs new file mode 100644 index 000000000..a4bc7067e --- /dev/null +++ b/Assets/Scripts/P31RestKit/SimpleJson.cs @@ -0,0 +1,811 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; + +namespace Prime31 +{ + // Token: 0x0200001A RID: 26 + public class SimpleJson + { + // Token: 0x17000008 RID: 8 + // (get) Token: 0x0600008D RID: 141 RVA: 0x00006384 File Offset: 0x00004584 + // (set) Token: 0x0600008E RID: 142 RVA: 0x000063B0 File Offset: 0x000045B0 + public static IJsonSerializerStrategy currentJsonSerializerStrategy + { + get + { + IJsonSerializerStrategy result; + if ((result = SimpleJson._currentJsonSerializerStrategy) == null) + { + result = (SimpleJson._currentJsonSerializerStrategy = SimpleJson.pocoJsonSerializerStrategy); + } + return result; + } + set + { + SimpleJson.currentJsonSerializerStrategy = value; + } + } + + // Token: 0x17000009 RID: 9 + // (get) Token: 0x0600008F RID: 143 RVA: 0x000063BC File Offset: 0x000045BC + public static PocoJsonSerializerStrategy pocoJsonSerializerStrategy + { + get + { + PocoJsonSerializerStrategy result; + if ((result = SimpleJson._pocoJsonSerializerStrategy) == null) + { + result = (SimpleJson._pocoJsonSerializerStrategy = new PocoJsonSerializerStrategy()); + } + return result; + } + } + + // Token: 0x06000091 RID: 145 RVA: 0x000063F0 File Offset: 0x000045F0 + public static string encode(object obj) + { + StringBuilder stringBuilder = new StringBuilder(2000); + bool flag = SimpleJson.serializeValue(SimpleJson.currentJsonSerializerStrategy, obj, stringBuilder); + return (!flag) ? null : stringBuilder.ToString(); + } + + // Token: 0x06000092 RID: 146 RVA: 0x00006430 File Offset: 0x00004630 + public static bool tryDeserializeObject(string json, out object obj) + { + bool result = true; + if (json != null) + { + char[] json2 = json.ToCharArray(); + int num = 0; + obj = SimpleJson.parseValue(json2, ref num, ref result); + } + else + { + obj = null; + } + return result; + } + + // Token: 0x06000093 RID: 147 RVA: 0x00006470 File Offset: 0x00004670 + public static object decode(string json) + { + object obj; + object result; + if (SimpleJson.tryDeserializeObject(json, out obj)) + { + result = obj; + } + else + { + Utils.logObject("Something went wrong deserializing the json. We got a null return. Here is the json we tried to deserialize: " + json); + result = null; + } + return result; + } + + // Token: 0x06000094 RID: 148 RVA: 0x000064B0 File Offset: 0x000046B0 + private static object decode(string json, Type type) + { + return SimpleJson.decode(json, type, null); + } + + // Token: 0x06000095 RID: 149 RVA: 0x000064D0 File Offset: 0x000046D0 + public static T decode(string json) + { + return (T)((object)SimpleJson.decode(json, typeof(T))); + } + + // Token: 0x06000096 RID: 150 RVA: 0x000064FC File Offset: 0x000046FC + public static T decode(string json, string rootElement) where T : new() + { + return (T)((object)SimpleJson.decode(json, typeof(T), rootElement)); + } + + // Token: 0x06000097 RID: 151 RVA: 0x00006528 File Offset: 0x00004728 + private static object decode(string json, Type type, string rootElement = null) + { + object obj = SimpleJson.decode(json); + object result; + if (type == null || (obj != null && obj.GetType().IsAssignableFrom(type))) + { + result = obj; + } + else + { + if (rootElement != null) + { + if (obj is JsonObject) + { + JsonObject jsonObject = obj as JsonObject; + if (jsonObject.ContainsKey(rootElement)) + { + obj = jsonObject[rootElement]; + } + else + { + Utils.logObject(string.Format("A rootElement was requested ({0}) but does not exist in the decoded Dictionary", rootElement)); + } + } + else + { + Utils.logObject(string.Format("A rootElement was requested ({0}) but the decoded object is not a Dictionary. It is a {1}", rootElement, obj.GetType())); + } + } + result = SimpleJson.currentJsonSerializerStrategy.deserializeObject(obj, type); + } + return result; + } + + // Token: 0x06000098 RID: 152 RVA: 0x000065D8 File Offset: 0x000047D8 + public static T decodeObject(object jsonObject, string rootElement = null) + { + Type typeFromHandle = typeof(T); + T result; + if (typeFromHandle == null || (jsonObject != null && jsonObject.GetType().IsAssignableFrom(typeFromHandle))) + { + result = (T)((object)jsonObject); + } + else + { + if (rootElement != null) + { + if (jsonObject is Dictionary) + { + Dictionary dictionary = jsonObject as Dictionary; + if (dictionary.ContainsKey(rootElement)) + { + jsonObject = dictionary[rootElement]; + } + else + { + Utils.logObject(string.Format("A rootElement was requested ({0}) but does not exist in the decoded Dictionary", rootElement)); + } + } + else + { + Utils.logObject(string.Format("A rootElement was requested ({0}) but the decoded object is not a Dictionary. It is a {1}", rootElement, jsonObject.GetType())); + } + } + result = (T)((object)SimpleJson.currentJsonSerializerStrategy.deserializeObject(jsonObject, typeFromHandle)); + } + return result; + } + + // Token: 0x06000099 RID: 153 RVA: 0x00006698 File Offset: 0x00004898 + protected static IDictionary parseObject(char[] json, ref int index, ref bool success) + { + IDictionary dictionary = new JsonObject(); + SimpleJson.nextToken(json, ref index); + bool flag = false; + while (!flag) + { + int num = SimpleJson.lookAhead(json, index); + if (num != 0) + { + if (num == 6) + { + SimpleJson.nextToken(json, ref index); + } + else + { + if (num == 2) + { + SimpleJson.nextToken(json, ref index); + return dictionary; + } + string key = SimpleJson.parseString(json, ref index, ref success); + if (!success) + { + success = false; + return null; + } + num = SimpleJson.nextToken(json, ref index); + if (num != 5) + { + success = false; + return null; + } + object value = SimpleJson.parseValue(json, ref index, ref success); + if (!success) + { + success = false; + return null; + } + dictionary[key] = value; + } + continue; + } + success = false; + return null; + } + return dictionary; + } + + // Token: 0x0600009A RID: 154 RVA: 0x00006770 File Offset: 0x00004970 + protected static JsonArray parseArray(char[] json, ref int index, ref bool success) + { + JsonArray jsonArray = new JsonArray(); + SimpleJson.nextToken(json, ref index); + bool flag = false; + while (!flag) + { + int num = SimpleJson.lookAhead(json, index); + if (num != 0) + { + if (num == 6) + { + SimpleJson.nextToken(json, ref index); + } + else + { + if (num == 4) + { + SimpleJson.nextToken(json, ref index); + break; + } + object item = SimpleJson.parseValue(json, ref index, ref success); + if (!success) + { + return null; + } + jsonArray.Add(item); + } + continue; + } + success = false; + return null; + } + return jsonArray; + } + + // Token: 0x0600009B RID: 155 RVA: 0x00006808 File Offset: 0x00004A08 + protected static object parseValue(char[] json, ref int index, ref bool success) + { + switch (SimpleJson.lookAhead(json, index)) + { + case 1: + return SimpleJson.parseObject(json, ref index, ref success); + case 3: + return SimpleJson.parseArray(json, ref index, ref success); + case 7: + return SimpleJson.parseString(json, ref index, ref success); + case 8: + return SimpleJson.parseNumber(json, ref index, ref success); + case 9: + SimpleJson.nextToken(json, ref index); + return true; + case 10: + SimpleJson.nextToken(json, ref index); + return false; + case 11: + SimpleJson.nextToken(json, ref index); + return null; + } + success = false; + return null; + } + + // Token: 0x0600009C RID: 156 RVA: 0x000068DC File Offset: 0x00004ADC + protected static string parseString(char[] json, ref int index, ref bool success) + { + StringBuilder stringBuilder = new StringBuilder(2000); + SimpleJson.eatWhitespace(json, ref index); + char c = json[index++]; + bool flag = false; + while (!flag) + { + if (index == json.Length) + { + break; + } + c = json[index++]; + if (c == '"') + { + flag = true; + break; + } + if (c == '\\') + { + if (index == json.Length) + { + break; + } + c = json[index++]; + if (c == '"') + { + stringBuilder.Append('"'); + } + else if (c == '\\') + { + stringBuilder.Append('\\'); + } + else if (c == '/') + { + stringBuilder.Append('/'); + } + else if (c == 'b') + { + stringBuilder.Append('\b'); + } + else if (c == 'f') + { + stringBuilder.Append('\f'); + } + else if (c == 'n') + { + stringBuilder.Append('\n'); + } + else if (c == 'r') + { + stringBuilder.Append('\r'); + } + else if (c == 't') + { + stringBuilder.Append('\t'); + } + else if (c == 'u') + { + int num = json.Length - index; + if (num >= 4) + { + uint num2; + string result; + if (!(success = uint.TryParse(new string(json, index, 4), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out num2))) + { + result = ""; + } + else + { + if (55296U > num2 || num2 > 56319U) + { + stringBuilder.Append(char.ConvertFromUtf32((int)num2)); + index += 4; + continue; + } + index += 4; + num = json.Length - index; + if (num >= 6) + { + uint num3; + if (new string(json, index, 2) == "\\u" && uint.TryParse(new string(json, index + 2, 4), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out num3)) + { + if (56320U <= num3 && num3 <= 57343U) + { + stringBuilder.Append((char)num2); + stringBuilder.Append((char)num3); + index += 6; + continue; + } + } + } + success = false; + result = ""; + } + return result; + } + break; + } + } + else + { + stringBuilder.Append(c); + } + } + if (!flag) + { + success = false; + return null; + } + return stringBuilder.ToString(); + } + + // Token: 0x0600009D RID: 157 RVA: 0x00006B64 File Offset: 0x00004D64 + protected static object parseNumber(char[] json, ref int index, ref bool success) + { + SimpleJson.eatWhitespace(json, ref index); + int lastIndexOfNumber = SimpleJson.getLastIndexOfNumber(json, index); + int length = lastIndexOfNumber - index + 1; + string text = new string(json, index, length); + object result; + if (text.IndexOf(".", StringComparison.OrdinalIgnoreCase) != -1 || text.IndexOf("e", StringComparison.OrdinalIgnoreCase) != -1) + { + double num; + success = double.TryParse(new string(json, index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num); + result = num; + } + else + { + long num2; + success = long.TryParse(new string(json, index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num2); + result = num2; + } + index = lastIndexOfNumber + 1; + return result; + } + + // Token: 0x0600009E RID: 158 RVA: 0x00006C18 File Offset: 0x00004E18 + protected static int getLastIndexOfNumber(char[] json, int index) + { + int i; + for (i = index; i < json.Length; i++) + { + if ("0123456789+-.eE".IndexOf(json[i]) == -1) + { + break; + } + } + return i - 1; + } + + // Token: 0x0600009F RID: 159 RVA: 0x00006C5C File Offset: 0x00004E5C + protected static void eatWhitespace(char[] json, ref int index) + { + while (index < json.Length) + { + if (" \t\n\r\b\f".IndexOf(json[index]) == -1) + { + break; + } + index++; + } + } + + // Token: 0x060000A0 RID: 160 RVA: 0x00006C90 File Offset: 0x00004E90 + protected static int lookAhead(char[] json, int index) + { + int num = index; + return SimpleJson.nextToken(json, ref num); + } + + // Token: 0x060000A1 RID: 161 RVA: 0x00006CB0 File Offset: 0x00004EB0 + protected static int nextToken(char[] json, ref int index) + { + SimpleJson.eatWhitespace(json, ref index); + int result; + if (index == json.Length) + { + result = 0; + } + else + { + char c = json[index]; + index++; + switch (c) + { + case ',': + result = 6; + break; + case '-': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + result = 8; + break; + default: + switch (c) + { + case '[': + result = 3; + break; + default: + switch (c) + { + case '{': + result = 1; + break; + default: + if (c != '"') + { + index--; + int num = json.Length - index; + if (num >= 5) + { + if (json[index] == 'f' && json[index + 1] == 'a' && json[index + 2] == 'l' && json[index + 3] == 's' && json[index + 4] == 'e') + { + index += 5; + result = 10; + break; + } + } + if (num >= 4) + { + if (json[index] == 't' && json[index + 1] == 'r' && json[index + 2] == 'u' && json[index + 3] == 'e') + { + index += 4; + result = 9; + break; + } + } + if (num >= 4) + { + if (json[index] == 'n' && json[index + 1] == 'u' && json[index + 2] == 'l' && json[index + 3] == 'l') + { + index += 4; + result = 11; + break; + } + } + result = 0; + } + else + { + result = 7; + } + break; + case '}': + result = 2; + break; + } + break; + case ']': + result = 4; + break; + } + break; + case ':': + result = 5; + break; + } + } + return result; + } + + // Token: 0x060000A2 RID: 162 RVA: 0x00006E98 File Offset: 0x00005098 + protected static bool serializeValue(IJsonSerializerStrategy jsonSerializerStrategy, object value, StringBuilder builder) + { + bool flag = true; + if (value is string) + { + flag = SimpleJson.serializeString((string)value, builder); + } + else if (value is IDictionary) + { + IDictionary dictionary = (IDictionary)value; + flag = SimpleJson.serializeObject(jsonSerializerStrategy, dictionary.Keys, dictionary.Values, builder); + } + else if (value is IDictionary) + { + IDictionary dictionary2 = (IDictionary)value; + flag = SimpleJson.serializeObject(jsonSerializerStrategy, dictionary2.Keys, dictionary2.Values, builder); + } + else if (value is IDictionary) + { + IDictionary dictionary3 = (IDictionary)value; + flag = SimpleJson.serializeObject(jsonSerializerStrategy, dictionary3.Keys, dictionary3.Values, builder); + } + else if (value is IEnumerable) + { + flag = SimpleJson.serializeArray(jsonSerializerStrategy, (IEnumerable)value, builder); + } + else if (SimpleJson.isNumeric(value)) + { + flag = SimpleJson.serializeNumber(value, builder); + } + else if (value is bool) + { + builder.Append((!(bool)value) ? "false" : "true"); + } + else if (value == null) + { + builder.Append("null"); + } + else + { + object value2; + flag = jsonSerializerStrategy.serializeNonPrimitiveObject(value, out value2); + if (flag) + { + SimpleJson.serializeValue(jsonSerializerStrategy, value2, builder); + } + } + return flag; + } + + // Token: 0x060000A3 RID: 163 RVA: 0x00006FF0 File Offset: 0x000051F0 + protected static bool serializeObject(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable keys, IEnumerable values, StringBuilder builder) + { + builder.Append("{"); + IEnumerator enumerator = keys.GetEnumerator(); + IEnumerator enumerator2 = values.GetEnumerator(); + bool flag = true; + while (enumerator.MoveNext() && enumerator2.MoveNext()) + { + object obj = enumerator.Current; + object value = enumerator2.Current; + if (!flag) + { + builder.Append(","); + } + if (obj is string) + { + SimpleJson.serializeString((string)obj, builder); + } + else if (!SimpleJson.serializeValue(jsonSerializerStrategy, value, builder)) + { + return false; + } + builder.Append(":"); + if (SimpleJson.serializeValue(jsonSerializerStrategy, value, builder)) + { + flag = false; + continue; + } + return false; + } + builder.Append("}"); + return true; + } + + // Token: 0x060000A4 RID: 164 RVA: 0x000070C8 File Offset: 0x000052C8 + protected static bool serializeArray(IJsonSerializerStrategy jsonSerializerStrategy, IEnumerable anArray, StringBuilder builder) + { + builder.Append("["); + bool flag = true; + IEnumerator enumerator = anArray.GetEnumerator(); + try + { + while (enumerator.MoveNext()) + { + object value = enumerator.Current; + if (!flag) + { + builder.Append(","); + } + if (!SimpleJson.serializeValue(jsonSerializerStrategy, value, builder)) + { + return false; + } + flag = false; + } + } + finally + { + IDisposable disposable; + if ((disposable = (enumerator as IDisposable)) != null) + { + disposable.Dispose(); + } + } + builder.Append("]"); + return true; + } + + // Token: 0x060000A5 RID: 165 RVA: 0x0000716C File Offset: 0x0000536C + protected static bool serializeString(string aString, StringBuilder builder) + { + builder.Append("\""); + foreach (char c in aString.ToCharArray()) + { + if (c == '"') + { + builder.Append("\\\""); + } + else if (c == '\\') + { + builder.Append("\\\\"); + } + else if (c == '\b') + { + builder.Append("\\b"); + } + else if (c == '\f') + { + builder.Append("\\f"); + } + else if (c == '\n') + { + builder.Append("\\n"); + } + else if (c == '\r') + { + builder.Append("\\r"); + } + else if (c == '\t') + { + builder.Append("\\t"); + } + else + { + builder.Append(c); + } + } + builder.Append("\""); + return true; + } + + // Token: 0x060000A6 RID: 166 RVA: 0x00007274 File Offset: 0x00005474 + protected static bool serializeNumber(object number, StringBuilder builder) + { + if (number is long) + { + builder.Append(((long)number).ToString(CultureInfo.InvariantCulture)); + } + else if (number is ulong) + { + builder.Append(((ulong)number).ToString(CultureInfo.InvariantCulture)); + } + else if (number is int) + { + builder.Append(((int)number).ToString(CultureInfo.InvariantCulture)); + } + else if (number is uint) + { + builder.Append(((uint)number).ToString(CultureInfo.InvariantCulture)); + } + else if (number is decimal) + { + builder.Append(((decimal)number).ToString(CultureInfo.InvariantCulture)); + } + else if (number is float) + { + builder.Append(((float)number).ToString(CultureInfo.InvariantCulture)); + } + else + { + builder.Append(Convert.ToDouble(number, CultureInfo.InvariantCulture).ToString("r", CultureInfo.InvariantCulture)); + } + return true; + } + + // Token: 0x060000A7 RID: 167 RVA: 0x000073C0 File Offset: 0x000055C0 + protected static bool isNumeric(object value) + { + return value is sbyte || value is byte || value is short || value is ushort || value is int || value is uint || value is long || value is ulong || value is float || value is double || value is decimal; + } + + // Token: 0x04000040 RID: 64 + private const int TOKEN_NONE = 0; + + // Token: 0x04000041 RID: 65 + private const int TOKEN_CURLY_OPEN = 1; + + // Token: 0x04000042 RID: 66 + private const int TOKEN_CURLY_CLOSE = 2; + + // Token: 0x04000043 RID: 67 + private const int TOKEN_SQUARED_OPEN = 3; + + // Token: 0x04000044 RID: 68 + private const int TOKEN_SQUARED_CLOSE = 4; + + // Token: 0x04000045 RID: 69 + private const int TOKEN_COLON = 5; + + // Token: 0x04000046 RID: 70 + private const int TOKEN_COMMA = 6; + + // Token: 0x04000047 RID: 71 + private const int TOKEN_STRING = 7; + + // Token: 0x04000048 RID: 72 + private const int TOKEN_NUMBER = 8; + + // Token: 0x04000049 RID: 73 + private const int TOKEN_TRUE = 9; + + // Token: 0x0400004A RID: 74 + private const int TOKEN_FALSE = 10; + + // Token: 0x0400004B RID: 75 + private const int TOKEN_NULL = 11; + + // Token: 0x0400004C RID: 76 + private const int BUILDER_CAPACITY = 2000; + + // Token: 0x0400004D RID: 77 + private static IJsonSerializerStrategy _currentJsonSerializerStrategy; + + // Token: 0x0400004E RID: 78 + private static PocoJsonSerializerStrategy _pocoJsonSerializerStrategy; + } +} diff --git a/Assets/Scripts/P31RestKit/StringExtensions.cs b/Assets/Scripts/P31RestKit/StringExtensions.cs new file mode 100644 index 000000000..82de9a17f --- /dev/null +++ b/Assets/Scripts/P31RestKit/StringExtensions.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; + +namespace Prime31 +{ + // Token: 0x02000009 RID: 9 + public static class StringExtensions + { + // Token: 0x06000022 RID: 34 RVA: 0x00002FC8 File Offset: 0x000011C8 + public static Dictionary parseQueryString(this string self) + { + Dictionary dictionary = new Dictionary(); + string[] array = self.Split(new char[] + { + '?' + }); + string[] array2; + if (array.Length != 2) + { + array2 = self.Split(new char[] + { + '&' + }); + } + else + { + array2 = array[1].Split(new char[] + { + '&' + }); + } + foreach (string text in array2) + { + string[] array4 = text.Split(new char[] + { + '=' + }); + dictionary.Add(array4[0], array4[1]); + } + return dictionary; + } + } +} diff --git a/Assets/Scripts/P31RestKit/ThreadingCallbackHelper.cs b/Assets/Scripts/P31RestKit/ThreadingCallbackHelper.cs new file mode 100644 index 000000000..686c354bd --- /dev/null +++ b/Assets/Scripts/P31RestKit/ThreadingCallbackHelper.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x0200000E RID: 14 + public class ThreadingCallbackHelper : MonoBehaviour + { + // Token: 0x06000054 RID: 84 RVA: 0x00004578 File Offset: 0x00002778 + public void addActionToQueue(Action action) + { + object actions = this._actions; + lock (actions) + { + this._actions.Add(action); + } + } + + // Token: 0x06000055 RID: 85 RVA: 0x000045BC File Offset: 0x000027BC + private void Update() + { + object actions = this._actions; + lock (actions) + { + this._currentActions.AddRange(this._actions); + this._actions.Clear(); + } + for (int i = 0; i < this._currentActions.Count; i++) + { + this._currentActions[i](); + } + this._currentActions.Clear(); + } + + // Token: 0x06000056 RID: 86 RVA: 0x0000464C File Offset: 0x0000284C + public void disableIfEmpty() + { + object actions = this._actions; + lock (actions) + { + if (this._actions.Count == 0) + { + base.enabled = false; + } + } + } + + // Token: 0x04000022 RID: 34 + private List _actions = new List(); + + // Token: 0x04000023 RID: 35 + private List _currentActions = new List(); + } +} diff --git a/Assets/Scripts/P31RestKit/Utils.cs b/Assets/Scripts/P31RestKit/Utils.cs new file mode 100644 index 000000000..783d0a092 --- /dev/null +++ b/Assets/Scripts/P31RestKit/Utils.cs @@ -0,0 +1,64 @@ +using System; +using System.Text; +using UnityEngine; + +namespace Prime31 +{ + // Token: 0x02000004 RID: 4 + public static class Utils + { + // Token: 0x17000003 RID: 3 + // (get) Token: 0x06000011 RID: 17 RVA: 0x00002774 File Offset: 0x00000974 + private static System.Random random + { + get + { + if (Utils._random == null) + { + Utils._random = new System.Random(); + } + return Utils._random; + } + } + + // Token: 0x06000012 RID: 18 RVA: 0x000027A4 File Offset: 0x000009A4 + public static string randomString(int size = 38) + { + StringBuilder stringBuilder = new StringBuilder(); + for (int i = 0; i < size; i++) + { + char value = Convert.ToChar(Convert.ToInt32(Math.Floor(26.0 * Utils.random.NextDouble() + 65.0))); + stringBuilder.Append(value); + } + return stringBuilder.ToString(); + } + + // Token: 0x06000013 RID: 19 RVA: 0x00002810 File Offset: 0x00000A10 + public static void logObject(object obj) + { + string json = Json.encode(obj); + Utils.prettyPrintJson(json); + } + + // Token: 0x06000014 RID: 20 RVA: 0x0000282C File Offset: 0x00000A2C + public static void prettyPrintJson(string json) + { + string text = string.Empty; + if (json != null) + { + text = JsonFormatter.prettyPrint(json); + } + try + { + Debug.Log(text); + } + catch (Exception) + { + Console.WriteLine(text); + } + } + + // Token: 0x0400000B RID: 11 + private static System.Random _random; + } +} diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 000000000..6ea8c473c Binary files /dev/null and b/ProjectSettings/AudioManager.asset differ diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 000000000..dc2ff4520 Binary files /dev/null and b/ProjectSettings/DynamicsManager.asset differ diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 000000000..78b89a77f Binary files /dev/null and b/ProjectSettings/EditorBuildSettings.asset differ diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 000000000..84cd19211 Binary files /dev/null and b/ProjectSettings/EditorSettings.asset differ diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 000000000..dcae11ddb Binary files /dev/null and b/ProjectSettings/GraphicsSettings.asset differ diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 000000000..fc5a4cb42 Binary files /dev/null and b/ProjectSettings/InputManager.asset differ diff --git a/ProjectSettings/NavMeshLayers.asset b/ProjectSettings/NavMeshLayers.asset new file mode 100644 index 000000000..8b9586343 Binary files /dev/null and b/ProjectSettings/NavMeshLayers.asset differ diff --git a/ProjectSettings/NetworkManager.asset b/ProjectSettings/NetworkManager.asset new file mode 100644 index 000000000..1dc0d9146 Binary files /dev/null and b/ProjectSettings/NetworkManager.asset differ diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 000000000..9469ff8ca Binary files /dev/null and b/ProjectSettings/Physics2DSettings.asset differ diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset new file mode 100644 index 000000000..0977c5907 Binary files /dev/null and b/ProjectSettings/ProjectSettings.asset differ diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 000000000..7f86f76e1 Binary files /dev/null and b/ProjectSettings/QualitySettings.asset differ diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 000000000..606f55ca0 Binary files /dev/null and b/ProjectSettings/TagManager.asset differ diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 000000000..816deaaa4 Binary files /dev/null and b/ProjectSettings/TimeManager.asset differ diff --git a/README.md b/README.md index 39af52c07..ba2661ee1 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,20 @@ # README # -This README would normally document whatever steps are necessary to get your application up and running. +Unity 4.7 project for the Shinsouban Heart app -### What is this repository for? ### +### Setup ### -* Quick summary -* Version -* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo) - -### How do I get set up? ### - -* Summary of set up -* Configuration -* Dependencies -* Database configuration -* How to run tests -* Deployment instructions +* Install Unity 4.7.X: [Unity Download Archive](https://unity3d.com/get-unity/download/archive) \(**Important!** this project only works with 4.7.X versions currently, may be updated at a later date\) +* Clone repo to your desired folder +* Download game assets here: [Japanese Assets](https://unity3d.com/get-unity/download/archive), [Semi-English Assets](https://unity3d.com/get-unity/download/archive) \(English assets might be updated on occasion\) +* Extract game assets to the assets folder from the cloned repo. +* Open cloned repo folder as a unity project. It may take a few hours to load all of the asset files! +* Open the debug scene and press play. The project is working correctly if the title scene loads additively into the debug scene. ### Contribution guidelines ### -* Writing tests -* Code review -* Other guidelines +* Merging to main can only be done through PR. All PRs will be must be reviewed and approved by a default reviwer. -### Who do I talk to? ### +### How do I join/contribute? ### -* Repo owner or admin -* Other community or team contact \ No newline at end of file +* Contact ArnethMyndraavn@gmail.com or you can message me on the HnKnA discord \ No newline at end of file