commit 4ac4f98be3aa59c1b9bce5df9dbc6bb4ada3157c
Author: wulongxiao <2545507770@qq.com>
Date: Mon Dec 2 09:37:47 2024 +0800
demo
diff --git a/mycj/.gitignore b/mycj/.gitignore
new file mode 100644
index 0000000..0210746
--- /dev/null
+++ b/mycj/.gitignore
@@ -0,0 +1,36 @@
+[Ll]ibrary/
+[Tt]emp/
+[Oo]bj/
+[Bb]uild/
+[Bb]uilds/
+Assets/AssetStoreTools*
+
+# Visual Studio cache directory
+.vs/
+
+# Autogenerated VS/MD/Consulo solution and project files
+ExportedObj/
+.consulo/
+*.csproj
+*.unityproj
+*.sln
+*.suo
+*.tmp
+*.user
+*.userprefs
+*.pidb
+*.booproj
+*.svd
+*.pdb
+*.opendb
+
+# Unity3D generated meta files
+*.pidb.meta
+*.pdb.meta
+
+# Unity3D Generated File On Crash Reports
+sysinfo.txt
+
+# Builds
+*.apk
+*.unitypackage
diff --git a/mycj/.vsconfig b/mycj/.vsconfig
new file mode 100644
index 0000000..f019fd0
--- /dev/null
+++ b/mycj/.vsconfig
@@ -0,0 +1,6 @@
+{
+ "version": "1.0",
+ "components": [
+ "Microsoft.VisualStudio.Workload.ManagedGame"
+ ]
+}
diff --git a/mycj/Assets/Editor.meta b/mycj/Assets/Editor.meta
new file mode 100644
index 0000000..08d943d
--- /dev/null
+++ b/mycj/Assets/Editor.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 69e720cef37576a47a6287bcd02d6d72
+folderAsset: yes
+timeCreated: 1537231161
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Editor/MapEditor.cs b/mycj/Assets/Editor/MapEditor.cs
new file mode 100644
index 0000000..d5c6f42
--- /dev/null
+++ b/mycj/Assets/Editor/MapEditor.cs
@@ -0,0 +1,158 @@
+// Felix-Bang:MapEditor
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:地图编辑器
+// Createtime:2018/9/25
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+using FBApplication;
+using System.IO;
+using System;
+
+namespace FBEditor
+{
+ [CustomEditor(typeof(FBMap))]
+ public class MapEditor : Editor
+ {
+ [HideInInspector]
+ public FBMap Map=null;
+ /// 关卡列表
+ List f_files = new List();
+ /// 当前编辑的关卡索引号
+ int f_selectInfoIndex = -1;
+
+ public override void OnInspectorGUI()
+ {
+ base.OnInspectorGUI();
+
+ if (Application.isPlaying)
+ {
+ // 关联目标 为Map赋值
+ Map = target as FBMap;
+
+ // 第一行按钮
+ EditorGUILayout.BeginHorizontal();
+ //LoadLevelFiles();
+ int currentIndex = EditorGUILayout.Popup(f_selectInfoIndex, GetNames(f_files));
+ if (currentIndex != f_selectInfoIndex)
+ {
+ f_selectInfoIndex = currentIndex;
+ //加载关卡
+ LoadLevel();
+ }
+
+ if (GUILayout.Button("读取列表"))
+ {
+ LoadLevelFiles();
+ }
+ EditorGUILayout.EndHorizontal();
+
+ // 第二行按钮
+ EditorGUILayout.BeginHorizontal();
+ if (GUILayout.Button("清空塔点"))
+ Map.ClearHolder();
+
+ if (GUILayout.Button("清空路径"))
+ Map.ClearRoad();
+ EditorGUILayout.EndHorizontal();
+
+ // 第三行按钮
+ EditorGUILayout.BeginHorizontal();
+ if (GUILayout.Button("保存数据"))
+ SaveLevel();
+ EditorGUILayout.EndHorizontal();
+ }
+
+ if (GUI.changed)
+ EditorUtility.SetDirty(target);
+ }
+
+ private string[] GetNames(List files)
+ {
+ List names = new List();
+ foreach (FileInfo file in files)
+ names.Add(file.Name);
+
+ return names.ToArray();
+ }
+
+ private void LoadLevel()
+ {
+ FileInfo file = f_files[f_selectInfoIndex];
+ FBLevel level = new FBLevel();
+ FBTools.FillLevel(file.FullName, ref level);
+ Map.LoadLevel(level);
+ }
+
+ private void LoadLevelFiles()
+ {
+ Clear();
+ f_files = FBTools.GetLevelFiles();
+ if (f_files.Count > 0)
+ {
+ f_selectInfoIndex = 0;
+ LoadLevel();
+ }
+ }
+
+ private void SaveLevel()
+ {
+ //获取当前加载的关卡
+ FBLevel level = Map.Level;
+
+ //临时索引点
+ List list = null;
+
+ //收集塔点
+ list = new List();
+ for (int i = 0; i < Map.Grids.Count; i++)
+ {
+ FBGrid g = Map.Grids[i];
+ if (g.CanHold)
+ {
+ FBCoords c = new FBCoords(g.Index_X,g.Index_Y);
+ list.Add(c);
+ }
+ }
+ level.Holders = list;
+
+ //收集寻路点
+ list = new List();
+ for (int i = 0; i < Map.Road.Count; i++)
+ {
+ FBGrid g = Map.Road[i];
+ FBCoords c = new FBCoords(g.Index_X, g.Index_Y);
+ list.Add(c);
+ }
+ level.Path = list;
+
+ //保存
+ string fileName = f_files[f_selectInfoIndex].FullName;
+ FBTools.SaveLevel(fileName,level);
+ //弹框
+ EditorUtility.DisplayDialog("保存关卡数据","保存成功","确定");
+ }
+
+ private void Clear()
+ {
+ f_files.Clear();
+ f_selectInfoIndex = -1;
+ }
+ }
+}
+
diff --git a/mycj/Assets/Editor/MapEditor.cs.meta b/mycj/Assets/Editor/MapEditor.cs.meta
new file mode 100644
index 0000000..b6951a6
--- /dev/null
+++ b/mycj/Assets/Editor/MapEditor.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 98eac9022a5da0741adaafeda7234330
+timeCreated: 1537839726
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game.meta b/mycj/Assets/Game.meta
new file mode 100644
index 0000000..45dd7d5
--- /dev/null
+++ b/mycj/Assets/Game.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6413b566d57ae044ea08b733988a4172
+folderAsset: yes
+timeCreated: 1537231151
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene.meta b/mycj/Assets/Game/Scene.meta
new file mode 100644
index 0000000..1884a80
--- /dev/null
+++ b/mycj/Assets/Game/Scene.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9d25ee5329bac1e4891b8f2b8e5d2f85
+folderAsset: yes
+timeCreated: 1537231425
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/01.Init.unity b/mycj/Assets/Game/Scene/01.Init.unity
new file mode 100644
index 0000000..7eb3f2e
--- /dev/null
+++ b/mycj/Assets/Game/Scene/01.Init.unity
@@ -0,0 +1,196 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ 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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 10
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &836610721
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 836610722}
+ - component: {fileID: 836610726}
+ - component: {fileID: 836610725}
+ - component: {fileID: 836610724}
+ - component: {fileID: 836610723}
+ m_Layer: 0
+ m_Name: Game
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &836610722
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 836610721}
+ 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: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &836610723
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 836610721}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: da393da24ac351c47bbf369ea649ad9a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ObjectPool: {fileID: 0}
+ Sound: {fileID: 0}
+ StaticData: {fileID: 0}
+--- !u!114 &836610724
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 836610721}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 487561bf879e4e341bf2280dc0451344, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ResourceDir: Prefabs
+--- !u!114 &836610725
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 836610721}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 82ad04c9c7c97d94a96ee7da13c2496f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ResourceDir: Sounds
+--- !u!114 &836610726
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 836610721}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2906467ad34ff394b92ce476caf49a37, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/mycj/Assets/Game/Scene/01.Init.unity.meta b/mycj/Assets/Game/Scene/01.Init.unity.meta
new file mode 100644
index 0000000..2a64c93
--- /dev/null
+++ b/mycj/Assets/Game/Scene/01.Init.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 69ee0e78b41d9bf43832c135c9275b3b
+timeCreated: 1537231621
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/02.Start.unity b/mycj/Assets/Game/Scene/02.Start.unity
new file mode 100644
index 0000000..6414b05
--- /dev/null
+++ b/mycj/Assets/Game/Scene/02.Start.unity
@@ -0,0 +1,1571 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 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, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ 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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 9
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &68592222
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 68592226}
+ - component: {fileID: 68592225}
+ - component: {fileID: 68592224}
+ - component: {fileID: 68592223}
+ - component: {fileID: 68592227}
+ m_Layer: 5
+ m_Name: UIStart
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &68592223
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 68592222}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &68592224
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 68592222}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1920, y: 1080}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &68592225
+Canvas:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 68592222}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &68592226
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 68592222}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 734776217}
+ - {fileID: 123947642}
+ - {fileID: 1453586435}
+ - {fileID: 1572203207}
+ - {fileID: 987652838}
+ - {fileID: 953360884}
+ - {fileID: 1856525721}
+ - {fileID: 2094987885}
+ - {fileID: 1298904526}
+ - {fileID: 1125841283}
+ - {fileID: 70868140}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &68592227
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 68592222}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 10b160c83e19a9a4f8d3d339b084960b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+--- !u!1 &70868139
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 70868140}
+ - component: {fileID: 70868143}
+ - component: {fileID: 70868142}
+ - component: {fileID: 70868141}
+ m_Layer: 5
+ m_Name: Btn_Monster
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &70868140
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 70868139}
+ 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: 68592226}
+ m_RootOrder: 10
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 570, y: -524}
+ m_SizeDelta: {x: 562, y: 193}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &70868141
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 70868139}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: 9c59332950797a6439b3a0707223ee5a, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 70868142}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &70868142
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 70868139}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: f84c19afcb811634a9a21ce786d17f2d, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &70868143
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 70868139}
+--- !u!1 &123947641
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 123947642}
+ - component: {fileID: 123947644}
+ - component: {fileID: 123947643}
+ - component: {fileID: 123947645}
+ m_Layer: 5
+ m_Name: Cloud
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &123947642
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 123947641}
+ 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: 68592226}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -1408, y: 587}
+ m_SizeDelta: {x: 114, y: 58}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &123947643
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 123947641}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: e8fd4e5a71abfae4286f00f1bdcc68c0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &123947644
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 123947641}
+--- !u!114 &123947645
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 123947641}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5667133e6ef0fc7469b177dc9276c167, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ OffsetX: 1300
+ Duration: 18
+--- !u!1 &383976343
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 383976346}
+ - component: {fileID: 383976345}
+ - component: {fileID: 383976344}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &383976344
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 383976343}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &383976345
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 383976343}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &383976346
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 383976343}
+ 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: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &572159309
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 572159313}
+ - component: {fileID: 572159312}
+ - component: {fileID: 572159311}
+ - component: {fileID: 572159310}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &572159310
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 572159309}
+ m_Enabled: 1
+--- !u!124 &572159311
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 572159309}
+ m_Enabled: 1
+--- !u!20 &572159312
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 572159309}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &572159313
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 572159309}
+ 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: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &638456954
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 638456955}
+ - component: {fileID: 638456957}
+ - component: {fileID: 638456956}
+ m_Layer: 5
+ m_Name: Leave03
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &638456955
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 638456954}
+ 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: 1856525721}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 40, y: 365}
+ m_SizeDelta: {x: 329.7, y: 358.7}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &638456956
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 638456954}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6440e8463ef362946917e58d5d5a7a0f, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &638456957
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 638456954}
+--- !u!1 &734776216
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 734776217}
+ - component: {fileID: 734776219}
+ - component: {fileID: 734776218}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &734776217
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 734776216}
+ 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: 68592226}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &734776218
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 734776216}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: b10b16f7768c43841a721843b17aaa60, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &734776219
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 734776216}
+--- !u!1 &843853144
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 843853145}
+ - component: {fileID: 843853147}
+ - component: {fileID: 843853146}
+ m_Layer: 5
+ m_Name: Carrot
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &843853145
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 843853144}
+ 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: 1856525721}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 40, y: 138}
+ m_SizeDelta: {x: 498.2, y: 439.3}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &843853146
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 843853144}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 7d0865f95e7c17b449dd2509671d026c, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &843853147
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 843853144}
+--- !u!1 &911939755
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 911939756}
+ - component: {fileID: 911939758}
+ - component: {fileID: 911939757}
+ m_Layer: 5
+ m_Name: Leave02
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &911939756
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 911939755}
+ 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: 1856525721}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 247, y: 316.9}
+ m_SizeDelta: {x: 241.3, y: 262.5}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &911939757
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 911939755}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: e7e9f564911e4914ab9baba9d831f896, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &911939758
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 911939755}
+--- !u!1 &953360883
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 953360884}
+ - component: {fileID: 953360886}
+ - component: {fileID: 953360885}
+ - component: {fileID: 953360887}
+ m_Layer: 5
+ m_Name: Bat
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &953360884
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 953360883}
+ 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: 68592226}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -607, y: 240}
+ m_SizeDelta: {x: 306.8, y: 158.7}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &953360885
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 953360883}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 4b7e17ac1530b374797573faadbdefc3, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &953360886
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 953360883}
+--- !u!114 &953360887
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 953360883}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 90977ee0081530048bdab8cef96a046f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Time: 1
+ OffsetY: 20
+--- !u!1 &987652837
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 987652838}
+ - component: {fileID: 987652841}
+ - component: {fileID: 987652840}
+ - component: {fileID: 987652839}
+ m_Layer: 5
+ m_Name: Cloud
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &987652838
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 987652837}
+ 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: 68592226}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -1283, y: 406}
+ m_SizeDelta: {x: 114, y: 58}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &987652839
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 987652837}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5667133e6ef0fc7469b177dc9276c167, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ OffsetX: 1300
+ Duration: 24
+--- !u!114 &987652840
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 987652837}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: e8fd4e5a71abfae4286f00f1bdcc68c0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &987652841
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 987652837}
+--- !u!1 &1037928854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1037928855}
+ - component: {fileID: 1037928857}
+ - component: {fileID: 1037928856}
+ m_Layer: 5
+ m_Name: Leave01
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1037928855
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1037928854}
+ m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1856525721}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -141, y: 353}
+ m_SizeDelta: {x: 231.4, y: 251.8}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1037928856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1037928854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 88ec8c52959875c46adffa9a04e621d2, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1037928857
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1037928854}
+--- !u!1 &1125841282
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1125841283}
+ - component: {fileID: 1125841286}
+ - component: {fileID: 1125841285}
+ - component: {fileID: 1125841284}
+ m_Layer: 5
+ m_Name: Btn_Boss
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1125841283
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1125841282}
+ 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: 68592226}
+ m_RootOrder: 9
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -523.99994}
+ m_SizeDelta: {x: 562, y: 193}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1125841284
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1125841282}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: bba4ba9a49bbc5f40b642dcdcd8a02c8, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1125841285}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1125841285
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1125841282}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 205ca730b0f7c6f47aa2bfe22fc43cf8, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1125841286
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1125841282}
+--- !u!1 &1298904525
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1298904526}
+ - component: {fileID: 1298904529}
+ - component: {fileID: 1298904528}
+ - component: {fileID: 1298904527}
+ m_Layer: 5
+ m_Name: Btn_Adventure
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1298904526
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1298904525}
+ 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: 68592226}
+ m_RootOrder: 8
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -570, y: -524}
+ m_SizeDelta: {x: 562, y: 193}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1298904527
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1298904525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: 009ab971e8b180945bd58b04f49ce603, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1298904528}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 68592227}
+ m_MethodName: GotoSelect
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1298904528
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1298904525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: a52cc7b2de5891c45b3cb0fc00f77cd2, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1298904529
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1298904525}
+--- !u!1 &1453586434
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1453586435}
+ - component: {fileID: 1453586437}
+ - component: {fileID: 1453586436}
+ - component: {fileID: 1453586438}
+ m_Layer: 5
+ m_Name: Cloud
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1453586435
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1453586434}
+ 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: 68592226}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -1761, y: 461}
+ m_SizeDelta: {x: 266, y: 120}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1453586436
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1453586434}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 742933ba07cfbac448c6fa401a20893d, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1453586437
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1453586434}
+--- !u!114 &1453586438
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1453586434}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5667133e6ef0fc7469b177dc9276c167, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ OffsetX: 1300
+ Duration: 20
+--- !u!1 &1572203206
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1572203207}
+ - component: {fileID: 1572203210}
+ - component: {fileID: 1572203209}
+ - component: {fileID: 1572203208}
+ m_Layer: 5
+ m_Name: Cloud
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1572203207
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1572203206}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.9999911, y: 0.9999911, z: 0.9999911}
+ m_Children: []
+ m_Father: {fileID: 68592226}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -1067.3, y: 531}
+ m_SizeDelta: {x: 176.5, y: 79.6}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1572203208
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1572203206}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5667133e6ef0fc7469b177dc9276c167, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ OffsetX: 1300
+ Duration: 22
+--- !u!114 &1572203209
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1572203206}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 742933ba07cfbac448c6fa401a20893d, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1572203210
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1572203206}
+--- !u!1 &1856525720
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1856525721}
+ m_Layer: 5
+ m_Name: Carrot
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1856525721
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1856525720}
+ 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: 1037928855}
+ - {fileID: 911939756}
+ - {fileID: 638456955}
+ - {fileID: 843853145}
+ m_Father: {fileID: 68592226}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &2094987884
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 2094987885}
+ - component: {fileID: 2094987887}
+ - component: {fileID: 2094987886}
+ m_Layer: 5
+ m_Name: Logo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2094987885
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2094987884}
+ 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: 68592226}
+ m_RootOrder: 7
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -80}
+ m_SizeDelta: {x: 1074.3, y: 599.5}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2094987886
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2094987884}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: e6d8fe8d5f69a394fb558f850aff9f18, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &2094987887
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2094987884}
diff --git a/mycj/Assets/Game/Scene/02.Start.unity.meta b/mycj/Assets/Game/Scene/02.Start.unity.meta
new file mode 100644
index 0000000..5e45caa
--- /dev/null
+++ b/mycj/Assets/Game/Scene/02.Start.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 587548c1dcb186241b5b102439cc435a
+timeCreated: 1537231669
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/03.Select.unity b/mycj/Assets/Game/Scene/03.Select.unity
new file mode 100644
index 0000000..8064959
--- /dev/null
+++ b/mycj/Assets/Game/Scene/03.Select.unity
@@ -0,0 +1,1387 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 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, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ 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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 9
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &97493041
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 97493042}
+ - component: {fileID: 97493045}
+ - component: {fileID: 97493044}
+ - component: {fileID: 97493043}
+ m_Layer: 5
+ m_Name: Btn_Back
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &97493042
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 97493041}
+ 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: 1127238151}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 80, y: -60}
+ m_SizeDelta: {x: 115.3, y: 97.1}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &97493043
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 97493041}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: c7064ac89b2b9144a9031203f310e068, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 97493044}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &97493044
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 97493041}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 7b819d4a4c5059148a3c5d9ffdb7d123, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &97493045
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 97493041}
+--- !u!1 &225228263
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 225228267}
+ - component: {fileID: 225228266}
+ - component: {fileID: 225228265}
+ - component: {fileID: 225228264}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &225228264
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!124 &225228265
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!20 &225228266
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &225228267
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, 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!1 &390919701
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 390919702}
+ - component: {fileID: 390919704}
+ - component: {fileID: 390919703}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &390919702
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 390919701}
+ 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: 1127238151}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -0.000015258789}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &390919703
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 390919701}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 9dfc1beb4aa40954795eb219f8d6c52d, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &390919704
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 390919701}
+--- !u!1001 &725115696
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 742403008}
+ m_Modifications:
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 960
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 634
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalScale.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalScale.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalScale.z
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 1128226626498306, guid: 8b521c6fb28e2384a818204a3826ead1, type: 2}
+ propertyPath: m_Name
+ value: UICard
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 8b521c6fb28e2384a818204a3826ead1, type: 2}
+ m_IsPrefabParent: 0
+--- !u!224 &725115697 stripped
+RectTransform:
+ m_PrefabParentObject: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ m_PrefabInternal: {fileID: 725115696}
+--- !u!114 &725115698 stripped
+MonoBehaviour:
+ m_PrefabParentObject: {fileID: 114583768987058208, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ m_PrefabInternal: {fileID: 725115696}
+ m_Script: {fileID: 11500000, guid: 8ad48058e95b74c42b0fe461f94b7fd5, type: 3}
+--- !u!1 &742403007
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 742403008}
+ m_Layer: 5
+ m_Name: UICarts
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &742403008
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 742403007}
+ 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: 1408537617}
+ - {fileID: 725115697}
+ - {fileID: 2060831927}
+ m_Father: {fileID: 1127238151}
+ m_RootOrder: 7
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &925476983
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 925476984}
+ - component: {fileID: 925476986}
+ - component: {fileID: 925476985}
+ m_Layer: 5
+ m_Name: Title
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &925476984
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 925476983}
+ 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: 1127238151}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: -60}
+ m_SizeDelta: {x: 312, y: 84.6}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &925476985
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 925476983}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: a85220316a24afa428d32d3747363a8f, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &925476986
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 925476983}
+--- !u!1 &955641639
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 955641640}
+ - component: {fileID: 955641643}
+ - component: {fileID: 955641642}
+ - component: {fileID: 955641641}
+ m_Layer: 5
+ m_Name: Btn_Help
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &955641640
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 955641639}
+ 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: 1127238151}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -80, y: -60}
+ m_SizeDelta: {x: 98, y: 98}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &955641641
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 955641639}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: df5bc047623307b4a89f1656ed9cd1c1, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 955641642}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &955641642
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 955641639}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 7f3baf13cfed0a6489db7818a31dc043, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &955641643
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 955641639}
+--- !u!1 &1015784910
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1015784913}
+ - component: {fileID: 1015784912}
+ - component: {fileID: 1015784911}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1015784911
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1015784910}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1015784912
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1015784910}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1015784913
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1015784910}
+ 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: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1096257213
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1096257214}
+ - component: {fileID: 1096257216}
+ - component: {fileID: 1096257215}
+ m_Layer: 5
+ m_Name: Lock
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1096257214
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1096257213}
+ 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: 1127238151}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 128}
+ m_SizeDelta: {x: 420, y: 128}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1096257215
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1096257213}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6092818adc2fdb04e91d405a64ce95cf, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1096257216
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1096257213}
+--- !u!1 &1127238147
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1127238151}
+ - component: {fileID: 1127238150}
+ - component: {fileID: 1127238149}
+ - component: {fileID: 1127238148}
+ - component: {fileID: 1127238152}
+ m_Layer: 5
+ m_Name: UISelect
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1127238148
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1127238147}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1127238149
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1127238147}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1920, y: 1080}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1127238150
+Canvas:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1127238147}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1127238151
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1127238147}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 390919702}
+ - {fileID: 1450040970}
+ - {fileID: 925476984}
+ - {fileID: 1096257214}
+ - {fileID: 97493042}
+ - {fileID: 955641640}
+ - {fileID: 1462938107}
+ - {fileID: 742403008}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1127238152
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1127238147}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9eba4bc16423c65428d29dccd276f95a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ btnBack: {fileID: 97493043}
+ btnHelp: {fileID: 955641641}
+ btnStart: {fileID: 1462938108}
+ f_leftCard: {fileID: 1408537618}
+ f_currentCard: {fileID: 725115698}
+ f_rightCard: {fileID: 2060831928}
+--- !u!1001 &1408537616
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 742403008}
+ m_Modifications:
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: -960
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 960
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 634
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 8b521c6fb28e2384a818204a3826ead1, type: 2}
+ m_IsPrefabParent: 0
+--- !u!224 &1408537617 stripped
+RectTransform:
+ m_PrefabParentObject: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ m_PrefabInternal: {fileID: 1408537616}
+--- !u!114 &1408537618 stripped
+MonoBehaviour:
+ m_PrefabParentObject: {fileID: 114583768987058208, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ m_PrefabInternal: {fileID: 1408537616}
+ m_Script: {fileID: 11500000, guid: 8ad48058e95b74c42b0fe461f94b7fd5, type: 3}
+--- !u!1 &1450040969
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1450040970}
+ - component: {fileID: 1450040972}
+ - component: {fileID: 1450040971}
+ m_Layer: 5
+ m_Name: Cloud
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1450040970
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1450040969}
+ 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: 1127238151}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 152}
+ m_SizeDelta: {x: 1925.1, y: 304.8}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1450040971
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1450040969}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 9d5305bb4f9e72c478ec5dfb03ef63e0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1450040972
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1450040969}
+--- !u!1 &1462938106
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1462938107}
+ - component: {fileID: 1462938110}
+ - component: {fileID: 1462938109}
+ - component: {fileID: 1462938108}
+ m_Layer: 5
+ m_Name: Btn_Start
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1462938107
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1462938106}
+ 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: 1127238151}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 126}
+ m_SizeDelta: {x: 420, y: 130}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1462938108
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1462938106}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: 8d5fc7ee1c16ba547a439fc8603bab39, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1462938109}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1462938109
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1462938106}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 9d12f03df9c35ff45bf3c14ec0c2e93c, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1462938110
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1462938106}
+--- !u!1001 &2060831926
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 742403008}
+ m_Modifications:
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 960
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 960
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 634
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalScale.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalScale.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ propertyPath: m_LocalScale.z
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 1128226626498306, guid: 8b521c6fb28e2384a818204a3826ead1, type: 2}
+ propertyPath: m_Name
+ value: UICard
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 8b521c6fb28e2384a818204a3826ead1, type: 2}
+ m_IsPrefabParent: 0
+--- !u!224 &2060831927 stripped
+RectTransform:
+ m_PrefabParentObject: {fileID: 224231824421261076, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ m_PrefabInternal: {fileID: 2060831926}
+--- !u!114 &2060831928 stripped
+MonoBehaviour:
+ m_PrefabParentObject: {fileID: 114583768987058208, guid: 8b521c6fb28e2384a818204a3826ead1,
+ type: 2}
+ m_PrefabInternal: {fileID: 2060831926}
+ m_Script: {fileID: 11500000, guid: 8ad48058e95b74c42b0fe461f94b7fd5, type: 3}
diff --git a/mycj/Assets/Game/Scene/03.Select.unity.meta b/mycj/Assets/Game/Scene/03.Select.unity.meta
new file mode 100644
index 0000000..f09806b
--- /dev/null
+++ b/mycj/Assets/Game/Scene/03.Select.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0205efa9c2c4a1d48979ea2c8e8f6cf5
+timeCreated: 1537231697
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/04.Level.unity b/mycj/Assets/Game/Scene/04.Level.unity
new file mode 100644
index 0000000..7b5808d
--- /dev/null
+++ b/mycj/Assets/Game/Scene/04.Level.unity
@@ -0,0 +1,4060 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ 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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 10
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &180933685
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 180933686}
+ - component: {fileID: 180933689}
+ - component: {fileID: 180933688}
+ - component: {fileID: 180933687}
+ m_Layer: 5
+ m_Name: Btn_Restart
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &180933686
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 180933685}
+ 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: 1187106951}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -200, y: -210}
+ m_SizeDelta: {x: 316, y: 96}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &180933687
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 180933685}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: f6fb1f04a4eb49049821b8f727176d1a, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 180933688}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &180933688
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 180933685}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6e07af6fe96a7034c8e693bcfbc286a4, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &180933689
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 180933685}
+ m_CullTransparentMesh: 0
+--- !u!1 &193111199
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 193111200}
+ - component: {fileID: 193111203}
+ - component: {fileID: 193111202}
+ - component: {fileID: 193111201}
+ m_Layer: 5
+ m_Name: Btn_Restart
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &193111200
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 193111199}
+ 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: 312979738}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -27, y: 17.2}
+ m_SizeDelta: {x: 532.3, y: 162}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &193111201
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 193111199}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: f6fb1f04a4eb49049821b8f727176d1a, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 193111202}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &193111202
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 193111199}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6e07af6fe96a7034c8e693bcfbc286a4, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &193111203
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 193111199}
+ m_CullTransparentMesh: 0
+--- !u!1 &211765646
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 211765647}
+ - component: {fileID: 211765650}
+ - component: {fileID: 211765649}
+ - component: {fileID: 211765648}
+ m_Layer: 5
+ m_Name: Btn_Restart
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &211765647
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 211765646}
+ 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: 665520787}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -209.99997}
+ m_SizeDelta: {x: 316, y: 96}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &211765648
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 211765646}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: f6fb1f04a4eb49049821b8f727176d1a, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 211765649}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &211765649
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 211765646}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6e07af6fe96a7034c8e693bcfbc286a4, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &211765650
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 211765646}
+ m_CullTransparentMesh: 0
+--- !u!1 &225228263
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 225228267}
+ - component: {fileID: 225228266}
+ - component: {fileID: 225228265}
+ - component: {fileID: 225228264}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &225228264
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!124 &225228265
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!20 &225228266
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &225228267
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, 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!1 &246041085
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 246041086}
+ - component: {fileID: 246041088}
+ - component: {fileID: 246041087}
+ m_Layer: 5
+ m_Name: Text_Current
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &246041086
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 246041085}
+ 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: 1187106951}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -20, y: 47}
+ m_SizeDelta: {x: 160, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &246041087
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 246041085}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 00
+--- !u!222 &246041088
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 246041085}
+ m_CullTransparentMesh: 0
+--- !u!1 &312979737
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 312979738}
+ - component: {fileID: 312979740}
+ - component: {fileID: 312979739}
+ - component: {fileID: 312979741}
+ m_Layer: 5
+ m_Name: UISystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &312979738
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 312979737}
+ 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: 1679786659}
+ - {fileID: 1814077763}
+ - {fileID: 193111200}
+ - {fileID: 1929427402}
+ m_Father: {fileID: 1877495032}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &312979739
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 312979737}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0.547}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &312979740
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 312979737}
+ m_CullTransparentMesh: 0
+--- !u!114 &312979741
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 312979737}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b6cdf32c1439fb6438e9836e6ada2be2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ btnResume: {fileID: 1814077764}
+ btnRestart: {fileID: 193111201}
+ btnSelect: {fileID: 1929427403}
+--- !u!1 &425383604
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 425383605}
+ - component: {fileID: 425383607}
+ - component: {fileID: 425383606}
+ - component: {fileID: 425383608}
+ m_Layer: 0
+ m_Name: Sell
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &425383605
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 425383604}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: -1, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 2058264034}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!61 &425383606
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 425383604}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 0.76, y: 0.78}
+ newSize: {x: 0.76, y: 0.78}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.76, y: 0.78}
+ m_EdgeRadius: 0
+--- !u!212 &425383607
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 425383604}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: -978606343
+ m_SortingLayer: 8
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 8e5e6fbcf3c6ba747b383dd1a8b55626, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.76, y: 0.78}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &425383608
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 425383604}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 214b5c9e29478f849a525340ea69df19, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &452500482
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 452500483}
+ - component: {fileID: 452500485}
+ - component: {fileID: 452500484}
+ m_Layer: 5
+ m_Name: Num
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &452500483
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 452500482}
+ 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: 917814918}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 166, y: 166}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &452500484
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 452500482}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 2d32ce58c699e59419d8af976409fcae, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &452500485
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 452500482}
+ m_CullTransparentMesh: 0
+--- !u!1 &539213890
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 539213891}
+ - component: {fileID: 539213893}
+ - component: {fileID: 539213892}
+ - component: {fileID: 539213894}
+ m_Layer: 0
+ m_Name: Upgrade
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &539213891
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 539213890}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 2058264034}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!61 &539213892
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 539213890}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 0.76, y: 0.78}
+ newSize: {x: 0.76, y: 0.78}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.76, y: 0.78}
+ m_EdgeRadius: 0
+--- !u!212 &539213893
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 539213890}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: -978606343
+ m_SortingLayer: 8
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 8b710297c9b41d444a0349fc01b7620c, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.76, y: 0.78}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &539213894
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 539213890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5d8dbca7490e3fe4387d529894242df8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &611053122
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 611053123}
+ - component: {fileID: 611053125}
+ - component: {fileID: 611053124}
+ m_Layer: 5
+ m_Name: Bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &611053123
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 611053122}
+ 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: 1389239981}
+ m_Father: {fileID: 665520787}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0.0001093154, y: 0}
+ m_SizeDelta: {x: 1379.7, y: 943.6}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &611053124
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 611053122}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 9d0a1d22cfdeebb49b21023d12d9c5ee, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &611053125
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 611053122}
+ m_CullTransparentMesh: 0
+--- !u!1 &665520786
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 665520787}
+ - component: {fileID: 665520789}
+ - component: {fileID: 665520788}
+ - component: {fileID: 665520790}
+ m_Layer: 5
+ m_Name: UILost
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &665520787
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 665520786}
+ 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: 611053123}
+ - {fileID: 2110674806}
+ - {fileID: 1700578287}
+ - {fileID: 211765647}
+ m_Father: {fileID: 1877495032}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &665520788
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 665520786}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0.547}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &665520789
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 665520786}
+ m_CullTransparentMesh: 0
+--- !u!114 &665520790
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 665520786}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a4e0ce6f3d782594988cef4f8232e318, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ txtCurrent: {fileID: 2110674807}
+ txtTotal: {fileID: 1700578288}
+ btnRestart: {fileID: 211765648}
+--- !u!1 &676431085
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 676431086}
+ - component: {fileID: 676431089}
+ - component: {fileID: 676431088}
+ - component: {fileID: 676431087}
+ m_Layer: 5
+ m_Name: Btn_Continue
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &676431086
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 676431085}
+ 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: 1187106951}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 200, y: -209.99997}
+ m_SizeDelta: {x: 316, y: 96}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &676431087
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 676431085}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: 6caf05fafe6e2864f8f369b677285d7e, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 676431088}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &676431088
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 676431085}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 9bf5cf82c55c5304897d0099a6bed0b0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &676431089
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 676431085}
+ m_CullTransparentMesh: 0
+--- !u!1 &720945705
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 720945706}
+ - component: {fileID: 720945708}
+ - component: {fileID: 720945707}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &720945706
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 720945705}
+ 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: 1725809216}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -16, y: -6.39}
+ m_SizeDelta: {x: 829.7, y: 173.1}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &720945707
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 720945705}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: c0f096368fb8ccb488f7cab9bfd18695, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &720945708
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 720945705}
+ m_CullTransparentMesh: 0
+--- !u!1 &747547832
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 747547835}
+ - component: {fileID: 747547834}
+ - component: {fileID: 747547833}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &747547833
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 747547832}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &747547834
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 747547832}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &747547835
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 747547832}
+ 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: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &761336319
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 761336320}
+ - component: {fileID: 761336323}
+ - component: {fileID: 761336322}
+ - component: {fileID: 761336321}
+ m_Layer: 5
+ m_Name: Btn_Speed1
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &761336320
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 761336319}
+ 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: 1619554622}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 484, y: 10}
+ m_SizeDelta: {x: 140, y: 78.3}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &761336321
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 761336319}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 761336322}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &761336322
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 761336319}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6df3eb2b1542da340a2c74511d2aee87, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &761336323
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 761336319}
+ m_CullTransparentMesh: 0
+--- !u!1 &917814917
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 917814918}
+ - component: {fileID: 917814920}
+ - component: {fileID: 917814919}
+ - component: {fileID: 917814921}
+ m_Layer: 5
+ m_Name: UICountDown
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &917814918
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 917814917}
+ 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: 2126054453}
+ - {fileID: 452500483}
+ m_Father: {fileID: 1877495032}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &917814919
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 917814917}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &917814920
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 917814917}
+ m_CullTransparentMesh: 0
+--- !u!114 &917814921
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 917814917}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7af83b298332e584dba8c152bbcbd732, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ imgCount: {fileID: 452500484}
+ sptNumbers:
+ - {fileID: 21300000, guid: 5d5fa520220a41c459634032407bf5dd, type: 3}
+ - {fileID: 21300000, guid: efa28cda8cff61040a43f1014b6191b7, type: 3}
+ - {fileID: 21300000, guid: 2d32ce58c699e59419d8af976409fcae, type: 3}
+--- !u!1 &1008066374
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1008066375}
+ - component: {fileID: 1008066377}
+ - component: {fileID: 1008066376}
+ - component: {fileID: 1008066378}
+ m_Layer: 0
+ m_Name: TowerIcon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1008066375
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1008066374}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.5, y: 1, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1294642931}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!61 &1008066376
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1008066374}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 0.76, y: 0.78}
+ newSize: {x: 0.76, y: 0.78}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.76, y: 0.78}
+ m_EdgeRadius: 0
+--- !u!212 &1008066377
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1008066374}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: -978606343
+ m_SortingLayer: 8
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: a2b3b29a664048245ade3af997243bcd, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.76, y: 0.78}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &1008066378
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1008066374}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 94554cdc827555a44bdd5d6681a92a12, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1065300050
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1065300051}
+ - component: {fileID: 1065300052}
+ m_Layer: 0
+ m_Name: TowerPopup
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1065300051
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1065300050}
+ 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: 1294642931}
+ - {fileID: 2058264034}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1065300052
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1065300050}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7420a207aab12d646ae70c1d23ece1d0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ f_spawnPanel: {fileID: 1294642933}
+ f_upgadePanel: {fileID: 2058264036}
+--- !u!1 &1184745855
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1184745856}
+ - component: {fileID: 1184745858}
+ - component: {fileID: 1184745857}
+ m_Layer: 5
+ m_Name: Text_Score
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1184745856
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1184745855}
+ 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: 1619554622}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 283.2, y: 20}
+ m_SizeDelta: {x: 223.7, y: -40}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1184745857
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1184745855}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 999
+--- !u!222 &1184745858
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1184745855}
+ m_CullTransparentMesh: 0
+--- !u!1 &1187106950
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1187106951}
+ - component: {fileID: 1187106953}
+ - component: {fileID: 1187106952}
+ - component: {fileID: 1187106954}
+ m_Layer: 5
+ m_Name: UIWin
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1187106951
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1187106950}
+ 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: 1725809216}
+ - {fileID: 246041086}
+ - {fileID: 1898590929}
+ - {fileID: 180933686}
+ - {fileID: 676431086}
+ m_Father: {fileID: 1877495032}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1187106952
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1187106950}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0.547}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1187106953
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1187106950}
+ m_CullTransparentMesh: 0
+--- !u!114 &1187106954
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1187106950}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8f8f5dc192997164289394496ee40898, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ txtCurrent: {fileID: 246041087}
+ txtTotal: {fileID: 1898590930}
+ btnRestart: {fileID: 180933687}
+ btnContinute: {fileID: 676431087}
+--- !u!1 &1197409679
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1197409680}
+ - component: {fileID: 1197409683}
+ - component: {fileID: 1197409682}
+ - component: {fileID: 1197409681}
+ m_Layer: 5
+ m_Name: Btn_Pause
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1197409680
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1197409679}
+ 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: 1619554622}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 660, y: 10}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1197409681
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1197409679}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1197409682}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1197409682
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1197409679}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: e525bc00f31ce0c45b7a9a4041c56464, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1197409683
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1197409679}
+ m_CullTransparentMesh: 0
+--- !u!1 &1294642930
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1294642931}
+ - component: {fileID: 1294642932}
+ - component: {fileID: 1294642933}
+ m_Layer: 0
+ m_Name: SpawnPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1294642931
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1294642930}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 10, y: 4, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1932873991}
+ - {fileID: 1008066375}
+ m_Father: {fileID: 1065300051}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &1294642932
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1294642930}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: -978606343
+ m_SortingLayer: 8
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: c04d5bcbe3a52824d9129f20b33192ee, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.72, y: 0.72}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &1294642933
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1294642930}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: facfd014f9beb024d83a6fbfebd0083d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1389239980
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1389239981}
+ - component: {fileID: 1389239983}
+ - component: {fileID: 1389239982}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1389239981
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1389239980}
+ 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: 611053123}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -38, y: 0}
+ m_SizeDelta: {x: 782.7, y: 163.4}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1389239982
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1389239980}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: c0f096368fb8ccb488f7cab9bfd18695, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1389239983
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1389239980}
+ m_CullTransparentMesh: 0
+--- !u!1 &1410124663
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1410124664}
+ - component: {fileID: 1410124667}
+ - component: {fileID: 1410124666}
+ - component: {fileID: 1410124665}
+ m_Layer: 5
+ m_Name: Btn_Speed2
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1410124664
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1410124663}
+ 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: 1619554622}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 484, y: 10}
+ m_SizeDelta: {x: 140, y: 78.3}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1410124665
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1410124663}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1410124666}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1410124666
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1410124663}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: fd0499ce62aef864c9d3410c2b6f12cf, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1410124667
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1410124663}
+ m_CullTransparentMesh: 0
+--- !u!1 &1439818589
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1439818590}
+ - component: {fileID: 1439818592}
+ - component: {fileID: 1439818591}
+ m_Layer: 5
+ m_Name: Pause
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1439818590
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1439818589}
+ 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: 1619554622}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 15}
+ m_SizeDelta: {x: 388.89, y: 121.18}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1439818591
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1439818589}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 24892b9f12fe5e4418d92811c3cdb235, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1439818592
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1439818589}
+ m_CullTransparentMesh: 0
+--- !u!1 &1484312130
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1484312131}
+ - component: {fileID: 1484312133}
+ - component: {fileID: 1484312132}
+ m_Layer: 5
+ m_Name: Text_Current
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1484312131
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1484312130}
+ 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: 2100544092}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -138, y: 0}
+ m_SizeDelta: {x: 160, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1484312132
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1484312130}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 00
+--- !u!222 &1484312133
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1484312130}
+ m_CullTransparentMesh: 0
+--- !u!1001 &1513067410
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 212488386498320926, guid: 76ca9f65192902d41b937d2610833f6a,
+ type: 2}
+ propertyPath: m_SortingLayerID
+ value: 1142184591
+ objectReference: {fileID: 0}
+ - target: {fileID: 212488386498320926, guid: 76ca9f65192902d41b937d2610833f6a,
+ type: 2}
+ propertyPath: m_SortingLayer
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 212207562221275726, guid: 76ca9f65192902d41b937d2610833f6a,
+ type: 2}
+ propertyPath: m_SortingLayerID
+ value: -1611035897
+ objectReference: {fileID: 0}
+ - target: {fileID: 212207562221275726, guid: 76ca9f65192902d41b937d2610833f6a,
+ type: 2}
+ propertyPath: m_SortingLayer
+ value: 2
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ m_IsPrefabAsset: 0
+--- !u!1 &1513067411 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 1178781155642970, guid: 76ca9f65192902d41b937d2610833f6a,
+ type: 2}
+ m_PrefabInternal: {fileID: 1513067410}
+--- !u!114 &1513067412
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1513067411}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1d2ce118027c0664ea43efb9c2f00d50, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+--- !u!1 &1619554621
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1619554622}
+ - component: {fileID: 1619554624}
+ - component: {fileID: 1619554623}
+ - component: {fileID: 1619554625}
+ m_Layer: 5
+ m_Name: UIBoard
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1619554622
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1619554621}
+ 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: 1184745856}
+ - {fileID: 2100544092}
+ - {fileID: 1439818590}
+ - {fileID: 761336320}
+ - {fileID: 1410124664}
+ - {fileID: 1197409680}
+ - {fileID: 1911629602}
+ - {fileID: 1760705758}
+ m_Father: {fileID: 1877495032}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -81.5}
+ m_SizeDelta: {x: -100, y: 163}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1619554623
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1619554621}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: c06ce529ae3b01f488cb7c2c06ba6795, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1619554624
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1619554621}
+ m_CullTransparentMesh: 0
+--- !u!114 &1619554625
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1619554621}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3b31e2897f6af334dadb1f91a4ea26c5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ txtScore: {fileID: 1184745857}
+ txtCurrent: {fileID: 1484312132}
+ txtTotal: {fileID: 1788737303}
+ goRoundInfo: {fileID: 2100544091}
+ goPause: {fileID: 1439818589}
+ btnSpeed1: {fileID: 761336321}
+ btnSpeed2: {fileID: 1410124665}
+ btnPause: {fileID: 1197409681}
+ btnPlay: {fileID: 1911629603}
+ btnSystem: {fileID: 1760705759}
+--- !u!1 &1679786658
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1679786659}
+ - component: {fileID: 1679786661}
+ - component: {fileID: 1679786660}
+ m_Layer: 5
+ m_Name: Bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1679786659
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1679786658}
+ 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: 312979738}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0.00009405661, y: 0}
+ m_SizeDelta: {x: 958.5, y: 733}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1679786660
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1679786658}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: c16cc4665a7eeeb438b691a6932f4212, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1679786661
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1679786658}
+ m_CullTransparentMesh: 0
+--- !u!1 &1700578286
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1700578287}
+ - component: {fileID: 1700578289}
+ - component: {fileID: 1700578288}
+ m_Layer: 5
+ m_Name: Text_Total
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1700578287
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1700578286}
+ 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: 665520787}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 124, y: 50}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1700578288
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1700578286}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 0
+--- !u!222 &1700578289
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1700578286}
+ m_CullTransparentMesh: 0
+--- !u!1 &1721891778
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1721891779}
+ - component: {fileID: 1721891780}
+ m_Layer: 5
+ m_Name: Fire
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1721891779
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1721891778}
+ 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: 1987964159}
+ m_Father: {fileID: 2126054453}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1721891780
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1721891778}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4c23d04bf50077f40848f73641475aed, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Speed: 360
+--- !u!1 &1725809215
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1725809216}
+ - component: {fileID: 1725809218}
+ - component: {fileID: 1725809217}
+ m_Layer: 5
+ m_Name: Bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1725809216
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1725809215}
+ 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: 720945706}
+ m_Father: {fileID: 1187106951}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1330.4, y: 779.3}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1725809217
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1725809215}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 3377eec96d1513c4d809f83ff382340f, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1725809218
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1725809215}
+ m_CullTransparentMesh: 0
+--- !u!1 &1760705757
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1760705758}
+ - component: {fileID: 1760705761}
+ - component: {fileID: 1760705760}
+ - component: {fileID: 1760705759}
+ m_Layer: 5
+ m_Name: Btn_System
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1760705758
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1760705757}
+ 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: 1619554622}
+ m_RootOrder: 7
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 806, y: 10}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1760705759
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1760705757}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1760705760}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1760705760
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1760705757}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: a63fc7e6d47db584a95ad1e0973f7c62, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1760705761
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1760705757}
+ m_CullTransparentMesh: 0
+--- !u!1 &1788737301
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1788737302}
+ - component: {fileID: 1788737304}
+ - component: {fileID: 1788737303}
+ m_Layer: 5
+ m_Name: Text_Total
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1788737302
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1788737301}
+ 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: 2100544092}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 40, y: 0}
+ m_SizeDelta: {x: 91.6, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1788737303
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1788737301}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 0
+--- !u!222 &1788737304
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1788737301}
+ m_CullTransparentMesh: 0
+--- !u!1 &1814077762
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1814077763}
+ - component: {fileID: 1814077766}
+ - component: {fileID: 1814077765}
+ - component: {fileID: 1814077764}
+ m_Layer: 5
+ m_Name: Btn_Resume
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1814077763
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1814077762}
+ 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: 312979738}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -27, y: 222}
+ m_SizeDelta: {x: 532.3, y: 162}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1814077764
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1814077762}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: 6caf05fafe6e2864f8f369b677285d7e, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1814077765}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1814077765
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1814077762}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 9bf5cf82c55c5304897d0099a6bed0b0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1814077766
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1814077762}
+ m_CullTransparentMesh: 0
+--- !u!1 &1877495028
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1877495032}
+ - component: {fileID: 1877495031}
+ - component: {fileID: 1877495030}
+ - component: {fileID: 1877495029}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1877495029
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1877495028}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1877495030
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1877495028}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1920, y: 1080}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1877495031
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1877495028}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1877495032
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1877495028}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 1619554622}
+ - {fileID: 917814918}
+ - {fileID: 1187106951}
+ - {fileID: 665520787}
+ - {fileID: 312979738}
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1898590928
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1898590929}
+ - component: {fileID: 1898590931}
+ - component: {fileID: 1898590930}
+ m_Layer: 5
+ m_Name: Text_Total
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1898590929
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1898590928}
+ 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: 1187106951}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 148, y: 47}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1898590930
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1898590928}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 0
+--- !u!222 &1898590931
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1898590928}
+ m_CullTransparentMesh: 0
+--- !u!1 &1911629601
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1911629602}
+ - component: {fileID: 1911629605}
+ - component: {fileID: 1911629604}
+ - component: {fileID: 1911629603}
+ m_Layer: 5
+ m_Name: Btn_Play
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1911629602
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1911629601}
+ 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: 1619554622}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 660, y: 10}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1911629603
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1911629601}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1911629604}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1911629604
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1911629601}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6ea4da8d351ef2441b19d172c630d384, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1911629605
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1911629601}
+ m_CullTransparentMesh: 0
+--- !u!1 &1929427401
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1929427402}
+ - component: {fileID: 1929427405}
+ - component: {fileID: 1929427404}
+ - component: {fileID: 1929427403}
+ m_Layer: 5
+ m_Name: Btn_Select
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1929427402
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1929427401}
+ 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: 312979738}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -27, y: -186}
+ m_SizeDelta: {x: 532.3, y: 162}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1929427403
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1929427401}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: b4a1cf7c2f8bae14da6ced77108713a4, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1929427404}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1929427404
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1929427401}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: ed06d957dcad6a640b5049bed8be7ec6, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1929427405
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1929427401}
+ m_CullTransparentMesh: 0
+--- !u!1 &1932873990
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1932873991}
+ - component: {fileID: 1932873993}
+ - component: {fileID: 1932873992}
+ - component: {fileID: 1932873994}
+ m_Layer: 0
+ m_Name: TowerIcon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1932873991
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1932873990}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.5, y: 1, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1294642931}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!61 &1932873992
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1932873990}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 0.76, y: 0.78}
+ newSize: {x: 0.76, y: 0.78}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.76, y: 0.78}
+ m_EdgeRadius: 0
+--- !u!212 &1932873993
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1932873990}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: -978606343
+ m_SortingLayer: 8
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: a2b3b29a664048245ade3af997243bcd, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.76, y: 0.78}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &1932873994
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1932873990}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 94554cdc827555a44bdd5d6681a92a12, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1987964158
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1987964159}
+ - component: {fileID: 1987964161}
+ - component: {fileID: 1987964160}
+ m_Layer: 5
+ m_Name: Sprite
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1987964159
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1987964158}
+ 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: 1721891779}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -74, y: -10}
+ m_SizeDelta: {x: 208.1, y: 333.6}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1987964160
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1987964158}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 4b6b893cd2d2e774caee118f72b5fc08, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1987964161
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1987964158}
+ m_CullTransparentMesh: 0
+--- !u!1 &2058264033
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2058264034}
+ - component: {fileID: 2058264035}
+ - component: {fileID: 2058264036}
+ m_Layer: 0
+ m_Name: UpgradePanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2058264034
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2058264033}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 10, y: 2, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 539213891}
+ - {fileID: 425383605}
+ m_Father: {fileID: 1065300051}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &2058264035
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2058264033}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: -978606343
+ m_SortingLayer: 8
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: c04d5bcbe3a52824d9129f20b33192ee, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.72, y: 0.72}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!114 &2058264036
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2058264033}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6354cd89d397c424ba3984b05f742929, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &2100544091
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2100544092}
+ - component: {fileID: 2100544094}
+ - component: {fileID: 2100544093}
+ m_Layer: 5
+ m_Name: RoundInfo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2100544092
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2100544091}
+ 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: 1484312131}
+ - {fileID: 1788737302}
+ m_Father: {fileID: 1619554622}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 15}
+ m_SizeDelta: {x: 468, y: 103}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2100544093
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2100544091}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 86b344d77b9f4544ebf084284a8d3fba, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &2100544094
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2100544091}
+ m_CullTransparentMesh: 0
+--- !u!1 &2110674805
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2110674806}
+ - component: {fileID: 2110674808}
+ - component: {fileID: 2110674807}
+ m_Layer: 5
+ m_Name: Text_Current
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2110674806
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2110674805}
+ 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: 665520787}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -47, y: 50}
+ m_SizeDelta: {x: 160, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2110674807
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2110674805}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 75
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 7
+ m_MaxSize: 75
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 00
+--- !u!222 &2110674808
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2110674805}
+ m_CullTransparentMesh: 0
+--- !u!1 &2126054452
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2126054453}
+ - component: {fileID: 2126054455}
+ - component: {fileID: 2126054454}
+ m_Layer: 5
+ m_Name: Bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2126054453
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2126054452}
+ 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: 1721891779}
+ m_Father: {fileID: 917814918}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 366, y: 366}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2126054454
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2126054452}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 2aeead2a6f40d7c43aeeaef36ebc64ed, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &2126054455
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2126054452}
+ m_CullTransparentMesh: 0
diff --git a/mycj/Assets/Game/Scene/04.Level.unity.meta b/mycj/Assets/Game/Scene/04.Level.unity.meta
new file mode 100644
index 0000000..c11becb
--- /dev/null
+++ b/mycj/Assets/Game/Scene/04.Level.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 76b32d6eae8c5d949b1ea7f1adf5e6eb
+timeCreated: 1537231697
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/05.Complete.unity b/mycj/Assets/Game/Scene/05.Complete.unity
new file mode 100644
index 0000000..1eddb52
--- /dev/null
+++ b/mycj/Assets/Game/Scene/05.Complete.unity
@@ -0,0 +1,732 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 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, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ 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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 9
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &225228263
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 225228267}
+ - component: {fileID: 225228266}
+ - component: {fileID: 225228265}
+ - component: {fileID: 225228264}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &225228264
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!124 &225228265
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!20 &225228266
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &225228267
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, 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!1 &1302775841
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1302775842}
+ - component: {fileID: 1302775845}
+ - component: {fileID: 1302775844}
+ - component: {fileID: 1302775843}
+ m_Layer: 5
+ m_Name: Btn_Restart
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1302775842
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1302775841}
+ 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: 1577237480}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -284, y: 201}
+ m_SizeDelta: {x: 370.9, y: 113.1}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1302775843
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1302775841}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: f6fb1f04a4eb49049821b8f727176d1a, type: 3}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1302775844}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1302775844
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1302775841}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 6e07af6fe96a7034c8e693bcfbc286a4, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1302775845
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1302775841}
+--- !u!1 &1331176614
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1331176617}
+ - component: {fileID: 1331176616}
+ - component: {fileID: 1331176615}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1331176615
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1331176614}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1331176616
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1331176614}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1331176617
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1331176614}
+ 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: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1543302558
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1543302559}
+ - component: {fileID: 1543302562}
+ - component: {fileID: 1543302561}
+ - component: {fileID: 1543302560}
+ m_Layer: 5
+ m_Name: Btn_Clear
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1543302559
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1543302558}
+ 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: 1662175530}
+ m_Father: {fileID: 1577237480}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 284.0001, y: 201.00002}
+ m_SizeDelta: {x: 370.9, y: 113.1}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1543302560
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1543302558}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 2
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 21300000, guid: f6fb1f04a4eb49049821b8f727176d1a, type: 3}
+ m_DisabledSprite: {fileID: 21300000, guid: ddcab36ec3c92fd4a97c1f8ba2c25610, type: 3}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1543302561}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1543302561
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1543302558}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 4da699e8f09c7a34cbca7b9144e72da8, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1543302562
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1543302558}
+--- !u!1 &1577237479
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1577237480}
+ - component: {fileID: 1577237482}
+ - component: {fileID: 1577237481}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1577237480
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1577237479}
+ 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: 1302775842}
+ - {fileID: 1543302559}
+ m_Father: {fileID: 1868430541}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1577237481
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1577237479}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 88a8a2621573f06429618f7039054f51, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1577237482
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1577237479}
+--- !u!1 &1662175529
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1662175530}
+ - component: {fileID: 1662175532}
+ - component: {fileID: 1662175531}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1662175530
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1662175529}
+ 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: 1543302559}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 8.9, y: 12.2}
+ m_SizeDelta: {x: -137.1, y: -42}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1662175531
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1662175529}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 60
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "\u6E05\u6863"
+--- !u!222 &1662175532
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1662175529}
+--- !u!1 &1868430537
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1868430541}
+ - component: {fileID: 1868430540}
+ - component: {fileID: 1868430539}
+ - component: {fileID: 1868430538}
+ - component: {fileID: 1868430542}
+ m_Layer: 5
+ m_Name: UIComplete
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1868430538
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1868430537}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1868430539
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1868430537}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1920, y: 1080}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1868430540
+Canvas:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1868430537}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1868430541
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1868430537}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 1577237480}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1868430542
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1868430537}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 653de9a746bd55042b3a3111fdf7afbd, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EventLists: []
+ btnRestart: {fileID: 1302775843}
+ btnClear: {fileID: 1543302560}
diff --git a/mycj/Assets/Game/Scene/05.Complete.unity.meta b/mycj/Assets/Game/Scene/05.Complete.unity.meta
new file mode 100644
index 0000000..f4a44e1
--- /dev/null
+++ b/mycj/Assets/Game/Scene/05.Complete.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8f9b8a50b46a8634388786b5443d8bbd
+timeCreated: 1537231697
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/LevelBuilder.unity b/mycj/Assets/Game/Scene/LevelBuilder.unity
new file mode 100644
index 0000000..2bdd809
--- /dev/null
+++ b/mycj/Assets/Game/Scene/LevelBuilder.unity
@@ -0,0 +1,462 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 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, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ 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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 9
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &218356582
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 218356586}
+ - component: {fileID: 218356585}
+ - component: {fileID: 218356584}
+ - component: {fileID: 218356583}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &218356583
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 218356582}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &218356584
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 218356582}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1920, y: 1080}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &218356585
+Canvas:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 218356582}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &218356586
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 218356582}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 426292912}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &225228263
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 225228267}
+ - component: {fileID: 225228266}
+ - component: {fileID: 225228265}
+ - component: {fileID: 225228264}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &225228264
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!124 &225228265
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+--- !u!20 &225228266
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &225228267
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 225228263}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, 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!1 &426292911
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 426292912}
+ - component: {fileID: 426292914}
+ - component: {fileID: 426292913}
+ m_Layer: 5
+ m_Name: Board
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &426292912
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 426292911}
+ 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: 218356586}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: -39}
+ m_SizeDelta: {x: 926, y: 78}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &426292913
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 426292911}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: c06ce529ae3b01f488cb7c2c06ba6795, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &426292914
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 426292911}
+--- !u!1 &1658612129
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1658612132}
+ - component: {fileID: 1658612131}
+ - component: {fileID: 1658612130}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1658612130
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1658612129}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1658612131
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1658612129}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1658612132
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1658612129}
+ 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: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1766574518
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4616181440247848, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ propertyPath: m_RootOrder
+ value: 3
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 76ca9f65192902d41b937d2610833f6a, type: 2}
+ m_IsPrefabParent: 0
diff --git a/mycj/Assets/Game/Scene/LevelBuilder.unity.meta b/mycj/Assets/Game/Scene/LevelBuilder.unity.meta
new file mode 100644
index 0000000..f921410
--- /dev/null
+++ b/mycj/Assets/Game/Scene/LevelBuilder.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3a4f9a61e28513048ac7c436ffb92342
+timeCreated: 1537231697
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scene/scene_game.unity b/mycj/Assets/Game/Scene/scene_game.unity
new file mode 100644
index 0000000..630068d
--- /dev/null
+++ b/mycj/Assets/Game/Scene/scene_game.unity
@@ -0,0 +1,3401 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ 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.212, g: 0.227, b: 0.259, 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: 3
+ 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: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ 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.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &117277995
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 117277996}
+ - component: {fileID: 117277999}
+ - component: {fileID: 117277998}
+ - component: {fileID: 117277997}
+ m_Layer: 5
+ m_Name: Up
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &117277996
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117277995}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 564058609}
+ m_Father: {fileID: 218945412}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -165, y: -0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &117277997
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117277995}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 117277998}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &117277998
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117277995}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &117277999
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117277995}
+ m_CullTransparentMesh: 1
+--- !u!1 &205715259
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 205715260}
+ - component: {fileID: 205715262}
+ - component: {fileID: 205715261}
+ m_Layer: 5
+ m_Name: djs
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &205715260
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 205715259}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1510895179}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -161, y: -366}
+ m_SizeDelta: {x: 381.8344, y: 792.5278}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &205715261
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 205715259}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 300
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 1
+ m_MaxSize: 300
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 5
+--- !u!222 &205715262
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 205715259}
+ m_CullTransparentMesh: 1
+--- !u!1 &218945411
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 218945412}
+ - component: {fileID: 218945414}
+ - component: {fileID: 218945416}
+ - component: {fileID: 218945415}
+ - component: {fileID: 218945418}
+ - component: {fileID: 218945417}
+ m_Layer: 5
+ m_Name: paoCard
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &218945412
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218945411}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 240661143}
+ - {fileID: 650743618}
+ - {fileID: 117277996}
+ m_Father: {fileID: 1983075558}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 182, y: 148}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &218945414
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218945411}
+ m_CullTransparentMesh: 1
+--- !u!114 &218945415
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218945411}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c8536503d24d9d34a9cfeef6d6a782f4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ canvas: {fileID: 1250454208}
+ cardIconImage: {fileID: 650743619}
+ cardicon: {fileID: 21300000, guid: b32c4df4af5cdc44f8fa0b0e8327403f, type: 3}
+ targetTag: paotai
+--- !u!58 &218945416
+CircleCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218945411}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0, y: 0}
+ serializedVersion: 2
+ m_Radius: 300
+--- !u!114 &218945417
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218945411}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cb71e5728c26acb40a68ea7f2fa8f9fd, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ bullet: {fileID: 313496254141504899, guid: 2e2eb5312d2199f4f9d78a540c1e2e0b, type: 3}
+ attackInterval: 1
+ enemyTag: Enemy
+ towerInfo: {fileID: 218945418}
+ canvas: {fileID: 1250454208}
+ bulletSpeed: 1000
+--- !u!114 &218945418
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218945411}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2d9e0b31c99a1e1479f7f6a5396adb4d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ fanwei: {fileID: 240661143}
+ _CircleCollider2D: {fileID: 218945416}
+ fanweiNumber: 300
+ UpBTN: {fileID: 117277997}
+--- !u!1 &226844230
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 226844231}
+ - component: {fileID: 226844233}
+ m_Layer: 5
+ m_Name: GameObject (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &226844231
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 226844230}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1552753948}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &226844233
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 226844230}
+ m_CullTransparentMesh: 1
+--- !u!1 &240661142
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 240661143}
+ - component: {fileID: 240661145}
+ - component: {fileID: 240661144}
+ m_Layer: 5
+ m_Name: fanwei
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &240661143
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 240661142}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 218945412}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 600, y: 600}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &240661144
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 240661142}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.39215687}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 17da7e01a213e974a998246e2d739686, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &240661145
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 240661142}
+ m_CullTransparentMesh: 1
+--- !u!1 &422450521
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 422450522}
+ - component: {fileID: 422450524}
+ - component: {fileID: 422450523}
+ m_Layer: 5
+ m_Name: pos5
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &422450522
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 422450521}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -179, y: 681}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &422450523
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 422450521}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &422450524
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 422450521}
+ m_CullTransparentMesh: 1
+--- !u!1 &488193867
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 488193868}
+ - component: {fileID: 488193869}
+ m_Layer: 5
+ m_Name: plyerInfo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &488193868
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 488193867}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1538063353}
+ - {fileID: 1875022452}
+ m_Father: {fileID: 1250454209}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &488193869
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 488193867}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2f4eb0f995ca5bc429a53adf3c246acd, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ goldText: {fileID: 1538063354}
+ hpText: {fileID: 1875022453}
+ maxPlayerHp: 5
+ playerGold: 0
+--- !u!1 &523862853
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 523862854}
+ - component: {fileID: 523862856}
+ - component: {fileID: 523862855}
+ - component: {fileID: 523862857}
+ m_Layer: 5
+ m_Name: bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &523862854
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 523862853}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1.34, y: 1.34, z: 1.34}
+ m_ConstrainProportionsScale: 1
+ m_Children:
+ - {fileID: 1401109851}
+ - {fileID: 1818951288}
+ - {fileID: 723199122}
+ m_Father: {fileID: 1250454209}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -912.3193}
+ m_SizeDelta: {x: 0, y: 1361.67}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &523862855
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 523862853}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: a48686244923aa444a3229a59279709c, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &523862856
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 523862853}
+ m_CullTransparentMesh: 1
+--- !u!114 &523862857
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 523862853}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 298ee6551e00a3f4fa2a27cea2938488, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ npcPrefab: {fileID: 3879001203946858824, guid: d49fbf9659bd7e3449d8ade20015619f,
+ type: 3}
+ path:
+ - {fileID: 1554641192}
+ - {fileID: 1926756623}
+ - {fileID: 890007956}
+ - {fileID: 902753260}
+ - {fileID: 422450522}
+ - {fileID: 877397972}
+ - {fileID: 873307460}
+ moveNeedTimer: 20
+--- !u!1 &527623687
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 527623688}
+ - component: {fileID: 527623690}
+ m_Layer: 5
+ m_Name: GameObject (4)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &527623688
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 527623687}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1552753948}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &527623690
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 527623687}
+ m_CullTransparentMesh: 1
+--- !u!1 &557744083
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 557744084}
+ - component: {fileID: 557744086}
+ - component: {fileID: 557744085}
+ m_Layer: 5
+ m_Name: Image (1)
+ m_TagString: paotai
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &557744084
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 557744083}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1818951288}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -16, y: 1227}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &557744085
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 557744083}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &557744086
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 557744083}
+ m_CullTransparentMesh: 1
+--- !u!1 &564058608
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 564058609}
+ - component: {fileID: 564058611}
+ - component: {fileID: 564058610}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &564058609
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 564058608}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 117277996}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &564058610
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 564058608}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "\u5347\u7EA7"
+--- !u!222 &564058611
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 564058608}
+ m_CullTransparentMesh: 1
+--- !u!1 &650743617
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 650743618}
+ - component: {fileID: 650743620}
+ - component: {fileID: 650743619}
+ m_Layer: 5
+ m_Name: icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &650743618
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 650743617}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 218945412}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &650743619
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 650743617}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: b32c4df4af5cdc44f8fa0b0e8327403f, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &650743620
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 650743617}
+ m_CullTransparentMesh: 1
+--- !u!1 &674618381
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 674618382}
+ - component: {fileID: 674618384}
+ - component: {fileID: 674618383}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &674618382
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 674618381}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1006385978}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &674618383
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 674618381}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "\u9000\u51FA"
+--- !u!222 &674618384
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 674618381}
+ m_CullTransparentMesh: 1
+--- !u!1 &723199121
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 723199122}
+ m_Layer: 5
+ m_Name: path
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &723199122
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 723199121}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1554641192}
+ - {fileID: 1926756623}
+ - {fileID: 890007956}
+ - {fileID: 902753260}
+ - {fileID: 422450522}
+ - {fileID: 877397972}
+ - {fileID: 873307460}
+ m_Father: {fileID: 523862854}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &873307459
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 873307460}
+ - component: {fileID: 873307462}
+ - component: {fileID: 873307461}
+ m_Layer: 5
+ m_Name: pos7
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &873307460
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 873307459}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 308, y: 331}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &873307461
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 873307459}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &873307462
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 873307459}
+ m_CullTransparentMesh: 1
+--- !u!1 &877397971
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 877397972}
+ - component: {fileID: 877397974}
+ - component: {fileID: 877397973}
+ m_Layer: 5
+ m_Name: pos6
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &877397972
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 877397971}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -170, y: 331}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &877397973
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 877397971}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &877397974
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 877397971}
+ m_CullTransparentMesh: 1
+--- !u!1 &890007955
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 890007956}
+ - component: {fileID: 890007958}
+ - component: {fileID: 890007957}
+ m_Layer: 5
+ m_Name: pos3
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &890007956
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 890007955}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -14, y: 1092}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &890007957
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 890007955}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &890007958
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 890007955}
+ m_CullTransparentMesh: 1
+--- !u!1 &902753259
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 902753260}
+ - component: {fileID: 902753262}
+ - component: {fileID: 902753261}
+ m_Layer: 5
+ m_Name: pos4
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &902753260
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 902753259}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -7, y: 727}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &902753261
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 902753259}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &902753262
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 902753259}
+ m_CullTransparentMesh: 1
+--- !u!1 &978582408
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 978582409}
+ - component: {fileID: 978582411}
+ - component: {fileID: 978582410}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: paotai
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &978582409
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 978582408}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1818951288}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -172, y: 956}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &978582410
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 978582408}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &978582411
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 978582408}
+ m_CullTransparentMesh: 1
+--- !u!1 &1006385977
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1006385978}
+ - component: {fileID: 1006385981}
+ - component: {fileID: 1006385980}
+ - component: {fileID: 1006385979}
+ m_Layer: 5
+ m_Name: CloseBTN
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1006385978
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1006385977}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 674618382}
+ m_Father: {fileID: 1979303528}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 283, y: -436}
+ m_SizeDelta: {x: 300, y: 200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1006385979
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1006385977}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1006385980}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1006385980
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1006385977}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1006385981
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1006385977}
+ m_CullTransparentMesh: 1
+--- !u!1 &1038942460
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1038942461}
+ - component: {fileID: 1038942463}
+ - component: {fileID: 1038942462}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1038942461
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1038942460}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1735937025}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1038942462
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1038942460}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "\u91CD\u65B0\u6311\u6218"
+--- !u!222 &1038942463
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1038942460}
+ m_CullTransparentMesh: 1
+--- !u!1 &1051903691
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1051903692}
+ - component: {fileID: 1051903694}
+ - component: {fileID: 1051903693}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1051903692
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1051903691}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1809232200}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1051903693
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1051903691}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "\u4E0B\u4E00\u5173"
+--- !u!222 &1051903694
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1051903691}
+ m_CullTransparentMesh: 1
+--- !u!1 &1186090524
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1186090525}
+ - component: {fileID: 1186090527}
+ m_Layer: 5
+ m_Name: GameObject (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1186090525
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1186090524}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1552753948}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1186090527
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1186090524}
+ m_CullTransparentMesh: 1
+--- !u!1 &1203328509
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1203328510}
+ - component: {fileID: 1203328512}
+ - component: {fileID: 1203328511}
+ m_Layer: 5
+ m_Name: Image (2)
+ m_TagString: paotai
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1203328510
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1203328509}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1818951288}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -172, y: 833}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1203328511
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1203328509}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1203328512
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1203328509}
+ m_CullTransparentMesh: 1
+--- !u!1 &1250454205
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1250454209}
+ - component: {fileID: 1250454208}
+ - component: {fileID: 1250454207}
+ - component: {fileID: 1250454206}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1250454206
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1250454205}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1250454207
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1250454205}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1080, y: 1920}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &1250454208
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1250454205}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1250454209
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1250454205}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 523862854}
+ - {fileID: 1552753948}
+ - {fileID: 488193868}
+ - {fileID: 1510895179}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1327658872
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1327658873}
+ - component: {fileID: 1327658875}
+ - component: {fileID: 1327658874}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1327658873
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1327658872}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1979303528}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1327658874
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1327658872}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0.13807164, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 150
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 1
+ m_MaxSize: 150
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "\u6210\u529F"
+--- !u!222 &1327658875
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1327658872}
+ m_CullTransparentMesh: 1
+--- !u!1 &1401109850
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1401109851}
+ - component: {fileID: 1401109853}
+ - component: {fileID: 1401109852}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1401109851
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1401109850}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1761444704}
+ m_Father: {fileID: 523862854}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -72, y: 28}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1401109852
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1401109850}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 97af8220d0ca64d4a9bd7c1a0c6f372a, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1401109853
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1401109850}
+ m_CullTransparentMesh: 1
+--- !u!1 &1456033621
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1456033624}
+ - component: {fileID: 1456033623}
+ - component: {fileID: 1456033622}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1456033622
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1456033621}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1456033623
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1456033621}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1456033624
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1456033621}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1510895178
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1510895179}
+ - component: {fileID: 1510895180}
+ m_Layer: 5
+ m_Name: Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1510895179
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1510895178}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1979303528}
+ - {fileID: 205715260}
+ m_Father: {fileID: 1250454209}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1510895180
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1510895178}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 314f68f5c7ea8424e8576e24d6d0813a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Panel: {fileID: 1979303527}
+ Paneltext: {fileID: 1327658874}
+ againBTNNext: {fileID: 1735937026}
+ PanelBTNNext: {fileID: 1809232201}
+ PanelBTNClose: {fileID: 1006385979}
+ djs: {fileID: 205715259}
+--- !u!1 &1538063352
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1538063353}
+ - component: {fileID: 1538063355}
+ - component: {fileID: 1538063354}
+ m_Layer: 5
+ m_Name: gold
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1538063353
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1538063352}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 488193868}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -172, y: -149}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1538063354
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1538063352}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0.69930756, b: 0.26100624, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: "\u786C\u5E01\uFF1A0"
+--- !u!222 &1538063355
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1538063352}
+ m_CullTransparentMesh: 1
+--- !u!1 &1552753947
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1552753948}
+ - component: {fileID: 1552753950}
+ - component: {fileID: 1552753949}
+ - component: {fileID: 1552753951}
+ m_Layer: 5
+ m_Name: card
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1552753948
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1552753947}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1983075558}
+ - {fileID: 1186090525}
+ - {fileID: 2106152343}
+ - {fileID: 226844231}
+ - {fileID: 527623688}
+ m_Father: {fileID: 1250454209}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 138.02}
+ m_SizeDelta: {x: 1080, y: 280}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1552753949
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1552753947}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0.5137255}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1552753950
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1552753947}
+ m_CullTransparentMesh: 1
+--- !u!114 &1552753951
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1552753947}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_StartCorner: 0
+ m_StartAxis: 0
+ m_CellSize: {x: 200, y: 280}
+ m_Spacing: {x: 20, y: 0}
+ m_Constraint: 0
+ m_ConstraintCount: 2
+--- !u!1 &1554641191
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1554641192}
+ - component: {fileID: 1554641194}
+ - component: {fileID: 1554641193}
+ m_Layer: 5
+ m_Name: pos1
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1554641192
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1554641191}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -185, y: 1341}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1554641193
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1554641191}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1554641194
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1554641191}
+ m_CullTransparentMesh: 1
+--- !u!1 &1735937024
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1735937025}
+ - component: {fileID: 1735937028}
+ - component: {fileID: 1735937027}
+ - component: {fileID: 1735937026}
+ m_Layer: 5
+ m_Name: againBTN
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1735937025
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735937024}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1038942461}
+ m_Father: {fileID: 1979303528}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -218, y: -436}
+ m_SizeDelta: {x: 300, y: 200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1735937026
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735937024}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1735937027}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1735937027
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735937024}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1735937028
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735937024}
+ m_CullTransparentMesh: 1
+--- !u!1 &1761444703
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1761444704}
+ - component: {fileID: 1761444706}
+ - component: {fileID: 1761444705}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1761444704
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1761444703}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1401109851}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 396, y: 337}
+ m_SizeDelta: {x: 118, y: 162}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1761444705
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1761444703}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 4e0d403203eec65478e62b1fef00b1ec, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1761444706
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1761444703}
+ m_CullTransparentMesh: 1
+--- !u!1 &1809232199
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1809232200}
+ - component: {fileID: 1809232203}
+ - component: {fileID: 1809232202}
+ - component: {fileID: 1809232201}
+ m_Layer: 5
+ m_Name: nextBTN
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1809232200
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809232199}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1051903692}
+ m_Father: {fileID: 1979303528}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -218, y: -436}
+ m_SizeDelta: {x: 300, y: 200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1809232201
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809232199}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1809232202}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1809232202
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809232199}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1809232203
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1809232199}
+ m_CullTransparentMesh: 1
+--- !u!1 &1818951287
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1818951288}
+ m_Layer: 5
+ m_Name: build
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1818951288
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1818951287}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 978582409}
+ - {fileID: 557744084}
+ - {fileID: 1203328510}
+ m_Father: {fileID: 523862854}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1875022451
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1875022452}
+ - component: {fileID: 1875022454}
+ - component: {fileID: 1875022453}
+ m_Layer: 5
+ m_Name: hp
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1875022452
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1875022451}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 488193868}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -178, y: -71}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1875022453
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1875022451}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0.69930756, b: 0.26100624, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: "\u73A9\u5BB6Hp\uFF1A5/5"
+--- !u!222 &1875022454
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1875022451}
+ m_CullTransparentMesh: 1
+--- !u!1 &1926756622
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1926756623}
+ - component: {fileID: 1926756625}
+ - component: {fileID: 1926756624}
+ m_Layer: 5
+ m_Name: pos2
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1926756623
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1926756622}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 723199122}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -185, y: 1101}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1926756624
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1926756622}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1926756625
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1926756622}
+ m_CullTransparentMesh: 1
+--- !u!1 &1933889700
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1933889703}
+ - component: {fileID: 1933889702}
+ - component: {fileID: 1933889701}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1933889701
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1933889700}
+ m_Enabled: 1
+--- !u!20 &1933889702
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1933889700}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &1933889703
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1933889700}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1979303527
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1979303528}
+ - component: {fileID: 1979303530}
+ - component: {fileID: 1979303529}
+ m_Layer: 5
+ m_Name: panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1979303528
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1979303527}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1327658873}
+ - {fileID: 1735937025}
+ - {fileID: 1809232200}
+ - {fileID: 1006385978}
+ m_Father: {fileID: 1510895179}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1979303529
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1979303527}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.9243729, g: 1, b: 0.3607843, a: 0.5058824}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1979303530
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1979303527}
+ m_CullTransparentMesh: 1
+--- !u!1 &1983075557
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1983075558}
+ - component: {fileID: 1983075560}
+ m_Layer: 5
+ m_Name: GameObject
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1983075558
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1983075557}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 218945412}
+ m_Father: {fileID: 1552753948}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1983075560
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1983075557}
+ m_CullTransparentMesh: 1
+--- !u!1 &2106152342
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2106152343}
+ - component: {fileID: 2106152345}
+ m_Layer: 5
+ m_Name: GameObject (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2106152343
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2106152342}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1552753948}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2106152345
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2106152342}
+ m_CullTransparentMesh: 1
diff --git a/mycj/Assets/Game/Scene/scene_game.unity.meta b/mycj/Assets/Game/Scene/scene_game.unity.meta
new file mode 100644
index 0000000..c577b87
--- /dev/null
+++ b/mycj/Assets/Game/Scene/scene_game.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 51e555bdefc9ea44c8c5db8a3fc8d5a6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts.meta b/mycj/Assets/Game/Scripts.meta
new file mode 100644
index 0000000..4795c38
--- /dev/null
+++ b/mycj/Assets/Game/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 81685b3388f74834db0990022abc376d
+folderAsset: yes
+timeCreated: 1537231348
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application.meta b/mycj/Assets/Game/Scripts/Application.meta
new file mode 100644
index 0000000..210e715
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8edd9faa13763c248b441f22c1fbfa9d
+folderAsset: yes
+timeCreated: 1537231369
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/01Modle.meta b/mycj/Assets/Game/Scripts/Application/01Modle.meta
new file mode 100644
index 0000000..38b5e7b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/01Modle.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bbe7ab623248bfc42a046e521a4d521f
+folderAsset: yes
+timeCreated: 1537231490
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/01Modle/FBGameModel.cs b/mycj/Assets/Game/Scripts/Application/01Modle/FBGameModel.cs
new file mode 100644
index 0000000..73d65e8
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/01Modle/FBGameModel.cs
@@ -0,0 +1,148 @@
+// Felix-Bang:FBGameModel
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:游戏数据的读取/储存
+// Createtime:2018/10/11
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using System.IO;
+using System;
+
+namespace FBApplication
+{
+ public class FBGameModel : FBModel
+ {
+ #region 字段
+ //所有关卡
+ List f_levels = new List();
+ //当前关卡索引
+ int f_playLevelIndex = -1;
+ //最大通关关卡索引
+ int f_gameProgressIndex = -1;
+ //游戏当前分数
+ int f_gold = 0;
+ //是否游戏中
+ bool f_isPlaying = false;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get { return FBConsts.M_GameModel; }
+ }
+
+ public List AllLevels
+ {
+ get { return f_levels; }
+ }
+
+ public int LevelCount
+ {
+ get { return f_levels.Count; }
+ }
+
+ public bool IsPassed
+ {
+ get { return f_gameProgressIndex > LevelCount-1; }
+ }
+
+ public FBLevel PlayLevel
+ {
+ get
+ {
+ if (f_playLevelIndex < 0 || f_playLevelIndex > f_levels.Count-1)
+ throw new IndexOutOfRangeException("关卡不存在");
+ else
+ return f_levels[f_playLevelIndex];
+ }
+ }
+
+ public int Gold
+ {
+ get { return f_gold; }
+ set { f_gold = value; }
+ }
+
+ public bool IsPlaying
+ {
+ get { return f_isPlaying; }
+ set { f_isPlaying = value; }
+ }
+
+ public int GameProgressIndex
+ {
+ get { return f_gameProgressIndex; }
+ }
+
+ public int PlayLevelIndex
+ {
+ get { return f_playLevelIndex; }
+ set { f_playLevelIndex = value; }
+ }
+ #endregion
+
+
+ #region 方法
+ //初始化
+ public void OnInitialized()
+ {
+ //构建Level集合
+ List files = FBTools.GetLevelFiles();
+
+ for (int i = 0; i < files.Count; i++)
+ {
+ FBLevel level = new FBLevel();
+ FBTools.FillLevel(files[i].FullName, ref level);
+ f_levels.Add(level);
+ }
+
+ //读取游戏进度
+ f_gameProgressIndex = FBSaver.GetProgress();
+
+ }
+
+ public void StartLevel(int levelIndex)
+ {
+ f_playLevelIndex = levelIndex;
+ }
+
+ public void StoptLevel(bool isWin)
+ {
+ if (isWin && PlayLevelIndex > GameProgressIndex)
+ {
+ //更新进度
+ f_gameProgressIndex = PlayLevelIndex;
+ //保存进度
+ FBSaver.SetProgress(PlayLevelIndex);
+ }
+
+ f_isPlaying = false;
+ }
+
+ //清档
+ public void ClearProgress()
+ {
+ f_isPlaying = false;
+ f_playLevelIndex = -1;
+ f_gameProgressIndex = -1;
+ FBSaver.SetProgress(-1);
+ }
+ #endregion
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/01Modle/FBGameModel.cs.meta b/mycj/Assets/Game/Scripts/Application/01Modle/FBGameModel.cs.meta
new file mode 100644
index 0000000..2933f70
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/01Modle/FBGameModel.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4cb979413fa657444b4ee84a0ea0548a
+timeCreated: 1539241598
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/01Modle/FBRoundModel.cs b/mycj/Assets/Game/Scripts/Application/01Modle/FBRoundModel.cs
new file mode 100644
index 0000000..e9fe80d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/01Modle/FBRoundModel.cs
@@ -0,0 +1,127 @@
+// Felix-Bang:FBRoundModel
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBRoundModel : FBModel
+ {
+
+ #region 常量
+ private const float f_roundInterval = 3f; //回合之间的间隔时间 3秒
+ private const float f_spawnInterval = 1f; //两怪物出生间隔 1秒
+ #endregion
+
+ #region 字段
+ private List f_rounds = new List();
+ private int f_roundIndex = -1; //当前回合的索引
+ private bool f_allRoundsComplete = false; //是否所有怪物都出来
+ private Coroutine f_coroutine;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get { return FBConsts.M_RoundModel; }
+ }
+
+ /// 回合索引
+ public int RoundIndex
+ {
+ get { return f_roundIndex; }
+ }
+
+ /// 总回合数
+ public int RoundTotal
+ {
+ get { return f_rounds.Count; }
+ }
+
+ /// 所有回合是否完成
+ public bool AllRoundComplete
+ {
+ get { return f_allRoundsComplete; }
+ }
+ #endregion
+
+ #region 方法
+ public void LoadLevel(FBLevel level)
+ {
+ f_rounds = level.Rounds;
+ }
+
+ public void StartRound()
+ {
+ f_coroutine = FBGame.Instance.StartCoroutine(RunRound());
+ }
+
+ public void StopRound()
+ {
+ FBGame.Instance.StopCoroutine(f_coroutine);
+ }
+
+ IEnumerator RunRound()
+ {
+ f_roundIndex = -1;
+ f_allRoundsComplete = false;
+
+ for (int i = 0; i < f_rounds.Count; i++)
+ {
+ f_roundIndex = i;
+
+ //回合开始
+ FBRoundStartArgs e = new FBRoundStartArgs
+ {
+ RoundIndex = f_roundIndex,
+ RoundTotal = RoundTotal
+ };
+ SendEvent(FBConsts.E_RoundStart, e);
+
+ FBRound round = f_rounds[i];
+ for (int k = 0; k < round.Count; k++)
+ {
+ //出怪间隔
+ yield return new WaitForSeconds(f_spawnInterval);
+
+ //出怪事件
+ FBSpawnMonsterArgs spawnArgs = new FBSpawnMonsterArgs
+ {
+ MonsterID = round.MonsterID
+ };
+ SendEvent(FBConsts.E_SpawnMonster,spawnArgs);
+
+ if (i == f_rounds.Count -1 && k == round.Count - 1)
+ f_allRoundsComplete = true;
+ }
+
+ //回合间隔
+ if(!f_allRoundsComplete)
+ yield return new WaitForSeconds(f_roundInterval);
+ }
+ }
+
+
+ #endregion
+
+ #region 帮助方法
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/01Modle/FBRoundModel.cs.meta b/mycj/Assets/Game/Scripts/Application/01Modle/FBRoundModel.cs.meta
new file mode 100644
index 0000000..e53bd5d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/01Modle/FBRoundModel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ca267aec2cb5246408d9002d76b66ae9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View.meta b/mycj/Assets/Game/Scripts/Application/02View.meta
new file mode 100644
index 0000000..f76f6c7
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 322387269c27df9449c95e5b9bb39140
+folderAsset: yes
+timeCreated: 1537231501
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Complete.meta b/mycj/Assets/Game/Scripts/Application/02View/Complete.meta
new file mode 100644
index 0000000..3818628
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Complete.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e41cf6c26f88ee342bb9f369459c8bb3
+folderAsset: yes
+timeCreated: 1539077336
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Complete/FBUIComplete.cs b/mycj/Assets/Game/Scripts/Application/02View/Complete/FBUIComplete.cs
new file mode 100644
index 0000000..b8de504
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Complete/FBUIComplete.cs
@@ -0,0 +1,88 @@
+// Felix-Bang:FBUIComplete
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:通关
+// Createtime:2018/10/09
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using UnityEngine.UI;
+using System;
+
+namespace FBApplication
+{
+ public class FBUIComplete : FBView
+ {
+ #region
+ [SerializeField]
+ private Button btnRestart;
+ [SerializeField]
+ private Button btnClear;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get
+ {
+ return FBConsts.V_Complete;
+ }
+ }
+
+ #endregion
+
+ #region Unity回调
+
+
+ private void Start()
+ {
+ btnRestart.onClick.AddListener(OnRestartClick);
+ btnClear.onClick.AddListener(OnClearClick);
+ }
+
+
+
+ #endregion
+
+ #region 事件回调
+ public override void RegisterEvents()
+ {
+ base.RegisterEvents();
+ }
+
+ public override void HandleEvent(string eventName, object data = null)
+ {
+
+ }
+ #endregion
+
+ #region 方法
+
+ private void OnRestartClick()
+ {
+ FBGame.Instance.LoadScene(1);
+ }
+
+ private void OnClearClick()
+ {
+ FBGameModel gameModel = GetModel();
+ gameModel.ClearProgress();
+ }
+ #endregion
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Complete/FBUIComplete.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Complete/FBUIComplete.cs.meta
new file mode 100644
index 0000000..4975d1f
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Complete/FBUIComplete.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 653de9a746bd55042b3a3111fdf7afbd
+timeCreated: 1538096377
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level.meta b/mycj/Assets/Game/Scripts/Application/02View/Level.meta
new file mode 100644
index 0000000..8075c38
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6270cf0031a62494abedd2defb9006e0
+folderAsset: yes
+timeCreated: 1539067831
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIBoard.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIBoard.cs
new file mode 100644
index 0000000..0d2a24d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIBoard.cs
@@ -0,0 +1,169 @@
+// Felix-Bang:FBUIBoard
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡-公告栏
+// Createtime:2018/9/28
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using UnityEngine.UI;
+using System;
+
+namespace FBApplication
+{
+ public class FBUIBoard : FBView
+ {
+ #region 字段
+ [SerializeField]
+ private Text txtScore;
+ [SerializeField]
+ private Text txtCurrent;
+ [SerializeField]
+ private Text txtTotal;
+ [SerializeField]
+ private GameObject goRoundInfo;
+ [SerializeField]
+ private GameObject goPause;
+ [SerializeField]
+ private Button btnSpeed1;
+ [SerializeField]
+ private Button btnSpeed2;
+ [SerializeField]
+ private Button btnPause;
+ [SerializeField]
+ private Button btnPlay;
+ [SerializeField]
+ private Button btnSystem;
+
+ private GameSpeed f_speed = GameSpeed.One;
+ private bool f_isPlaying = false;
+ private int f_gold = 0;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get { return FBConsts.V_Board; }
+ }
+
+ public int Glod
+ {
+ get { return f_gold; }
+ set
+ {
+ f_gold = value;
+ txtScore.text = value.ToString();
+ }
+ }
+
+ public GameSpeed Speed
+ {
+ get { return f_speed; }
+ set
+ {
+ f_speed = value;
+
+ btnSpeed1.gameObject.SetActive(f_speed == GameSpeed.One);
+ btnSpeed2.gameObject.SetActive(f_speed == GameSpeed.Two);
+ }
+ }
+
+ public bool IsPlaying
+ {
+ get { return f_isPlaying; }
+ set
+ {
+ f_isPlaying = value;
+ goRoundInfo.SetActive(value);
+ goPause.SetActive(!value);
+ }
+ }
+
+ #endregion
+
+ #region Unity回调
+ private void Awake()
+ {
+ Glod = 0;
+ IsPlaying = true;
+ Speed = GameSpeed.One;
+ }
+
+ private void Start()
+ {
+ btnSpeed1.onClick.AddListener(OnSpeed1Click);
+ btnSpeed2.onClick.AddListener(OnSpeed2Click);
+ btnPause.onClick.AddListener(OnPauseClick);
+ btnPlay.onClick.AddListener(OnPlayClick);
+ btnSystem.onClick.AddListener(OnSystemClick);
+ }
+ #endregion
+
+ #region 事件回调
+
+ public override void RegisterEvents() { }
+
+ public override void HandleEvent(string eventName, object data = null)
+ {}
+ #endregion
+
+ #region 方法
+ private void OnSpeed1Click()
+ {
+ Speed = GameSpeed.Two;
+ }
+
+ private void OnSpeed2Click()
+ {
+ Debug.Log("Two");
+ Speed = GameSpeed.One;
+ }
+
+ private void OnPauseClick()
+ {
+ IsPlaying = false;
+ }
+
+ private void OnPlayClick()
+ {
+ IsPlaying = false;
+ }
+
+ private void OnSystemClick()
+ {
+
+ }
+
+ private void UpdateRoundInfo(int currentRound,int total)
+ {
+ txtCurrent.text = currentRound.ToString("D2");
+ txtTotal.text = total.ToString("D2");
+ }
+
+ #endregion
+
+ #region 帮助方法
+ #endregion
+
+
+
+
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIBoard.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIBoard.cs.meta
new file mode 100644
index 0000000..fe0b963
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIBoard.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3b31e2897f6af334dadb1f91a4ea26c5
+timeCreated: 1538096377
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUICountDown.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUICountDown.cs
new file mode 100644
index 0000000..bf33421
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUICountDown.cs
@@ -0,0 +1,103 @@
+// Felix-Bang:FBUICountDown
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡-倒计时
+// Createtime:2018/9/28
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using UnityEngine.UI;
+using System;
+
+namespace FBApplication
+{
+ public class FBUICountDown : FBView
+ {
+ #region 字段
+ [SerializeField]
+ private Image imgCount;
+ [SerializeField]
+ private Sprite[] sptNumbers;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get { return FBConsts.V_CountDown; }
+ }
+ #endregion
+
+ #region 事件回调
+ public override void RegisterEvents()
+ {
+ EventLists.Add(FBConsts.E_SceneEnter);
+ }
+
+ public override void HandleEvent(string eventName, object data = null)
+ {
+ switch (eventName)
+ {
+ case FBConsts.E_SceneEnter:
+ FBSceneArgs e = (FBSceneArgs)data;
+ if (e.Index == 3)
+ StartCountDown();
+ break;
+ default:
+ break;
+ }
+ }
+ #endregion
+
+ #region 方法
+ private void Show()
+ {
+ gameObject.SetActive(true);
+ }
+
+ private void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+
+ public void StartCountDown()
+ {
+ Show();
+ StartCoroutine("DisplayCount");
+ }
+
+ IEnumerator DisplayCount()
+ {
+ int count = 3;
+ while (count > 0)
+ {
+ imgCount.sprite = sptNumbers[count - 1];
+ count--;
+ yield return new WaitForSeconds(1f);
+
+ if (count <= 0)
+ break;
+ }
+
+ Hide();
+
+ SendEvent(FBConsts.E_CountDownComplete);
+ }
+
+ #endregion
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUICountDown.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUICountDown.cs.meta
new file mode 100644
index 0000000..2a9171c
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUICountDown.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7af83b298332e584dba8c152bbcbd732
+timeCreated: 1538096377
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUILost.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUILost.cs
new file mode 100644
index 0000000..6527011
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUILost.cs
@@ -0,0 +1,109 @@
+// Felix-Bang:FBUILost
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡-失败
+// Createtime:2018/10/09
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using UnityEngine.UI;
+using System;
+
+namespace FBApplication
+{
+ public class FBUILost : FBView
+ {
+ #region 字段
+ [SerializeField]
+ private Text txtCurrent;
+ [SerializeField]
+ private Text txtTotal;
+ [SerializeField]
+ private Button btnRestart;
+
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get
+ {
+ return FBConsts.V_Lost;
+ }
+ }
+
+ #endregion
+
+ #region Unity回调
+ private void Awake()
+ {
+ UpdatteRoundInfo(0,0);
+ }
+
+ private void Start()
+ {
+ btnRestart.onClick.AddListener(OnRestartClick);
+ }
+
+
+ #endregion
+
+ #region 事件回调
+ public override void HandleEvent(string eventName, object data = null)
+ {
+
+ }
+ #endregion
+
+ #region 方法
+ private void OnRestartClick()
+ {
+ FBGameModel gameModel = GetModel();
+ SendEvent(FBConsts.E_LevelStart, new FBStartLevelArgs() { ID = gameModel.PlayLevelIndex });
+ }
+
+ public void Show()
+ {
+ gameObject.SetActive(true);
+ FBRoundModel roundModel = GetModel();
+ UpdatteRoundInfo(roundModel.RoundIndex+1,roundModel.RoundTotal);
+ }
+
+ private void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+
+ private void UpdatteRoundInfo(int currentRound,int totalRound)
+ {
+ txtCurrent.text = currentRound.ToString("D2");
+ txtTotal.text = totalRound.ToString();
+ }
+
+ #endregion
+
+ #region 帮助方法
+ #endregion
+
+
+
+
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUILost.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUILost.cs.meta
new file mode 100644
index 0000000..fa3ef74
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUILost.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a4e0ce6f3d782594988cef4f8232e318
+timeCreated: 1538096377
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISpawner.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISpawner.cs
new file mode 100644
index 0000000..6b82ff3
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISpawner.cs
@@ -0,0 +1,193 @@
+// Felix-Bang:FBUISpawner
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:怪物孵化器
+// Createtime:2018/10/12
+
+using FBFramework;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBUISpawner : FBView
+ {
+ #region 字段
+ FBMap f_map;
+ FBCarrot f_carrot = null;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get { return FBConsts.V_Spawner; }
+ }
+ #endregion
+
+ #region 事件回调
+ public override void RegisterEvents()
+ {
+ EventLists.Add(FBConsts.E_SceneEnter);
+ EventLists.Add(FBConsts.E_SpawnMonster);
+ EventLists.Add(FBConsts.E_SpawnTower);
+ }
+
+ public override void HandleEvent(string eventName, object data = null)
+ {
+ switch (eventName)
+ {
+ case FBConsts.E_SceneEnter:
+ OnSpawnCarrot(data as FBSceneArgs);
+ break;
+ case FBConsts.E_SpawnMonster:
+ OnSpawnMonster(data as FBSpawnMonsterArgs);
+ break;
+ case FBConsts.E_SpawnTower:
+ OnSpawnTower(data as FBSpawnTowerArgs);
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void OnMapGridClick(object sender, FBGridClickEventArgs e)
+ {
+ FBGameModel game = GetModel();
+
+ //游戏还未开始,那么不操作菜单
+ if (!game.IsPlaying)
+ return;
+
+ //如果有菜单显示,那么隐藏菜单
+ if (FBUITowerPopup.Instance.IsPopShow)
+ {
+ SendEvent(FBConsts.E_TowerHide);
+ return;
+ }
+
+ FBGrid grid = e.Grid;
+ if (!grid.CanHold)
+ {
+ SendEvent(FBConsts.E_TowerHide);
+ return;
+ }
+
+ if (grid.Data == null)
+ {
+ FBShowTowerCreatArgs args = new FBShowTowerCreatArgs()
+ {
+ Position = f_map.GetPosition(grid),
+ UpSide = grid.Index_Y < FBMap.RowCount / 2
+ };
+ SendEvent(FBConsts.E_ShowTowerCreat, args);
+ }
+ else
+ {
+ FBShowTowerUpgradeArgs args = new FBShowTowerUpgradeArgs() { Tower = grid.Data as FBTower };
+ SendEvent(FBConsts.E_ShowTowerUpgrade, args);
+ }
+ }
+ #endregion
+
+ #region 方法
+ private void OnSpawnCarrot(FBSceneArgs args)
+ {
+ if (args.Index == 3)
+ {
+ f_map = GetComponent();
+ f_map.OnFBGridClick += OnMapGridClick;
+ //获取数据
+ FBGameModel gameModel = GetModel();
+ f_map.LoadLevel(gameModel.PlayLevel);
+
+ GameObject go = FBGame.Instance.ObjectPool.Spawn("Carrot");
+ f_carrot = go.GetComponent();
+ f_carrot.transform.position = f_map.Path[f_map.Path.Length - 1];
+ f_carrot.DeadAction += CarrotDead;
+ }
+ }
+
+ private void OnSpawnMonster(FBSpawnMonsterArgs args)
+ {
+ //创建怪物
+ string monsterName = "Monster" + args.MonsterID;
+
+ GameObject go= FBGame.Instance.ObjectPool.Spawn(monsterName);
+ FBMonster monster = go.GetComponent();
+ monster.HPChangedAction += MonsterHPChanged;
+ monster.DeadAction += MonsterDead;
+ monster.ReachedAction += MonSterReched;
+ monster.OnLoad(f_map.Path);
+ }
+
+ private void OnSpawnTower(FBSpawnTowerArgs args)
+ {
+ //创建Tower
+ FBTowerInfo info = FBGame.Instance.StaticData.GetTower(args.TowerID);
+ GameObject go = FBGame.Instance.ObjectPool.Spawn(info.PrefabName);
+
+ FBTower tower = go.GetComponent();
+ tower.transform.position = args.Position;
+
+ //Tile里放入Tower信息
+ FBGrid tile = f_map.GetGrid(args.Position);
+
+ ////初始化Tower
+ tower.Load(args.TowerID, tile,f_map.MapRect);
+
+ tile.Data = tower;
+ }
+
+ private void MonsterHPChanged(int arg1, int arg2)
+ {
+
+ }
+
+ private void MonSterReched(FBMonster monster)
+ {
+ //萝卜掉血
+ f_carrot.Damage(1);
+ //怪物死亡
+ monster.HP = 0;
+ }
+
+ private void MonsterDead(FBRole monster)
+ {
+ //回收
+ FBGame.Instance.ObjectPool.Unspawn(monster.gameObject);
+
+ GameObject[] monsters = GameObject.FindGameObjectsWithTag("Monster");
+ FBRoundModel roundModel = GetModel();
+
+ // 萝卜没死 场景上已没有怪物 所有怪物已出完
+ if (!f_carrot.IsDead && monsters.Length <= 0 && roundModel.AllRoundComplete)
+ {
+ FBGameModel gameModel = GetModel();
+ //游戏胜利
+ SendEvent(FBConsts.E_LevelEnd,new FBEndLevelArgs() { ID = gameModel.PlayLevelIndex,IsWin=true });
+ }
+ }
+
+ private void CarrotDead(FBRole carrot)
+ {
+ FBGame.Instance.ObjectPool.Unspawn(carrot.gameObject);
+
+ FBGameModel gameModel = GetModel();
+ SendEvent(FBConsts.E_LevelEnd, new FBEndLevelArgs() { ID = gameModel.PlayLevelIndex, IsWin = false });
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISpawner.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISpawner.cs.meta
new file mode 100644
index 0000000..88ff103
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISpawner.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1d2ce118027c0664ea43efb9c2f00d50
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISystem.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISystem.cs
new file mode 100644
index 0000000..92fefe6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISystem.cs
@@ -0,0 +1,110 @@
+// Felix-Bang:FBUISystem
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡-系统
+// Createtime:2018/10/09
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using UnityEngine.UI;
+using System;
+
+namespace FBApplication
+{
+ public class FBUISystem : FBView
+ {
+
+ #region 常量
+ #endregion
+
+ #region 事件
+ #endregion
+
+ #region 字段
+ [SerializeField]
+ private Button btnResume;
+ [SerializeField]
+ private Button btnRestart;
+ [SerializeField]
+ private Button btnSelect;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get
+ {
+ return FBConsts.V_System;
+ }
+ }
+
+ #endregion
+
+ #region Unity回调
+
+
+ private void Start()
+ {
+ btnResume.onClick.AddListener(OnResumeClick);
+ btnRestart.onClick.AddListener(OnRestartClick);
+ btnSelect.onClick.AddListener(OnSelectClick);
+ }
+
+
+
+ #endregion
+
+ #region 事件回调
+ public override void HandleEvent(string eventName, object data = null)
+ {
+
+ }
+ #endregion
+
+ #region 方法
+
+ private void OnResumeClick()
+ {
+
+ }
+
+ private void OnRestartClick()
+ {
+
+ }
+
+ private void OnSelectClick()
+ {
+
+ }
+
+ private void Show()
+ {
+ gameObject.SetActive(true);
+ }
+
+ private void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+
+
+
+ #endregion
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISystem.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISystem.cs.meta
new file mode 100644
index 0000000..1777fc2
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUISystem.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b6cdf32c1439fb6438e9836e6ada2be2
+timeCreated: 1538096377
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIWin.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIWin.cs
new file mode 100644
index 0000000..3e9ce69
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIWin.cs
@@ -0,0 +1,123 @@
+// Felix-Bang:FBUIWin
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡-获胜
+// Createtime:2018/10/09
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using UnityEngine.UI;
+using System;
+
+namespace FBApplication
+{
+ public class FBUIWin : FBView
+ {
+ #region 字段
+ [SerializeField]
+ private Text txtCurrent;
+ [SerializeField]
+ private Text txtTotal;
+ [SerializeField]
+ private Button btnRestart;
+ [SerializeField]
+ private Button btnContinute;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get
+ {
+ return FBConsts.V_Win;
+ }
+ }
+
+ #endregion
+
+ #region Unity回调
+ private void Awake()
+ {
+ UpdatteRoundInfo(0,0);
+ }
+
+ private void Start()
+ {
+ btnRestart.onClick.AddListener(OnRestartClick);
+ btnContinute.onClick.AddListener(OnContinuteClick);
+ }
+
+
+ #endregion
+
+ #region 事件回调
+ public override void HandleEvent(string eventName, object data = null)
+ {
+
+ }
+ #endregion
+
+ #region 方法
+ private void OnRestartClick()
+ {
+ FBGameModel gameModel = GetModel();
+ SendEvent(FBConsts.E_LevelStart, new FBStartLevelArgs() { ID = gameModel.PlayLevelIndex });
+ }
+
+ private void OnContinuteClick()
+ {
+ FBGameModel gameModel = GetModel();
+ if (gameModel.PlayLevelIndex >= gameModel.LevelCount - 1)
+ {
+ //游戏通关
+ FBGame.Instance.LoadScene(4);
+ }
+ else
+ SendEvent(FBConsts.E_LevelStart, new FBStartLevelArgs() { ID = gameModel.PlayLevelIndex + 1 }); //开始下一关卡
+ }
+
+ public void Show()
+ {
+ gameObject.SetActive(true);
+ FBRoundModel roundModel = GetModel();
+ UpdatteRoundInfo(roundModel.RoundIndex + 1, roundModel.RoundTotal);
+ }
+
+ private void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+
+ private void UpdatteRoundInfo(int currentRound,int totalRound)
+ {
+ txtCurrent.text = currentRound.ToString("D2");
+ txtTotal.text = totalRound.ToString();
+ }
+
+ #endregion
+
+ #region 帮助方法
+ #endregion
+
+
+
+
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIWin.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIWin.cs.meta
new file mode 100644
index 0000000..0d1c5a0
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/FBUIWin.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8f8f5dc192997164289394496ee40898
+timeCreated: 1538096377
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup.meta
new file mode 100644
index 0000000..5791300
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: eea314f47acbb8d4395b76b2c82cbec6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSellIcon.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSellIcon.cs
new file mode 100644
index 0000000..99f2e05
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSellIcon.cs
@@ -0,0 +1,45 @@
+// Felix-Bang:FBSellIcon
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:出售Icon
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBSellIcon : MonoBehaviour
+ {
+ #region 字段
+ FBTower f_tower;
+ #endregion
+
+ #region Unity回调
+ private void OnMouseDown()
+ {
+ SendMessageUpwards("OnSellTower", f_tower, SendMessageOptions.RequireReceiver);
+ }
+ #endregion
+
+ #region 方法
+ public void Load(FBTower tower)
+ {
+ f_tower = tower;
+ }
+ #endregion
+
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSellIcon.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSellIcon.cs.meta
new file mode 100644
index 0000000..d5e30b4
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSellIcon.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 214b5c9e29478f849a525340ea69df19
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSpawnPanel.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSpawnPanel.cs
new file mode 100644
index 0000000..a94e147
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSpawnPanel.cs
@@ -0,0 +1,56 @@
+// Felix-Bang:FBSpawnPanel
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:创建炮塔
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBSpawnPanel : MonoBehaviour
+ {
+ #region 字段
+ FBTowerIcon[] f_icons;
+ #endregion
+
+ #region Unity回调
+ void Awake ()
+ {
+ f_icons = GetComponentsInChildren();
+ }
+ #endregion
+
+ #region 方法
+ public void Show(FBGameModel gm, Vector3 createPosition, bool upSide)
+ {
+ transform.position = createPosition;
+ for (int i = 0; i < f_icons.Length; i++)
+ {
+ FBTowerInfo info = FBGame.Instance.StaticData.GetTower(i);
+ f_icons[i].Load(gm, info, createPosition, upSide);
+ }
+ gameObject.SetActive(true);
+ }
+
+ public void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+ #endregion
+
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSpawnPanel.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSpawnPanel.cs.meta
new file mode 100644
index 0000000..7f45729
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBSpawnPanel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: facfd014f9beb024d83a6fbfebd0083d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBTowerIcon.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBTowerIcon.cs
new file mode 100644
index 0000000..8a338be
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBTowerIcon.cs
@@ -0,0 +1,68 @@
+// Felix-Bang:FBTowerIcon
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:炮塔Icon
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBTowerIcon : MonoBehaviour
+ {
+ #region 字段
+ SpriteRenderer f_render;
+ FBTowerInfo f_towerInfo;
+ Vector3 f_creatPos;
+ bool f_enough = false; //玩家的金币是否足够买该塔
+ #endregion
+
+ #region Unity回调
+ void Awake ()
+ {
+ f_render = GetComponent();
+ }
+
+ private void OnMouseDown()
+ {
+ if (!f_enough)
+ return;
+
+ int id = f_towerInfo.ID;
+ Vector3 pos = f_creatPos;
+ object[] args = { id, pos };
+
+ SendMessageUpwards("OnSpawnTower",args,SendMessageOptions.RequireReceiver);
+ }
+ #endregion
+
+ #region 方法
+ public void Load(FBGameModel game,FBTowerInfo info,Vector3 creatPos,bool upSide)
+ {
+ f_towerInfo = info;
+ f_creatPos = creatPos;
+ //f_enough = game.Gold > info.BasePrice;
+ f_enough = true;
+ string path= "Res/Roles/" + (f_enough ? info.NormalIcon : info.DisabledIcon);
+ f_render.sprite = Resources.Load(path);
+
+ Vector3 pos = transform.localPosition;
+ pos.y = upSide ? Mathf.Abs(pos.y) : -Mathf.Abs(pos.y);
+ transform.localPosition = pos;
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBTowerIcon.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBTowerIcon.cs.meta
new file mode 100644
index 0000000..8078f92
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBTowerIcon.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 94554cdc827555a44bdd5d6681a92a12
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUITowerPopup.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUITowerPopup.cs
new file mode 100644
index 0000000..d6938f4
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUITowerPopup.cs
@@ -0,0 +1,137 @@
+// Felix-Bang:FBUITowerPopup
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:炮塔管理界面
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBUITowerPopup : FBView
+ {
+ #region 字段
+ [SerializeField]
+ private FBSpawnPanel f_spawnPanel;
+ [SerializeField]
+ private FBUpgadePanel f_upgadePanel;
+ #endregion
+
+ #region 属性
+ private static FBUITowerPopup f_Instance = null;
+ public static FBUITowerPopup Instance
+ {
+ get
+ {
+ return f_Instance;
+ }
+ }
+
+ public override string Name
+ {
+ get { return FBConsts.V_TowerPopup; }
+ }
+
+ public bool IsPopShow
+ {
+ get
+ {
+ foreach (Transform child in transform)
+ {
+ if (child.gameObject.activeSelf)
+ return true;
+ }
+ return false;
+ }
+ }
+ #endregion
+
+ #region 事件回调
+ void Awake()
+ {
+ f_Instance = this;
+ }
+
+ void Start()
+ {
+ HideAllPanels();
+ }
+
+
+ public override void RegisterEvents()
+ {
+ EventLists.Add(FBConsts.E_ShowTowerCreat);
+ EventLists.Add(FBConsts.E_ShowTowerUpgrade);
+ EventLists.Add(FBConsts.E_TowerHide);
+ }
+
+ public override void HandleEvent(string eventName, object data = null)
+ {
+ switch (eventName)
+ {
+ case FBConsts.E_ShowTowerCreat:
+ ShowCreatePanel(data as FBShowTowerCreatArgs);
+ break;
+ case FBConsts.E_ShowTowerUpgrade:
+ ShowUpgradePanel(data as FBShowTowerUpgradeArgs);
+ break;
+ case FBConsts.E_TowerHide:
+ HideAllPanels();
+ break;
+ }
+ }
+
+ void OnSpawnTower(object[] args)
+ {
+ SendEvent(FBConsts.E_SpawnTower,new FBSpawnTowerArgs() { TowerID =(int)args[0],Position=(Vector3)args[1]});
+ }
+
+ void OnUpgradeTower(FBTower tower)
+ {
+ SendEvent(FBConsts.E_UpgradeTower, new FBUpgradeTowerArgs() { Tower = tower });
+ }
+
+ void OnSellTower(FBTower tower)
+ {
+ SendEvent(FBConsts.E_SellTower, new FBSellTowerArgs() { Tower = tower });
+ }
+
+ #endregion
+
+ #region 方法
+ void ShowCreatePanel(FBShowTowerCreatArgs args)
+ {
+ HideAllPanels();
+ FBGameModel gm = GetModel();
+ f_spawnPanel.Show(gm, args.Position, args.UpSide);
+ }
+
+ void ShowUpgradePanel(FBShowTowerUpgradeArgs args)
+ {
+ HideAllPanels();
+ FBGameModel gm = GetModel();
+ f_upgadePanel.Show(gm, args.Tower);
+ }
+
+ void HideAllPanels()
+ {
+ f_spawnPanel.Hide();
+ f_upgadePanel.Hide();
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUITowerPopup.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUITowerPopup.cs.meta
new file mode 100644
index 0000000..b7c2d05
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUITowerPopup.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7420a207aab12d646ae70c1d23ece1d0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgadePanel.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgadePanel.cs
new file mode 100644
index 0000000..5a1c7f2
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgadePanel.cs
@@ -0,0 +1,57 @@
+// Felix-Bang:FBUpgadePanel
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:升级/出售炮塔
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBUpgadePanel : MonoBehaviour
+ {
+ #region 字段
+ FBUpgradeIcon f_upgradeIcon;
+ FBSellIcon f_sellIcon;
+ #endregion
+
+ #region Unity回调
+ void Awake()
+ {
+ f_upgradeIcon = GetComponentInChildren();
+ f_sellIcon = GetComponentInChildren();
+ }
+ #endregion
+
+ #region 方法
+ public void Show(FBGameModel gm, FBTower tower)
+ {
+ transform.position = tower.transform.position;
+
+ f_upgradeIcon.Load(gm, tower);
+ f_sellIcon.Load(tower);
+ gameObject.SetActive(true);
+ }
+
+ public void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+ #endregion
+
+
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgadePanel.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgadePanel.cs.meta
new file mode 100644
index 0000000..0146a04
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgadePanel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6354cd89d397c424ba3984b05f742929
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgradeIcon.cs b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgradeIcon.cs
new file mode 100644
index 0000000..e9cac76
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgradeIcon.cs
@@ -0,0 +1,58 @@
+// Felix-Bang:FBUpgradeIcon
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:升级Icon
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBUpgradeIcon : MonoBehaviour
+ {
+ #region 字段
+ SpriteRenderer f_render;
+ FBTower f_tower;
+ #endregion
+
+
+ #region Unity回调
+ void Awake ()
+ {
+ f_render = GetComponent();
+ }
+
+ void OnMouseDown()
+ {
+ if (f_tower.IsTopLevel)
+ return;
+
+ SendMessageUpwards("OnUpgradeTower", f_tower, SendMessageOptions.RequireReceiver);
+ }
+ #endregion
+
+ #region 方法
+ public void Load(FBGameModel game, FBTower tower)
+ {
+ f_tower = tower;
+
+ FBTowerInfo info = FBGame.Instance.StaticData.GetTower(tower.ID);
+ string path = "Res/Roles/" + (tower.IsTopLevel ? info.NormalIcon : info.DisabledIcon);
+ f_render.sprite = Resources.Load(path);
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgradeIcon.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgradeIcon.cs.meta
new file mode 100644
index 0000000..03b6047
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Level/TpwerPopup/FBUpgradeIcon.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5d8dbca7490e3fe4387d529894242df8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Select.meta b/mycj/Assets/Game/Scripts/Application/02View/Select.meta
new file mode 100644
index 0000000..57d0dd4
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Select.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 53a1c8dc83496e04fb0dbbf6273a27d6
+folderAsset: yes
+timeCreated: 1539067893
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Select/FBUICard.cs b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUICard.cs
new file mode 100644
index 0000000..d9c4fe6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUICard.cs
@@ -0,0 +1,91 @@
+// Felix-Bang:FBUICard
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using UnityEngine.EventSystems;
+using System;
+
+namespace FBApplication
+{
+ public class FBUICard : MonoBehaviour,IPointerDownHandler
+ {
+ //点击事件
+ public event Action OnClickAction;
+ [SerializeField]
+ private Image imgCard;
+ [SerializeField]
+ private Image imgLock;
+ //卡片属性
+ private FBCard f_card = null;
+ public FBCard Card
+ {
+ set
+ {
+ f_card = value;
+ BindCard();
+ }
+ }
+
+
+ //是否为半透明
+ private bool f_isTransparent;
+ public bool IsTransparent
+ {
+ get { return f_isTransparent; }
+
+ set
+ {
+ f_isTransparent = value;
+
+ Image[] images = new Image[] { imgCard, imgLock };
+ foreach (Image img in images)
+ {
+ Color c = img.color;
+ c.a = value ? 0.5f : 1f;
+ img.color = c;
+ }
+ }
+ }
+
+ private void BindCard()
+ {
+ //加载图片
+ string cardFile = "file://" + FBConsts.CardsDir +"\\"+ f_card.CardImage;
+ StartCoroutine(FBTools.LoadImage(cardFile,imgCard));
+
+ //是否锁定
+ imgLock.gameObject.SetActive(f_card.IsLocked);
+ }
+
+ public void OnPointerDown(PointerEventData eventData)
+ {
+ if (OnClickAction != null)
+ OnClickAction(f_card);
+ }
+
+ private void OnDestroy()
+ {
+ while (OnClickAction != null)
+ OnClickAction -= OnClickAction;
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Select/FBUICard.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUICard.cs.meta
new file mode 100644
index 0000000..5e066bd
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUICard.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8ad48058e95b74c42b0fe461f94b7fd5
+timeCreated: 1539140041
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Select/FBUISelect.cs b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUISelect.cs
new file mode 100644
index 0000000..a188c1f
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUISelect.cs
@@ -0,0 +1,194 @@
+// Felix-Bang:FBUISelect
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:选择界面
+// Createtime:2018/10/09
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using FBFramework;
+using System.IO;
+using System;
+
+namespace FBApplication
+{
+ public class FBUISelect : FBView
+ {
+ #region 字段
+ [SerializeField]
+ private Button btnBack;
+ [SerializeField]
+ private Button btnHelp;
+ [SerializeField]
+ private Button btnStart;
+ [SerializeField]
+ private FBUICard f_leftCard;
+ [SerializeField]
+ private FBUICard f_currentCard;
+ [SerializeField]
+ private FBUICard f_rightCard;
+
+ private List f_cards = new List();
+ private int f_selectedIndex = -1;
+ FBGameModel f_gameModel = null;
+ #endregion
+
+ #region 属性
+ public override string Name
+ {
+ get { return FBConsts.V_Select; }
+ }
+ #endregion
+
+ #region 方法
+ private void OnBackButtonClick()
+ {
+ FBGame.Instance.LoadScene(1);
+ }
+
+ private void OnHelpButtonClick()
+ {
+ Debug.Log("Help");
+ }
+
+ private void OnStartButtonClick()
+ {
+ FBStartLevelArgs e = new FBStartLevelArgs
+ {
+ ID = f_selectedIndex
+ };
+
+ SendEvent(FBConsts.E_LevelStart, e);
+ }
+
+ //public void ChooseLevel()
+ //{
+ // FBStartLevelArgs e = new FBStartLevelArgs
+ // {
+ // ID = f_selectedIndex
+ // };
+
+ // SendEvent(FBConsts.E_LevelStart, e);
+ //}
+
+ private void LoadCards()
+ {
+ //获取Level集合
+ List levels = f_gameModel.AllLevels;
+
+ //构建Card合集
+ for (int i = 0; i < levels.Count; i++)
+ {
+ FBCard card = new FBCard()
+ {
+ LevelID = i,
+ CardImage = levels[i].CardImage,
+ IsLocked = !(i <= f_gameModel.GameProgressIndex +1) //TODO
+
+ };
+
+ f_cards.Add(card);
+ }
+
+ f_leftCard.OnClickAction += (info)=>SelectCard(info.LevelID);
+ f_currentCard.OnClickAction += (info) => SelectCard(info.LevelID);
+ f_rightCard.OnClickAction += (info) => SelectCard(info.LevelID);
+
+ //默认选择第一个关卡
+ SelectCard(0);
+ }
+
+ //选择关卡
+ private void SelectCard(int index)
+ {
+ if (f_selectedIndex == index)
+ return;
+
+ f_selectedIndex = index;
+ //计算索引
+ int leftIndex = f_selectedIndex - 1;
+ int currentIndex = f_selectedIndex;
+ int rightIndex = f_selectedIndex + 1;
+
+ //绑定数据
+ if (leftIndex < 0)
+ f_leftCard.gameObject.SetActive(false);
+ else
+ {
+ f_leftCard.gameObject.SetActive(true);
+ f_leftCard.IsTransparent = true;
+ f_leftCard.Card = f_cards[leftIndex];
+ }
+
+ f_currentCard.IsTransparent = false;
+ f_currentCard.Card = f_cards[currentIndex];
+ //开始按钮显示设置
+ btnStart.gameObject.SetActive(!f_cards[currentIndex].IsLocked);
+
+
+ if (rightIndex >= f_cards.Count)
+ f_rightCard.gameObject.SetActive(false);
+ else
+ {
+ f_rightCard.gameObject.SetActive(true);
+ f_rightCard.IsTransparent = true;
+ f_rightCard.Card = f_cards[rightIndex];
+ }
+ }
+
+ #endregion
+
+ #region Unity回调
+ private void Start()
+ {
+ btnBack.onClick.AddListener(OnBackButtonClick);
+ btnHelp.onClick.AddListener(OnHelpButtonClick);
+ btnStart.onClick.AddListener(OnStartButtonClick);
+ }
+ #endregion
+
+ #region 事件回调
+ public override void RegisterEvents()
+ {
+ EventLists.Add(FBConsts.E_SceneEnter);
+ }
+
+ public override void HandleEvent(string eventName, object data = null)
+ {
+ switch (eventName)
+ {
+ case FBConsts.E_SceneEnter:
+ FBSceneArgs e = data as FBSceneArgs;
+ if (e.Index == 2)
+ {
+ f_gameModel = GetModel();
+ LoadCards();
+ }
+ break;
+ }
+ }
+ #endregion
+
+ #region 帮助方法
+ #endregion
+
+
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Select/FBUISelect.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUISelect.cs.meta
new file mode 100644
index 0000000..1d598d5
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Select/FBUISelect.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9eba4bc16423c65428d29dccd276f95a
+timeCreated: 1538013051
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Start.meta b/mycj/Assets/Game/Scripts/Application/02View/Start.meta
new file mode 100644
index 0000000..467592b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Start.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a291a7ad3d2bb0a4186b5738c9c60a8d
+folderAsset: yes
+timeCreated: 1539067879
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Start/FBUIStart.cs b/mycj/Assets/Game/Scripts/Application/02View/Start/FBUIStart.cs
new file mode 100644
index 0000000..a9537da
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Start/FBUIStart.cs
@@ -0,0 +1,41 @@
+// Felix-Bang:FBUIStart
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:开始界面
+// Createtime:2018/9/25
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBUIStart : FBView
+ {
+ public override string Name
+ {
+ get { return FBConsts.V_Start; }
+ }
+
+ public void GotoSelect()
+ {
+ FBGame.Instance.LoadScene(2);
+ }
+
+ public override void HandleEvent(string eventName, object data = null) {}
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/02View/Start/FBUIStart.cs.meta b/mycj/Assets/Game/Scripts/Application/02View/Start/FBUIStart.cs.meta
new file mode 100644
index 0000000..e4b1faa
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/02View/Start/FBUIStart.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 10b160c83e19a9a4f8d3d339b084960b
+timeCreated: 1537944097
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control.meta b/mycj/Assets/Game/Scripts/Application/03Control.meta
new file mode 100644
index 0000000..0cbd055
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fac1d9a2632f4c34e9a3c81fcc5f8eaa
+folderAsset: yes
+timeCreated: 1537231551
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBCountDownCompleteController.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBCountDownCompleteController.cs
new file mode 100644
index 0000000..72db856
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBCountDownCompleteController.cs
@@ -0,0 +1,38 @@
+// Felix-Bang:FBCountDownCompleteController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:倒计时结束控制器
+// Createtime:2018/10/12
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBCountDownCompleteController : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ //游戏开始
+ FBGameModel gameModel = GetModel();
+ gameModel.IsPlaying = true;
+
+ //出怪
+ FBRoundModel roundModel = GetModel();
+ roundModel.StartRound();
+ }
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBCountDownCompleteController.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBCountDownCompleteController.cs.meta
new file mode 100644
index 0000000..9c16756
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBCountDownCompleteController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9b56a9b48ce55c044b0853dfd45e4078
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBLevelEndController.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelEndController.cs
new file mode 100644
index 0000000..f700bd5
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelEndController.cs
@@ -0,0 +1,47 @@
+// Felix-Bang:FBLevelEndController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:开始关卡控制器
+// Createtime:
+
+
+using FBFramework;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBLevelEndController : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ FBEndLevelArgs e = data as FBEndLevelArgs;
+
+ //保存游戏状态
+ FBGameModel gameModel = GetModel();
+ FBRoundModel roundModel = GetModel();
+
+ roundModel.StopRound();
+ gameModel.StoptLevel(e.IsWin);
+
+ //弹出UI
+ if (e.IsWin)
+ GetView().Show();
+ else
+ GetView().Show();
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBLevelEndController.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelEndController.cs.meta
new file mode 100644
index 0000000..0289deb
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelEndController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7e3277acc2403a2489df5704d8c94b2c
+timeCreated: 1539133569
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBLevelStartController.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelStartController.cs
new file mode 100644
index 0000000..b55edc1
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelStartController.cs
@@ -0,0 +1,46 @@
+// Felix-Bang:FBLevelStartController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:开始关卡控制器
+// Createtime:2018/9/19
+
+
+using FBFramework;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBLevelStartController : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ FBStartLevelArgs e = data as FBStartLevelArgs;
+ //第一步
+ FBGameModel gameModel = GetModel();
+ gameModel.StartLevel(e.ID);
+
+ //第二步
+ FBRoundModel roundModel = GetModel();
+ roundModel.LoadLevel(gameModel.PlayLevel);
+
+ // 进入游戏
+ FBGame.Instance.LoadScene(3);
+ }
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBLevelStartController.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelStartController.cs.meta
new file mode 100644
index 0000000..cee306d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBLevelStartController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 219070f71d344ca4786349335551352c
+timeCreated: 1539133569
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBSceneEnterController.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneEnterController.cs
new file mode 100644
index 0000000..5f9932b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneEnterController.cs
@@ -0,0 +1,65 @@
+// Felix-Bang:FBSceneEnterController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:进入场景控制器
+// Createtime:2018/9/26
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBSceneEnterController : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ FBSceneArgs e = data as FBSceneArgs;
+
+ //注册视图(View)
+ switch (e.Index)
+ {
+ case 0:
+ break;
+ case 1:
+ RegisterView(GameObject.Find("UIStart").GetComponent());
+ break;
+ case 2:
+ RegisterView(GameObject.Find("UISelect").GetComponent());
+ break;
+ case 3:
+ RegisterView(GameObject.Find("Map").transform.GetComponent());
+ RegisterView(GameObject.Find("TowerPopup").transform.GetComponent());
+ RegisterView(GameObject.Find("Canvas").transform.Find("UIBoard").GetComponent());
+ RegisterView(GameObject.Find("Canvas").transform.Find("UICountDown").GetComponent());
+ RegisterView(GameObject.Find("Canvas").transform.Find("UIWin").GetComponent());
+ RegisterView(GameObject.Find("Canvas").transform.Find("UILost").GetComponent());
+ RegisterView(GameObject.Find("Canvas").transform.Find("UISystem").GetComponent());
+ break;
+ case 4:
+ RegisterView(GameObject.Find("UIComplete").GetComponent());
+ break;
+ default:
+ break;
+ }
+
+
+ }
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBSceneEnterController.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneEnterController.cs.meta
new file mode 100644
index 0000000..a48e094
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneEnterController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6314258ac699cec4eaa5d052b5b288fd
+timeCreated: 1537926293
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBSceneExitController.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneExitController.cs
new file mode 100644
index 0000000..f52cce4
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneExitController.cs
@@ -0,0 +1,34 @@
+// Felix-Bang:FBSceneExitController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:退出场景控制器
+// Createtime:2018/9/26
+
+
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBSceneExitController : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ //离开场景前回收
+ FBGame.Instance.ObjectPool.UnspawnAll();
+ }
+
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBSceneExitController.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneExitController.cs.meta
new file mode 100644
index 0000000..3d1c27d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBSceneExitController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4206607d1f57bb24c8fb2cad5104cc62
+timeCreated: 1537926293
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBSellTowerCommand.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBSellTowerCommand.cs
new file mode 100644
index 0000000..e19d172
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBSellTowerCommand.cs
@@ -0,0 +1,43 @@
+// Felix-Bang:FBSellTowerCommand
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBSellTowerCommand : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ FBSellTowerArgs e = data as FBSellTowerArgs;
+ FBTower tower = e.Tower;
+
+ //清除Tile存储的信息
+ tower.Tile.Data = null;
+
+ //半价出售
+ FBGameModel gm = GetModel();
+ gm.Gold += e.Tower.Price / 2;
+
+ //回收
+ FBGame.Instance.ObjectPool.Unspawn(e.Tower.gameObject);
+ }
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBSellTowerCommand.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBSellTowerCommand.cs.meta
new file mode 100644
index 0000000..a26e278
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBSellTowerCommand.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9f96d299adc26f244aa8c5b1ab87b2bc
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBStartUpController.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBStartUpController.cs
new file mode 100644
index 0000000..9790706
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBStartUpController.cs
@@ -0,0 +1,57 @@
+// Felix-Bang:FBStartUpController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:启动游戏控制器
+// Createtime:2018/9/26
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBStartUpController : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ //注册模型(Model)
+ RegisterModel(new FBGameModel());
+ RegisterModel(new FBRoundModel());
+ //注册命令(Command)
+ RegistControllers();
+
+ //初始化
+ FBGameModel gameModel = GetModel();
+ gameModel.OnInitialized();
+
+ //进入开始界面
+ FBGame.Instance.LoadScene(1);
+ }
+
+ private void RegistControllers()
+ {
+ RegisterController(FBConsts.E_SceneEnter, typeof(FBSceneEnterController));
+ RegisterController(FBConsts.E_SceneExit, typeof(FBSceneExitController));
+ RegisterController(FBConsts.E_LevelStart, typeof(FBLevelStartController));
+ RegisterController(FBConsts.E_LevelEnd, typeof(FBLevelEndController));
+ RegisterController(FBConsts.E_CountDownComplete, typeof(FBCountDownCompleteController));
+
+ RegisterController(FBConsts.E_UpgradeTower, typeof(FBUpgradeTowerCommand));
+ RegisterController(FBConsts.E_SellTower, typeof(FBSellTowerCommand));
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBStartUpController.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBStartUpController.cs.meta
new file mode 100644
index 0000000..ce79861
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBStartUpController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d3f53d26eb8b25e43a36deefc7f97f97
+timeCreated: 1537926132
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBUpgradeTowerCommand.cs b/mycj/Assets/Game/Scripts/Application/03Control/FBUpgradeTowerCommand.cs
new file mode 100644
index 0000000..3d05b3c
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBUpgradeTowerCommand.cs
@@ -0,0 +1,34 @@
+// Felix-Bang:FBUpgradeTowerCommand
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public class FBUpgradeTowerCommand : FBController
+ {
+ public override void Execute(object data = null)
+ {
+ FBUpgradeTowerArgs e = data as FBUpgradeTowerArgs;
+ FBTower tower = e.Tower;
+ tower.Level++;
+ }
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/03Control/FBUpgradeTowerCommand.cs.meta b/mycj/Assets/Game/Scripts/Application/03Control/FBUpgradeTowerCommand.cs.meta
new file mode 100644
index 0000000..6ecd5f8
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/03Control/FBUpgradeTowerCommand.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bbc5a087b898fae428606a48e3949dc5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args.meta b/mycj/Assets/Game/Scripts/Application/Args.meta
new file mode 100644
index 0000000..bd202eb
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e55195e32235941468ccb3ebd7eb8497
+folderAsset: yes
+timeCreated: 1537343502
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBEndLevelArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBEndLevelArgs.cs
new file mode 100644
index 0000000..d9e4335
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBEndLevelArgs.cs
@@ -0,0 +1,35 @@
+// Felix-Bang:FBEndLevelArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:结束关卡的事件参数
+// Createtime:2018/9/27
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBEndLevelArgs
+ {
+ /// 关卡索引
+ public int ID { get; set; }
+ ///
+ /// 结束类型:闯关成功(true)/失败(false)
+ ///
+ public bool IsWin;
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBEndLevelArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBEndLevelArgs.cs.meta
new file mode 100644
index 0000000..d142b6d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBEndLevelArgs.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b774511cc1aa7ea4d8f92db739e5bfe6
+timeCreated: 1537924608
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBRoundStartArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBRoundStartArgs.cs
new file mode 100644
index 0000000..178dad3
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBRoundStartArgs.cs
@@ -0,0 +1,37 @@
+// Felix-Bang:FBRoundStartArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:回合参数
+// Createtime:2018/10/12
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBRoundStartArgs
+ {
+ #region 字段
+ /// 当前回合索引
+ public int RoundIndex;
+ /// 总回合数
+ public int RoundTotal;
+ /// 回合提示
+ public int RoundTips;
+ #endregion
+
+
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBRoundStartArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBRoundStartArgs.cs.meta
new file mode 100644
index 0000000..c9d3579
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBRoundStartArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 97a0b76d6a1d87e4c8c8c0abbfd6cc2a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSceneArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBSceneArgs.cs
new file mode 100644
index 0000000..17e45b7
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSceneArgs.cs
@@ -0,0 +1,31 @@
+// Felix-Bang:FBSceneArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:场景相关的事件参数
+// Createtime:2018/9/26
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBSceneArgs
+ {
+ //场景索引
+ public int Index;
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSceneArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBSceneArgs.cs.meta
new file mode 100644
index 0000000..cce0148
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSceneArgs.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b2475cb4ae7dcd64baf2bcdc3cbd010d
+timeCreated: 1537924608
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSellTowerArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBSellTowerArgs.cs
new file mode 100644
index 0000000..28ff8ed
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSellTowerArgs.cs
@@ -0,0 +1,30 @@
+// Felix-Bang:FBSellTowerArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:出售炮塔参数
+// Createtime:2018/10/17
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBSellTowerArgs
+ {
+ #region 字段
+ public FBTower Tower;
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSellTowerArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBSellTowerArgs.cs.meta
new file mode 100644
index 0000000..41d44fa
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSellTowerArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cf5022df92f09394bbed786d3d8c85ae
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerCreatArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerCreatArgs.cs
new file mode 100644
index 0000000..a2b9945
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerCreatArgs.cs
@@ -0,0 +1,29 @@
+// Felix-Bang:FBShowTowerCreatArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:显示创建炮塔参数
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBShowTowerCreatArgs
+ {
+ public Vector3 Position;
+ public bool UpSide;
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerCreatArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerCreatArgs.cs.meta
new file mode 100644
index 0000000..818b092
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerCreatArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e8c483a1a9c6c8a4a8ab316a97f0510b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerUpgradeArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerUpgradeArgs.cs
new file mode 100644
index 0000000..3547cf8
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerUpgradeArgs.cs
@@ -0,0 +1,28 @@
+// Felix-Bang:FBTowerUpgradeArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:显示炮塔升级参数
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBShowTowerUpgradeArgs
+ {
+ public FBTower Tower;
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerUpgradeArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerUpgradeArgs.cs.meta
new file mode 100644
index 0000000..a3de5c3
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBShowTowerUpgradeArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 21ea3f965fd911c4e83e63c467eada6d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSpawnMonsterArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnMonsterArgs.cs
new file mode 100644
index 0000000..b064e62
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnMonsterArgs.cs
@@ -0,0 +1,34 @@
+// Felix-Bang:FBSpawnMonsterArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:出怪参数
+// Createtime:2018/10/12
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBSpawnMonsterArgs
+ {
+
+ #region 字段
+ /// 怪物类型
+ public int MonsterID;
+ #endregion
+
+
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSpawnMonsterArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnMonsterArgs.cs.meta
new file mode 100644
index 0000000..ee41b8e
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnMonsterArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fc91c3604de832e40ac40fe51200049c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSpawnTowerArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnTowerArgs.cs
new file mode 100644
index 0000000..3338f6b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnTowerArgs.cs
@@ -0,0 +1,31 @@
+// Felix-Bang:FBSpawnTowerArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:产生炮塔参数
+// Createtime:2018/10/17
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBSpawnTowerArgs
+ {
+ #region 字段
+ public Vector3 Position;
+ public int TowerID;
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBSpawnTowerArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnTowerArgs.cs.meta
new file mode 100644
index 0000000..3f22431
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBSpawnTowerArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b6f89ad13c00f354ca1589c18cb0de4a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBStartLevelArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBStartLevelArgs.cs
new file mode 100644
index 0000000..faf6e73
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBStartLevelArgs.cs
@@ -0,0 +1,31 @@
+// Felix-Bang:FBStartLevelArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:开始关卡的事件参数
+// Createtime:2018/9/27
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBStartLevelArgs
+ {
+ /// 关卡ID
+ public int ID { get; set; }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBStartLevelArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBStartLevelArgs.cs.meta
new file mode 100644
index 0000000..9a58426
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBStartLevelArgs.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2fa0a3a6535d2784fa3a03a488d37d22
+timeCreated: 1537924608
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBUpgradeTowerArgs.cs b/mycj/Assets/Game/Scripts/Application/Args/FBUpgradeTowerArgs.cs
new file mode 100644
index 0000000..48c182f
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBUpgradeTowerArgs.cs
@@ -0,0 +1,30 @@
+// Felix-Bang:FBUpgradeTowerArgs
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:升级炮塔参数
+// Createtime:2018/10/17
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBUpgradeTowerArgs
+ {
+ #region 字段
+ public FBTower Tower;
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Args/FBUpgradeTowerArgs.cs.meta b/mycj/Assets/Game/Scripts/Application/Args/FBUpgradeTowerArgs.cs.meta
new file mode 100644
index 0000000..9685733
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Args/FBUpgradeTowerArgs.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aa75fc30d31386447814018be527b88d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Data.meta b/mycj/Assets/Game/Scripts/Application/Data.meta
new file mode 100644
index 0000000..6d72d75
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 092a315504f29ae4d9063ae8b9d87778
+folderAsset: yes
+timeCreated: 1537343558
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBCard.cs b/mycj/Assets/Game/Scripts/Application/Data/FBCard.cs
new file mode 100644
index 0000000..c6673d0
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBCard.cs
@@ -0,0 +1,32 @@
+// Felix-Bang:FBCard
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡选择界面关卡缩略图数据
+// Createtime:
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBCard
+ {
+ public int LevelID;
+ public string CardImage;
+ public bool IsLocked;
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBCard.cs.meta b/mycj/Assets/Game/Scripts/Application/Data/FBCard.cs.meta
new file mode 100644
index 0000000..68d31cf
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBCard.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 17a3d0177ad54dd4f9b6434f70701894
+timeCreated: 1539139245
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBCoords.cs b/mycj/Assets/Game/Scripts/Application/Data/FBCoords.cs
new file mode 100644
index 0000000..003e14d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBCoords.cs
@@ -0,0 +1,37 @@
+// Felix-Bang:Coords
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:背景格子坐标
+// Createtime:2018/9/19
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBCoords
+ {
+ public int X;
+ public int Y;
+
+ public FBCoords(int x,int y)
+ {
+ X = x;
+ Y = y;
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBCoords.cs.meta b/mycj/Assets/Game/Scripts/Application/Data/FBCoords.cs.meta
new file mode 100644
index 0000000..d4c7b41
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBCoords.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 00006addc59c63543b00b4e15d39fa35
+timeCreated: 1537343881
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBGrid.cs b/mycj/Assets/Game/Scripts/Application/Data/FBGrid.cs
new file mode 100644
index 0000000..7fb9065
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBGrid.cs
@@ -0,0 +1,44 @@
+// Felix-Bang:Tile
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:背景网格(单个)
+// Createtime:2018/9/19
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBGrid
+ {
+ public int Index_X;
+ public int Index_Y;
+ public bool CanHold; //是否可以放置塔
+ public Object Data; //保存的相关数据
+
+ public FBGrid(int x, int y)
+ {
+ Index_X = x;
+ Index_Y = y;
+ }
+
+ public override string ToString()
+ {
+ return string.Format("[X:{0},Y:{1},CanHold:{2}]", Index_X, Index_Y,CanHold);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBGrid.cs.meta b/mycj/Assets/Game/Scripts/Application/Data/FBGrid.cs.meta
new file mode 100644
index 0000000..e32dc68
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBGrid.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 668bc0e65e7c7784c911af2f8e9d1309
+timeCreated: 1537344270
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBLevel.cs b/mycj/Assets/Game/Scripts/Application/Data/FBLevel.cs
new file mode 100644
index 0000000..bedda85
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBLevel.cs
@@ -0,0 +1,45 @@
+// Felix-Bang:Level
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:关卡数据
+// Createtime:2018/9/19
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBLevel
+ {
+ /// 名称
+ public string Name;
+ /// 卡片
+ public string CardImage;
+ /// 背景
+ public string Background;
+ /// 地图
+ public string Road;
+ /// 初始金币
+ public int InitScore;
+ /// 可放置炮塔的位置
+ public List Holders = new List();
+ /// 路径节点
+ public List Path = new List();
+ /// 回合
+ public List Rounds = new List();
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBLevel.cs.meta b/mycj/Assets/Game/Scripts/Application/Data/FBLevel.cs.meta
new file mode 100644
index 0000000..993293c
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBLevel.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c45b97c79ce1cff4daadbed7498b5ebb
+timeCreated: 1537345209
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBRound.cs b/mycj/Assets/Game/Scripts/Application/Data/FBRound.cs
new file mode 100644
index 0000000..179a663
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBRound.cs
@@ -0,0 +1,42 @@
+// Felix-Bang:Round
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:回合
+// Createtime:2018/9/19
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBRound
+ {
+ public int MonsterID; //怪物种类ID
+ public int Count; //怪物数量
+
+ public FBRound(int monsterID, int count)
+ {
+ MonsterID = monsterID;
+ Count = count;
+ }
+
+ public override string ToString()
+ {
+ return string.Format("[MonsterID:{0},Count:{1}]", MonsterID, Count);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Data/FBRound.cs.meta b/mycj/Assets/Game/Scripts/Application/Data/FBRound.cs.meta
new file mode 100644
index 0000000..5de8589
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Data/FBRound.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c9c50e2752506e147a0ea1e4c194f4d1
+timeCreated: 1537344680
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/FBConsts.cs b/mycj/Assets/Game/Scripts/Application/FBConsts.cs
new file mode 100644
index 0000000..6d23e89
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/FBConsts.cs
@@ -0,0 +1,106 @@
+// Felix-Bang:Consts
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:常量
+// Createtime:2018/9/20
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public static class FBConsts
+ {
+ //目录
+ public static readonly string LevelDir = Application.dataPath + @"/Resources/Res/Levels";
+ public static readonly string MpsDir = Application.dataPath + @"/Resources/Res/Maps";
+ public static readonly string CardsDir = Application.dataPath + @"/Resources/Res/Cards";
+
+ //参数
+ public const string GameProgress = "GameProgress";
+ public const float DotClosedDistance = 0.1f;
+ public const float RangeClosedDistance = 0.7f;
+
+
+
+
+
+ //Model
+ public const string M_GameModel = "M_GameModel";
+ public const string M_RoundModel = "M_RoundModel";
+
+ //View
+ public const string V_Start = "V_Start";
+ public const string V_Select = "V_Select";
+ public const string V_Board = "V_Board";
+ public const string V_CountDown = "V_CountDown";
+ public const string V_Win = "V_Win";
+ public const string V_Lost = "V_Lost";
+ public const string V_System = "V_System";
+ public const string V_Complete = "V_Complete";
+ public const string V_Spawner = "V_Spawner";
+ public const string V_TowerPopup = "V_TowerPopup";
+
+ //Control
+ /// 启动游戏
+ public const string E_StartUp = "E_StartUp";
+
+ /// 进入场景
+ public const string E_SceneEnter = "E_SceneEnter";
+ /// 退出场景
+ public const string E_SceneExit = "E_SceneExit";
+
+ /// 开始关卡
+ public const string E_LevelStart = "E_LevelStart"; //FBStartLevelArgs
+ /// 结束关卡
+ public const string E_LevelEnd = "E_LevelEnd"; //FBEndLevelArgs
+
+ /// 结束倒计时
+ public const string E_CountDownComplete = "E_CountDownComplete";
+
+ /// 开始回合
+ public const string E_RoundStart = "E_RoundStart"; //FBRoundStartArgs
+
+ /// 出怪
+ public const string E_SpawnMonster = "E_SpawnMonster"; //FBSpawnMonsterArgs
+
+ /// 炮塔
+ public const string E_ShowTowerCreat = "E_ShowTowerCreat"; //FBShowTowerCreatArgs
+ public const string E_ShowTowerUpgrade = "E_ShowTowerUpgrade"; //FBShowTowerUpgradeArgs
+ public const string E_TowerHide = "E_TowerHide";
+
+ public const string E_SpawnTower = "E_SpawnTower"; //FBSpawnTowerArgs
+ public const string E_UpgradeTower = "E_UpgradeTower"; //FBUpgradeTowerArgs
+ public const string E_SellTower = "E_SellTower"; //FBSellTowerArgs
+ }
+
+ public enum GameSpeed
+ {
+ One,
+ Two
+ }
+ public enum MonsterType
+ {
+ Monster0,
+ Monster1,
+ Monster2,
+ Monster3,
+ Monster4,
+ Monster5,
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/FBConsts.cs.meta b/mycj/Assets/Game/Scripts/Application/FBConsts.cs.meta
new file mode 100644
index 0000000..078ef21
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/FBConsts.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 977ef2f4730d0084494833b8197f8e6f
+timeCreated: 1537405431
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/FBGame.cs b/mycj/Assets/Game/Scripts/Application/FBGame.cs
new file mode 100644
index 0000000..8f608e6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/FBGame.cs
@@ -0,0 +1,109 @@
+// Felix-Bang:FBGame
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:启动游戏 初始化全局数据
+// Createtime:2018/9/25
+
+
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using FBFramework;
+using System;
+
+namespace FBApplication
+{
+ [RequireComponent(typeof(FBObjectPool))]
+ [RequireComponent(typeof(FBSound))]
+ [RequireComponent(typeof(FBStaticData))]
+ public class FBGame : FBApplicationBase
+ {
+ // 全局访问功能
+ [HideInInspector]
+ public FBObjectPool ObjectPool=null;
+ [HideInInspector]
+ public FBSound Sound = null;
+ [HideInInspector]
+ public FBStaticData StaticData = null;
+
+ private void OnEnable()
+ {
+ SceneManager.sceneLoaded += OnSceneWasLoaded;
+ }
+
+ // 游戏入口
+ void Start ()
+ {
+ DontDestroyOnLoad(gameObject);
+
+ //赋值
+ ObjectPool = FBObjectPool.Instance;
+ Sound = FBSound.Instance;
+ StaticData = FBStaticData.Instance;
+
+ //注册命令(Command)
+ RegisterController(FBConsts.E_StartUp, typeof(FBStartUpController));
+
+ //启动游戏
+ SendEvent(FBConsts.E_StartUp);
+ }
+
+ ///
+ /// 加载场景
+ ///
+ /// 场景索引
+ public void LoadScene(int index)
+ {
+ //退出旧场景
+ //事件参数
+ FBSceneArgs e = new FBSceneArgs
+ {
+ Index = SceneManager.GetActiveScene().buildIndex
+ };
+ //发布事件
+ SendEvent(FBConsts.E_SceneExit,e);
+
+ //加载新场景
+ SceneManager.LoadScene(index, LoadSceneMode.Single);
+ }
+
+ // 当前场景加载后触发
+ private void OnSceneWasLoaded(Scene arg0, LoadSceneMode arg1)
+ {
+ FBSceneArgs e = new FBSceneArgs
+ {
+ Index = arg0.buildIndex
+ };
+
+ SendEvent(FBConsts.E_SceneEnter, e);
+ }
+
+ // 当前场景加载后触发
+ // OnLevelWasLoaded新版本的Unity即将放弃
+ //private void OnLevelWasLoaded(int index)
+ //{
+ // FBSceneArgs e = new FBSceneArgs
+ // {
+ // Index = index
+ // };
+
+ // SendEvent(FBConsts.E_EnterScene,e);
+ //}
+
+ private void OnDisable()
+ {
+ SceneManager.sceneLoaded -= OnSceneWasLoaded;
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/FBGame.cs.meta b/mycj/Assets/Game/Scripts/Application/FBGame.cs.meta
new file mode 100644
index 0000000..23eeca4
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/FBGame.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: da393da24ac351c47bbf369ea649ad9a
+timeCreated: 1537866223
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Misc.meta b/mycj/Assets/Game/Scripts/Application/Misc.meta
new file mode 100644
index 0000000..5fae89a
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fa6fc4cf7ff7aea448ec68f258687fa7
+folderAsset: yes
+timeCreated: 1537343558
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBBat.cs b/mycj/Assets/Game/Scripts/Application/Misc/FBBat.cs
new file mode 100644
index 0000000..829bf51
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBBat.cs
@@ -0,0 +1,40 @@
+// Felix-Bang:FBBat
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:蝙蝠的动画
+// Createtime:2018/9/25
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBBat : MonoBehaviour
+ {
+ public float Time = 1;
+ public float OffsetY = 8;
+
+ void Start()
+ {
+ iTween.MoveBy(gameObject, iTween.Hash(
+ "y", OffsetY,
+ "easeType", iTween.EaseType.easeInOutSine,
+ "loopType", iTween.LoopType.pingPong,
+ "time",Time ));
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBBat.cs.meta b/mycj/Assets/Game/Scripts/Application/Misc/FBBat.cs.meta
new file mode 100644
index 0000000..de5c9dd
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBBat.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 90977ee0081530048bdab8cef96a046f
+timeCreated: 1537942400
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBCloud.cs b/mycj/Assets/Game/Scripts/Application/Misc/FBCloud.cs
new file mode 100644
index 0000000..7118278
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBCloud.cs
@@ -0,0 +1,40 @@
+// Felix-Bang:FBCloud
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:云
+// Createtime:2018/9/25
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBCloud : MonoBehaviour
+ {
+ public float OffsetX = 1000;
+ public float Duration = 10;
+
+ void Start()
+ {
+ iTween.MoveBy(gameObject, iTween.Hash(
+ "x", OffsetX,
+ "easeType", iTween.EaseType.linear,
+ "loopType", iTween.LoopType.loop,
+ "time", Duration));
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBCloud.cs.meta b/mycj/Assets/Game/Scripts/Application/Misc/FBCloud.cs.meta
new file mode 100644
index 0000000..9697041
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBCloud.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5667133e6ef0fc7469b177dc9276c167
+timeCreated: 1537943391
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBRotate.cs b/mycj/Assets/Game/Scripts/Application/Misc/FBRotate.cs
new file mode 100644
index 0000000..7c63264
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBRotate.cs
@@ -0,0 +1,35 @@
+// Felix-Bang:FBRotate
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:旋转
+// Createtime:2018/10/09
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Felix
+{
+ public class FBRotate : MonoBehaviour
+ {
+ public float Speed = 360;
+
+ void Update ()
+ {
+ transform.Rotate(Vector3.forward, Time.deltaTime * Speed, Space.Self);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBRotate.cs.meta b/mycj/Assets/Game/Scripts/Application/Misc/FBRotate.cs.meta
new file mode 100644
index 0000000..c418f18
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBRotate.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4c23d04bf50077f40848f73641475aed
+timeCreated: 1539066981
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBSaver.cs b/mycj/Assets/Game/Scripts/Application/Misc/FBSaver.cs
new file mode 100644
index 0000000..6809bc8
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBSaver.cs
@@ -0,0 +1,41 @@
+// Felix-Bang:FBSaver
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:读档和存档
+// Createtime:2018/10/11
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public static class FBSaver
+ {
+ #region 方法
+ public static int GetProgress()
+ {
+ return PlayerPrefs.GetInt(FBConsts.GameProgress,-1);
+
+ }
+
+ public static void SetProgress(int levelIndex)
+ {
+ PlayerPrefs.SetInt(FBConsts.GameProgress, levelIndex);
+ }
+ #endregion
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBSaver.cs.meta b/mycj/Assets/Game/Scripts/Application/Misc/FBSaver.cs.meta
new file mode 100644
index 0000000..9bd4ad6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBSaver.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 28ebbaf542ea28641a21973f86e063cf
+timeCreated: 1539245915
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBTools.cs b/mycj/Assets/Game/Scripts/Application/Misc/FBTools.cs
new file mode 100644
index 0000000..d781357
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBTools.cs
@@ -0,0 +1,189 @@
+// Felix-Bang:Tools
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:2018/9/20
+
+
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Xml;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace FBApplication
+{
+ public class FBTools
+ {
+ //读取关卡列表
+ public static List GetLevelFiles()
+ {
+ string[] files = Directory.GetFiles(FBConsts.LevelDir, "*.xml");
+
+ List list = new List();
+ for (int i = 0; i < files.Length; i++)
+ {
+ FileInfo file = new FileInfo(files[i]);
+ list.Add(file);
+ }
+ return list;
+ }
+
+ //填充Level类数据
+ public static void FillLevel(string fileName, ref FBLevel level)
+ {
+ FileInfo file = new FileInfo(fileName);
+ StreamReader sr = new StreamReader(file.OpenRead(), Encoding.UTF8);
+
+ XmlDocument doc = new XmlDocument();
+ doc.Load(sr);
+
+ level.Name = doc.SelectSingleNode("/Level/Name").InnerText;
+ level.CardImage = doc.SelectSingleNode("/Level/CardImage").InnerText;
+ level.Background = doc.SelectSingleNode("/Level/Background").InnerText;
+ level.Road = doc.SelectSingleNode("/Level/Road").InnerText;
+ level.InitScore = int.Parse(doc.SelectSingleNode("/Level/InitScore").InnerText);
+
+ XmlNodeList nodes;
+
+ nodes = doc.SelectNodes("/Level/Holder/Point");
+ for (int i = 0; i < nodes.Count; i++)
+ {
+ XmlNode node = nodes[i];
+ FBCoords p = new FBCoords(
+ int.Parse(node.Attributes["X"].Value),
+ int.Parse(node.Attributes["Y"].Value));
+
+ level.Holders.Add(p);
+ }
+
+ nodes = doc.SelectNodes("/Level/Path/Point");
+ for (int i = 0; i < nodes.Count; i++)
+ {
+ XmlNode node = nodes[i];
+
+ FBCoords p = new FBCoords(
+ int.Parse(node.Attributes["X"].Value),
+ int.Parse(node.Attributes["Y"].Value));
+
+ level.Path.Add(p);
+ }
+
+ nodes = doc.SelectNodes("/Level/Rounds/Round");
+ for (int i = 0; i < nodes.Count; i++)
+ {
+ XmlNode node = nodes[i];
+
+ FBRound r = new FBRound(
+ int.Parse(node.Attributes["Monster"].Value),
+ int.Parse(node.Attributes["Count"].Value)
+ );
+
+ level.Rounds.Add(r);
+ }
+
+ sr.Close();
+ sr.Dispose();
+ }
+
+ //保存关卡
+ public static void SaveLevel(string fileName, FBLevel level)
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine("");
+ sb.AppendLine("");
+
+ sb.AppendLine(string.Format("{0}", level.Name));
+ sb.AppendLine(string.Format("{0}", level.CardImage));
+ sb.AppendLine(string.Format("{0}", level.Background));
+ sb.AppendLine(string.Format("{0}", level.Road));
+ sb.AppendLine(string.Format("{0}", level.InitScore));
+
+ sb.AppendLine("");
+ for (int i = 0; i < level.Holders.Count; i++)
+ {
+ sb.AppendLine(string.Format("", level.Holders[i].X, level.Holders[i].Y));
+ }
+ sb.AppendLine("");
+
+ sb.AppendLine("");
+ for (int i = 0; i < level.Path.Count; i++)
+ {
+ sb.AppendLine(string.Format("", level.Path[i].X, level.Path[i].Y));
+ }
+ sb.AppendLine("");
+
+ sb.AppendLine("");
+ for (int i = 0; i < level.Rounds.Count; i++)
+ {
+ sb.AppendLine(string.Format("", level.Rounds[i].MonsterID, level.Rounds[i].Count));
+ }
+ sb.AppendLine("");
+
+ sb.AppendLine("");
+
+ string content = sb.ToString();
+
+ XmlWriterSettings settings = new XmlWriterSettings
+ {
+ Indent = true,
+ ConformanceLevel = ConformanceLevel.Auto,
+ IndentChars = "\t",
+ OmitXmlDeclaration = false
+ };
+
+ XmlWriter xw = XmlWriter.Create(fileName, settings);
+
+ StreamWriter sw = new StreamWriter(fileName, false, Encoding.UTF8);
+ sw.Write(content);
+ sw.Flush();
+ sw.Dispose();
+ }
+
+ //加载图片
+ public static IEnumerator LoadImage(string url, SpriteRenderer render)
+ {
+ WWW www = new WWW(url);
+
+ while (!www.isDone)
+ yield return www;
+
+ Texture2D texture = www.texture;
+ Sprite sp = Sprite.Create(
+ texture,
+ new Rect(0, 0, texture.width, texture.height),
+ new Vector2(0.5f, 0.5f));
+ render.sprite = sp;
+ }
+
+ //加载图片
+ public static IEnumerator LoadImage(string url, Image image)
+ {
+ WWW www = new WWW(url);
+
+ while (!www.isDone)
+ yield return www;
+
+ Texture2D texture = www.texture;
+ Sprite sp = Sprite.Create(
+ texture,
+ new Rect(0, 0, texture.width, texture.height),
+ new Vector2(0.5f, 0.5f));
+ image.sprite = sp;
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Misc/FBTools.cs.meta b/mycj/Assets/Game/Scripts/Application/Misc/FBTools.cs.meta
new file mode 100644
index 0000000..4d649e3
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Misc/FBTools.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 719f6929d7ab1f34cb4e8348daa69f1c
+timeCreated: 1537405449
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object.meta b/mycj/Assets/Game/Scripts/Application/Object.meta
new file mode 100644
index 0000000..c10d587
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1c91cb93f642c7d4cbb760abd6caa454
+folderAsset: yes
+timeCreated: 1537343607
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBBallBullet.cs b/mycj/Assets/Game/Scripts/Application/Object/FBBallBullet.cs
new file mode 100644
index 0000000..fdcd0d8
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBBallBullet.cs
@@ -0,0 +1,100 @@
+// Felix-Bang:FBBallBullet
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:球形子弹
+// Createtime:2018/10/18
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBBallBullet : FBBullet
+ {
+ #region 属性
+ //目标
+ public FBMonster Target { get; private set; }
+
+ //移动方向
+ public Vector3 Direction { get; private set; }
+ #endregion
+
+ #region Unity回调
+ protected override void Update()
+ {
+ //已爆炸无需跟踪
+ if (f_isExploded)
+ return;
+
+ //目标检测
+ if (Target != null)
+ {
+ if (!Target.IsDead)
+ {
+ //计算方向
+ Direction = (Target.transform.position - transform.position).normalized;
+ }
+
+ //角度
+ LookAt();
+
+ //移动
+ transform.Translate(Direction * Speed * Time.deltaTime, Space.World);
+
+ //打中目标
+ if (Vector3.Distance(transform.position, Target.transform.position) <= FBConsts.DotClosedDistance)
+ {
+ //敌人受伤
+ Target.Damage(Attack);
+
+ //爆炸
+ Explode();
+ }
+ }
+ else
+ {
+ //移动
+ transform.Translate(Direction * Speed * Time.deltaTime, Space.World);
+
+ //边界检测
+ if (!f_isExploded&& !MapRect.Contains(transform.position))
+ Explode();
+ }
+ }
+ #endregion
+
+ #region 方法
+ public void Load(int bulletID, int level, Rect mapRect, FBMonster monster)
+ {
+ Load(bulletID, level, mapRect);
+
+ Target = monster;
+
+ //计算方向
+ Direction = (Target.transform.position - transform.position).normalized;
+ }
+ #endregion
+
+ #region 帮助方法
+ void LookAt()
+ {
+ float angle = Mathf.Atan2(Direction.y, Direction.x);
+ Vector3 eulerAngles = transform.eulerAngles;
+ eulerAngles.z = angle * Mathf.Rad2Deg - 90;
+ transform.eulerAngles = eulerAngles;
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBBallBullet.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBBallBullet.cs.meta
new file mode 100644
index 0000000..e9b24fd
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBBallBullet.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3c3fd7a121455164a8feeb910355fa06
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBBottle.cs b/mycj/Assets/Game/Scripts/Application/Object/FBBottle.cs
new file mode 100644
index 0000000..5c63088
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBBottle.cs
@@ -0,0 +1,57 @@
+// Felix-Bang:FBBottle
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:瓶子炮塔
+// Createtime:2018/10/18
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBBottle : FBTower
+ {
+ Transform f_shotPoint;
+
+ protected override void Awake()
+ {
+ base.Awake();
+ f_shotPoint = transform.Find("ShotPoint");
+ }
+
+ #region 方法
+ protected override void Shot(FBMonster monster)
+ {
+ base.Shot(monster);
+
+ if (f_animator.gameObject.activeSelf)
+ f_animator.SetTrigger("IsAttack");
+
+ GameObject go = FBGame.Instance.ObjectPool.Spawn("BallBullet");
+ FBBallBullet bullet = go.GetComponent();
+ bullet.transform.position = f_shotPoint.position;
+ bullet.Load(UseBulletID, Level, MapRect, monster);
+ }
+
+ public override void OnSpawn()
+ {
+ base.OnSpawn();
+ f_animator.Play("Bottle_Idle");
+ }
+
+
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBBottle.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBBottle.cs.meta
new file mode 100644
index 0000000..cb7ce14
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBBottle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 172c83bb41a7ed343a815f5b9082b50f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBBullet.cs b/mycj/Assets/Game/Scripts/Application/Object/FBBullet.cs
new file mode 100644
index 0000000..3d9d1ba
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBBullet.cs
@@ -0,0 +1,124 @@
+// Felix-Bang:FBBullet
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+
+namespace FBApplication
+{
+ public abstract class FBBullet : FBReusableObject, IFBReusable
+ {
+ #region 字段
+ /// 类型
+ public int ID { get; private set; }
+ /// 等级
+ public int Level { get; set; }
+ /// 基本速度
+ public float BaseSpeed { get; private set; }
+ /// 基本攻击力
+ public int BaseAttack { get; private set; }
+ /// 移动速度
+ public float Speed { get { return BaseSpeed * Level; } }
+ /// 攻击力
+ public int Attack { get { return BaseAttack * Level; } }
+ /// 地图范围
+ public Rect MapRect { get; private set; }
+ /// 延迟回收时间(秒)
+ public float DelayToDestory = 1f;
+ /// 是否爆炸
+ protected bool f_isExploded = false;
+ /// 动画组件
+ Animator f_animator;
+
+ #endregion
+
+ #region 属性
+ #endregion
+
+ #region Unity回调
+ protected virtual void Awake()
+ {
+ //f_animator = GetComponent();
+ }
+
+ protected virtual void Update()
+ {
+
+ }
+
+ #endregion
+
+ #region 事件回调
+ #endregion
+
+ #region 方法
+ public void Load(int bulletID, int level, Rect mapRect)
+ {
+ MapRect = mapRect;
+
+ ID = bulletID;
+ Level = level;
+
+ FBBulletInfo info = FBGame.Instance.StaticData.GetBullet(bulletID);
+ BaseSpeed = info.BaseSpeed;
+ BaseAttack = info.BaseAttack;
+ }
+
+ public void Explode()
+ {
+ //标记已爆炸
+ f_isExploded = true;
+
+ //播放爆炸动画
+ Debug.Log(f_animator);
+ // f_animator.SetTrigger("IsExplode");
+
+ //延迟回收
+ StartCoroutine("DestoryCoroutine");
+ }
+
+
+ public override void OnSpawn()
+ {
+ f_animator = GetComponent();
+ }
+
+ public override void OnUnspawn()
+ {
+ f_isExploded = false;
+
+ f_animator.Play("Play");
+ f_animator.ResetTrigger("IsExplode");
+ }
+ #endregion
+
+ #region 帮助方法
+ IEnumerator DestoryCoroutine()
+ {
+ //延迟
+ yield return new WaitForSeconds(DelayToDestory);
+
+ //回收
+ //FBGame.Instance.ObjectPool.Unspawn(this.gameObject);
+ }
+
+
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBBullet.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBBullet.cs.meta
new file mode 100644
index 0000000..a62bc4d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBBullet.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9fd4a2dfb41a7b742aedf9d15ca5fed3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBCarrot.cs b/mycj/Assets/Game/Scripts/Application/Object/FBCarrot.cs
new file mode 100644
index 0000000..71f088b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBCarrot.cs
@@ -0,0 +1,90 @@
+// Felix-Bang:FBCarrot
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:萝卜
+// Createtime:2018/10/15
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBCarrot : FBRole
+ {
+ #region 常量
+ #endregion
+
+ #region 事件
+
+ #endregion
+
+ #region 字段
+ Animator f_animator;
+
+
+ #endregion
+
+ #region 属性
+ #endregion
+
+ #region Unity回调
+ #endregion
+
+ #region 事件回调
+ public override void OnSpawn()
+ {
+ base.OnSpawn();
+ f_animator = GetComponent();
+ if (f_animator.gameObject.activeSelf)
+ f_animator.Play("Carrot_Idle");
+
+ FBCarrotInfo info = FBGame.Instance.StaticData.GetCarrot();
+ MaxHP = info.HP;
+ HP = info.HP;
+ }
+
+ public override void OnUnspawn()
+ {
+ base.OnUnspawn();
+ if (f_animator.gameObject.activeSelf)
+ {
+ f_animator.ResetTrigger("IsDamage");
+ f_animator.SetBool("IsDead", false);
+ }
+ }
+ #endregion
+
+ #region 方法
+ public override void Damage(int hit)
+ {
+ if (IsDead) return;
+ base.Damage(hit);
+ if(f_animator.gameObject.activeSelf)
+ f_animator.SetTrigger("IsDamage");
+ }
+
+ protected override void OnDie(FBRole role)
+ {
+ base.OnDie(role);
+ if (f_animator.gameObject.activeSelf)
+ f_animator.SetBool("IsDead",true);
+ }
+ #endregion
+
+ #region 帮助方法
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBCarrot.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBCarrot.cs.meta
new file mode 100644
index 0000000..725beaf
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBCarrot.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 87d29c38569c8dd418e7b04dee290d66
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBFan.cs b/mycj/Assets/Game/Scripts/Application/Object/FBFan.cs
new file mode 100644
index 0000000..4162cb8
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBFan.cs
@@ -0,0 +1,45 @@
+// Felix-Bang:FBFan
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:风扇炮塔
+// Createtime:2018/10/18
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBFan : FBTower
+ {
+ private int f_bulletCount = 6;
+
+ protected override void Shot(FBMonster monster)
+ {
+ base.Shot(monster);
+ for (int i = 0; i < f_bulletCount; i++)
+ {
+ float radians = (Mathf.PI * 2f / f_bulletCount) * i;
+ Vector3 dir = new Vector3(Mathf.Cos(radians), Mathf.Sin(radians), 0f);
+
+ //产生子弹
+ GameObject go = FBGame.Instance.ObjectPool.Spawn("FanBullet");
+ FBFanBullet bullet = go.GetComponent();
+ bullet.transform.position = transform.position;//中心点
+ bullet.Load(this.UseBulletID, this.Level, this.MapRect, dir);
+
+ }
+ }
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBFan.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBFan.cs.meta
new file mode 100644
index 0000000..a3f5ff9
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBFan.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 60cd3c4961122a44bb151d7311c9acf8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBFanBullet.cs b/mycj/Assets/Game/Scripts/Application/Object/FBFanBullet.cs
new file mode 100644
index 0000000..16de39b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBFanBullet.cs
@@ -0,0 +1,87 @@
+// Felix-Bang:FBFanBullet
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:扇形子弹
+// Createtime:2018/10/19
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBFanBullet : FBBullet
+ {
+ #region 字段
+ //旋转速度(度/秒)
+ public float RotateSpeed = 180f;
+ #endregion
+
+ #region 属性
+ public Vector2 Direction { get; private set; }
+ #endregion
+
+ #region Unity回调
+ protected override void Update()
+ {
+ //已爆炸跳过
+ if (f_isExploded)
+ return;
+
+ //移动
+ transform.Translate(Direction * Speed * Time.deltaTime, Space.World);
+
+ //旋转
+ transform.Rotate(Vector3.forward, RotateSpeed * Time.deltaTime, Space.World);
+
+ //检测(存活/死亡)
+ GameObject[] monsterObjects = GameObject.FindGameObjectsWithTag("Monster");
+
+ foreach (GameObject monsterObject in monsterObjects)
+ {
+ FBMonster monster = monsterObject.GetComponent();
+
+ //忽略已死亡的怪物
+ if (monster.IsDead)
+ continue;
+
+ if (Vector3.Distance(transform.position, monster.transform.position) <= FBConsts.RangeClosedDistance)
+ {
+ //敌人受伤
+ monster.Damage(this.Attack);
+
+ //爆炸
+ Explode();
+
+ //退出(重点)
+ break;
+ }
+ }
+
+ //边间检测
+ if (!f_isExploded && !MapRect.Contains(transform.position))
+ Explode();
+ }
+ #endregion
+
+ #region 方法
+ public void Load(int bulletID,int level,Rect mapRect,Vector3 direction)
+ {
+
+ Load(bulletID, level, mapRect);
+ Direction = direction;
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBFanBullet.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBFanBullet.cs.meta
new file mode 100644
index 0000000..0de4f03
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBFanBullet.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d69ce351be292cb44be81108735ca0b7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBMap.cs b/mycj/Assets/Game/Scripts/Application/Object/FBMap.cs
new file mode 100644
index 0000000..cd1d17e
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBMap.cs
@@ -0,0 +1,376 @@
+// Felix-Bang:Map
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:地图 描述一个关卡地图状态
+// Createtime:2018/9/10
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ //鼠标点击参数类
+ public class FBGridClickEventArgs : EventArgs
+ {
+ public int MouseButton; //0左键,1右键
+ public FBGrid Grid;
+
+ public FBGridClickEventArgs(int mouseButton, FBGrid grid)
+ {
+ this.MouseButton = mouseButton;
+ this.Grid = grid;
+ }
+ }
+
+ public class FBMap : MonoBehaviour
+ {
+ #region 常量
+ public const int RowCount = 8; //行数
+ public const int ColumnCount = 12; //列数
+ #endregion
+
+ #region 事件
+ public EventHandler OnFBGridClick;
+ #endregion
+
+ #region 字段
+ float f_mapWidth;
+ float f_mapHeight;
+ float f_tileWidth;
+ float f_tileHeight;
+
+ List f_grid = new List(); //背景网格
+ List f_road = new List(); //道路网个
+
+ private FBLevel f_level;
+
+ public bool IsDrawGizoms = true; //是否绘制网格
+
+ #endregion
+
+ #region 属性
+ public FBLevel Level
+ {
+ get { return f_level; }
+ }
+
+ public string BackgroundImage
+ {
+ set
+ {
+ SpriteRenderer render = transform.Find("Background").GetComponent();
+ StartCoroutine(FBTools.LoadImage(value, render));
+ }
+ }
+
+ public string RoadImage
+ {
+ set
+ {
+ SpriteRenderer render = transform.Find("Road").GetComponent();
+ StartCoroutine(FBTools.LoadImage(value, render));
+ }
+ }
+
+ public List Grids
+
+ {
+ get { return f_grid; }
+ }
+
+ public List Road
+ {
+ get { return f_road; }
+ }
+
+ //怪物的寻路路径
+ public Vector3[] Path
+ {
+ get
+ {
+ List f_path = new List();
+ for (int i = 0; i < f_road.Count; i++)
+ {
+ FBGrid t = f_road[i];
+ Vector3 point = GetPosition(t);
+ f_path.Add(point);
+ }
+ return f_path.ToArray();
+ }
+ }
+
+ public Rect MapRect
+ {
+ get { return new Rect(-f_mapWidth / 2,-f_mapHeight / 2, f_mapWidth, f_mapHeight); }
+ }
+
+ #endregion
+
+ #region 方法
+ public void LoadLevel(FBLevel level)
+ {
+ //清除当前状态
+ Clear();
+
+ //保存
+ f_level = level;
+
+ //加载图片
+ BackgroundImage = "file://" + FBConsts.MpsDir + "/" + level.Background;
+ RoadImage = "file://" + FBConsts.MpsDir + "/" + level.Road;
+
+ //寻路点
+ for (int i = 0; i < level.Path.Count; i++)
+ {
+ FBCoords c = level.Path[i];
+ FBGrid t = GetGrid(c.X, c.Y);
+ f_road.Add(t);
+ }
+
+ //炮塔点
+ for (int i = 0; i < level.Holders.Count; i++)
+ {
+ FBCoords c = level.Holders[i];
+ FBGrid t = GetGrid(c.X, c.Y);
+ t.CanHold = true;
+ }
+ }
+
+ //清除塔位信息
+ public void ClearHolder()
+ {
+ foreach (FBGrid g in f_grid)
+ {
+ if (g.CanHold)
+ g.CanHold = false;
+ }
+ }
+
+ //清除寻路格子集合
+ public void ClearRoad()
+ {
+ f_road.Clear();
+ }
+
+ //清除所有信息
+ public void Clear()
+ {
+ f_level = null;
+ ClearHolder();
+ ClearRoad();
+ }
+
+ #endregion
+
+ #region Unity回调
+
+ //只在运行期起作用
+ void Awake()
+ {
+ //计算地图和格子大小
+ CalculateSize();
+
+ //创建所有的格子
+ for (int i = 0; i < RowCount; i++)
+ for (int j = 0; j < ColumnCount; j++)
+ f_grid.Add(new FBGrid(j, i));
+
+ //监听鼠标点击事件
+ OnFBGridClick += MapOnGridClick;
+ }
+
+ void Update()
+ {
+ if (Input.GetMouseButtonDown(0))
+ {
+ FBGrid g = GetTileUnderMouse();
+
+ if (g != null)
+ {
+ //触发鼠标左键点击事件
+ FBGridClickEventArgs e = new FBGridClickEventArgs(0,g);
+ if (OnFBGridClick != null)
+ OnFBGridClick(this, e);
+ }
+ }
+
+ if (Input.GetMouseButtonDown(1))
+ {
+ FBGrid g = GetTileUnderMouse();
+
+ if (g != null)
+ {
+ //触发鼠标右键点击事件
+ FBGridClickEventArgs e = new FBGridClickEventArgs(1, g);
+ if (OnFBGridClick != null)
+ OnFBGridClick(this, e);
+ }
+ }
+ }
+
+ //只在编辑器里起作用 类似Update不停的执行
+ void OnDrawGizmos()
+ {
+ if (!IsDrawGizoms)
+ return;
+
+ //计算地图和格子大小
+ CalculateSize();
+
+ //绘制格子
+ Gizmos.color = Color.green;
+
+ //绘制行
+ for (int row = 0; row <= RowCount; row++)
+ {
+ Vector2 from = new Vector2(-f_mapWidth / 2, -f_mapHeight / 2 + row * f_tileHeight);
+ Vector2 to = new Vector2(-f_mapWidth / 2 + f_mapWidth, -f_mapHeight / 2 + row * f_tileHeight);
+ Gizmos.DrawLine(from, to);
+ }
+
+ //绘制列
+ for (int col = 0; col <= ColumnCount; col++)
+ {
+ Vector2 from = new Vector2(-f_mapWidth / 2 + col * f_tileWidth, f_mapHeight / 2);
+ Vector2 to = new Vector2(-f_mapWidth / 2 + col * f_tileWidth, -f_mapHeight / 2);
+ Gizmos.DrawLine(from, to);
+ }
+
+ foreach (FBGrid g in f_grid)
+ {
+ if (g.CanHold)
+ {
+ Vector3 pos = GetPosition(g);
+ Gizmos.DrawIcon(pos, "holder.png", true);
+ }
+ }
+
+ Gizmos.color = Color.red;
+ for (int i = 0; i < f_road.Count; i++)
+ {
+ //起点
+ if (i == 0)
+ Gizmos.DrawIcon(GetPosition(f_road[i]), "start.png", true);
+
+ //终点
+ if (f_road.Count > 1 && i == f_road.Count - 1)
+ Gizmos.DrawIcon(GetPosition(f_road[i]), "end.png", true);
+
+ //红色的连线
+ if (f_road.Count > 1 && i != 0)
+ {
+ Vector3 from = GetPosition(f_road[i - 1]);
+ Vector3 to = GetPosition(f_road[i]);
+ Gizmos.DrawLine(from, to);
+ }
+ }
+ }
+ #endregion
+
+ #region 事件回调
+ private void MapOnGridClick(object sender, FBGridClickEventArgs e)
+ {
+ //当前场景不是LevelBuilder 不能编辑
+ if (gameObject.scene.name != "LevelBuilder")
+ return;
+
+ if (Level == null)
+ return;
+
+ if (e.MouseButton == 0 && !f_road.Contains(e.Grid))
+ e.Grid.CanHold = !e.Grid.CanHold;
+
+ if (e.MouseButton == 1 && !e.Grid.CanHold)
+ {
+ if (f_road.Contains(e.Grid))
+ f_road.Remove(e.Grid);
+ else
+ f_road.Add(e.Grid);
+ }
+ }
+ #endregion
+
+ #region 帮助方法
+ //计算地图大小 网格大小
+ void CalculateSize()
+ {
+ Vector3 pos1 = Camera.main.ViewportToWorldPoint(new Vector3(0, 0));
+ Vector3 pos2 = Camera.main.ViewportToWorldPoint(new Vector3(1, 1));
+
+ f_mapWidth = pos2.x - pos1.x;
+ f_mapHeight = pos2.y - pos1.y;
+
+ f_tileWidth = f_mapWidth / ColumnCount;
+ f_tileHeight = f_mapHeight / RowCount;
+ }
+
+ ///
+ /// 根据网格获取网格的世界坐标
+ ///
+ /// 网格
+ ///
+ public Vector3 GetPosition(FBGrid g)
+ {
+ return new Vector3(
+ -f_mapWidth / 2 + (g.Index_X + 0.5f) * f_tileWidth,
+ -f_mapHeight / 2 + (g.Index_Y + 0.5f) * f_tileHeight,
+ 0);
+ }
+
+ /// 根据索引获取网格 >
+ FBGrid GetGrid(int x, int y)
+ {
+ int index = x + y * ColumnCount;
+
+ if (index < 0 || index >= f_grid.Count)
+ return null;
+
+ return f_grid[index];
+ }
+
+ ///
+ /// 根据位置获取网格
+ ///
+ /// 坐标
+ ///
+ public FBGrid GetGrid(Vector3 position)
+ {
+ int gridX=(int)((position.x + f_mapWidth / 2) / f_tileWidth);
+ int gridY = (int)((position.y + f_mapHeight / 2) / f_tileHeight);
+ return GetGrid(gridX, gridY);
+ }
+
+ /// 获取鼠标下面的格子
+ FBGrid GetTileUnderMouse()
+ {
+ Vector2 wordPos = GetWorldPosition();
+ //int col = (int)((wordPos.x + f_mapWidth / 2) / f_tileWidth);
+ //int row = (int)((wordPos.y + f_mapHeight / 2) / f_tileHeight);
+ return GetGrid(wordPos);
+ }
+
+ /// 获取鼠标所在位置的世界坐标
+ Vector3 GetWorldPosition()
+ {
+ Vector3 viewPos = Camera.main.ScreenToViewportPoint(Input.mousePosition);
+ Vector3 worldPos = Camera.main.ViewportToWorldPoint(viewPos);
+ return worldPos;
+ }
+ #endregion
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBMap.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBMap.cs.meta
new file mode 100644
index 0000000..a52c968
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBMap.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 47c233d9e781f6a4b9d21d975486416f
+timeCreated: 1537411422
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBMonster.cs b/mycj/Assets/Game/Scripts/Application/Object/FBMonster.cs
new file mode 100644
index 0000000..1d83380
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBMonster.cs
@@ -0,0 +1,143 @@
+// Felix-Bang:FBMonster
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:怪物
+// Createtime:2018/10/15
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBMonster : FBRole
+ {
+ #region 常量
+ public const float CLOSEDDISTANCE = 0.1f;
+ #endregion
+
+ #region 事件
+ public event Action ReachedAction;
+ #endregion
+
+ #region 字段
+
+ [SerializeField]
+ MonsterType f_type = MonsterType.Monster0;
+ float f_moveSpeed; //移动速度
+ Vector3[] f_path=null; //路径拐点
+ int f_pathIndex = -1; //下一拐点索引
+ bool f_isReached = false; //是否到达终点
+
+ #endregion
+
+ #region 属性
+ public float MoveSpeed
+ {
+ get { return f_moveSpeed; }
+ set
+ {
+ f_moveSpeed = value;
+ }
+ }
+ #endregion
+
+ #region Unity回调
+ void Update ()
+ {
+ if (f_isReached)
+ return;
+
+ Vector3 pos = transform.position;
+ Vector3 dest = f_path[f_pathIndex + 1];
+ float dis = Vector3.Distance(pos,dest);
+
+ if (dis < CLOSEDDISTANCE)
+ {
+ MoveTo(dest);
+
+ if (HasNext())
+ MoveNext();
+ else
+ {
+ f_isReached = true;
+
+ //触发到达终点的事件
+ if (ReachedAction != null)
+ ReachedAction(this);
+ }
+ }
+ else
+ {
+ Vector3 direction = (dest - pos).normalized;
+ transform.Translate(direction * f_moveSpeed * Time.deltaTime);
+ }
+ }
+ #endregion
+
+ #region 事件回调
+ public override void OnSpawn()
+ {
+ base.OnSpawn();
+ FBMonsterInfo info = FBGame.Instance.StaticData.GetMoster(f_type);
+ MaxHP = info.HP;
+ HP = info.HP;
+ MoveSpeed = info.MoveSpeed;
+ }
+
+ public override void OnUnspawn()
+ {
+ base.OnUnspawn();
+ f_moveSpeed = 0;
+ f_path = null;
+ f_pathIndex = -1;
+ f_isReached = false;
+ ReachedAction = null;
+ }
+ #endregion
+
+ #region 方法
+ public void OnLoad(Vector3[] path)
+ {
+ f_path = path;
+ MoveNext();
+ }
+
+ private bool HasNext()
+ {
+ return f_pathIndex + 1 < f_path.Length - 1;
+ }
+
+ private void MoveNext()
+ {
+ if (!HasNext())
+ return;
+
+ if (f_pathIndex == -1)
+ {
+ f_pathIndex = 0;
+ MoveTo(f_path[f_pathIndex]);
+ }
+ else
+ f_pathIndex++;
+ }
+
+ private void MoveTo(Vector3 position)
+ {
+ transform.position = position;
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBMonster.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBMonster.cs.meta
new file mode 100644
index 0000000..63bff4f
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBMonster.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c3cff266cc522ca46b0a3c32f901fe6b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBRole.cs b/mycj/Assets/Game/Scripts/Application/Object/FBRole.cs
new file mode 100644
index 0000000..22387a9
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBRole.cs
@@ -0,0 +1,121 @@
+// Felix-Bang:FBRole
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:角色色基类
+// Createtime:2018/10/15
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using System;
+
+namespace FBApplication
+{
+ public abstract class FBRole : FBReusableObject, IFBReusable
+ {
+
+ #region 常量
+ #endregion
+
+ #region 事件
+ public event Action HPChangedAction; //血量变化事件
+ public event Action DeadAction; //死亡事件
+ #endregion
+
+ #region 字段
+ int f_hp;
+ int f_maxHp;
+
+ #endregion
+
+ #region 属性
+ public int HP
+ {
+ get { return f_hp; }
+ set
+ {
+ value = Mathf.Clamp(value, 0, f_maxHp);
+
+ if (value == f_hp)
+ return;
+
+ f_hp = value;
+ if (HPChangedAction != null)
+ HPChangedAction(f_hp, f_maxHp);
+
+ if (f_hp == 0)
+ {
+ if (DeadAction != null)
+ DeadAction(this);
+ }
+ }
+ }
+
+ public int MaxHP
+ {
+ get { return f_maxHp; }
+ set
+ {
+ if (value < 0)
+ value = 0;
+
+ f_maxHp = value;
+ }
+ }
+
+ public bool IsDead
+ {
+ get { return f_hp == 0; }
+ }
+
+
+ #endregion
+
+
+
+ #region 事件回调
+ public override void OnSpawn()
+ {
+ this.DeadAction += OnDie;
+ }
+
+ public override void OnUnspawn()
+ {
+ HP = 0;
+ MaxHP = 0;
+
+ while (HPChangedAction != null)
+ HPChangedAction -= HPChangedAction;
+
+ while (DeadAction != null)
+ DeadAction -= DeadAction;
+ }
+ #endregion
+
+ #region 方法
+ public virtual void Damage(int hit)
+ {
+ if (IsDead)
+ return;
+
+ HP -= hit;
+ }
+
+ protected virtual void OnDie(FBRole role) {}
+ #endregion
+
+
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBRole.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBRole.cs.meta
new file mode 100644
index 0000000..7e06b3f
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBRole.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e0a3f395393e70e478548bd21e320618
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBTower.cs b/mycj/Assets/Game/Scripts/Application/Object/FBTower.cs
new file mode 100644
index 0000000..dbf5f5e
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBTower.cs
@@ -0,0 +1,174 @@
+// Felix-Bang:FBTower
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using System;
+
+namespace FBApplication
+{
+ public abstract class FBTower : FBReusableObject, IFBReusable
+ {
+ #region 字段
+ protected Animator f_animator;
+ [SerializeField] int f_level = 0;
+ FBMonster f_target = null;
+ float f_lastShotTime = 0;
+ FBGrid f_grid;
+ #endregion
+
+ #region 属性
+ public FBGrid Tile { get; private set; }
+ public int ID { get; private set; }
+ public int MaxLevel { get; private set; }
+ public int Level
+ {
+ get { return f_level; }
+ set
+ {
+ f_level = Mathf.Clamp(value, 0, MaxLevel);
+ transform.localScale = Vector3.one * (f_level);
+ }
+ }
+ public bool IsTopLevel { get { return Level >= MaxLevel; } }
+ public float ShotRate { get; private set; }
+ public float GuardRange { get; private set; }
+ private int BasePrice { get; set; }
+ public int UseBulletID { get; set; }
+ public int Price { get { return BasePrice * Level; } }
+ public Rect MapRect { get; private set; }
+ #endregion
+
+ #region Unity回调
+ protected virtual void Awake()
+ {
+ f_animator = GetComponent();
+ }
+
+ void Update()
+ {
+ //转向目标
+ if (f_target == null)
+ {
+ GameObject[] monsters = GameObject.FindGameObjectsWithTag("Monster");
+
+ foreach (GameObject m in monsters)
+ {
+ FBMonster monster = m.GetComponent();
+ float dis = Vector3.Distance(transform.position, monster.transform.position);
+ if (!monster.IsDead && dis <= GuardRange)
+ {
+ f_target = monster;
+ break;
+ }
+ }
+
+ LookAt(f_target);
+ }
+ else
+ {
+ float dis = Vector3.Distance(transform.position, f_target.transform.position);
+ if (f_target.IsDead && dis > GuardRange)
+ {
+ f_target = null;
+ LookAt(f_target);
+ }
+ else
+ {
+ LookAt(f_target);
+
+ float attackTime = f_lastShotTime + 1f / ShotRate;
+ if (Time.time >= attackTime)
+ {
+ Shot(f_target);
+ f_lastShotTime = Time.time;
+ }
+ }
+ }
+ }
+ #endregion
+
+
+ #region 方法
+ public void Load(int towerId, FBGrid grid, Rect mapRect)
+ {
+ FBTowerInfo info = FBGame.Instance.StaticData.GetTower(towerId);
+ ID = info.ID;
+ MaxLevel = info.MaxLevel;
+ BasePrice = info.BasePrice;
+ GuardRange = info.GuardRange;
+ ShotRate = info.ShotRate;
+ UseBulletID = info.UseBulletID;
+ Level = 1;
+ f_grid = grid;
+ MapRect = mapRect;
+ }
+
+ protected virtual void Shot(FBMonster monster)
+ {
+ if (f_animator.gameObject.activeSelf)
+ f_animator.SetTrigger("IsAttack");
+ }
+
+
+ public override void OnSpawn()
+ {
+ f_animator = GetComponent();
+ }
+
+ public override void OnUnspawn()
+ {
+ if (f_animator.gameObject.activeSelf)
+ f_animator.ResetTrigger("IsAttack");
+
+ f_animator = null;
+ f_target = null;
+ ID = 0;
+ Level = 0;
+ MaxLevel = 0;
+ BasePrice = 0;
+ GuardRange = 0;
+ ShotRate = 0;
+ UseBulletID = 0;
+
+ f_grid = null;
+ }
+ #endregion
+
+ #region 帮助方法
+ private void LookAt(FBMonster target)
+ {
+ if (target != null)
+ {
+ Vector3 dir = (f_target.transform.position - transform.position).normalized;
+ float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
+ Vector3 eulerAnglles = transform.eulerAngles;
+ eulerAnglles.z = angle - 90f;
+ transform.eulerAngles = eulerAnglles;
+ }
+ else
+ {
+ Vector3 eulerAnglles = transform.eulerAngles;
+ eulerAnglles.z = 0;
+ transform.eulerAngles = eulerAnglles;
+ }
+ }
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/Object/FBTower.cs.meta b/mycj/Assets/Game/Scripts/Application/Object/FBTower.cs.meta
new file mode 100644
index 0000000..5a19197
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/Object/FBTower.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fafaa2813d16c654e8c4be1c95a0b9b5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData.meta b/mycj/Assets/Game/Scripts/Application/StaticData.meta
new file mode 100644
index 0000000..21d5296
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d82b7e05234f05440b4c1f7548c4bc04
+folderAsset: yes
+timeCreated: 1537343558
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBBulletInfo.cs b/mycj/Assets/Game/Scripts/Application/StaticData/FBBulletInfo.cs
new file mode 100644
index 0000000..911c1b6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBBulletInfo.cs
@@ -0,0 +1,35 @@
+// Felix-Bang:FBBulletInfo
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:子弹
+// Createtime:2018/10/18
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBBulletInfo
+ {
+ /// ID
+ public int ID;
+ /// 预制件名
+ public string PrefabName;
+ /// 基本速度
+ public float BaseSpeed;
+ /// 基础攻击力
+ public int BaseAttack;
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBBulletInfo.cs.meta b/mycj/Assets/Game/Scripts/Application/StaticData/FBBulletInfo.cs.meta
new file mode 100644
index 0000000..8b97407
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBBulletInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0fa1af28693a331448c4c5601ac69c0f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBCarrotInfo.cs b/mycj/Assets/Game/Scripts/Application/StaticData/FBCarrotInfo.cs
new file mode 100644
index 0000000..3f22b65
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBCarrotInfo.cs
@@ -0,0 +1,33 @@
+// Felix-Bang:FBCarrotInfo
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:萝卜
+// Createtime:2018/10/15
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBCarrotInfo
+ {
+ #region 字段
+ /// ID
+ public int ID;
+ /// 血量
+ public int HP;
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBCarrotInfo.cs.meta b/mycj/Assets/Game/Scripts/Application/StaticData/FBCarrotInfo.cs.meta
new file mode 100644
index 0000000..c4f1ec1
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBCarrotInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0fa5931779136764aa8fe3d2e699aac6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBMonsterInfo.cs b/mycj/Assets/Game/Scripts/Application/StaticData/FBMonsterInfo.cs
new file mode 100644
index 0000000..0bc025b
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBMonsterInfo.cs
@@ -0,0 +1,37 @@
+// Felix-Bang:FBMonsterInfo
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBMonsterInfo
+ {
+ #region 字段
+ /// ID
+ public int ID;
+ /// 血量
+ public int HP;
+ /// 移动速度
+ public float MoveSpeed;
+ public int Price;
+
+ #endregion
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBMonsterInfo.cs.meta b/mycj/Assets/Game/Scripts/Application/StaticData/FBMonsterInfo.cs.meta
new file mode 100644
index 0000000..e30a4d6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBMonsterInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1ae06f2057bb5da4b95288182f2684c3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBStaticData.cs b/mycj/Assets/Game/Scripts/Application/StaticData/FBStaticData.cs
new file mode 100644
index 0000000..39b0250
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBStaticData.cs
@@ -0,0 +1,92 @@
+// Felix-Bang:FBStaticData
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:静态数据
+// Createtime:2018/9/26
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using FBFramework;
+using System;
+
+namespace FBApplication
+{
+ public class FBStaticData :FBSingleton
+ {
+ Dictionary f_carrots_dic = new Dictionary();
+ Dictionary f_monsters_dic = new Dictionary();
+ Dictionary f_towers_dic = new Dictionary();
+ Dictionary f_bullets_dic = new Dictionary();
+
+ protected override void Awake()
+ {
+ base.Awake();
+ OnInitializeCarrots();
+ OnInitializeMonsters();
+ OnInitializeTowers();
+ OnInitializeBullets();
+ }
+
+ private void OnInitializeCarrots()
+ {
+ f_carrots_dic.Add(0, new FBCarrotInfo() { ID = 0, HP = 4 });
+ }
+
+ private void OnInitializeMonsters()
+ {
+ f_monsters_dic.Add(0, new FBMonsterInfo() { ID = 0, HP = 5, MoveSpeed = 1f, Price = 1 });
+ f_monsters_dic.Add(1, new FBMonsterInfo() { ID = 1, HP = 5, MoveSpeed = 1f, Price = 2 });
+ f_monsters_dic.Add(2, new FBMonsterInfo() { ID = 2, HP = 15, MoveSpeed = 2f, Price = 5 });
+ f_monsters_dic.Add(3, new FBMonsterInfo() { ID = 3, HP = 20, MoveSpeed = 2f, Price = 10 });
+ f_monsters_dic.Add(4, new FBMonsterInfo() { ID = 4, HP = 20, MoveSpeed = 2f, Price = 15 });
+ f_monsters_dic.Add(5, new FBMonsterInfo() { ID = 5, HP = 100, MoveSpeed = 0.5f, Price = 20 });
+ }
+
+ private void OnInitializeTowers()
+ {
+ f_towers_dic.Add(0, new FBTowerInfo() { ID = 0, PrefabName = "Bottle", NormalIcon = "Bottle/Bottle01", DisabledIcon = "Bottle/Bottle00", MaxLevel = 3, BasePrice = 1, ShotRate = 2, GuardRange = 3f, UseBulletID = 0 });
+ f_towers_dic.Add(1, new FBTowerInfo() { ID = 1, PrefabName = "Fan", NormalIcon = "Fan/Fan01", DisabledIcon = "Fan/Fan00", MaxLevel = 3, BasePrice = 2, ShotRate = 0.3f, GuardRange = 3f, UseBulletID = 1 });
+ }
+
+ private void OnInitializeBullets()
+ {
+ f_bullets_dic.Add(0, new FBBulletInfo() { ID = 0, PrefabName = "BallBullet", BaseSpeed = 5f, BaseAttack = 1 });
+ f_bullets_dic.Add(1, new FBBulletInfo() { ID = 1, PrefabName = "FanBullet", BaseSpeed = 2f, BaseAttack = 1 });
+ }
+
+ public FBCarrotInfo GetCarrot()
+ {
+ return f_carrots_dic[0];
+ }
+
+ public FBMonsterInfo GetMoster(MonsterType mosterID)
+ {
+ return f_monsters_dic[(int)mosterID];
+ }
+
+ public FBTowerInfo GetTower(int towerID)
+ {
+ return f_towers_dic[towerID];
+ }
+
+ public FBBulletInfo GetBullet(int bulletID)
+ {
+ return f_bullets_dic[bulletID];
+ }
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBStaticData.cs.meta b/mycj/Assets/Game/Scripts/Application/StaticData/FBStaticData.cs.meta
new file mode 100644
index 0000000..5706737
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBStaticData.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2906467ad34ff394b92ce476caf49a37
+timeCreated: 1537924184
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBTowerInfo.cs b/mycj/Assets/Game/Scripts/Application/StaticData/FBTowerInfo.cs
new file mode 100644
index 0000000..4632475
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBTowerInfo.cs
@@ -0,0 +1,45 @@
+// Felix-Bang:FBTowerInfo
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:炮塔信息
+// Createtime:2018/10/16
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBApplication
+{
+ public class FBTowerInfo
+ {
+ /// ID
+ public int ID;
+ /// 预制件
+ public string PrefabName;
+ /// 正常图标
+ public string NormalIcon;
+ /// 失效图标
+ public string DisabledIcon;
+ /// 最高等级
+ public int MaxLevel;
+ /// 价格
+ public int BasePrice;
+ /// 射击频率
+ public float ShotRate;
+ /// 警戒范围
+ public float GuardRange;
+ /// 子弹ID
+ public int UseBulletID;
+ }
+}
diff --git a/mycj/Assets/Game/Scripts/Application/StaticData/FBTowerInfo.cs.meta b/mycj/Assets/Game/Scripts/Application/StaticData/FBTowerInfo.cs.meta
new file mode 100644
index 0000000..def16c4
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/Application/StaticData/FBTowerInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9c5a47d470bc65d42b928eaedf38a313
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework.meta b/mycj/Assets/Game/Scripts/FB-Framework.meta
new file mode 100644
index 0000000..29cdaff
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a534ee01618cb9e43a12a06b578aeb87
+folderAsset: yes
+timeCreated: 1537231412
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC.meta
new file mode 100644
index 0000000..ff0ab3a
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c3c33f253eda7bb49880414699bf25d1
+folderAsset: yes
+timeCreated: 1537322611
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBApplicationBase.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBApplicationBase.cs
new file mode 100644
index 0000000..8bb8851
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBApplicationBase.cs
@@ -0,0 +1,41 @@
+// Felix-Bang:FBApplicationBase
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:MVC框架启动的入口
+// Createtime:2018/9/19
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public abstract class FBApplicationBase:FBSingleton
+ where T : MonoBehaviour
+ {
+
+ protected void RegisterController(string eventName, Type controllerType)
+ {
+ FBMVC.RegisterController(eventName, controllerType);
+ }
+
+ protected void SendEvent(string eventName,object data=null)
+ {
+ FBMVC.SendEvent(eventName,data);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBApplicationBase.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBApplicationBase.cs.meta
new file mode 100644
index 0000000..5faf5f9
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBApplicationBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b4c00da98f7af234484eb4bc43816ffa
+timeCreated: 1537338241
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBController.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBController.cs
new file mode 100644
index 0000000..2907169
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBController.cs
@@ -0,0 +1,67 @@
+// Felix-Bang:FBController
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:控制器基类:协调M和V之间的交互,无需实例化,动态创建执行命令
+// 1. 获取到模型和视图,并且调用方法
+// 2. 处理视图发出的事件
+// Createtime:2018/9/19
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public abstract class FBController
+ {
+ /// 获取Model
+ protected T GetModel()
+ where T : FBModel
+ {
+ return FBMVC.GetModel() as T;
+ }
+
+ /// 获取View
+ protected T GetView()
+ where T : FBView
+ {
+ return FBMVC.GetView() as T;
+ }
+
+ /// 注册新Model
+ protected void RegisterModel(FBModel model)
+ {
+ FBMVC.RegisterModel(model);
+ }
+
+ /// 注册新View
+ protected void RegisterView(FBView view)
+ {
+ FBMVC.RegisterView(view);
+ }
+
+ /// 注册新Controller
+ protected void RegisterController(string eventName, Type controllerType)
+ {
+ FBMVC.RegisterController(eventName, controllerType);
+ }
+
+ // 处理事件
+ public abstract void Execute(object data = null);
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBController.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBController.cs.meta
new file mode 100644
index 0000000..84118d6
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 88ec0a70c9733b8469b5d2aa09e109d4
+timeCreated: 1537323109
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBMVC.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBMVC.cs
new file mode 100644
index 0000000..bd6da57
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBMVC.cs
@@ -0,0 +1,120 @@
+// Felix-Bang:FBMVC(中间量)
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:MVC的中间类,用于储存M、V、C,分发事件
+// Createtime:2018/9/19
+
+
+using System;
+using System.Collections.Generic;
+
+namespace FBFramework
+{
+ public static class FBMVC
+ {
+ //用字典存储MVC
+ public static Dictionary Models = new Dictionary(); //名字---模型
+ public static Dictionary Views = new Dictionary(); //名字---视图
+ public static Dictionary CommandMap = new Dictionary(); //事件---控制器类型
+
+ #region 注册功能
+ ///
+ /// 注册Model
+ ///
+ /// Model实例
+ public static void RegisterModel(FBModel model)
+ {
+ Models[model.Name] = model;
+ }
+
+ ///
+ /// 注册View
+ ///
+ /// View实例
+ public static void RegisterView(FBView view)
+ {
+ //防止重复
+ if (Views.ContainsKey(view.name))
+ Views.Remove(view.name);
+
+ view.RegisterEvents();
+ Views[view.name] = view;
+ }
+
+ ///
+ /// 注册控制器
+ ///
+ /// 事件名称
+ /// 控制器类型
+ public static void RegisterController(string eventName,Type controllerType)
+ {
+ CommandMap[eventName] = controllerType;
+ }
+ #endregion
+
+ #region 检索功能
+ public static T GetModel()
+ where T:FBModel
+ {
+ foreach (FBModel m in Models.Values)
+ {
+ if (m is T)
+ return m as T;
+ }
+
+ return null;
+ }
+
+ public static T GetView()
+ where T : FBView
+ {
+ foreach (FBView v in Views.Values)
+ {
+ if (v is T)
+ return v as T;
+ }
+
+ return null;
+ }
+ #endregion
+
+ ///
+ /// 发送事件
+ ///
+ /// 事件名称
+ /// 携带信息(可空)
+ public static void SendEvent(string eventName, object data = null)
+ {
+ //控制器一般对变化有逻辑性的处理,然后返回一个处理结果;
+ //View仅随变化实现相应的显示,
+ //因此要先对控制器响应,再View
+
+ //控制器响应
+ if (CommandMap.ContainsKey(eventName))
+ {
+ Type t = CommandMap[eventName];
+ FBController c = Activator.CreateInstance(t) as FBController;
+ c.Execute(data);
+ }
+
+ //视图响应
+ foreach (FBView v in Views.Values)
+ {
+ if (v.EventLists.Contains(eventName))
+ v.HandleEvent(eventName, data);
+ }
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBMVC.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBMVC.cs.meta
new file mode 100644
index 0000000..5be4a81
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBMVC.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6be3a1c893bc5b74daa04200e7e00f84
+timeCreated: 1537323208
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBModel.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBModel.cs
new file mode 100644
index 0000000..60d0e50
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBModel.cs
@@ -0,0 +1,42 @@
+// Felix-Bang:FBModel
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:所有数据模型的基类,不需要实例化
+// Model不需要引用View和Controller中的方法,只需要发送消息即可
+// Createtime:2018/9/19
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public abstract class FBModel
+ {
+ /// 名称:用于检索
+ public abstract string Name { get; }
+
+ ///
+ /// 发送事件
+ ///
+ /// 时间名
+ /// 携带数据信息
+ protected void SendEvent(string eventName, object data = null)
+ {
+ FBMVC.SendEvent(eventName,data);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBModel.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBModel.cs.meta
new file mode 100644
index 0000000..b6bc2e7
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBModel.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d1027471ffb949b40b77d7016b2b8a70
+timeCreated: 1537322672
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBView.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBView.cs
new file mode 100644
index 0000000..7dac1ff
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBView.cs
@@ -0,0 +1,60 @@
+// Felix-Bang:FBView
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:界面的基类(需要挂载到游戏对象)
+// 1. 查询模型(调用模型的方法),接收模型发送的消息
+// 2. 处理消息
+// 3. 向控制器发送消息
+// Createtime:2018/9/19
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public abstract class FBView : MonoBehaviour
+ {
+ /// 名称:用于检索
+ public abstract string Name { get; }
+ /// View相关的事件列表
+ [HideInInspector]
+ public List EventLists = new List();
+
+ ///
+ /// 事件处理
+ ///
+ /// 事件名称
+ /// 携带信息
+ public abstract void HandleEvent(string eventName, object data = null);
+
+ // 注册关心的事件
+ public virtual void RegisterEvents() {}
+
+ /// 获取模型
+ protected T GetModel()
+ where T : FBModel
+ {
+ return FBMVC.GetModel() as T;
+ }
+
+ // 发送事件
+ protected void SendEvent(string eventName, object data = null)
+ {
+ FBMVC.SendEvent(eventName, data);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBView.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBView.cs.meta
new file mode 100644
index 0000000..a308034
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-MVC/FBView.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: af02205ea453f064eb6c49d1247fbf1c
+timeCreated: 1537322810
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool.meta
new file mode 100644
index 0000000..d1448a2
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5df5411aad2baf84ba2125faa240f70d
+folderAsset: yes
+timeCreated: 1537231907
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBObjectPool.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBObjectPool.cs
new file mode 100644
index 0000000..cf1c547
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBObjectPool.cs
@@ -0,0 +1,85 @@
+// Felix-Bang:FBObjectPool
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:对象池
+// Createtime:2018/9/18
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public class FBObjectPool : FBSingleton
+ {
+ public string ResourceDir = "";
+ Dictionary f_pools = new Dictionary();
+
+ ///
+ /// 创建对象
+ ///
+ /// 对象名
+ ///
+ public GameObject Spawn(string name)
+ {
+ if (!f_pools.ContainsKey(name))
+ RegisterNewPool(name);
+
+ FBSubPool pool = f_pools[name];
+
+ return pool.Spawn();
+ }
+
+ /// 回收对象
+ public void Unspawn(GameObject go)
+ {
+ FBSubPool pool = null;
+
+ foreach (FBSubPool p in f_pools.Values)
+ {
+ if (p.IsContains(go))
+ {
+ pool = p;
+ break;
+ }
+ }
+
+ pool.Unspawn(go);
+ }
+
+ /// 回收所有对象
+ public void UnspawnAll()
+ {
+ foreach (FBSubPool p in f_pools.Values)
+ p.UnspawnAll();
+ }
+
+ /// 创建一个新的SubPool
+ void RegisterNewPool(string name)
+ {
+ string path = "";
+ if (string.IsNullOrEmpty(ResourceDir))
+ path = name;
+ else
+ path = ResourceDir + "/" + name;
+
+ GameObject prefab = Resources.Load(path);
+ FBSubPool pool = new FBSubPool(transform, prefab);
+ f_pools.Add(pool.Name, pool);
+ }
+ }
+
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBObjectPool.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBObjectPool.cs.meta
new file mode 100644
index 0000000..a551f74
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBObjectPool.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 487561bf879e4e341bf2280dc0451344
+timeCreated: 1537235504
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBReusableObject.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBReusableObject.cs
new file mode 100644
index 0000000..26c91d0
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBReusableObject.cs
@@ -0,0 +1,30 @@
+// Felix-Bang:FBReusableObject
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public abstract class FBReusableObject : MonoBehaviour,IFBReusable
+ {
+ public abstract void OnSpawn();
+
+ public abstract void OnUnspawn();
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBReusableObject.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBReusableObject.cs.meta
new file mode 100644
index 0000000..06ea5b0
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBReusableObject.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ccfa771f395dbb74eaee156edd5c4846
+timeCreated: 1537232948
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBSubPool.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBSubPool.cs
new file mode 100644
index 0000000..161f913
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBSubPool.cs
@@ -0,0 +1,101 @@
+// Felix-Bang:FBSubPool
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public class FBSubPool
+ {
+ Transform f_parent;
+ GameObject f_prefab;
+ List f_objects = new List();
+
+ /// 名称标识
+ public string Name
+ {
+ get { return f_prefab.name; }
+ }
+
+ ///
+ /// 构造
+ ///
+ /// 预制件
+ public FBSubPool(Transform parent, GameObject prefab)
+ {
+ f_parent = parent;
+ f_prefab = prefab;
+ }
+
+ /// 创建对象
+ public GameObject Spawn()
+ {
+ GameObject go = null;
+
+ foreach (var obj in f_objects)
+ {
+ if (!obj.activeSelf)
+ {
+ go = obj;
+ break;
+ }
+ }
+
+ if (go == null)
+ {
+ go = GameObject.Instantiate(f_prefab);
+ go.transform.parent = f_parent;
+ f_objects.Add(go);
+ }
+
+ go.SetActive(true);
+ go.SendMessage("OnSpawn", SendMessageOptions.DontRequireReceiver);
+ return go;
+ }
+
+ /// 回收对象
+ public void Unspawn(GameObject go)
+ {
+ if (IsContains(go))
+ {
+ go.SendMessage("OnUnspawn", SendMessageOptions.DontRequireReceiver);
+ go.SetActive(false);
+ }
+ }
+
+ /// 回收本对象池全部对象
+ public void UnspawnAll()
+ {
+ foreach (var item in f_objects)
+ {
+ if (item.activeSelf)
+ Unspawn(item);
+ }
+ }
+
+ ///
+ /// 对象池是否包含对象
+ ///
+ /// 目标对象
+ ///
+ public bool IsContains(GameObject go)
+ {
+ return f_objects.Contains(go);
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBSubPool.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBSubPool.cs.meta
new file mode 100644
index 0000000..503cf2a
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/FBSubPool.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ff32029205cd7fb409e9ee5e5981bc22
+timeCreated: 1537233203
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/IFBReusable.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/IFBReusable.cs
new file mode 100644
index 0000000..4e3ca6d
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/IFBReusable.cs
@@ -0,0 +1,28 @@
+// Felix-Bang:IFBReusable GameobjectPoolInterface
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public interface IFBReusable
+ {
+ void OnSpawn();
+ void OnUnspawn();
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/IFBReusable.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/IFBReusable.cs.meta
new file mode 100644
index 0000000..cecef2a
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Pool/IFBReusable.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: cf8d2d8fbe1d31b4782aea645d60cfa6
+timeCreated: 1537232035
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton.meta
new file mode 100644
index 0000000..0097e59
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c7ba8810b03284b44acffce5ad759047
+folderAsset: yes
+timeCreated: 1537262822
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton/FBSingleton.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton/FBSingleton.cs
new file mode 100644
index 0000000..8ca1375
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton/FBSingleton.cs
@@ -0,0 +1,40 @@
+// Felix-Bang:FBSingleton
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:单例模式
+// Createtime:2018/9/18
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public abstract class FBSingleton : MonoBehaviour
+ where T:MonoBehaviour
+ {
+ private static T f_instance=null;
+ public static T Instance
+ {
+ get { return f_instance; }
+ }
+
+ protected virtual void Awake()
+ {
+ f_instance = this as T;
+ }
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton/FBSingleton.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton/FBSingleton.cs.meta
new file mode 100644
index 0000000..0871a30
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Singleton/FBSingleton.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b7f1db8eac669b24a846349808a1e2d2
+timeCreated: 1537262827
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound.meta
new file mode 100644
index 0000000..672631f
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 163a4800bb07ef64b8d50a26abd2895a
+folderAsset: yes
+timeCreated: 1537319078
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound/FBSound.cs b/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound/FBSound.cs
new file mode 100644
index 0000000..85cadef
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound/FBSound.cs
@@ -0,0 +1,101 @@
+// Felix-Bang:FBSound
+// へ /|
+// /\7 ∠_/
+// / │ / /
+// │ Z _,< / /`ヽ
+// │ ヽ / 〉
+// Y ` / /
+// イ● 、 ● ⊂⊃〈 /
+// () へ | \〈
+// >ー 、_ ィ │ //
+// / へ / ノ<| \\
+// ヽ_ノ (_/ │//
+// 7 |/
+// >―r ̄ ̄`ー―_
+// Describe:
+// Createtime:
+
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace FBFramework
+{
+ public class FBSound : FBSingleton
+ {
+ public string ResourceDir = "";
+ AudioSource f_bgm;
+ AudioSource f_effectSound;
+
+ public float BgmVolum
+ {
+ get { return f_bgm.volume; }
+ set { f_bgm.volume = value; }
+ }
+
+ public float EffectVolum
+ {
+ get { return f_effectSound.volume; }
+ set { f_effectSound.volume = value; }
+ }
+
+ protected override void Awake()
+ {
+ base.Awake();
+
+ f_bgm = this.gameObject.AddComponent();
+ f_bgm.playOnAwake = true;
+ f_bgm.loop = true;
+
+ f_effectSound = this.gameObject.AddComponent();
+ }
+
+ /// 播放背景音乐
+ public void PlayBgm(string audioName)
+ {
+ string oldName = "";
+ if (f_bgm.clip == null)
+ oldName = "";
+ else
+ oldName = f_bgm.clip.name;
+
+ if (string.IsNullOrEmpty(oldName))
+ {
+ AudioClip clip = GetClip(audioName);
+ if (clip != null)
+ {
+ f_bgm.clip = clip;
+ f_bgm.Play();
+ }
+ }
+ }
+
+ /// 关闭背景音乐
+ public void StopBgm()
+ {
+ f_bgm.Stop();
+ f_bgm.clip = null;
+ }
+
+ /// 播放音效
+ public void PlayEffect(string audioName)
+ {
+ AudioClip clip = GetClip(audioName);
+ f_effectSound.PlayOneShot(clip);
+ }
+
+ private AudioClip GetClip(string audioName)
+ {
+ string path = string.Empty;
+ if (string.IsNullOrEmpty(ResourceDir))
+ path = string.Empty;
+ else
+ path = ResourceDir + "/" + audioName;
+
+ return Resources.Load(path);
+ }
+
+ }
+}
+
diff --git a/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound/FBSound.cs.meta b/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound/FBSound.cs.meta
new file mode 100644
index 0000000..55a97f2
--- /dev/null
+++ b/mycj/Assets/Game/Scripts/FB-Framework/FB-Sound/FBSound.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 82ad04c9c7c97d94a96ee7da13c2496f
+timeCreated: 1537319396
+licenseType: Pro
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Gizmos.meta b/mycj/Assets/Gizmos.meta
new file mode 100644
index 0000000..d5997e7
--- /dev/null
+++ b/mycj/Assets/Gizmos.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: eaf460253e547b6488cad4b7c830d195
+folderAsset: yes
+timeCreated: 1537341320
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Gizmos/end.png b/mycj/Assets/Gizmos/end.png
new file mode 100644
index 0000000..d549bfe
Binary files /dev/null and b/mycj/Assets/Gizmos/end.png differ
diff --git a/mycj/Assets/Gizmos/end.png.meta b/mycj/Assets/Gizmos/end.png.meta
new file mode 100644
index 0000000..de9f9ac
--- /dev/null
+++ b/mycj/Assets/Gizmos/end.png.meta
@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 70b3316f9e9efa743bf64cb82bb616f4
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ cookieLightType: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Gizmos/holder.png b/mycj/Assets/Gizmos/holder.png
new file mode 100644
index 0000000..a258b84
Binary files /dev/null and b/mycj/Assets/Gizmos/holder.png differ
diff --git a/mycj/Assets/Gizmos/holder.png.meta b/mycj/Assets/Gizmos/holder.png.meta
new file mode 100644
index 0000000..da96a4c
--- /dev/null
+++ b/mycj/Assets/Gizmos/holder.png.meta
@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 6842d2ef3c242d8418d6730c2971a3be
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ cookieLightType: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Gizmos/start.png b/mycj/Assets/Gizmos/start.png
new file mode 100644
index 0000000..be4b2d1
Binary files /dev/null and b/mycj/Assets/Gizmos/start.png differ
diff --git a/mycj/Assets/Gizmos/start.png.meta b/mycj/Assets/Gizmos/start.png.meta
new file mode 100644
index 0000000..85eca75
--- /dev/null
+++ b/mycj/Assets/Gizmos/start.png.meta
@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: 42a2789d0b0f12b4c8e5a670ef7b5faa
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ cookieLightType: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins.meta b/mycj/Assets/Plugins.meta
new file mode 100644
index 0000000..5dbf1ea
--- /dev/null
+++ b/mycj/Assets/Plugins.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4108fe022548eeb45882c45eddddc81b
+folderAsset: yes
+timeCreated: 1537231325
+licenseType: Pro
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins/Demigiant.meta b/mycj/Assets/Plugins/Demigiant.meta
new file mode 100644
index 0000000..d558c10
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 96e06810e82e58640939e15581470704
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween.meta b/mycj/Assets/Plugins/Demigiant/DOTween.meta
new file mode 100644
index 0000000..cbebc39
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: a50bd9a009c8dfc4ebd88cc8101225a7
+labels:
+- Tween
+- Tweening
+- Animation
+- HOTween
+- Paths
+- iTween
+- DFTween
+- LeanTween
+- Ease
+- Easing
+- Shake
+- Punch
+- 2DToolkit
+- TextMeshPro
+- Text
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.XML b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.XML
new file mode 100644
index 0000000..46e79c4
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.XML
@@ -0,0 +1,3089 @@
+
+
+
+ DOTween
+
+
+
+
+ Types of autoPlay behaviours
+
+
+
+ No tween is automatically played
+
+
+ Only Sequences are automatically played
+
+
+ Only Tweeners are automatically played
+
+
+ All tweens are automatically played
+
+
+
+ What axis to constrain in case of Vector tweens
+
+
+
+ Called the first time the tween is set in a playing state, after any eventual delay
+
+
+
+ Used in place of System.Func, which is not available in mscorlib.
+
+
+
+
+ Used in place of System.Action.
+
+
+
+
+ Public so it can be used by lose scripts related to DOTween (like DOTweenAnimation)
+
+
+
+
+ Used to separate DOTween class from the MonoBehaviour instance (in order to use static constructors on DOTween).
+ Contains all instance-based methods
+
+
+
+ Used internally inside Unity Editor, as a trick to update DOTween's inspector at every frame
+
+
+
+ Directly sets the current max capacity of Tweeners and Sequences
+ (meaning how many Tweeners and Sequences can be running at the same time),
+ so that DOTween doesn't need to automatically increase them in case the max is reached
+ (which might lead to hiccups when that happens).
+ Sequences capacity must be less or equal to Tweeners capacity
+ (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
+ Beware: use this method only when there are no tweens running.
+
+ Max Tweeners capacity.
+ Default: 200
+ Max Sequences capacity.
+ Default: 50
+
+
+
+ This class contains a C# port of the easing equations created by Robert Penner (http://robertpenner.com/easing).
+
+
+
+
+ Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in: accelerating from zero velocity.
+
+
+ Current time (in frames or seconds).
+
+
+ Expected easing duration (in frames or seconds).
+
+ Unused: here to keep same delegate for all ease types.
+ Unused: here to keep same delegate for all ease types.
+
+ The eased value.
+
+
+
+
+ Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out: decelerating from zero velocity.
+
+
+ Current time (in frames or seconds).
+
+
+ Expected easing duration (in frames or seconds).
+
+ Unused: here to keep same delegate for all ease types.
+ Unused: here to keep same delegate for all ease types.
+
+ The eased value.
+
+
+
+
+ Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in/out: acceleration until halfway, then deceleration.
+
+
+ Current time (in frames or seconds).
+
+
+ Expected easing duration (in frames or seconds).
+
+ Unused: here to keep same delegate for all ease types.
+ Unused: here to keep same delegate for all ease types.
+
+ The eased value.
+
+
+
+
+ Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
+
+
+
+
+ Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
+
+
+
+
+ Used to interpret AnimationCurves as eases.
+ Public so it can be used by external ease factories
+
+
+
+
+ Behaviour in case a tween nested inside a Sequence fails and is captured by safe mode
+
+
+
+ If the Sequence contains other elements, kill the failed tween but preserve the rest
+
+
+ Kill the whole Sequence
+
+
+
+ Log types thrown by errors captured and prevented by safe mode
+
+
+
+ No logs. NOT RECOMMENDED
+
+
+ Throw a normal log
+
+
+ Throw a warning log (default)
+
+
+ Throw an error log
+
+
+
+ Additional notices passed to plugins when updating.
+ Public so it can be used by custom plugins. Internally, only PathPlugin uses it
+
+
+
+
+ None
+
+
+
+
+ Lets the plugin know that we restarted or rewinded
+
+
+
+
+ OnRewind callback behaviour (can only be set via DOTween's Utility Panel)
+
+
+
+
+ When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will be fired only if the tween isn't already rewinded
+
+
+
+
+ When calling Rewind, OnRewind callbacks will always be fired, even if the tween is already rewinded.
+ When calling PlayBackwards/SmoothRewind instead, OnRewind callbacks will be fired only if the tween isn't already rewinded
+
+
+
+
+ When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will always be fired, even if the tween is already rewinded
+
+
+
+
+ Public only so custom shortcuts can access some of these methods
+
+
+
+
+ INTERNAL: used by DO shortcuts and Modules to set special startup mode
+
+
+
+
+ INTERNAL: used by DO shortcuts and Modules to set the tween as blendable
+
+
+
+
+ INTERNAL: used by DO shortcuts and Modules to prevent a tween from using a From setup even if passed
+
+
+
+
+ Used to dispatch commands that need to be captured externally, usually by Modules
+
+
+
+
+ Various utils
+
+
+
+
+ Returns a Vector3 with z = 0
+
+
+
+
+ Returns the 2D angle between two vectors
+
+
+
+
+ Returns a point on a circle with the given center and radius,
+ using Unity's circle coordinates (0° points up and increases clockwise)
+
+
+
+
+ Uses approximate equality on each axis instead of Unity's Vector3 equality,
+ because the latter fails (in some cases) when assigning a Vector3 to a transform.position and then checking it.
+
+
+
+
+ Looks for the type within all possible project assembly names
+
+
+
+ NO-GC METHOD: changes the start value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ If bigger than 0 applies it as the new tween duration
+
+
+ NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ NO-GC METHOD: changes the start and end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+
+
+
+ Struct that stores two colors (used for LineRenderer tweens)
+
+
+
+
+ Used for tween callbacks
+
+
+
+
+ Used for tween callbacks
+
+
+
+
+ Used for custom and animationCurve-based ease functions. Must return a value between 0 and 1.
+
+
+
+
+ Straight Quaternion plugin. Instead of using Vector3 values accepts Quaternion values directly.
+ Beware: doesn't work with LoopType.Incremental (neither directly nor if inside a LoopType.Incremental Sequence).
+ To use it, call DOTween.To with the plugin parameter overload, passing it PureQuaternionPlugin.Plug() as first parameter
+ (do not use any of the other public PureQuaternionPlugin methods):
+ DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
+
+
+
+
+ Plug this plugin inside a DOTween.To call.
+ Example:
+ DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
+
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+
+ Extra non-tweening-related curve methods
+
+
+
+
+ Cubic bezier curve methods
+
+
+
+
+ Calculates a point along the given Cubic Bezier segment-curve.
+
+ Segment start point
+ Start point's control point/handle
+ Segment end point
+ End point's control point/handle
+ 0-1 percentage along which to retrieve point
+
+
+
+ Returns an array containing a series of points along the given Cubic Bezier segment-curve.
+
+ Start point
+ Start point's control point/handle
+ End point
+ End point's control point/handle
+ Cloud resolution (min: 2)
+
+
+
+ Calculates a series of points along the given Cubic Bezier segment-curve and adds them to the given list.
+
+ Start point
+ Start point's control point/handle
+ End point
+ End point's control point/handle
+ Cloud resolution (min: 2)
+
+
+
+ Main DOTween class. Contains static methods to create and control tweens in a generic way
+
+
+
+ DOTween's version
+
+
+ If TRUE (default) makes tweens slightly slower but safer, automatically taking care of a series of things
+ (like targets becoming null while a tween is playing).
+ Default: TRUE
+
+
+ Log type when safe mode reports capturing an error and preventing it
+
+
+ Behaviour in case a tween nested inside a Sequence fails (and is caught by safe mode).
+ Default: NestedTweenFailureBehaviour.TryToPreserveSequence
+
+
+ If TRUE you will get a DOTween report when exiting play mode (only in the Editor).
+ Useful to know how many max Tweeners and Sequences you reached and optimize your final project accordingly.
+ Beware, this will slightly slow down your tweens while inside Unity Editor.
+ Default: FALSE
+
+
+ Global DOTween global timeScale (default: 1).
+ The final timeScale of a non-timeScaleIndependent tween is:
+ Unity's Time.timeScale * DOTween.timeScale * tween.timeScale
+ while the final timeScale of a timeScaleIndependent tween is:
+ DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale
+
+
+ DOTween timeScale applied only to timeScaleIndependent tweens (default: 1).
+ The final timeScale of a timeScaleIndependent tween is:
+ DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale
+
+
+ If TRUE, DOTween will use Time.smoothDeltaTime instead of Time.deltaTime for UpdateType.Normal and UpdateType.Late tweens
+ (unless they're set as timeScaleIndependent, in which case a value between the last timestep
+ and will be used instead).
+ Setting this to TRUE will lead to smoother animations.
+ Default: FALSE
+
+
+ If is TRUE, this indicates the max timeStep that an independent update call can last.
+ Setting this to TRUE will lead to smoother animations.
+ Default: FALSE
+
+
+ DOTween's log behaviour.
+ Default: LogBehaviour.ErrorsOnly
+
+
+ Used to intercept DOTween's logs. If this method isn't NULL, DOTween will call it before writing a log via Unity's own Debug log methods.
+ Return TRUE if you want DOTween to proceed with the log, FALSE otherwise.
+ This method must return a bool
and accept two parameters:
+ - LogType
: the type of Unity log that DOTween is trying to log
+ - object
: the log message that DOTween wants to log
+
+
+ If TRUE draws path gizmos in Unity Editor (if the gizmos button is active).
+ Deactivate this if you want to avoid gizmos overhead while in Unity Editor
+
+
+ If TRUE activates various debug options
+
+
+ Stores the target id so it can be used to give more info in case of safeMode error capturing.
+ Only active if both debugMode
and useSafeMode
are TRUE
+
+
+ Default updateType for new tweens.
+ Default: UpdateType.Normal
+
+
+ Sets whether Unity's timeScale should be taken into account by default or not.
+ Default: false
+
+
+ Default autoPlay behaviour for new tweens.
+ Default: AutoPlay.All
+
+
+ Default autoKillOnComplete behaviour for new tweens.
+ Default: TRUE
+
+
+ Default loopType applied to all new tweens.
+ Default: LoopType.Restart
+
+
+ If TRUE all newly created tweens are set as recyclable, otherwise not.
+ Default: FALSE
+
+
+ Default ease applied to all new Tweeners (not to Sequences which always have Ease.Linear as default).
+ Default: Ease.InOutQuad
+
+
+ Default overshoot/amplitude used for eases
+ Default: 1.70158f
+
+
+ Default period used for eases
+ Default: 0
+
+
+ Used internally. Assigned/removed by DOTweenComponent.Create/DestroyInstance
+
+
+
+ Must be called once, before the first ever DOTween call/reference,
+ otherwise it will be called automatically and will use default options.
+ Calling it a second time won't have any effect.
+ You can chain SetCapacity
to this method, to directly set the max starting size of Tweeners and Sequences:
+ DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20);
+
+ If TRUE all new tweens will be set for recycling, meaning that when killed,
+ instead of being destroyed, they will be put in a pool and reused instead of creating new tweens. This option allows you to avoid
+ GC allocations by reusing tweens, but you will have to take care of tween references, since they might result active
+ even if they were killed (since they might have been respawned and are now being used for other tweens).
+ If you want to automatically set your tween references to NULL when a tween is killed
+ you can use the OnKill callback like this:
+ .OnKill(()=> myTweenReference = null)
+ You can change this setting at any time by changing the static property,
+ or you can set the recycling behaviour for each tween separately, using:
+ SetRecyclable(bool recyclable)
+ Default: FALSE
+ If TRUE makes tweens slightly slower but safer, automatically taking care of a series of things
+ (like targets becoming null while a tween is playing).
+ You can change this setting at any time by changing the static property.
+ Default: FALSE
+ Type of logging to use.
+ You can change this setting at any time by changing the static property.
+ Default: ErrorsOnly
+
+
+
+ Directly sets the current max capacity of Tweeners and Sequences
+ (meaning how many Tweeners and Sequences can be running at the same time),
+ so that DOTween doesn't need to automatically increase them in case the max is reached
+ (which might lead to hiccups when that happens).
+ Sequences capacity must be less or equal to Tweeners capacity
+ (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
+ Beware: use this method only when there are no tweens running.
+
+ Max Tweeners capacity.
+ Default: 200
+ Max Sequences capacity.
+ Default: 50
+
+
+
+ Kills all tweens, clears all cached tween pools and plugins and resets the max Tweeners/Sequences capacities to the default values.
+
+ If TRUE also destroys DOTween's gameObject and resets its initializiation, default settings and everything else
+ (so that next time you use it it will need to be re-initialized)
+
+
+
+ Clears all cached tween pools.
+
+
+
+
+ Checks all active tweens to find and remove eventually invalid ones (usually because their targets became NULL)
+ and returns the total number of invalid tweens found and removed.
+ IMPORTANT: this will cause an error on UWP platform, so don't use it there
+ BEWARE: this is a slightly expensive operation so use it with care
+
+
+
+
+ Updates all tweens that are set to .
+
+ Manual deltaTime
+ Unscaled delta time (used with tweens set as timeScaleIndependent)
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using a custom plugin
+ The plugin to use. Each custom plugin implements a static Get()
method
+ you'll need to call to assign the correct plugin in the correct way, like this:
+ CustomPlugin.Get()
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens only one axis of a Vector3 to the given value using default plugins.
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+ The axis to tween
+
+
+ Tweens only the alpha of a Color to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a virtual property from the given start to the given end value
+ and implements a setter that allows to use that value with an external method or a lambda
+ Example:
+ To(MyMethod, 0, 12, 0.5f);
+ Where MyMethod is a function that accepts a float parameter (which will be the result of the virtual tween)
+ The action to perform with the tweened value
+ The value to start from
+ The end value to reach
+ The duration of the virtual tween
+
+
+
+ Punches a Vector3 towards the given direction and then back to the starting one
+ as if it was connected to the starting position via an elastic.
+ This tween type generates some GC allocations at startup
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The direction and strength of the punch
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ 1 creates a full oscillation between the direction and the opposite decaying direction,
+ while 0 oscillates only between the starting position and the decaying direction
+
+
+ Shakes a Vector3 with the given values.
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction and behave like a random punch.
+ If TRUE only shakes on the X Y axis (looks better with things like cameras).
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Vector3 with the given values.
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction and behave like a random punch.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Tweens a property or field to the given values using default plugins.
+ Ease is applied between each segment and not as a whole.
+ This tween type generates some GC allocations at startup
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end values to reach for each segment. This array must have the same length as durations
+ The duration of each segment. This array must have the same length as endValues
+
+
+
+ Returns a new to be used for tween groups.
+ Mind that Sequences don't have a target applied automatically like Tweener creation shortcuts,
+ so if you want to be able to kill this Sequence when calling DOTween.Kill(target) you'll have to add
+ the target manually; you can do that directly by using the overload instead of this one
+
+
+
+
+ Returns a new to be used for tween groups, and allows to set a target
+ (because Sequences don't have their target set automatically like Tweener creation shortcuts).
+ That way killing/controlling tweens by target will apply to this Sequence too.
+
+ The target of the Sequence. Relevant only for static target-based methods like DOTween.Kill(target),
+ useless otherwise
+
+
+ Completes all tweens and returns the number of actual tweens completed
+ (meaning tweens that don't have infinite loops and were not already complete)
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+ Completes all tweens with the given ID or target and returns the number of actual tweens completed
+ (meaning the tweens that don't have infinite loops and were not already complete)
+ For Sequences only: if TRUE internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+ Flips all tweens (changing their direction to forward if it was backwards and viceversa),
+ then returns the number of actual tweens flipped
+
+
+ Flips the tweens with the given ID or target (changing their direction to forward if it was backwards and viceversa),
+ then returns the number of actual tweens flipped
+
+
+ Sends all tweens to the given position (calculating also eventual loop cycles) and returns the actual tweens involved
+
+
+ Sends all tweens with the given ID or target to the given position (calculating also eventual loop cycles)
+ and returns the actual tweens involved
+
+
+ Kills all tweens and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+
+
+ Kills all tweens and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+ Eventual IDs or targets to exclude from the killing
+
+
+ Kills all tweens with the given ID or target and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+
+
+ Kills all tweens with the given target and the given ID, and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+
+
+ Pauses all tweens and returns the number of actual tweens paused
+
+
+ Pauses all tweens with the given ID or target and returns the number of actual tweens paused
+ (meaning the tweens that were actually playing and have been paused)
+
+
+ Plays all tweens and returns the number of actual tweens played
+ (meaning tweens that were not already playing or complete)
+
+
+ Plays all tweens with the given ID or target and returns the number of actual tweens played
+ (meaning the tweens that were not already playing or complete)
+
+
+ Plays all tweens with the given target and the given ID, and returns the number of actual tweens played
+ (meaning the tweens that were not already playing or complete)
+
+
+ Plays backwards all tweens and returns the number of actual tweens played
+ (meaning tweens that were not already started, playing backwards or rewinded)
+
+
+ Plays backwards all tweens with the given ID or target and returns the number of actual tweens played
+ (meaning the tweens that were not already started, playing backwards or rewinded)
+
+
+ Plays backwards all tweens with the given target and ID and returns the number of actual tweens played
+ (meaning the tweens that were not already started, playing backwards or rewinded)
+
+
+ Plays forward all tweens and returns the number of actual tweens played
+ (meaning tweens that were not already playing forward or complete)
+
+
+ Plays forward all tweens with the given ID or target and returns the number of actual tweens played
+ (meaning the tweens that were not already playing forward or complete)
+
+
+ Plays forward all tweens with the given target and ID and returns the number of actual tweens played
+ (meaning the tweens that were not already started, playing backwards or rewinded)
+
+
+ Restarts all tweens, then returns the number of actual tweens restarted
+
+
+ Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted
+ If TRUE includes the eventual tweens delays, otherwise skips them
+ If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it
+
+
+ Restarts all tweens with the given target and the given ID, and returns the number of actual tweens played
+ (meaning the tweens that were not already playing or complete)
+ If TRUE includes the eventual tweens delays, otherwise skips them
+ If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it
+
+
+ Rewinds and pauses all tweens, then returns the number of actual tweens rewinded
+ (meaning tweens that were not already rewinded)
+
+
+ Rewinds and pauses all tweens with the given ID or target, then returns the number of actual tweens rewinded
+ (meaning the tweens that were not already rewinded)
+
+
+ Smoothly rewinds all tweens (delays excluded), then returns the number of actual tweens rewinding/rewinded
+ (meaning tweens that were not already rewinded).
+ A "smooth rewind" animates the tween to its start position,
+ skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
+ Note that a tween that was smoothly rewinded will have its play direction flipped
+
+
+ Smoothly rewinds all tweens (delays excluded) with the given ID or target, then returns the number of actual tweens rewinding/rewinded
+ (meaning the tweens that were not already rewinded).
+ A "smooth rewind" animates the tween to its start position,
+ skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
+ Note that a tween that was smoothly rewinded will have its play direction flipped
+
+
+ Toggles the play state of all tweens and returns the number of actual tweens toggled
+ (meaning tweens that could be played or paused, depending on the toggle state)
+
+
+ Toggles the play state of all tweens with the given ID or target and returns the number of actual tweens toggled
+ (meaning the tweens that could be played or paused, depending on the toggle state)
+
+
+
+ Returns TRUE if a tween with the given ID or target is active.
+ You can also use this to know if a shortcut tween is active for a given target.
+ Example:
+ transform.DOMoveX(45, 1); // transform is automatically added as the tween target
+ DOTween.IsTweening(transform); // Returns true
+
+ The target or ID to look for
+ If FALSE (default) returns TRUE as long as a tween for the given target/ID is active,
+ otherwise also requires it to be playing
+
+
+
+ Returns the total number of active tweens (so both Tweeners and Sequences).
+ A tween is considered active if it wasn't killed, regardless if it's playing or paused
+
+
+
+
+ Returns the total number of active Tweeners.
+ A Tweener is considered active if it wasn't killed, regardless if it's playing or paused
+
+
+
+
+ Returns the total number of active Sequences.
+ A Sequence is considered active if it wasn't killed, regardless if it's playing or paused
+
+
+
+
+ Returns the total number of active and playing tweens.
+ A tween is considered as playing even if its delay is actually playing
+
+
+
+
+ Returns a the total number of active tweens with the given id.
+
+ If TRUE returns only the tweens with the given ID that are currently playing
+
+
+
+ Returns a list of all active tweens in a playing state.
+ Returns NULL if there are no active playing tweens.
+ Beware: each time you call this method a new list is generated, so use it for debug only
+
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+ Returns a list of all active tweens in a paused state.
+ Returns NULL if there are no active paused tweens.
+ Beware: each time you call this method a new list is generated, so use it for debug only
+
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+ Returns a list of all active tweens with the given id.
+ Returns NULL if there are no active tweens with the given id.
+ Beware: each time you call this method a new list is generated
+
+ If TRUE returns only the tweens with the given ID that are currently playing
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+ Returns a list of all active tweens with the given target.
+ Returns NULL if there are no active tweens with the given target.
+ Beware: each time you call this method a new list is generated
+ If TRUE returns only the tweens with the given target that are currently playing
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+
+ Creates virtual tweens that can be used to change other elements via their OnUpdate calls
+
+
+
+
+ Tweens a virtual float.
+ You can add regular settings to the generated tween,
+ but do not use OnUpdate
or you will overwrite the onVirtualUpdate parameter
+
+ The value to start from
+ The value to tween to
+ The duration of the tween
+ A callback which must accept a parameter of type float, called at each update
+
+
+
+ Tweens a virtual int.
+ You can add regular settings to the generated tween,
+ but do not use OnUpdate
or you will overwrite the onVirtualUpdate parameter
+
+ The value to start from
+ The value to tween to
+ The duration of the tween
+ A callback which must accept a parameter of type int, called at each update
+
+
+
+ Tweens a virtual Vector2.
+ You can add regular settings to the generated tween,
+ but do not use OnUpdate
or you will overwrite the onVirtualUpdate parameter
+
+ The value to start from
+ The value to tween to
+ The duration of the tween
+ A callback which must accept a parameter of type Vector3, called at each update
+
+
+
+ Tweens a virtual Vector3.
+ You can add regular settings to the generated tween,
+ but do not use OnUpdate
or you will overwrite the onVirtualUpdate parameter
+
+ The value to start from
+ The value to tween to
+ The duration of the tween
+ A callback which must accept a parameter of type Vector3, called at each update
+
+
+
+ Tweens a virtual Color.
+ You can add regular settings to the generated tween,
+ but do not use OnUpdate
or you will overwrite the onVirtualUpdate parameter
+
+ The value to start from
+ The value to tween to
+ The duration of the tween
+ A callback which must accept a parameter of type Color, called at each update
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+ Eventual overshoot to use with Back ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+ Eventual amplitude to use with Elastic easeType
+ Eventual period to use with Elastic easeType
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The AnimationCurve to use for ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+ Eventual overshoot to use with Back ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+ Eventual amplitude to use with Elastic easeType
+ Eventual period to use with Elastic easeType
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The AnimationCurve to use for ease
+
+
+ Fires the given callback after the given time.
+ Callback delay
+ Callback to fire when the delay has expired
+ If TRUE (default) ignores Unity's timeScale
+
+
+
+ Don't assign this! It's assigned automatically when creating 0 duration tweens
+
+
+
+
+ Don't assign this! It's assigned automatically when setting the ease to an AnimationCurve or to a custom ease function
+
+
+
+
+ Allows to wrap ease method in special ways, adding extra features
+
+
+
+
+ Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+
+ FPS at which the tween should be played
+ Ease type
+
+
+
+ Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+
+ FPS at which the tween should be played
+ AnimationCurve to use for the ease
+
+
+
+ Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+
+ FPS at which the tween should be played
+ Custom ease function to use
+
+
+
+ Used to allow method chaining with DOTween.Init
+
+
+
+
+ Directly sets the current max capacity of Tweeners and Sequences
+ (meaning how many Tweeners and Sequences can be running at the same time),
+ so that DOTween doesn't need to automatically increase them in case the max is reached
+ (which might lead to hiccups when that happens).
+ Sequences capacity must be less or equal to Tweeners capacity
+ (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
+ Beware: use this method only when there are no tweens running.
+
+ Max Tweeners capacity.
+ Default: 200
+ Max Sequences capacity.
+ Default: 50
+
+
+
+ Behaviour that can be assigned when chaining a SetLink to a tween
+
+
+
+ Pauses the tween when the link target is disabled
+
+
+ Pauses the tween when the link target is disabled, plays it when it's enabled
+
+
+ Pauses the tween when the link target is disabled, restarts it when it's enabled
+
+
+ Plays the tween when the link target is enabled
+
+
+ Restarts the tween when the link target is enabled
+
+
+ Kills the tween when the link target is disabled
+
+
+ Kills the tween when the link target is destroyed (becomes NULL). This is always active even if another behaviour is chosen
+
+
+ Completes the tween when the link target is disabled
+
+
+ Completes and kills the tween when the link target is disabled
+
+
+ Rewinds the tween (delay excluded) when the link target is disabled
+
+
+ Rewinds and kills the tween when the link target is disabled
+
+
+
+ Path mode (used to determine correct LookAt orientation)
+
+
+
+ Ignores the path mode (and thus LookAt behaviour)
+
+
+ Regular 3D path
+
+
+ 2D top-down path
+
+
+ 2D side-scroller path
+
+
+
+ Type of path to use with DOPath tweens
+
+
+
+ Linear, composed of straight segments between each waypoint
+
+
+ Curved path (which uses Catmull-Rom curves)
+
+
+ EXPERIMENTAL:
Curved path (which uses Cubic Bezier curves, where each point requires two extra control points)
+
+
+
+ Tweens a Vector2 along a circle.
+ EndValue represents the center of the circle, start and end value degrees are inside options
+ ChangeValue x is changeValue°, y is unused
+
+
+
+
+ Path control point
+
+
+
+
+ Path waypoints (modified by PathPlugin when setting relative end/change value or by CubicBezierDecoder) and by DOTweenPathInspector
+
+
+
+
+ Minimum input points necessary to create the path (doesn't correspond to actual waypoints required)
+
+
+
+
+ Gets the point on the path at the given percentage (0 to 1)
+
+ The percentage (0 to 1) at which to get the point
+ If TRUE constant speed is taken into account, otherwise not
+
+
+
+ Base interface for all tween plugins options
+
+
+
+ Resets the plugin
+
+
+
+ This plugin generates some GC allocations at startup
+
+
+
+
+ Path plugin works exclusively with Transforms
+
+
+
+
+ Rotation mode used with DORotate methods
+
+
+
+
+ Fastest way that never rotates beyond 360°
+
+
+
+
+ Fastest way that rotates beyond 360°
+
+
+
+
+ Adds the given rotation to the transform using world axis and an advanced precision mode
+ (like when using transform.Rotate(Space.World)).
+ In this mode the end value is is always considered relative
+
+
+
+
+ Adds the given rotation to the transform's local axis
+ (like when rotating an object with the "local" switch enabled in Unity's editor or using transform.Rotate(Space.Self)).
+ In this mode the end value is is always considered relative
+
+
+
+
+ Type of scramble to apply to string tweens
+
+
+
+
+ No scrambling of characters
+
+
+
+
+ A-Z + a-z + 0-9 characters
+
+
+
+
+ A-Z characters
+
+
+
+
+ a-z characters
+
+
+
+
+ 0-9 characters
+
+
+
+
+ Custom characters
+
+
+
+
+ Type of randomness to apply to a shake tween
+
+
+
+ Default, full randomness
+
+
+ Creates a more balanced randomness that looks more harmonic
+
+
+
+ Methods that extend Tween objects and allow to control or get data from them
+
+
+
+ Completes the tween
+
+
+ Completes the tween
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+ Optional: indicates that the tween creation has ended, to be used (optionally) as the last element of tween chaining creation.
+ This method won't do anything except in case of 0-duration tweens,
+ where it will complete them immediately instead of waiting for the next internal update routine
+ (unless they're nested in a Sequence, in which case the Sequence will still be the one in control and this method will be ignored)
+
+
+ Flips the direction of this tween (backwards if it was going forward or viceversa)
+
+
+ Forces the tween to initialize its settings immediately
+
+
+ Send the tween to the given position in time
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+ Send the tween to the given position in time while also executing any callback between the previous time position and the new one
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+ Kills the tween
+ If TRUE completes the tween before killing it
+
+
+
+ Forces this tween to update manually, regardless of the set via SetUpdate.
+ Note that the tween will still be subject to normal tween rules, so if for example it's paused this method will do nothing.
+ Also note that if you only want to update this tween instance manually you'll have to set it to anyway,
+ so that it's not updated automatically.
+
+ Manual deltaTime
+ Unscaled delta time (used with tweens set as timeScaleIndependent)
+
+
+ Pauses the tween
+
+
+ Plays the tween
+
+
+ Sets the tween in a backwards direction and plays it
+
+
+ Sets the tween in a forward direction and plays it
+
+
+ Restarts the tween from the beginning
+ Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it
+ Ignored in case of Sequences. If >= 0 changes the startup delay to this value, otherwise doesn't touch it
+
+
+ Rewinds and pauses the tween
+ Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it
+
+
+ Smoothly rewinds the tween (delays excluded).
+ A "smooth rewind" animates the tween to its start position,
+ skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
+ If called on a tween who is still waiting for its delay to happen, it will simply set the delay to 0 and pause the tween.
+ Note that a tween that was smoothly rewinded will have its play direction flipped
+
+
+ Plays the tween if it was paused, pauses it if it was playing
+
+
+ Send a path tween to the given waypoint.
+ Has no effect if this is not a path tween.
+ BEWARE, this is a special utility method:
+ it works only with Linear eases. Also, the lookAt direction might be wrong after calling this and might need to be set manually
+ (because it relies on a smooth path movement and doesn't work well with jumps that encompass dramatic direction changes)
+ Waypoint index to reach
+ (if higher than the max waypoint index the tween will simply go to the last one)
+ If TRUE will play the tween after reaching the given waypoint, otherwise it will pause it
+
+
+
+ Creates a yield instruction that waits until the tween is killed or complete.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForCompletion();
+
+
+
+
+ Creates a yield instruction that waits until the tween is killed or rewinded.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForRewind();
+
+
+
+
+ Creates a yield instruction that waits until the tween is killed.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForKill();
+
+
+
+
+ Creates a yield instruction that waits until the tween is killed or has gone through the given amount of loops.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForElapsedLoops(2);
+
+ Elapsed loops to wait for
+
+
+
+ Creates a yield instruction that waits until the tween is killed or has reached the given position (loops included, delays excluded).
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForPosition(2.5f);
+
+ Position (loops included, delays excluded) to wait for
+
+
+
+ Creates a yield instruction that waits until the tween is killed or started
+ (meaning when the tween is set in a playing state the first time, after any eventual delay).
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForStart();
+
+
+
+ Returns the total number of loops completed by this tween
+
+
+ Returns the eventual delay set for this tween
+
+
+ Returns the eventual elapsed delay set for this tween
+
+
+ Returns the duration of this tween (delays excluded).
+ NOTE: when using settings like SpeedBased, the duration will be recalculated when the tween starts
+ If TRUE returns the full duration loops included,
+ otherwise the duration of a single loop cycle
+
+
+ Returns the elapsed time for this tween (delays exluded)
+ If TRUE returns the elapsed time since startup loops included,
+ otherwise the elapsed time within the current loop cycle
+
+
+ Returns the elapsed percentage (0 to 1) of this tween (delays exluded)
+ If TRUE returns the elapsed percentage since startup loops included,
+ otherwise the elapsed percentage within the current loop cycle
+
+
+ Returns the elapsed percentage (0 to 1) of this tween (delays exluded),
+ based on a single loop, and calculating eventual backwards Yoyo loops as 1 to 0 instead of 0 to 1
+
+
+ Returns FALSE if this tween has been killed or is NULL, TRUE otherwise.
+ BEWARE: if this tween is recyclable it might have been spawned again for another use and thus return TRUE anyway.
+ When working with recyclable tweens you should take care to know when a tween has been killed and manually set your references to NULL.
+ If you want to be sure your references are set to NULL when a tween is killed you can use the OnKill
callback like this:
+ .OnKill(()=> myTweenReference = null)
+
+
+ Returns TRUE if this tween was reversed and is set to go backwards
+
+
+ NOTE: To check if a tween was simply set to go backwards see .
+ Returns TRUE if this tween is going backwards for any of these reasons:
+ - The tween was reversed and is going backwards on a straight loop
+ - The tween was reversed and is going backwards on an odd Yoyo loop
+ - The tween is going forward but on an even Yoyo loop
+ IMPORTANT: if used inside a tween's callback, this will return a result concerning the exact frame when it's asked,
+ so for example in a callback at the end of a Yoyo loop step this method will never return FALSE
+ because the frame will never end exactly there and the tween will already be going backwards when the callback is fired
+
+
+ Returns TRUE if the tween is complete
+ (silently fails and returns FALSE if the tween has been killed)
+
+
+ Returns TRUE if this tween has been initialized
+
+
+ Returns TRUE if this tween is playing
+
+
+ Returns the total number of loops set for this tween
+ (returns -1 if the loops are infinite)
+
+
+
+ Returns a point on a path based on the given path percentage.
+ Returns Vector3.zero
if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit()
.
+
+ Percentage of the path (0 to 1) on which to get the point
+
+
+
+ Returns an array of points that can be used to draw the path.
+ Note that this method generates allocations, because it creates a new array.
+ Returns NULL
if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit()
.
+
+ How many points to create for each path segment (waypoint to waypoint).
+ Only used in case of non-Linear paths
+
+
+
+ Returns the length of a path.
+ Returns -1 if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit()
.
+
+
+
+
+ Types of loop
+
+
+
+ Each loop cycle restarts from the beginning
+
+
+ The tween moves forward and backwards at alternate cycles
+
+
+ Continuously increments the tween at the end of each loop cycle (A to B, B to B+(A-B), and so on), thus always moving "onward".
+ In case of String tweens works only if the tween is set as relative
+
+
+
+ Controls other tweens as a group
+
+
+
+
+ Methods that extend known Unity objects and allow to directly create and control tweens from their instances
+
+
+
+ Tweens a Camera's aspect
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's backgroundColor to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's farClipPlane
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's fieldOfView
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's nearClipPlane
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's orthographicSize
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's pixelRect
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's rect
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Shakes a Camera's localPosition along its relative X Y axes with the given values.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Camera's localPosition along its relative X Y axes with the given values.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Camera's localRotation.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Camera's localRotation.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Tweens a Light's color to the given value.
+ Also stores the light as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Light's intensity to the given value.
+ Also stores the light as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Light's shadowStrength to the given value.
+ Also stores the light as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a LineRenderer's color to the given value.
+ Also stores the LineRenderer as the tween's target so it can be used for filtered operations.
+ Note that this method requires to also insert the start colors for the tween,
+ since LineRenderers have no way to get them.
+ The start value to tween from
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Material's color to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Material's named color property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween (like _Tint or _SpecColor)
+ The duration of the tween
+
+
+ Tweens a Material's named color property with the given ID to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Material's alpha color to the given value
+ (will have no effect unless your material supports transparency).
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Material's alpha color to the given value
+ (will have no effect unless your material supports transparency).
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween (like _Tint or _SpecColor)
+ The duration of the tween
+
+
+ Tweens a Material's alpha color with the given ID to the given value
+ (will have no effect unless your material supports transparency).
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Material's named float property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's named float property with the given ID to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Material's texture offset to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The duration of the tween
+
+
+ Tweens a Material's named texture offset property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's texture scale to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The duration of the tween
+
+
+ Tweens a Material's named texture scale property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's named Vector property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's named Vector property with the given ID to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a TrailRenderer's startWidth/endWidth to the given value.
+ Also stores the TrailRenderer as the tween's target so it can be used for filtered operations
+ The end startWidth to reachThe end endWidth to reach
+ The duration of the tween
+
+
+ Tweens a TrailRenderer's time to the given value.
+ Also stores the TrailRenderer as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's X position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Y position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Z position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's X localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Y localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Z localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's rotation to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ Rotation mode
+
+
+ Tweens a Transform's rotation to the given value using pure quaternion values.
+ Also stores the transform as the tween's target so it can be used for filtered operations.
+ PLEASE NOTE: DORotate, which takes Vector3 values, is the preferred rotation method.
+ This method was implemented for very special cases, and doesn't support LoopType.Incremental loops
+ (neither for itself nor if placed inside a LoopType.Incremental Sequence)
+
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's localRotation to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ Rotation mode
+
+
+ Tweens a Transform's rotation to the given value using pure quaternion values.
+ Also stores the transform as the tween's target so it can be used for filtered operations.
+ PLEASE NOTE: DOLocalRotate, which takes Vector3 values, is the preferred rotation method.
+ This method was implemented for very special cases, and doesn't support LoopType.Incremental loops
+ (neither for itself nor if placed inside a LoopType.Incremental Sequence)
+
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's localScale uniformly to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's X localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's Y localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's Z localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's rotation so that it will look towards the given world position.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The position to look atThe duration of the tween
+ Eventual axis constraint for the rotation
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ EXPERIMENTAL
Tweens a Transform's rotation so that it will look towards the given world position,
+ while also updating the lookAt position every frame
+ (contrary to which calculates the lookAt rotation only once, when the tween starts).
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The position to look atThe duration of the tween
+ Eventual axis constraint for the rotation
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Punches a Transform's localPosition towards the given direction and then back to the starting one
+ as if it was connected to the starting position via an elastic.
+ The direction and strength of the punch (added to the Transform's current position)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ 1 creates a full oscillation between the punch direction and the opposite direction,
+ while 0 oscillates only between the punch and the start position
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Punches a Transform's localScale towards the given size and then back to the starting one
+ as if it was connected to the starting scale via an elastic.
+ The punch strength (added to the Transform's current scale)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting size when bouncing backwards.
+ 1 creates a full oscillation between the punch scale and the opposite scale,
+ while 0 oscillates only between the punch scale and the start scale
+
+
+ Punches a Transform's localRotation towards the given size and then back to the starting one
+ as if it was connected to the starting rotation via an elastic.
+ The punch strength (added to the Transform's current rotation)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards.
+ 1 creates a full oscillation between the punch rotation and the opposite rotation,
+ while 0 oscillates only between the punch and the start rotation
+
+
+ Shakes a Transform's localPosition with the given values.
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the tween will smoothly snap all values to integers
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Transform's localPosition with the given values.
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the tween will smoothly snap all values to integers
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Transform's localRotation.
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Transform's localRotation.
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Transform's localScale.
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Shakes a Transform's localScale.
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+
+
+ Tweens a Transform's position to the given value, while also applying a jump effect along the Y axis.
+ Returns a Sequence instead of a Tweener.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reach
+ Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ Total number of jumps
+ The duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's localPosition to the given value, while also applying a jump effect along the Y axis.
+ Returns a Sequence instead of a Tweener.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reach
+ Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ Total number of jumps
+ The duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's position through the given path waypoints, using the chosen path algorithm.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The waypoints to go through
+ The duration of the tween
+ The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
+ The path mode: 3D, side-scroller 2D, top-down 2D
+ The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
+ Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+
+
+ Tweens a Transform's localPosition through the given path waypoints, using the chosen path algorithm.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The waypoint to go through
+ The duration of the tween
+ The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
+ The path mode: 3D, side-scroller 2D, top-down 2D
+ The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
+ Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+
+
+ IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.
+ Tweens a Transform's position via the given path.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The path to use
+ The duration of the tween
+ The path mode: 3D, side-scroller 2D, top-down 2D
+
+
+ IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.
+ Tweens a Transform's localPosition via the given path.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The path to use
+ The duration of the tween
+ The path mode: 3D, side-scroller 2D, top-down 2D
+
+
+ Tweens a Tween's timeScale to the given value.
+ Also stores the Tween as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Light's color to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Light as the tween's target so it can be used for filtered operations
+ The value to tween toThe duration of the tween
+
+
+ Tweens a Material's color to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Material as the tween's target so it can be used for filtered operations
+ The value to tween toThe duration of the tween
+
+
+ Tweens a Material's named color property to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Material as the tween's target so it can be used for filtered operations
+ The value to tween to
+ The name of the material property to tween (like _Tint or _SpecColor)
+ The duration of the tween
+
+
+ Tweens a Material's named color property with the given ID to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Material as the tween's target so it can be used for filtered operations
+ The value to tween to
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Transform's position BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableMove tweens to work together on the same target,
+ instead than fight each other as multiple DOMove would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's localPosition BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableMove tweens to work together on the same target,
+ instead than fight each other as multiple DOMove would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ EXPERIMENTAL METHOD - Tweens a Transform's rotation BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableRotate tweens to work together on the same target,
+ instead than fight each other as multiple DORotate would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ Rotation mode
+
+
+ EXPERIMENTAL METHOD - Tweens a Transform's lcoalRotation BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableRotate tweens to work together on the same target,
+ instead than fight each other as multiple DORotate would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ Rotation mode
+
+
+ Punches a Transform's localRotation BY the given value and then back to the starting one
+ as if it was connected to the starting rotation via an elastic. Does it in a way that allows other
+ DOBlendableRotate tweens to work together on the same target
+ The punch strength (added to the Transform's current rotation)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards.
+ 1 creates a full oscillation between the punch rotation and the opposite rotation,
+ while 0 oscillates only between the punch and the start rotation
+
+
+ Tweens a Transform's localScale BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableScale tweens to work together on the same target,
+ instead than fight each other as multiple DOScale would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+
+
+
+ Completes all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens completed
+ (meaning the tweens that don't have infinite loops and were not already complete)
+
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+
+ Completes all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens completed
+ (meaning the tweens that don't have infinite loops and were not already complete)
+
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+
+ Kills all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens killed.
+
+ If TRUE completes the tween before killing it
+
+
+
+ Kills all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens killed.
+
+ If TRUE completes the tween before killing it
+
+
+
+ Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens flipped.
+
+
+
+
+ Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens flipped.
+
+
+
+
+ Sends to the given position all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+
+ Sends to the given position all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+
+ Pauses all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens paused.
+
+
+
+
+ Pauses all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens paused.
+
+
+
+
+ Plays all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays backwards all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays backwards all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays forward all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays forward all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Restarts all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens restarted.
+
+
+
+
+ Restarts all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens restarted.
+
+
+
+
+ Rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Smoothly rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Smoothly rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+
+
+
+ Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+
+
+
+ This class serves only as a utility class to store tween settings to apply on multiple tweens.
+ It is in no way needed otherwise, since you can directly apply tween settings to a tween via chaining
+
+
+
+ A variable you can eventually Clear and reuse when needed,
+ to avoid instantiating TweenParams objects
+
+
+ Creates a new TweenParams object, which you can use to store tween settings
+ to pass to multiple tweens via myTween.SetAs(myTweenParms)
+
+
+ Clears and resets this TweenParams instance using default values,
+ so it can be reused without instantiating another one
+
+
+ Sets the autoKill behaviour of the tween.
+ Has no effect if the tween has already started
+ If TRUE the tween will be automatically killed when complete
+
+
+ Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
+ The ID to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
+ The ID to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
+ The ID to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
+ IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId
instead.
+ When using shorcuts the shortcut target is already assigned as the tween's target,
+ so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly.
+ The target to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets the looping options for the tween.
+ Has no effect if the tween has already started
+ Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
+ Loop behaviour type (default: LoopType.Restart)
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+ Eventual overshoot or amplitude to use with Back or Elastic easeType (default is 1.70158)
+ Eventual period to use with Elastic easeType (default is 0)
+
+
+ Sets the ease of the tween using an AnimationCurve.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the ease of the tween using a custom ease function.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the recycling behaviour for the tween.
+ If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.
+
+
+ Sets the update type to the one defined in DOTween.defaultUpdateType (UpdateType.Normal unless changed)
+ and lets you choose if it should be independent from Unity's Time.timeScale
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the type of update (default or independent) for the tween
+ The type of update (default: UpdateType.Normal)
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the onStart callback for the tween.
+ Called the first time the tween is set in a playing state, after any eventual delay
+
+
+ Sets the onPlay callback for the tween.
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused state
+
+
+ Sets the onRewind callback for the tween.
+ Called when the tween is rewinded,
+ either by calling Rewind
or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callback
+
+
+ Sets the onUpdate callback for the tween.
+ Called each time the tween updates
+
+
+ Sets the onStepComplete callback for the tween.
+ Called the moment the tween completes one loop cycle, even when going backwards
+
+
+ Sets the onComplete callback for the tween.
+ Called the moment the tween reaches its final forward position, loops included
+
+
+ Sets the onKill callback for the tween.
+ Called the moment the tween is killed
+
+
+ Sets the onWaypointChange callback for the tween.
+ Called when a path tween reaches a new waypoint
+
+
+ Sets a delayed startup for the tween.
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isRelative is TRUE sets the tween as relative
+ (the endValue will be calculated as startValue + endValue
instead than being used directly).
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isSpeedBased is TRUE sets the tween as speed based
+ (the duration will represent the number of units the tween moves x second).
+ Has no effect on Sequences, nested tweens, or if the tween has already started
+
+
+
+ Methods that extend Tween objects and allow to set their parameters
+
+
+
+ Sets the autoKill behaviour of the tween to TRUE.
+ Has no effect
if the tween has already started or if it's added to a Sequence
+
+
+ Sets the autoKill behaviour of the tween.
+ Has no effect
if the tween has already started or if it's added to a Sequence
+ If TRUE the tween will be automatically killed when complete
+
+
+ Sets an ID for the tween (), which can then be used as a filter with DOTween's static methods.
+ The ID to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets a string ID for the tween (), which can then be used as a filter with DOTween's static methods.
+ Filtering via string is 2X faster than using an object as an ID (using the alternate obejct overload)
+ The string ID to assign to this tween.
+
+
+ Sets an int ID for the tween (), which can then be used as a filter with DOTween's static methods.
+ Filtering via int is 4X faster than via object, 2X faster than via string (using the alternate object/string overloads)
+ The int ID to assign to this tween.
+
+
+ Allows to link this tween to a GameObject
+ so that it will be automatically killed when the GameObject is destroyed.
+ Has no effect
if the tween is added to a Sequence
+ The link target (unrelated to the target set via SetTarget
)
+
+
+ Allows to link this tween to a GameObject and assign a behaviour depending on it.
+ This will also automatically kill the tween when the GameObject is destroyed.
+ Has no effect
if the tween is added to a Sequence
+ The link target (unrelated to the target set via SetTarget
)
+ The behaviour to use ( is always evaluated even if you choose another one)
+
+
+ Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
+ IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId
instead.
+ When using shorcuts the shortcut target is already assigned as the tween's target,
+ so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly.
+ The target to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets the looping options for the tween.
+ Has no effect if the tween has already started
+ Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
+
+
+ Sets the looping options for the tween.
+ Has no effect if the tween has already started
+ Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
+ Loop behaviour type (default: LoopType.Restart)
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+
+ Eventual overshoot to use with Back or Flash ease (default is 1.70158 - 1 for Flash).
+ In case of Flash ease it must be an intenger and sets the total number of flashes that will happen.
+ Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value.
+
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+ Eventual amplitude to use with Elastic easeType or overshoot to use with Flash easeType (default is 1.70158 - 1 for Flash).
+ In case of Flash ease it must be an integer and sets the total number of flashes that will happen.
+ Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value.
+
+ Eventual period to use with Elastic or Flash easeType (default is 0).
+ In case of Flash ease it indicates the power in time of the ease, and must be between -1 and 1.
+ 0 is balanced, 1 weakens the ease with time, -1 starts the ease weakened and gives it power towards the end.
+
+
+
+ Sets the ease of the tween using an AnimationCurve.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the ease of the tween using a custom ease function (which must return a value between 0 and 1).
+ If applied to Sequences eases the whole sequence animation
+
+
+ Allows the tween to be recycled after being killed.
+
+
+ Sets the recycling behaviour for the tween.
+ If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.
+
+
+ Sets the update type to UpdateType.Normal and lets you choose if it should be independent from Unity's Time.timeScale
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the type of update for the tween
+ The type of update (defalt: UpdateType.Normal)
+
+
+ Sets the type of update for the tween and lets you choose if it should be independent from Unity's Time.timeScale
+ The type of update
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning
+ (playing it backwards will actually play it from the beginning to the end).
+ Has no effect
if the tween has already started or if it's added to a Sequence
+
+
+ EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning
+ (playing it backwards will actually play it from the beginning to the end).
+ Has no effect
if the tween has already started or if it's added to a Sequence
+ If TRUE the tween will be inverted, otherwise it won't
+
+
+ Sets the onStart
callback for the tween, clearing any previous onStart
callback that was set.
+ Called the first time the tween is set in a playing state, after any eventual delay
+
+
+ Sets the onPlay
callback for the tween, clearing any previous onPlay
callback that was set.
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused state
+
+
+ Sets the onPause
callback for the tween, clearing any previous onPause
callback that was set.
+ Called when the tween state changes from playing to paused.
+ If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.
+
+
+ Sets the onRewind
callback for the tween, clearing any previous onRewind
callback that was set.
+ Called when the tween is rewinded,
+ either by calling Rewind
or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callback
+
+
+ Sets the onUpdate
callback for the tween, clearing any previous onUpdate
callback that was set.
+ Called each time the tween updates
+
+
+ Sets the onStepComplete
callback for the tween, clearing any previous onStepComplete
callback that was set.
+ Called the moment the tween completes one loop cycle, even when going backwards
+
+
+ Sets the onComplete
callback for the tween, clearing any previous onComplete
callback that was set.
+ Called the moment the tween reaches its final forward position, loops included
+
+
+ Sets the onKill
callback for the tween, clearing any previous onKill
callback that was set.
+ Called the moment the tween is killed
+
+
+ Sets the onWaypointChange
callback for the tween, clearing any previous onWaypointChange
callback that was set.
+ Called when a path tween's current waypoint changes
+
+
+ Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given one.
+ Doesn't copy specific SetOptions settings: those will need to be applied manually each time.
+ Has no effect if the tween has already started.
+ NOTE: the tween's target
will not be changed
+ Tween from which to copy the parameters
+
+
+ Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given TweenParams.
+ Has no effect if the tween has already started.
+ TweenParams from which to copy the parameters
+
+
+ Adds the given tween to the end of the Sequence.
+ Has no effect if the Sequence has already started
+ The tween to append
+
+
+ Adds the given tween to the beginning of the Sequence, pushing forward the other nested content.
+ Has no effect if the Sequence has already started
+ The tween to prepend
+
+
+ Inserts the given tween at the same time position of the last tween, callback or interval added to the Sequence.
+ Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes.
+ Has no effect if the Sequence has already started
+
+
+ Inserts the given tween at the given time position in the Sequence,
+ automatically adding an interval if needed.
+ Has no effect if the Sequence has already started
+ The time position where the tween will be placed
+ The tween to insert
+
+
+ Adds the given interval to the end of the Sequence.
+ Has no effect if the Sequence has already started
+ The interval duration
+
+
+ Adds the given interval to the beginning of the Sequence, pushing forward the other nested content.
+ Has no effect if the Sequence has already started
+ The interval duration
+
+
+ Adds the given callback to the end of the Sequence.
+ Has no effect if the Sequence has already started
+ The callback to append
+
+
+ Adds the given callback to the beginning of the Sequence, pushing forward the other nested content.
+ Has no effect if the Sequence has already started
+ The callback to prepend
+
+
+ Inserts the given callback at the same time position of the last tween, callback or interval added to the Sequence.
+ Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes.
+ Has no effect if the Sequence has already started
+ /// <param name="callback">The callback to prepend</param>
+
+
+ Inserts the given callback at the given time position in the Sequence,
+ automatically adding an interval if needed.
+ Has no effect if the Sequence has already started
+ The time position where the callback will be placed
+ The callback to insert
+
+
+ Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue
+ then immediately sends the target to the previously set endValue.
+
+
+ Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue
+ then immediately sends the target to the previously set endValue.
+ If TRUE the FROM value will be calculated as relative to the current one
+
+
+ Changes a TO tween into a FROM tween: sets the current value of the target as the endValue,
+ and the previously passed endValue as the actual startValue.
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+ If TRUE the FROM value will be calculated as relative to the current one
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Value to start from
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+ If TRUE the FROM/TO values will be calculated as relative to the current ones
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Alpha value to start from (in case of Fade tweens)
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+ If TRUE the FROM/TO values will be calculated as relative to the current ones
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+ If TRUE the FROM/TO values will be calculated as relative to the current ones
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+ If TRUE the FROM/TO values will be calculated as relative to the current ones
+
+
+ Sets a delayed startup for the tween.
+ In case of Sequences behaves the same as ,
+ which means the delay will repeat in case of loops (while with tweens it's ignored after the first loop cycle).
+ Has no effect if the tween has already started
+
+
+ EXPERIMENTAL: implemented in v1.2.340.
+ Sets a delayed startup for the tween with options to choose how the delay is applied in case of Sequences.
+ Has no effect if the tween has already started
+ Only used by types: If FALSE sets the delay as a one-time occurrence
+ (defaults to this for types),
+ otherwise as a Sequence interval which will repeat at the beginning of every loop cycle
+
+
+ Sets the tween as relative
+ (the endValue will be calculated as startValue + endValue
instead than being used directly).
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isRelative is TRUE sets the tween as relative
+ (the endValue will be calculated as startValue + endValue
instead than being used directly).
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isSpeedBased is TRUE sets the tween as speed based
+ (the duration will represent the number of units the tween moves x second).
+ Has no effect on Sequences, nested tweens, or if the tween has already started
+
+
+ If isSpeedBased is TRUE sets the tween as speed based
+ (the duration will represent the number of units the tween moves x second).
+ Has no effect on Sequences, nested tweens, or if the tween has already started
+
+
+ Options for float tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector2 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector2 tweens
+ Selecting an axis will tween the vector only on that axis, leaving the others untouched
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector3 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector3 tweens
+ Selecting an axis will tween the vector only on that axis, leaving the others untouched
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector4 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector4 tweens
+ Selecting an axis will tween the vector only on that axis, leaving the others untouched
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Quaternion tweens
+ If TRUE (default) the rotation will take the shortest route, and will not rotate more than 360°.
+ If FALSE the rotation will be fully accounted. Is always FALSE if the tween is set as relative
+
+
+ Options for Color tweens
+ If TRUE only the alpha value of the color will be tweened
+
+
+ Options for Vector4 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector4 tweens
+ If TRUE, rich text will be interpreted correctly while animated,
+ otherwise all tags will be considered as normal text
+ The type of scramble to use, if any
+ A string containing the characters to use for scrambling.
+ Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ Leave it to NULL to use default ones
+
+
+ Options for Vector3Array tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector3Array tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for ShapeCircle tweens
+ If TRUE the center you set in the DOTween.To method will be considered as relative
+ to the starting position of the target
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Path tweens (created via the DOPath
shortcut)
+ The eventual movement axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+ The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+
+
+ Options for Path tweens (created via the DOPath
shortcut)
+ If TRUE the path will be automatically closed
+ The eventual movement axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+ The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target towards the given position.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The position to look at
+ The eventual direction to consider as "forward".
+ If left to NULL defaults to the regular forward side of the transform
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target towards the given position with options to keep the Z rotation stable.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The position to look at
+ If TRUE doesn't rotate the target along the Z axis
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target towards another transform.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The transform to look at
+ The eventual direction to consider as "forward".
+ If left to NULL defaults to the regular forward side of the transform
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target towards another transform with options to keep the Z rotation stable.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The transform to look at
+ If TRUE doesn't rotate the target along the Z axis
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target to the path, with the given lookAhead.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The percentage of lookAhead to use (0 to 1)
+ The eventual direction to consider as "forward".
+ If left to NULL defaults to the regular forward side of the transform
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the path with options to keep the Z rotation stable.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The percentage of lookAhead to use (0 to 1)
+ If TRUE doesn't rotate the target along the Z axis
+
+
+
+ Types of log behaviours
+
+
+
+ Log only warnings and errors
+
+
+ Log warnings, errors and additional infos
+
+
+ Log only errors
+
+
+
+ Indicates either a Tweener or a Sequence
+
+
+
+ TimeScale for the tween
+
+
+ If TRUE the tween will play backwards
+
+
+ If TRUE the tween is completely inverted but without playing it backwards
+ (play backwards will actually play the tween in the original direction)
+
+
+ Object ID (usable for filtering with DOTween static methods). Can be anything except a string or an int
+ (use or for those)
+
+
+ String ID (usable for filtering with DOTween static methods). 2X faster than using an object id
+
+
+ Int ID (usable for filtering with DOTween static methods). 4X faster than using an object id, 2X faster than using a string id.
+ Default is -999 so avoid using an ID like that or it will capture all unset intIds
+
+
+ Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts
+
+
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused state
+
+
+ Called when the tween state changes from playing to paused.
+ If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.
+
+
+ Called when the tween is rewinded,
+ either by calling Rewind
or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callback
+
+
+ Called each time the tween updates
+
+
+ Called the moment the tween completes one loop cycle
+
+
+ Called the moment the tween reaches completion (loops included)
+
+
+ Called the moment the tween is killed
+
+
+ Called when a path tween's current waypoint changes
+
+
+ Tweeners-only (ignored by Sequences), returns TRUE if the tween was set as relative
+
+
+
+ Set by SetTarget if DOTween's Debug Mode is on (see DOTween Utility Panel -> "Store GameObject's ID" debug option
+
+
+
+ FALSE when tween is (or should be) despawned - set only by TweenManager
+
+
+ Gets and sets the time position (loops included, delays excluded) of the tween
+
+
+ Returns TRUE if the tween is set to loop (either a set number of times or infinitely)
+
+
+ TRUE after the tween was set in a play state at least once, AFTER any delay is elapsed
+
+
+ Time position within a single loop cycle
+
+
+
+ Animates a single value
+
+
+
+ Changes the start value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ If bigger than 0 applies it as the new tween duration
+
+
+ Changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ Changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ Changes the start and end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+
+
+
+ Used internally
+
+
+
+
+ Update type
+
+
+
+ Updates every frame during Update calls
+
+
+ Updates every frame during LateUpdate calls
+
+
+ Updates using FixedUpdate calls
+
+
+ Updates using manual update calls
+
+
+
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta
new file mode 100644
index 0000000..7a866b5
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta
@@ -0,0 +1,4 @@
+fileFormatVersion: 2
+guid: 34192c5e0d14aee43a0e86cc4823268a
+TextScriptImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll
new file mode 100644
index 0000000..57112d3
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb
new file mode 100644
index 0000000..62da0a3
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta
new file mode 100644
index 0000000..f64a22a
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta
@@ -0,0 +1,4 @@
+fileFormatVersion: 2
+guid: 4f007001a22b3d24dae350342c4d19c8
+DefaultImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta
new file mode 100644
index 0000000..482dbb8
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: a811bde74b26b53498b4f6d872b09b6d
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Any:
+ enabled: 1
+ settings: {}
+ Editor:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor.meta
new file mode 100644
index 0000000..532edfb
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: b27f58ae5d5c33a4bb2d1f4f34bd036d
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML
new file mode 100644
index 0000000..690bfc4
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML
@@ -0,0 +1,144 @@
+
+
+
+ DOTweenEditor
+
+
+
+
+ Contains compatibility methods taken from DemiEditor (for when DOTween is without it)
+
+
+
+
+ Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+
+
+
+
+ Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+
+
+
+
+ Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+
+
+
+
+ Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
+
+
+
+
+ Starts the update loop of tween in the editor. Has no effect during playMode.
+
+ Eventual callback to call after every update
+
+
+
+ Stops the update loop and clears the onPreviewUpdated callback.
+
+ If TRUE also resets the tweened objects to their original state.
+ Note that this works by calling Rewind on all tweens, so it will work correctly
+ only if you have a single tween type per object and it wasn't killed
+ If TRUE also kills any cached tween
+
+
+
+ Readies the tween for editor preview by setting its UpdateType to Manual plus eventual extra settings.
+
+ The tween to ready
+ If TRUE (recommended) removes all callbacks (OnComplete/Rewind/etc)
+ If TRUE prevents the tween from being auto-killed at completion
+ If TRUE starts playing the tween immediately
+
+
+ Full major version + first minor version (ex: 2018.1f)
+
+
+ Major version
+
+
+ First minor version (ex: in 2018.1 it would be 1)
+
+
+
+ Checks that the given editor texture use the correct import settings,
+ and applies them if they're incorrect.
+
+
+
+
+ Returns TRUE if setup is required
+
+
+
+
+ Returns TRUE if the file/directory at the given path exists.
+
+ Path, relative to Unity's project folder
+
+
+
+
+ Converts the given project-relative path to a full path,
+ with backward (\) slashes).
+
+
+
+
+ Converts the given full path to a path usable with AssetDatabase methods
+ (relative to Unity's project folder, and with the correct Unity forward (/) slashes).
+
+
+
+
+ Connects to a asset.
+ If the asset already exists at the given path, loads it and returns it.
+ Otherwise, either returns NULL or automatically creates it before loading and returning it
+ (depending on the given parameters).
+
+ Asset type
+ File path (relative to Unity's project folder)
+ If TRUE and the requested asset doesn't exist, forces its creation
+
+
+
+ Full path for the given loaded assembly, assembly file included
+
+
+
+
+ Adds the given global define if it's not already present
+
+
+
+
+ Removes the given global define if it's present
+
+
+
+
+ Returns TRUE if the given global define is present in all the
+ or only in the given , depending on passed parameters.
+
+
+ to use. Leave NULL to check in all of them.
+
+
+
+ Not used as menu item anymore, but as a utility function
+
+
+
+ Full major version + first minor version (ex: 2018.1f)
+
+
+ Major version
+
+
+ First minor version (ex: in 2018.1 it would be 1)
+
+
+
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta
new file mode 100644
index 0000000..7cec113
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta
@@ -0,0 +1,4 @@
+fileFormatVersion: 2
+guid: 2e2c6224d345d9249acfa6e8ef40bb2d
+TextScriptImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll
new file mode 100644
index 0000000..4911a86
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb
new file mode 100644
index 0000000..4cf61e0
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta
new file mode 100644
index 0000000..bf461f3
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta
@@ -0,0 +1,4 @@
+fileFormatVersion: 2
+guid: 8f46310a8b0a8f04a92993c37c713243
+DefaultImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta
new file mode 100644
index 0000000..53590f3
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 45d5034162d6cf04dbe46da84fc7d074
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta
new file mode 100644
index 0000000..a81ba5f
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: 0034ebae0c2a9344e897db1160d71b6d
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png
new file mode 100644
index 0000000..d06fc7c
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta
new file mode 100644
index 0000000..61c3cce
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta
@@ -0,0 +1,47 @@
+fileFormatVersion: 2
+guid: 8da095e39e9b4df488dfd436f81116d6
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: .25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ seamlessCubemap: 0
+ textureFormat: -3
+ maxTextureSize: 128
+ textureSettings:
+ filterMode: 1
+ aniso: 1
+ mipBias: -1
+ wrapMode: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: .5, y: .5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 1
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ spritePackingTag:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png
new file mode 100644
index 0000000..7cd74c1
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta
new file mode 100644
index 0000000..c343a61
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 61521df2e071645488ba3d05e49289ae
+timeCreated: 1602317874
+licenseType: Store
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 4
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png
new file mode 100644
index 0000000..e29d02f
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta
new file mode 100644
index 0000000..7ca1911
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta
@@ -0,0 +1,47 @@
+fileFormatVersion: 2
+guid: 7051dba417b3d53409f2918f1ea4938d
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: .25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ seamlessCubemap: 0
+ textureFormat: -3
+ maxTextureSize: 256
+ textureSettings:
+ filterMode: 1
+ aniso: 1
+ mipBias: -1
+ wrapMode: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: .5, y: .5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 1
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ spritePackingTag:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png
new file mode 100644
index 0000000..e48db5e
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta
new file mode 100644
index 0000000..f12a1a7
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta
@@ -0,0 +1,47 @@
+fileFormatVersion: 2
+guid: 519694efe2bb2914788b151fbd8c01f4
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ linearTexture: 0
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: .25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ seamlessCubemap: 0
+ textureFormat: -1
+ maxTextureSize: 1024
+ textureSettings:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: .5, y: .5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 0
+ textureType: -1
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ spritePackingTag:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg
new file mode 100644
index 0000000..4d710d7
Binary files /dev/null and b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg differ
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta
new file mode 100644
index 0000000..26e4255
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta
@@ -0,0 +1,47 @@
+fileFormatVersion: 2
+guid: 78a59ca99f8987941adb61f9e14a06a7
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ correctGamma: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: .25
+ normalMapFilter: 0
+ isReadable: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 0
+ seamlessCubemap: 0
+ textureFormat: -3
+ maxTextureSize: 512
+ textureSettings:
+ filterMode: 1
+ aniso: 1
+ mipBias: -1
+ wrapMode: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: .5, y: .5}
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spritePixelsToUnits: 100
+ alphaIsTransparency: 1
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ sprites: []
+ spritePackingTag:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Modules.meta
new file mode 100644
index 0000000..24cd2ac
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: 143604b8bad857d47a6f7cc7a533e2dc
+folderAsset: yes
+DefaultImporter:
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
new file mode 100644
index 0000000..d958ae0
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
@@ -0,0 +1,198 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+using UnityEngine.Audio; // Required for AudioMixer
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModuleAudio
+ {
+ #region Shortcuts
+
+ #region Audio
+
+ /// Tweens an AudioSource's volume to the given value.
+ /// Also stores the AudioSource as the tween's target so it can be used for filtered operations
+ /// The end value to reach (0 to 1)The duration of the tween
+ public static TweenerCore DOFade(this AudioSource target, float endValue, float duration)
+ {
+ if (endValue < 0) endValue = 0;
+ else if (endValue > 1) endValue = 1;
+ TweenerCore t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an AudioSource's pitch to the given value.
+ /// Also stores the AudioSource as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPitch(this AudioSource target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region AudioMixer
+
+ /// Tweens an AudioMixer's exposed float to the given value.
+ /// Also stores the AudioMixer as the tween's target so it can be used for filtered operations.
+ /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer.
+ /// Name given to the exposed float to set
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(()=> {
+ float currVal;
+ target.GetFloat(floatName, out currVal);
+ return currVal;
+ }, x=> target.SetFloat(floatName, x), endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #region Operation Shortcuts
+
+ ///
+ /// Completes all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens completed
+ /// (meaning the tweens that don't have infinite loops and were not already complete)
+ ///
+ /// For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ /// otherwise they will be ignored
+ public static int DOComplete(this AudioMixer target, bool withCallbacks = false)
+ {
+ return DOTween.Complete(target, withCallbacks);
+ }
+
+ ///
+ /// Kills all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens killed.
+ ///
+ /// If TRUE completes the tween before killing it
+ public static int DOKill(this AudioMixer target, bool complete = false)
+ {
+ return DOTween.Kill(target, complete);
+ }
+
+ ///
+ /// Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens flipped.
+ ///
+ public static int DOFlip(this AudioMixer target)
+ {
+ return DOTween.Flip(target);
+ }
+
+ ///
+ /// Sends to the given position all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens involved.
+ ///
+ /// Time position to reach
+ /// (if higher than the whole tween duration the tween will simply reach its end)
+ /// If TRUE will play the tween after reaching the given position, otherwise it will pause it
+ public static int DOGoto(this AudioMixer target, float to, bool andPlay = false)
+ {
+ return DOTween.Goto(target, to, andPlay);
+ }
+
+ ///
+ /// Pauses all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens paused.
+ ///
+ public static int DOPause(this AudioMixer target)
+ {
+ return DOTween.Pause(target);
+ }
+
+ ///
+ /// Plays all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens played.
+ ///
+ public static int DOPlay(this AudioMixer target)
+ {
+ return DOTween.Play(target);
+ }
+
+ ///
+ /// Plays backwards all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens played.
+ ///
+ public static int DOPlayBackwards(this AudioMixer target)
+ {
+ return DOTween.PlayBackwards(target);
+ }
+
+ ///
+ /// Plays forward all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens played.
+ ///
+ public static int DOPlayForward(this AudioMixer target)
+ {
+ return DOTween.PlayForward(target);
+ }
+
+ ///
+ /// Restarts all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens restarted.
+ ///
+ public static int DORestart(this AudioMixer target)
+ {
+ return DOTween.Restart(target);
+ }
+
+ ///
+ /// Rewinds all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens rewinded.
+ ///
+ public static int DORewind(this AudioMixer target)
+ {
+ return DOTween.Rewind(target);
+ }
+
+ ///
+ /// Smoothly rewinds all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens rewinded.
+ ///
+ public static int DOSmoothRewind(this AudioMixer target)
+ {
+ return DOTween.SmoothRewind(target);
+ }
+
+ ///
+ /// Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens involved.
+ ///
+ public static int DOTogglePause(this AudioMixer target)
+ {
+ return DOTween.TogglePause(target);
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta
new file mode 100644
index 0000000..50aa010
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b766d08851589514b97afb23c6f30a70
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs
new file mode 100644
index 0000000..2ab3775
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs
@@ -0,0 +1,146 @@
+using UnityEngine;
+
+#if false || EPO_DOTWEEN // MODULE_MARKER
+
+using EPOOutline;
+using DG.Tweening.Plugins.Options;
+using DG.Tweening;
+using DG.Tweening.Core;
+
+namespace DG.Tweening
+{
+ public static class DOTweenModuleEPOOutline
+ {
+ public static int DOKill(this SerializedPass target, bool complete)
+ {
+ return DOTween.Kill(target, complete);
+ }
+
+ public static TweenerCore DOFloat(this SerializedPass target, string propertyName, float endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.GetFloat(propertyName), x => target.SetFloat(propertyName, x), endValue, duration);
+ tweener.SetOptions(true).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOFade(this SerializedPass target, string propertyName, float endValue, float duration)
+ {
+ var tweener = DOTween.ToAlpha(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration);
+ tweener.SetOptions(true).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOColor(this SerializedPass target, string propertyName, Color endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration);
+ tweener.SetOptions(false).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOVector(this SerializedPass target, string propertyName, Vector4 endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.GetVector(propertyName), x => target.SetVector(propertyName, x), endValue, duration);
+ tweener.SetOptions(false).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOFloat(this SerializedPass target, int propertyId, float endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.GetFloat(propertyId), x => target.SetFloat(propertyId, x), endValue, duration);
+ tweener.SetOptions(true).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOFade(this SerializedPass target, int propertyId, float endValue, float duration)
+ {
+ var tweener = DOTween.ToAlpha(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration);
+ tweener.SetOptions(true).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOColor(this SerializedPass target, int propertyId, Color endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration);
+ tweener.SetOptions(false).SetTarget(target);
+ return tweener;
+ }
+
+ public static TweenerCore DOVector(this SerializedPass target, int propertyId, Vector4 endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.GetVector(propertyId), x => target.SetVector(propertyId, x), endValue, duration);
+ tweener.SetOptions(false).SetTarget(target);
+ return tweener;
+ }
+
+ public static int DOKill(this Outlinable.OutlineProperties target, bool complete = false)
+ {
+ return DOTween.Kill(target, complete);
+ }
+
+ public static int DOKill(this Outliner target, bool complete = false)
+ {
+ return DOTween.Kill(target, complete);
+ }
+
+ ///
+ /// Controls the alpha (transparency) of the outline
+ ///
+ public static TweenerCore DOFade(this Outlinable.OutlineProperties target, float endValue, float duration)
+ {
+ var tweener = DOTween.ToAlpha(() => target.Color, x => target.Color = x, endValue, duration);
+ tweener.SetOptions(true).SetTarget(target);
+ return tweener;
+ }
+
+ ///
+ /// Controls the color of the outline
+ ///
+ public static TweenerCore DOColor(this Outlinable.OutlineProperties target, Color endValue, float duration)
+ {
+ var tweener = DOTween.To(() => target.Color, x => target.Color = x, endValue, duration);
+ tweener.SetOptions(false).SetTarget(target);
+ return tweener;
+ }
+
+ ///
+ /// Controls the amount of blur applied to the outline
+ ///
+ public static TweenerCore DOBlurShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false)
+ {
+ var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration);
+ tweener.SetOptions(snapping).SetTarget(target);
+ return tweener;
+ }
+
+ ///
+ /// Controls the amount of blur applied to the outline
+ ///
+ public static TweenerCore DOBlurShift(this Outliner target, float endValue, float duration, bool snapping = false)
+ {
+ var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration);
+ tweener.SetOptions(snapping).SetTarget(target);
+ return tweener;
+ }
+
+ ///
+ /// Controls the amount of dilation applied to the outline
+ ///
+ public static TweenerCore DODilateShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false)
+ {
+ var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration);
+ tweener.SetOptions(snapping).SetTarget(target);
+ return tweener;
+ }
+
+ ///
+ /// Controls the amount of dilation applied to the outline
+ ///
+ public static TweenerCore DODilateShift(this Outliner target, float endValue, float duration, bool snapping = false)
+ {
+ var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration);
+ tweener.SetOptions(snapping).SetTarget(target);
+ return tweener;
+ }
+ }
+}
+#endif
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta
new file mode 100644
index 0000000..4b8991f
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e944529dcaee98f4e9498d80e541d93e
+timeCreated: 1602593330
+licenseType: Store
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
new file mode 100644
index 0000000..08b0700
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
@@ -0,0 +1,216 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Enums;
+using DG.Tweening.Plugins;
+using DG.Tweening.Plugins.Core.PathCore;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModulePhysics
+ {
+ #region Shortcuts
+
+ #region Rigidbody
+
+ /// Tweens a Rigidbody's position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's X position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's Y position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's Z position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's rotation to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// Rotation mode
+ public static TweenerCore DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
+ {
+ TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
+ t.SetTarget(target);
+ t.plugOptions.rotateMode = mode;
+ return t;
+ }
+
+ /// Tweens a Rigidbody's rotation so that it will look towards the given position.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The position to look atThe duration of the tween
+ /// Eventual axis constraint for the rotation
+ /// The vector that defines in which direction up is (default: Vector3.up)
+ public static TweenerCore DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
+ {
+ TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration)
+ .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt);
+ t.plugOptions.axisConstraint = axisConstraint;
+ t.plugOptions.up = (up == null) ? Vector3.up : (Vector3)up;
+ return t;
+ }
+
+ #region Special
+
+ /// Tweens a Rigidbody's position to the given value, while also applying a jump effect along the Y axis.
+ /// Returns a Sequence instead of a Tweener.
+ /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reach
+ /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ /// Total number of jumps
+ /// The duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Sequence DOJump(this Rigidbody target, Vector3 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
+ {
+ if (numJumps < 1) numJumps = 1;
+ float startPosY = 0;
+ float offsetY = -1;
+ bool offsetYSet = false;
+ Sequence s = DOTween.Sequence();
+ Tween yTween = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, jumpPower, 0), duration / (numJumps * 2))
+ .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
+ .SetLoops(numJumps * 2, LoopType.Yoyo)
+ .OnStart(() => startPosY = target.position.y);
+ s.Append(DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue.x, 0, 0), duration)
+ .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
+ ).Join(DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue.z), duration)
+ .SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear)
+ ).Join(yTween)
+ .SetTarget(target).SetEase(DOTween.defaultEaseType);
+ yTween.OnUpdate(() => {
+ if (!offsetYSet) {
+ offsetYSet = true;
+ offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
+ }
+ Vector3 pos = target.position;
+ pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
+ target.MovePosition(pos);
+ });
+ return s;
+ }
+
+ /// Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm.
+ /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations.
+ /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.
+ /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
+ /// If you plan to publish there you should use a regular transform.DOPath.
+ /// The waypoints to go through
+ /// The duration of the tween
+ /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
+ /// The path mode: 3D, side-scroller 2D, top-down 2D
+ /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
+ /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+ public static TweenerCore DOPath(
+ this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
+ PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
+ )
+ {
+ if (resolution < 1) resolution = 1;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, new Path(pathType, path, resolution, gizmoColor), duration)
+ .SetTarget(target).SetUpdate(UpdateType.Fixed);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ return t;
+ }
+ /// Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm.
+ /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
+ /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.
+ /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
+ /// If you plan to publish there you should use a regular transform.DOLocalPath.
+ /// The waypoint to go through
+ /// The duration of the tween
+ /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
+ /// The path mode: 3D, side-scroller 2D, top-down 2D
+ /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
+ /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+ public static TweenerCore DOLocalPath(
+ this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
+ PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
+ )
+ {
+ if (resolution < 1) resolution = 1;
+ Transform trans = target.transform;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path, resolution, gizmoColor), duration)
+ .SetTarget(target).SetUpdate(UpdateType.Fixed);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ t.plugOptions.useLocalPosition = true;
+ return t;
+ }
+ // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
+ internal static TweenerCore DOPath(
+ this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+ )
+ {
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, path, duration)
+ .SetTarget(target);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ return t;
+ }
+ internal static TweenerCore DOLocalPath(
+ this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+ )
+ {
+ Transform trans = target.transform;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
+ .SetTarget(target);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ t.plugOptions.useLocalPosition = true;
+ return t;
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta
new file mode 100644
index 0000000..0ce0d75
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dae9aa560b4242648a3affa2bfabc365
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
new file mode 100644
index 0000000..8ce2b56
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
@@ -0,0 +1,193 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins;
+using DG.Tweening.Plugins.Core.PathCore;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModulePhysics2D
+ {
+ #region Shortcuts
+
+ #region Rigidbody2D Shortcuts
+
+ /// Tweens a Rigidbody2D's position to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody2D's X position to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody2D's Y position to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody2D's rotation to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DORotate(this Rigidbody2D target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #region Special
+
+ /// Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis.
+ /// Returns a Sequence instead of a Tweener.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
+ /// IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position
+ /// The end value to reach
+ /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ /// Total number of jumps
+ /// The duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Sequence DOJump(this Rigidbody2D target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
+ {
+ if (numJumps < 1) numJumps = 1;
+ float startPosY = 0;
+ float offsetY = -1;
+ bool offsetYSet = false;
+ Sequence s = DOTween.Sequence();
+ Tween yTween = DOTween.To(() => target.position, x => target.position = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
+ .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
+ .SetLoops(numJumps * 2, LoopType.Yoyo)
+ .OnStart(() => startPosY = target.position.y);
+ s.Append(DOTween.To(() => target.position, x => target.position = x, new Vector2(endValue.x, 0), duration)
+ .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
+ ).Join(yTween)
+ .SetTarget(target).SetEase(DOTween.defaultEaseType);
+ yTween.OnUpdate(() => {
+ if (!offsetYSet) {
+ offsetYSet = true;
+ offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
+ }
+ Vector3 pos = target.position;
+ pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
+ target.MovePosition(pos);
+ });
+ return s;
+ }
+
+ /// Tweens a Rigidbody2D's position through the given path waypoints, using the chosen path algorithm.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
+ /// NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.
+ /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
+ /// If you plan to publish there you should use a regular transform.DOPath.
+ /// The waypoints to go through
+ /// The duration of the tween
+ /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
+ /// The path mode: 3D, side-scroller 2D, top-down 2D
+ /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
+ /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+ public static TweenerCore DOPath(
+ this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear,
+ PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
+ )
+ {
+ if (resolution < 1) resolution = 1;
+ int len = path.Length;
+ Vector3[] path3D = new Vector3[len];
+ for (int i = 0; i < len; ++i) path3D[i] = path[i];
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), new Path(pathType, path3D, resolution, gizmoColor), duration)
+ .SetTarget(target).SetUpdate(UpdateType.Fixed);
+
+ t.plugOptions.isRigidbody2D = true;
+ t.plugOptions.mode = pathMode;
+ return t;
+ }
+ /// Tweens a Rigidbody2D's localPosition through the given path waypoints, using the chosen path algorithm.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.
+ /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
+ /// If you plan to publish there you should use a regular transform.DOLocalPath.
+ /// The waypoint to go through
+ /// The duration of the tween
+ /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
+ /// The path mode: 3D, side-scroller 2D, top-down 2D
+ /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
+ /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+ public static TweenerCore DOLocalPath(
+ this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear,
+ PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
+ )
+ {
+ if (resolution < 1) resolution = 1;
+ int len = path.Length;
+ Vector3[] path3D = new Vector3[len];
+ for (int i = 0; i < len; ++i) path3D[i] = path[i];
+ Transform trans = target.transform;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path3D, resolution, gizmoColor), duration)
+ .SetTarget(target).SetUpdate(UpdateType.Fixed);
+
+ t.plugOptions.isRigidbody2D = true;
+ t.plugOptions.mode = pathMode;
+ t.plugOptions.useLocalPosition = true;
+ return t;
+ }
+ // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
+ internal static TweenerCore DOPath(
+ this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+ )
+ {
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), path, duration)
+ .SetTarget(target);
+
+ t.plugOptions.isRigidbody2D = true;
+ t.plugOptions.mode = pathMode;
+ return t;
+ }
+ internal static TweenerCore DOLocalPath(
+ this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+ )
+ {
+ Transform trans = target.transform;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
+ .SetTarget(target);
+
+ t.plugOptions.isRigidbody2D = true;
+ t.plugOptions.mode = pathMode;
+ t.plugOptions.useLocalPosition = true;
+ return t;
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
new file mode 100644
index 0000000..ca9ed29
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 230fe34542e175245ba74b4659dae700
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
new file mode 100644
index 0000000..72afb7b
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
@@ -0,0 +1,93 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+using System;
+using UnityEngine;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModuleSprite
+ {
+ #region Shortcuts
+
+ #region SpriteRenderer
+
+ /// Tweens a SpriteRenderer's color to the given value.
+ /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this SpriteRenderer target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Material's alpha color to the given value.
+ /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this SpriteRenderer target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a SpriteRenderer's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this SpriteRenderer target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ s.SetTarget(target);
+ return s;
+ }
+
+ #endregion
+
+ #region Blendables
+
+ #region SpriteRenderer
+
+ /// Tweens a SpriteRenderer's color to the given value,
+ /// in a way that allows other DOBlendableColor tweens to work together on the same target,
+ /// instead than fight each other as multiple DOColor would do.
+ /// Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations
+ /// The value to tween toThe duration of the tween
+ public static Tweener DOBlendableColor(this SpriteRenderer target, Color endValue, float duration)
+ {
+ endValue = endValue - target.color;
+ Color to = new Color(0, 0, 0, 0);
+ return DOTween.To(() => to, x => {
+ Color diff = x - to;
+ to = x;
+ target.color += diff;
+ }, endValue, duration)
+ .Blendable().SetTarget(target);
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta
new file mode 100644
index 0000000..a0c67c4
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 188918ab119d93148aa0de59ccf5286b
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
new file mode 100644
index 0000000..2381f4c
--- /dev/null
+++ b/mycj/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
@@ -0,0 +1,662 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+
+using System;
+using System.Globalization;
+using UnityEngine;
+using UnityEngine.UI;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Enums;
+using DG.Tweening.Plugins;
+using DG.Tweening.Plugins.Options;
+using Outline = UnityEngine.UI.Outline;
+using Text = UnityEngine.UI.Text;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModuleUI
+ {
+ #region Shortcuts
+
+ #region CanvasGroup
+
+ /// Tweens a CanvasGroup's alpha color to the given value.
+ /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this CanvasGroup target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Graphic
+
+ /// Tweens an Graphic's color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Graphic target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Graphic's alpha color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Graphic target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Image
+
+ /// Tweens an Image's color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Image target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Image's alpha color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Image target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Image's fillAmount to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reach (0 to 1)The duration of the tween
+ public static TweenerCore DOFillAmount(this Image target, float endValue, float duration)
+ {
+ if (endValue > 1) endValue = 1;
+ else if (endValue < 0) endValue = 0;
+ TweenerCore t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Image's colors using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this Image target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ s.SetTarget(target);
+ return s;
+ }
+
+ #endregion
+
+ #region LayoutElement
+
+ /// Tweens an LayoutElement's flexibleWidth/Height to the given value.
+ /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => {
+ target.flexibleWidth = x.x;
+ target.flexibleHeight = x.y;
+ }, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an LayoutElement's minWidth/Height to the given value.
+ /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => {
+ target.minWidth = x.x;
+ target.minHeight = x.y;
+ }, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an LayoutElement's preferredWidth/Height to the given value.
+ /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => {
+ target.preferredWidth = x.x;
+ target.preferredHeight = x.y;
+ }, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Outline
+
+ /// Tweens a Outline's effectColor to the given value.
+ /// Also stores the Outline as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Outline target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Outline's effectColor alpha to the given value.
+ /// Also stores the Outline as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Outline target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Outline's effectDistance to the given value.
+ /// Also stores the Outline as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this Outline target, Vector2 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region RectTransform
+
+ /// Tweens a RectTransform's anchoredPosition to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition X to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition Y to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's anchoredPosition3D to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition3D X to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition3D Y to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition3D Z to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's anchorMax to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's anchorMin to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's pivot to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPivot(this RectTransform target, Vector2 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's pivot X to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPivotX(this RectTransform target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's pivot Y to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPivotY(this RectTransform target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's sizeDelta to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one
+ /// as if it was connected to the starting position via an elastic.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The direction and strength of the punch (added to the RectTransform's current position)
+ /// The duration of the tween
+ /// Indicates how much will the punch vibrate
+ /// Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ /// 1 creates a full oscillation between the punch direction and the opposite direction,
+ /// while 0 oscillates only between the punch and the start position
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOPunchAnchorPos(this RectTransform target, Vector2 punch, float duration, int vibrato = 10, float elasticity = 1, bool snapping = false)
+ {
+ return DOTween.Punch(() => target.anchoredPosition, x => target.anchoredPosition = x, punch, duration, vibrato, elasticity)
+ .SetTarget(target).SetOptions(snapping);
+ }
+
+ /// Shakes a RectTransform's anchoredPosition with the given values.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The duration of the tween
+ /// The shake strength
+ /// Indicates how much will the shake vibrate
+ /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ /// Setting it to 0 will shake along a single direction.
+ /// If TRUE the tween will smoothly snap all values to integers
+ /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ /// Randomness mode
+ public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, float strength = 100, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full)
+ {
+ return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, true, fadeOut, randomnessMode)
+ .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
+ }
+ /// Shakes a RectTransform's anchoredPosition with the given values.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The duration of the tween
+ /// The shake strength on each axis
+ /// Indicates how much will the shake vibrate
+ /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ /// Setting it to 0 will shake along a single direction.
+ /// If TRUE the tween will smoothly snap all values to integers
+ /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ /// Randomness mode
+ public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, Vector2 strength, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full)
+ {
+ return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, fadeOut, randomnessMode)
+ .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
+ }
+
+ #region Special
+
+ /// Tweens a RectTransform's anchoredPosition to the given value, while also applying a jump effect along the Y axis.
+ /// Returns a Sequence instead of a Tweener.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reach
+ /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ /// Total number of jumps
+ /// The duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Sequence DOJumpAnchorPos(this RectTransform target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
+ {
+ if (numJumps < 1) numJumps = 1;
+ float startPosY = 0;
+ float offsetY = -1;
+ bool offsetYSet = false;
+
+ // Separate Y Tween so we can elaborate elapsedPercentage on that insted of on the Sequence
+ // (in case users add a delay or other elements to the Sequence)
+ Sequence s = DOTween.Sequence();
+ Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
+ .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
+ .SetLoops(numJumps * 2, LoopType.Yoyo)
+ .OnStart(()=> startPosY = target.anchoredPosition.y);
+ s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration)
+ .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
+ ).Join(yTween)
+ .SetTarget(target).SetEase(DOTween.defaultEaseType);
+ s.OnUpdate(() => {
+ if (!offsetYSet) {
+ offsetYSet = true;
+ offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
+ }
+ Vector2 pos = target.anchoredPosition;
+ pos.y += DOVirtual.EasedValue(0, offsetY, s.ElapsedDirectionalPercentage(), Ease.OutQuad);
+ target.anchoredPosition = pos;
+ });
+ return s;
+ }
+
+ #endregion
+
+ #endregion
+
+ #region ScrollRect
+
+ /// Tweens a ScrollRect's horizontal/verticalNormalizedPosition to the given value.
+ /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition),
+ x => {
+ target.horizontalNormalizedPosition = x.x;
+ target.verticalNormalizedPosition = x.y;
+ }, endValue, duration)
+ .SetOptions(snapping).SetTarget(target);
+ }
+ /// Tweens a ScrollRect's horizontalNormalizedPosition to the given value.
+ /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOHorizontalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
+ {
+ return DOTween.To(() => target.horizontalNormalizedPosition, x => target.horizontalNormalizedPosition = x, endValue, duration)
+ .SetOptions(snapping).SetTarget(target);
+ }
+ /// Tweens a ScrollRect's verticalNormalizedPosition to the given value.
+ /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOVerticalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
+ {
+ return DOTween.To(() => target.verticalNormalizedPosition, x => target.verticalNormalizedPosition = x, endValue, duration)
+ .SetOptions(snapping).SetTarget(target);
+ }
+
+ #endregion
+
+ #region Slider
+
+ /// Tweens a Slider's value to the given value.
+ /// Also stores the Slider as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOValue(this Slider target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.value, x => target.value = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Text
+
+ /// Tweens a Text's color to the given value.
+ /// Also stores the Text as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Text target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ ///
+ /// Tweens a Text's text from one integer to another, with options for thousands separators
+ ///
+ /// The value to start from
+ /// The end value to reach
+ /// The duration of the tween
+ /// If TRUE (default) also adds thousands separators
+ /// The to use (InvariantCulture if NULL)
+ public static TweenerCore DOCounter(
+ this Text target, int fromValue, int endValue, float duration, bool addThousandsSeparator = true, CultureInfo culture = null
+ ){
+ int v = fromValue;
+ CultureInfo cInfo = !addThousandsSeparator ? null : culture ?? CultureInfo.InvariantCulture;
+ TweenerCore