Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56a5a82a8c |
@@ -1,27 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using UnityEditor;
|
|
||||||
using UnityEditor.SceneManagement;
|
|
||||||
|
|
||||||
// Tools -> Fix Camera & HUD: один раз исправить сцену и сохранить.
|
|
||||||
// - HUD_Canvas -> Screen Space Overlay, отвязан от камеры
|
|
||||||
// - с камеры убраны CameraZoom / CameraController / FlyCamera, добавлена CityCamera
|
|
||||||
// - удалены компоненты с "Missing script" (скрипты, которых в проекте уже нет)
|
|
||||||
public static class CameraHUDFixer
|
|
||||||
{
|
|
||||||
// [MenuItem("Tools/Fix Camera & HUD")] -- отключено, см. RestoreOldCamera
|
|
||||||
public static void Fix()
|
|
||||||
{
|
|
||||||
int missing = 0;
|
|
||||||
var hud = GameObject.Find("HUD_Canvas");
|
|
||||||
if (hud != null) missing += GameObjectUtility.RemoveMonoBehavioursWithMissingScript(hud);
|
|
||||||
if (Camera.main != null) missing += GameObjectUtility.RemoveMonoBehavioursWithMissingScript(Camera.main.gameObject);
|
|
||||||
|
|
||||||
int changes = HUDCameraSetup.Apply(true);
|
|
||||||
|
|
||||||
if (hud != null) EditorSceneManager.MarkSceneDirty(hud.scene);
|
|
||||||
else if (Camera.main != null) EditorSceneManager.MarkSceneDirty(Camera.main.gameObject.scene);
|
|
||||||
|
|
||||||
Debug.Log("Камера и HUD исправлены: изменений " + changes + ", удалено пустых скриптов " + missing +
|
|
||||||
". Сохрани сцену (Ctrl+S). Границы карты камеры: компонент CityCamera на Main Camera.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 43380bdc85562cc4abb95b707e06cfb6
|
|
||||||
@@ -48,8 +48,7 @@ public class HUDPanelsBuilder
|
|||||||
if (canvasGO == null) { Debug.LogError("Не найден объект HUD_Canvas на сцене."); return; }
|
if (canvasGO == null) { Debug.LogError("Не найден объект HUD_Canvas на сцене."); return; }
|
||||||
|
|
||||||
|
|
||||||
// казармы: префаб + данные здания + в список стройки
|
|
||||||
EnsureBarracks();
|
|
||||||
|
|
||||||
// менеджер
|
// менеджер
|
||||||
UIPanelManager manager = canvasGO.GetComponent<UIPanelManager>();
|
UIPanelManager manager = canvasGO.GetComponent<UIPanelManager>();
|
||||||
@@ -139,93 +138,7 @@ public class HUDPanelsBuilder
|
|||||||
(missing.Length > 0 ? ". Не найдены:" + missing : "") + ". Не забудь сохранить сцену (Ctrl+S).");
|
(missing.Length > 0 ? ". Не найдены:" + missing : "") + ". Не забудь сохранить сцену (Ctrl+S).");
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===================== КАЗАРМЫ =====================
|
// «Tools/Create Barracks» (префаб и данные Казарм 2D-города) удалён 06.11 вместе с 2D-городом: Казармы -- здание 3D-поселения
|
||||||
|
|
||||||
const string BarracksPrefabPath = "Assets/Prefab/Buildings/Barracks.prefab";
|
|
||||||
const string BarracksDataPath = "Assets/Prefab/Buildings/Data_Barracks.asset";
|
|
||||||
|
|
||||||
[MenuItem("Tools/Create Barracks")]
|
|
||||||
public static void EnsureBarracks()
|
|
||||||
{
|
|
||||||
Sprite icon = LoadSprite("Assets/UI/HUD v2/Войска/v1.png");
|
|
||||||
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(BarracksPrefabPath);
|
|
||||||
|
|
||||||
if (prefab == null)
|
|
||||||
{
|
|
||||||
// берём готовое здание как шаблон: тот же масштаб, слой, материал, коллайдер
|
|
||||||
string template = "Assets/Prefab/Buildings/Food.prefab";
|
|
||||||
if (AssetDatabase.LoadAssetAtPath<GameObject>(template) == null)
|
|
||||||
{
|
|
||||||
var bmT = UnityEngine.Object.FindAnyObjectByType<BuildManager>();
|
|
||||||
if (bmT != null)
|
|
||||||
foreach (var b in bmT.allBuildings)
|
|
||||||
if (b != null && b.prefab != null) { template = AssetDatabase.GetAssetPath(b.prefab); break; }
|
|
||||||
}
|
|
||||||
if (!AssetDatabase.CopyAsset(template, BarracksPrefabPath))
|
|
||||||
{
|
|
||||||
Debug.LogError("Не удалось создать префаб казарм из " + template);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
GameObject root = PrefabUtility.LoadPrefabContents(BarracksPrefabPath);
|
|
||||||
root.name = "Barracks";
|
|
||||||
foreach (var c in root.GetComponents<ResourceCollector>()) UnityEngine.Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in root.GetComponents<ResourceProducer>()) UnityEngine.Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in root.GetComponents<BuildingUI>()) UnityEngine.Object.DestroyImmediate(c);
|
|
||||||
var kids = new System.Collections.Generic.List<GameObject>();
|
|
||||||
foreach (Transform ch in root.transform) kids.Add(ch.gameObject); // полоска запаса ресурса -- не нужна
|
|
||||||
foreach (var k in kids) UnityEngine.Object.DestroyImmediate(k);
|
|
||||||
|
|
||||||
var sr = root.GetComponent<SpriteRenderer>();
|
|
||||||
if (sr != null)
|
|
||||||
{
|
|
||||||
if (icon != null)
|
|
||||||
{
|
|
||||||
Vector2 oldSize = sr.sprite != null ? (Vector2)sr.sprite.bounds.size : Vector2.one;
|
|
||||||
sr.sprite = icon;
|
|
||||||
sr.color = Color.white;
|
|
||||||
float k = Mathf.Min(oldSize.x / icon.bounds.size.x, oldSize.y / icon.bounds.size.y);
|
|
||||||
root.transform.localScale = Vector3.Scale(root.transform.localScale, new Vector3(k, k, 1));
|
|
||||||
}
|
|
||||||
else sr.color = new Color(1f, 0.6f, 0.6f); // нет иконки -- хотя бы отличаем цветом
|
|
||||||
|
|
||||||
var box = root.GetComponent<BoxCollider2D>();
|
|
||||||
if (box != null && sr.sprite != null) { box.size = sr.sprite.bounds.size; box.offset = sr.sprite.bounds.center; }
|
|
||||||
}
|
|
||||||
if (root.GetComponent<Barracks>() == null) root.AddComponent<Barracks>();
|
|
||||||
PrefabUtility.SaveAsPrefabAsset(root, BarracksPrefabPath);
|
|
||||||
PrefabUtility.UnloadPrefabContents(root);
|
|
||||||
prefab = AssetDatabase.LoadAssetAtPath<GameObject>(BarracksPrefabPath);
|
|
||||||
Debug.Log("Создан префаб казарм: " + BarracksPrefabPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
BuildingData data = AssetDatabase.LoadAssetAtPath<BuildingData>(BarracksDataPath);
|
|
||||||
if (data == null)
|
|
||||||
{
|
|
||||||
data = ScriptableObject.CreateInstance<BuildingData>();
|
|
||||||
data.buildingName = "Казармы";
|
|
||||||
data.icon = icon;
|
|
||||||
data.prefab = prefab;
|
|
||||||
data.requiredTownHallLevel = 1;
|
|
||||||
data.cost = new[]
|
|
||||||
{
|
|
||||||
new ResourceCost { type = ResourceType.Wood, amount = 300 },
|
|
||||||
new ResourceCost { type = ResourceType.Stone, amount = 200 },
|
|
||||||
};
|
|
||||||
AssetDatabase.CreateAsset(data, BarracksDataPath);
|
|
||||||
AssetDatabase.SaveAssets();
|
|
||||||
Debug.Log("Созданы данные здания: " + BarracksDataPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
var bm = UnityEngine.Object.FindAnyObjectByType<BuildManager>();
|
|
||||||
if (bm != null && !bm.allBuildings.Contains(data))
|
|
||||||
{
|
|
||||||
bm.allBuildings.Add(data);
|
|
||||||
EditorUtility.SetDirty(bm);
|
|
||||||
EditorSceneManager.MarkSceneDirty(bm.gameObject.scene);
|
|
||||||
Debug.Log("Казармы добавлены в список стройки (BuildManager)");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static Sprite LoadSprite(string path)
|
static Sprite LoadSprite(string path)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,84 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using UnityEngine.UI;
|
|
||||||
using UnityEditor;
|
|
||||||
using UnityEditor.SceneManagement;
|
|
||||||
|
|
||||||
// HUD ПРИКРЕПЛЁН К КАМЕРЕ (Canvas: Screen Space - Camera):
|
|
||||||
// - HUD рисуется камерой и всегда занимает экран одинаково -- при зуме и перемещении не плывёт и не масштабируется
|
|
||||||
// - карту можно двигать и зумить (CameraController), клики по кнопкам HUD работают
|
|
||||||
// - спрайты внутри HUD (например "Рамка в середине") рисуются правильно -- в этом режиме Canvas живёт в мире перед камерой
|
|
||||||
// - CameraZoom больше не нужен (он масштабировал HUD вручную и делал это в обратную сторону)
|
|
||||||
//
|
|
||||||
// Применяется сам один раз после компиляции, если сцена ещё не в этом режиме. Вручную: Tools -> HUD: Attach To Camera.
|
|
||||||
[InitializeOnLoad]
|
|
||||||
public static class RestoreOldCamera
|
|
||||||
{
|
|
||||||
static readonly Vector2 DesignSize = new Vector2(2007.7732f, 1032.786f); // размер, под который собран HUD
|
|
||||||
|
|
||||||
static RestoreOldCamera() { EditorApplication.delayCall += Auto; }
|
|
||||||
|
|
||||||
static void Auto()
|
|
||||||
{
|
|
||||||
if (EditorApplication.isPlayingOrWillChangePlaymode) return;
|
|
||||||
var hud = GameObject.Find("HUD_Canvas");
|
|
||||||
var cam = Camera.main;
|
|
||||||
if (hud == null || cam == null) return;
|
|
||||||
var canvas = hud.GetComponent<Canvas>();
|
|
||||||
var sc = hud.GetComponent<CanvasScaler>();
|
|
||||||
bool ok = canvas != null && canvas.renderMode == RenderMode.ScreenSpaceCamera && canvas.worldCamera == cam
|
|
||||||
&& cam.GetComponent<CameraZoom>() == null && cam.GetComponent<CityCamera>() == null
|
|
||||||
&& sc != null && sc.enabled && sc.screenMatchMode == CanvasScaler.ScreenMatchMode.Expand;
|
|
||||||
if (!ok) Apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
[MenuItem("Tools/HUD: Attach To Camera")]
|
|
||||||
public static void Apply()
|
|
||||||
{
|
|
||||||
var cam = Camera.main;
|
|
||||||
var hud = GameObject.Find("HUD_Canvas");
|
|
||||||
if (cam == null || hud == null) { Debug.LogError("Нужны Main Camera и HUD_Canvas"); return; }
|
|
||||||
|
|
||||||
// ---- камера: только CameraController (перемещение + зум) ----
|
|
||||||
foreach (var c in cam.GetComponents<CityCamera>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in cam.GetComponents<CameraZoom>()) Object.DestroyImmediate(c);
|
|
||||||
var ctrl = cam.GetComponent<CameraController>();
|
|
||||||
if (ctrl == null)
|
|
||||||
{
|
|
||||||
ctrl = cam.gameObject.AddComponent<CameraController>();
|
|
||||||
ctrl.moveSpeed = 5f; ctrl.zoomSpeed = 2f; ctrl.minOrthoSize = 2f; ctrl.maxOrthoSize = 50f;
|
|
||||||
}
|
|
||||||
ctrl.enabled = true;
|
|
||||||
cam.orthographic = true;
|
|
||||||
cam.transform.localScale = Vector3.one;
|
|
||||||
cam.transform.rotation = Quaternion.identity;
|
|
||||||
if (cam.orthographicSize < 2f || cam.orthographicSize > 50f) cam.orthographicSize = 10f;
|
|
||||||
|
|
||||||
// ---- HUD: Screen Space - Camera ----
|
|
||||||
var canvas = hud.GetComponent<Canvas>();
|
|
||||||
var rt = (RectTransform)hud.transform;
|
|
||||||
if (rt.parent != null) rt.SetParent(null, false);
|
|
||||||
canvas.renderMode = RenderMode.ScreenSpaceCamera;
|
|
||||||
canvas.worldCamera = cam;
|
|
||||||
canvas.planeDistance = 5f; // между камерой (z=-10) и картой (z=0)
|
|
||||||
canvas.sortingOrder = 100; // поверх зданий
|
|
||||||
rt.localRotation = Quaternion.identity;
|
|
||||||
|
|
||||||
var scaler = hud.GetComponent<CanvasScaler>();
|
|
||||||
if (scaler == null) scaler = hud.AddComponent<CanvasScaler>();
|
|
||||||
scaler.enabled = true;
|
|
||||||
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
|
|
||||||
scaler.referenceResolution = DesignSize;
|
|
||||||
// Expand: весь HUD (2007x1032) всегда помещается на экран целиком -- и в узком окне, и на широком телефоне
|
|
||||||
scaler.screenMatchMode = CanvasScaler.ScreenMatchMode.Expand;
|
|
||||||
|
|
||||||
// спрайты внутри HUD -- поверх карты
|
|
||||||
foreach (var sr in hud.GetComponentsInChildren<SpriteRenderer>(true))
|
|
||||||
{
|
|
||||||
if (sr.sortingOrder < 100) sr.sortingOrder = 100;
|
|
||||||
if (!sr.gameObject.activeSelf) sr.gameObject.SetActive(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
EditorSceneManager.MarkSceneDirty(hud.scene);
|
|
||||||
Debug.Log("HUD прикреплён к камере (Screen Space - Camera), CameraZoom убран. Сохрани сцену: Ctrl+S.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f4f66fb7b626a0e41af6fe3fe793e917
|
|
||||||
@@ -3,12 +3,10 @@ using UnityEditor;
|
|||||||
|
|
||||||
// Следит, чтобы сцена карты мира (WorldMap, от Саши) была в Build Settings --
|
// Следит, чтобы сцена карты мира (WorldMap, от Саши) была в Build Settings --
|
||||||
// иначе переход город -> карта не работает. Срабатывает сам после каждой компиляции.
|
// иначе переход город -> карта не работает. Срабатывает сам после каждой компиляции.
|
||||||
// Стартовая сцена (05.11): 3D-поселение City3D, если оно есть в проекте, иначе 2D-город MVP1.
|
// Стартовая сцена -- 3D-поселение City3D (2D-город MVP1 удалён 06.11).
|
||||||
// Выключенный в Build Settings MVP1 (06.11) скрипт не трогает и заново не добавляет.
|
|
||||||
[InitializeOnLoad]
|
[InitializeOnLoad]
|
||||||
public static class SceneListFixer
|
public static class SceneListFixer
|
||||||
{
|
{
|
||||||
const string CityScene = "Assets/Scenes/MVP1.unity";
|
|
||||||
const string WorldScene = "Assets/Scenes/WorldMap.unity";
|
const string WorldScene = "Assets/Scenes/WorldMap.unity";
|
||||||
const string City3DScene = "Assets/Scenes/City3D.unity";
|
const string City3DScene = "Assets/Scenes/City3D.unity";
|
||||||
|
|
||||||
@@ -18,8 +16,7 @@ public static class SceneListFixer
|
|||||||
{
|
{
|
||||||
var scenes = new List<EditorBuildSettingsScene>(EditorBuildSettings.scenes);
|
var scenes = new List<EditorBuildSettingsScene>(EditorBuildSettings.scenes);
|
||||||
bool changed = false;
|
bool changed = false;
|
||||||
string start = AssetDatabase.LoadAssetAtPath<SceneAsset>(City3DScene) != null ? City3DScene : CityScene;
|
string start = City3DScene;
|
||||||
// 2D-город (MVP1) больше не развиваем (06.11): при 3D-поселении его в список не добавляем и не включаем
|
|
||||||
var wanted = new[] { start, WorldScene };
|
var wanted = new[] { start, WorldScene };
|
||||||
foreach (var path in wanted)
|
foreach (var path in wanted)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ using UnityEngine.UI;
|
|||||||
|
|
||||||
// Tools -> Build World Map Scene
|
// Tools -> Build World Map Scene
|
||||||
// 1. Создаёт сцену Assets/Scenes/WorldMap.unity: камера, EventSystem, UI карты, WorldMapController.
|
// 1. Создаёт сцену Assets/Scenes/WorldMap.unity: камера, EventSystem, UI карты, WorldMapController.
|
||||||
// 2. Ставит MVP1 и WorldMap в Build Settings (иначе SceneManager.LoadScene их не найдёт).
|
// 2. Ставит город (City3D) и WorldMap в Build Settings (иначе SceneManager.LoadScene их не найдёт).
|
||||||
// 3. Проверяет, что на кнопке Nav_Battle в городе висит OpenBattleButton.
|
// 3. Проверяет, что на кнопке Nav_Battle в городе висит OpenBattleButton.
|
||||||
// Можно запускать повторно -- сцена карты пересоздаётся заново.
|
// Можно запускать повторно -- сцена карты пересоздаётся заново.
|
||||||
public static class WorldMapSceneBuilder
|
public static class WorldMapSceneBuilder
|
||||||
{
|
{
|
||||||
const string WorldMapScenePath = "Assets/Scenes/WorldMap.unity";
|
const string WorldMapScenePath = "Assets/Scenes/WorldMap.unity";
|
||||||
const string CityScenePath = "Assets/Scenes/MVP1.unity";
|
const string CityScenePath = "Assets/Scenes/City3D.unity"; // город -- 3D-поселение (MVP1 удалён 06.11)
|
||||||
|
|
||||||
[MenuItem("Tools/Build World Map Scene")]
|
[MenuItem("Tools/Build World Map Scene")]
|
||||||
public static void Build()
|
public static void Build()
|
||||||
@@ -26,7 +26,7 @@ public static class WorldMapSceneBuilder
|
|||||||
UpdateBuildSettings();
|
UpdateBuildSettings();
|
||||||
HookUpCityBattleButton();
|
HookUpCityBattleButton();
|
||||||
|
|
||||||
Debug.Log("[КАРТА] Сцена карты мира создана, кнопка БОЙ в городе подключена. Запускай MVP1 и жми БОЙ.");
|
Debug.Log("[КАРТА] Сцена карты мира создана, кнопка БОЙ в городе подключена. Запускай City3D и жми БОЙ.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------- СЦЕНА КАРТЫ ----------------
|
// ---------------- СЦЕНА КАРТЫ ----------------
|
||||||
@@ -408,7 +408,7 @@ public static class WorldMapSceneBuilder
|
|||||||
GameObject navBattle = GameObject.Find("Nav_Battle");
|
GameObject navBattle = GameObject.Find("Nav_Battle");
|
||||||
if (navBattle == null)
|
if (navBattle == null)
|
||||||
{
|
{
|
||||||
Debug.LogWarning("[КАРТА] В сцене MVP1 не найден объект Nav_Battle -- повесь OpenBattleButton на кнопку БОЙ вручную.");
|
Debug.LogWarning("[КАРТА] В сцене города не найден объект Nav_Battle -- повесь OpenBattleButton на кнопку БОЙ вручную.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5194b2d04b025424f97b0d83f0c6bdcc
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,154 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &8587519695404222676
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5056236775830869539}
|
|
||||||
- component: {fileID: 7776370013680216338}
|
|
||||||
- component: {fileID: 1708035113988781431}
|
|
||||||
- component: {fileID: 2152423632773446457}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Barracks
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &5056236775830869539
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: -3.48, y: -1.22, z: 0}
|
|
||||||
m_LocalScale: {x: 0.16310804, y: 0.15743585, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &7776370013680216338
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: 1052350730647309974, guid: 555b437beb16a374ea82b63948439f4e, type: 3}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!61 &1708035113988781431
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 23.292307, y: 16.615385}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 20, y: 12.54}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &2152423632773446457
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 96f3807928801df4a840181e38da1317, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::Barracks
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: bd259e52fed42bc48a1352e78ce97819
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_Barracks
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u041A\u0430\u0437\u0430\u0440\u043C\u044B"
|
|
||||||
icon: {fileID: 2801366364622282508, guid: b35488e828328a54f88edf516b780ea5, type: 3}
|
|
||||||
prefab: {fileID: 8587519695404222676, guid: bd259e52fed42bc48a1352e78ce97819, type: 3}
|
|
||||||
requiredTownHallLevel: 1
|
|
||||||
cost:
|
|
||||||
- type: 2
|
|
||||||
amount: 300
|
|
||||||
- type: 3
|
|
||||||
amount: 200
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 16e55e952b334ec488bbee6b42448828
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_Food
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u0415\u0434\u0430"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 8587519695404222676, guid: 995641ce1713f0543b5967de3a3b601c, type: 3}
|
|
||||||
requiredTownHallLevel: 1
|
|
||||||
cost:
|
|
||||||
- type: 2
|
|
||||||
amount: 100
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 22e88ea411e586447bbb5a7ef6dfca16
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_GoldMine
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u0417\u043E\u043B\u043E\u0442\u043E"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 355219734635798756, guid: e150a7924d55dcb4b91a78e0830b419f, type: 3}
|
|
||||||
requiredTownHallLevel: 2
|
|
||||||
cost:
|
|
||||||
- type: 3
|
|
||||||
amount: 50
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9ff3668409f5d03459e5439bad8ab2c2
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_Kamenolomnia
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u041A\u0430\u043C\u0435\u043D\u044C"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 2201762762010450727, guid: 49403fe7cb5651a448b48615a085342c, type: 3}
|
|
||||||
requiredTownHallLevel: 1
|
|
||||||
cost:
|
|
||||||
- type: 2
|
|
||||||
amount: 50
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 455e55b6ce585c64798e6e92189eccbd
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_Kristall
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u041A\u0440\u0438\u0441\u0442\u0430\u043B\u043B"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 7385155700126818636, guid: f24705ebbb7ea11458ddc9d7860aaf57, type: 3}
|
|
||||||
requiredTownHallLevel: 6
|
|
||||||
cost:
|
|
||||||
- type: 2
|
|
||||||
amount: 2000
|
|
||||||
- type: 3
|
|
||||||
amount: 3200
|
|
||||||
- type: 5
|
|
||||||
amount: 12000
|
|
||||||
- type: 4
|
|
||||||
amount: 1600
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fa9bf839732c77849aafecff9090a47c
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_Lesopilka
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u041B\u0435\u0441"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 295848160926721670, guid: bf7bc0815d543dd47944d9157ef313e7, type: 3}
|
|
||||||
requiredTownHallLevel: 1
|
|
||||||
cost: []
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 8b95b82532099bc488024991025a9cca
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_People
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u041D\u0430\u0441\u0435\u043B\u0435\u043D\u0438\u0435"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 6959817872365076538, guid: d8aefa6e68bd204419ffaeb287dea407, type: 3}
|
|
||||||
requiredTownHallLevel: 1
|
|
||||||
cost:
|
|
||||||
- type: 2
|
|
||||||
amount: 100
|
|
||||||
- type: 1
|
|
||||||
amount: 200
|
|
||||||
- type: 3
|
|
||||||
amount: 150
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 184fe08ef84b141408ea8a5a1b2df34e
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 6ce7334b9f0b4914ba6750d2a2d35155, type: 3}
|
|
||||||
m_Name: Data_Shaxta
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingData
|
|
||||||
buildingName: "\u041C\u0435\u0442\u0430\u043B\u043B"
|
|
||||||
icon: {fileID: 0}
|
|
||||||
prefab: {fileID: 8005614407148533590, guid: 198e0c7292623ea4194c29ec7a96a148, type: 3}
|
|
||||||
requiredTownHallLevel: 3
|
|
||||||
cost:
|
|
||||||
- type: 2
|
|
||||||
amount: 600
|
|
||||||
- type: 3
|
|
||||||
amount: 550
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d532fc647f7aa5548ac381061942d96c
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,831 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &738263358134584207
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4002742518979284527}
|
|
||||||
- component: {fileID: 8064382219512370799}
|
|
||||||
- component: {fileID: 330444905078661864}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4002742518979284527
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 738263358134584207}
|
|
||||||
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: 1927015835945780662}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &8064382219512370799
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 738263358134584207}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &330444905078661864
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 738263358134584207}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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!1 &1343612136204390768
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 3793951204597816762}
|
|
||||||
- component: {fileID: 5506546141177425958}
|
|
||||||
- component: {fileID: 6781712769009624993}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &3793951204597816762
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1343612136204390768}
|
|
||||||
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: 2872642912252838387}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &5506546141177425958
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1343612136204390768}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &6781712769009624993
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1343612136204390768}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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!1 &3006475650658068385
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4156983239259992225}
|
|
||||||
- component: {fileID: 2426570912027666968}
|
|
||||||
- component: {fileID: 7793491659634111299}
|
|
||||||
- component: {fileID: 3086347143011804087}
|
|
||||||
- component: {fileID: 8366624895868613416}
|
|
||||||
- component: {fileID: 4191623656792219752}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas (2)
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4156983239259992225
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3006475650658068385}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.01928367, y: 0.036809552, z: 0.019999897}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 3726670482220635953}
|
|
||||||
m_Father: {fileID: 5056236775830869539}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: -0.06, y: 1.35}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &2426570912027666968
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3006475650658068385}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &7793491659634111299
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3006475650658068385}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 1
|
|
||||||
--- !u!114 &3086347143011804087
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3006475650658068385}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &8366624895868613416
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3006475650658068385}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &4191623656792219752
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3006475650658068385}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 8366624895868613416}
|
|
||||||
m_maskType: 0
|
|
||||||
--- !u!1 &3605793066128359476
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1927015835945780662}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1927015835945780662
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3605793066128359476}
|
|
||||||
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: 4002742518979284527}
|
|
||||||
m_Father: {fileID: 3726670482220635953}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &5347143667423215869
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8228770704062114076}
|
|
||||||
- component: {fileID: 7921213300567708335}
|
|
||||||
- component: {fileID: 3141608278938106867}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &8228770704062114076
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5347143667423215869}
|
|
||||||
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: 3726670482220635953}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &7921213300567708335
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5347143667423215869}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &3141608278938106867
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5347143667423215869}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &5574349607421089541
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2872642912252838387}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &2872642912252838387
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5574349607421089541}
|
|
||||||
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: 3793951204597816762}
|
|
||||||
m_Father: {fileID: 3726670482220635953}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &7095574789492268473
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 3726670482220635953}
|
|
||||||
- component: {fileID: 2968453288331483779}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &3726670482220635953
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7095574789492268473}
|
|
||||||
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: 8228770704062114076}
|
|
||||||
- {fileID: 1927015835945780662}
|
|
||||||
- {fileID: 2872642912252838387}
|
|
||||||
m_Father: {fileID: 4156983239259992225}
|
|
||||||
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: 33.08, y: -2.425}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 24.85}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &2968453288331483779
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7095574789492268473}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 6781712769009624993}
|
|
||||||
m_FillRect: {fileID: 4002742518979284527}
|
|
||||||
m_HandleRect: {fileID: 3793951204597816762}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &8587519695404222676
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5056236775830869539}
|
|
||||||
- component: {fileID: 7776370013680216338}
|
|
||||||
- component: {fileID: 1133597438062959687}
|
|
||||||
- component: {fileID: 1471241643215355356}
|
|
||||||
- component: {fileID: 1708035113988781431}
|
|
||||||
- component: {fileID: 4191590240474693017}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Food
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &5056236775830869539
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: -3.48, y: -1.22, z: 0}
|
|
||||||
m_LocalScale: {x: 1.1417562, y: 1.1020509, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 4156983239259992225}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &7776370013680216338
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: -767853006991775525, guid: 0f4911df226c33e40975fb78c06568f5, type: 3}
|
|
||||||
m_Color: {r: 0.8627452, g: 0.8627452, b: 0.8627452, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &1133597438062959687
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 0
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: eb8009d4824ec6f4392a50d60eead242, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceProducer
|
|
||||||
resourceType: 1
|
|
||||||
amountPerTick: 3
|
|
||||||
tickInterval: 4
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!114 &1471241643215355356
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 1
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &1708035113988781431
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 3.382857, y: 3.0857143}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 2.5, y: 2}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &4191590240474693017
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8587519695404222676}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 1471241643215355356}
|
|
||||||
stokText: {fileID: 4191623656792219752}
|
|
||||||
progressBar: {fileID: 2968453288331483779}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 995641ce1713f0543b5967de3a3b601c
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,813 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &355219734635798756
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4808484725654848156}
|
|
||||||
- component: {fileID: 5186404306068258023}
|
|
||||||
- component: {fileID: 5709127527925679652}
|
|
||||||
- component: {fileID: 1072887893553875685}
|
|
||||||
- component: {fileID: 5409824492356627158}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: GoldMine
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &4808484725654848156
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 355219734635798756}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: -16, y: -2.45, z: 0}
|
|
||||||
m_LocalScale: {x: 2.0187285, y: 1.7424189, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 5749015153972777127}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &5186404306068258023
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 355219734635798756}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: 6491965565530788803, guid: 7eac2cc728cf1a54f962afb35703891e, type: 3}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &5709127527925679652
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 355219734635798756}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 5
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &1072887893553875685
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 355219734635798756}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 1.6914285, y: 1.5371429}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 1.2, y: 1.2}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &5409824492356627158
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 355219734635798756}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 5709127527925679652}
|
|
||||||
stokText: {fileID: 5676831441011161224}
|
|
||||||
progressBar: {fileID: 2746946344350271564}
|
|
||||||
--- !u!1 &1126231918971048261
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5749015153972777127}
|
|
||||||
- component: {fileID: 3074505336809281977}
|
|
||||||
- component: {fileID: 8582245639805834012}
|
|
||||||
- component: {fileID: 3720488835216638398}
|
|
||||||
- component: {fileID: 1210843985261880390}
|
|
||||||
- component: {fileID: 5676831441011161224}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas (2)
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5749015153972777127
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1126231918971048261}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.010856532, y: 0.023091167, z: 0.02}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 5653634108450285178}
|
|
||||||
m_Father: {fileID: 4808484725654848156}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: -0.31, y: 0.98}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &3074505336809281977
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1126231918971048261}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &8582245639805834012
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1126231918971048261}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 0
|
|
||||||
--- !u!114 &3720488835216638398
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1126231918971048261}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &1210843985261880390
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1126231918971048261}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &5676831441011161224
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1126231918971048261}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 1210843985261880390}
|
|
||||||
m_maskType: 0
|
|
||||||
--- !u!1 &1435064537008746086
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 577155313112453847}
|
|
||||||
- component: {fileID: 5412168892413979765}
|
|
||||||
- component: {fileID: 6009320542041345824}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &577155313112453847
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1435064537008746086}
|
|
||||||
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: 5653634108450285178}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &5412168892413979765
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1435064537008746086}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &6009320542041345824
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1435064537008746086}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &1923220760602023216
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8624740838421467304}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &8624740838421467304
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1923220760602023216}
|
|
||||||
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: 900962119107375790}
|
|
||||||
m_Father: {fileID: 5653634108450285178}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &3264413081520743742
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1484526957430814939}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1484526957430814939
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3264413081520743742}
|
|
||||||
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: 1806860104537654056}
|
|
||||||
m_Father: {fileID: 5653634108450285178}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &3301128183540283068
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5653634108450285178}
|
|
||||||
- component: {fileID: 2746946344350271564}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5653634108450285178
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3301128183540283068}
|
|
||||||
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: 577155313112453847}
|
|
||||||
- {fileID: 1484526957430814939}
|
|
||||||
- {fileID: 8624740838421467304}
|
|
||||||
m_Father: {fileID: 5749015153972777127}
|
|
||||||
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: 33.08, y: -2.425}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 24.85}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &2746946344350271564
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3301128183540283068}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 3205612178821969769}
|
|
||||||
m_FillRect: {fileID: 1806860104537654056}
|
|
||||||
m_HandleRect: {fileID: 900962119107375790}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &4906795694658300487
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1806860104537654056}
|
|
||||||
- component: {fileID: 2796826311491354681}
|
|
||||||
- component: {fileID: 5293240414597355417}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1806860104537654056
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4906795694658300487}
|
|
||||||
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: 1484526957430814939}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &2796826311491354681
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4906795694658300487}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &5293240414597355417
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4906795694658300487}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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!1 &6808632974895968247
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 900962119107375790}
|
|
||||||
- component: {fileID: 3444417998701724978}
|
|
||||||
- component: {fileID: 3205612178821969769}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &900962119107375790
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6808632974895968247}
|
|
||||||
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: 8624740838421467304}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &3444417998701724978
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6808632974895968247}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &3205612178821969769
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6808632974895968247}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e150a7924d55dcb4b91a78e0830b419f
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,813 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &969884032122716155
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 3969154243212091243}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &3969154243212091243
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 969884032122716155}
|
|
||||||
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: 310966372095626978}
|
|
||||||
m_Father: {fileID: 8652593581461747968}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &1581342931589966566
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 310966372095626978}
|
|
||||||
- component: {fileID: 1501310501853857812}
|
|
||||||
- component: {fileID: 8858725208427347718}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &310966372095626978
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1581342931589966566}
|
|
||||||
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: 3969154243212091243}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &1501310501853857812
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1581342931589966566}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &8858725208427347718
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1581342931589966566}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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!1 &2201762762010450727
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1691270400269877361}
|
|
||||||
- component: {fileID: 902405702411589216}
|
|
||||||
- component: {fileID: 6081852666575568307}
|
|
||||||
- component: {fileID: 6066509456273779269}
|
|
||||||
- component: {fileID: 257481779865871796}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Kamenolomnia
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1691270400269877361
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2201762762010450727}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: -24.86, y: -0.2, z: 0}
|
|
||||||
m_LocalScale: {x: 1.6223953, y: 1.9534804, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 6491323138505718067}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &902405702411589216
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2201762762010450727}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: 4535865847468002376, guid: 6aa747c9218e809439e10ede0685b401, type: 3}
|
|
||||||
m_Color: {r: 0.8274511, g: 0.8274511, b: 0.8274511, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &6081852666575568307
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2201762762010450727}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 3
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &6066509456273779269
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2201762762010450727}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 0
|
|
||||||
m_Offset: {x: 0.00000011920929, y: 0}
|
|
||||||
m_SpriteTilingProperty:
|
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
pivot: {x: 0.5, y: 0.5}
|
|
||||||
oldSize: {x: 1.622, y: 1.08}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 1.65, y: 1.1}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &257481779865871796
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2201762762010450727}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 6081852666575568307}
|
|
||||||
stokText: {fileID: 8911905189307943166}
|
|
||||||
progressBar: {fileID: 8435780551198638127}
|
|
||||||
--- !u!1 &3212626260908745787
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6856921113830922206}
|
|
||||||
- component: {fileID: 7675630323752410891}
|
|
||||||
- component: {fileID: 2351731012890206024}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &6856921113830922206
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3212626260908745787}
|
|
||||||
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: 8652593581461747968}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &7675630323752410891
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3212626260908745787}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &2351731012890206024
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3212626260908745787}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &3340173628128296496
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8654331807705166329}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &8654331807705166329
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3340173628128296496}
|
|
||||||
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: 582854950046736703}
|
|
||||||
m_Father: {fileID: 8652593581461747968}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &6192811279082683132
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 582854950046736703}
|
|
||||||
- component: {fileID: 8249385852799821456}
|
|
||||||
- component: {fileID: 7373747027848728310}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &582854950046736703
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6192811279082683132}
|
|
||||||
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: 8654331807705166329}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &8249385852799821456
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6192811279082683132}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &7373747027848728310
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6192811279082683132}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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!1 &6363204751130955412
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8652593581461747968}
|
|
||||||
- component: {fileID: 8435780551198638127}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &8652593581461747968
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6363204751130955412}
|
|
||||||
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: 6856921113830922206}
|
|
||||||
- {fileID: 8654331807705166329}
|
|
||||||
- {fileID: 3969154243212091243}
|
|
||||||
m_Father: {fileID: 6491323138505718067}
|
|
||||||
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: 33.08, y: -2.425}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 24.85}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &8435780551198638127
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6363204751130955412}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 8858725208427347718}
|
|
||||||
m_FillRect: {fileID: 582854950046736703}
|
|
||||||
m_HandleRect: {fileID: 310966372095626978}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &6484039534567758818
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6491323138505718067}
|
|
||||||
- component: {fileID: 462060466348873135}
|
|
||||||
- component: {fileID: 4402419616689163873}
|
|
||||||
- component: {fileID: 3951695076526408292}
|
|
||||||
- component: {fileID: 5237439105164938095}
|
|
||||||
- component: {fileID: 8911905189307943166}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas (2)
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &6491323138505718067
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6484039534567758818}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.015614046, y: 0.022903124, z: 0.02}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 8652593581461747968}
|
|
||||||
m_Father: {fileID: 1691270400269877361}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: -0.15474153, y: 0.7714305}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &462060466348873135
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6484039534567758818}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &4402419616689163873
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6484039534567758818}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 1
|
|
||||||
--- !u!114 &3951695076526408292
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6484039534567758818}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &5237439105164938095
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6484039534567758818}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &8911905189307943166
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6484039534567758818}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 5237439105164938095}
|
|
||||||
m_maskType: 0
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 49403fe7cb5651a448b48615a085342c
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,831 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &308417238507269890
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4443656703844098059}
|
|
||||||
- component: {fileID: 3578602112558971809}
|
|
||||||
- component: {fileID: 6491125982777116289}
|
|
||||||
- component: {fileID: 7428043993242197720}
|
|
||||||
- component: {fileID: 8876229628118969147}
|
|
||||||
- component: {fileID: 4809400745550651630}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas (2)
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4443656703844098059
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 308417238507269890}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.010077807, y: 0.022694908, z: 0.019999897}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 4322642769442097139}
|
|
||||||
m_Father: {fileID: 6428279736336967697}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: -0.034, y: 1}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &3578602112558971809
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 308417238507269890}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &6491125982777116289
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 308417238507269890}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 0
|
|
||||||
--- !u!114 &7428043993242197720
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 308417238507269890}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &8876229628118969147
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 308417238507269890}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &4809400745550651630
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 308417238507269890}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 8876229628118969147}
|
|
||||||
m_maskType: 0
|
|
||||||
--- !u!1 &718444822100953595
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2219371244321850613}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &2219371244321850613
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 718444822100953595}
|
|
||||||
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: 7131657856732036943}
|
|
||||||
m_Father: {fileID: 4322642769442097139}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &1347052513874559717
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5394567590597037228}
|
|
||||||
- component: {fileID: 5006164066123729041}
|
|
||||||
- component: {fileID: 6956128874796247178}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5394567590597037228
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1347052513874559717}
|
|
||||||
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: 4322642769442097139}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &5006164066123729041
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1347052513874559717}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &6956128874796247178
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1347052513874559717}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &1754615061363553275
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7131657856732036943}
|
|
||||||
- component: {fileID: 5730540684975491652}
|
|
||||||
- component: {fileID: 960580518922019974}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &7131657856732036943
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1754615061363553275}
|
|
||||||
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: 2219371244321850613}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &5730540684975491652
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1754615061363553275}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &960580518922019974
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1754615061363553275}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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!1 &2536985253622400011
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4322642769442097139}
|
|
||||||
- component: {fileID: 4741032704856435982}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4322642769442097139
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2536985253622400011}
|
|
||||||
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: 5394567590597037228}
|
|
||||||
- {fileID: 3406416985991052905}
|
|
||||||
- {fileID: 2219371244321850613}
|
|
||||||
m_Father: {fileID: 4443656703844098059}
|
|
||||||
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: 33.08, y: -2.425}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 24.85}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &4741032704856435982
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2536985253622400011}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 960580518922019974}
|
|
||||||
m_FillRect: {fileID: 5352715714053848194}
|
|
||||||
m_HandleRect: {fileID: 7131657856732036943}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &5502092000955230044
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 3406416985991052905}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &3406416985991052905
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5502092000955230044}
|
|
||||||
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: 5352715714053848194}
|
|
||||||
m_Father: {fileID: 4322642769442097139}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &7385155700126818636
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6428279736336967697}
|
|
||||||
- component: {fileID: 1583778620634197361}
|
|
||||||
- component: {fileID: 5959045861198059140}
|
|
||||||
- component: {fileID: 3238156261450020092}
|
|
||||||
- component: {fileID: 6835409609226383739}
|
|
||||||
- component: {fileID: 6451544488071506654}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Kristall
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &6428279736336967697
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7385155700126818636}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 1.6, y: 2.1, z: 0}
|
|
||||||
m_LocalScale: {x: 2.0135546, y: 1.9665718, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 4443656703844098059}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &1583778620634197361
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7385155700126818636}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: 4647002068681719999, guid: b59c87f910a58c5459dc08f48515abaa, type: 3}
|
|
||||||
m_Color: {r: 0.8274511, g: 0.8274511, b: 0.8274511, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &5959045861198059140
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7385155700126818636}
|
|
||||||
m_Enabled: 0
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: eb8009d4824ec6f4392a50d60eead242, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceProducer
|
|
||||||
resourceType: 6
|
|
||||||
amountPerTick: 3
|
|
||||||
tickInterval: 4
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!114 &3238156261450020092
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7385155700126818636}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 6
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &6835409609226383739
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7385155700126818636}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 15.72, y: 10.8}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &6451544488071506654
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7385155700126818636}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 3238156261450020092}
|
|
||||||
stokText: {fileID: 4809400745550651630}
|
|
||||||
progressBar: {fileID: 4741032704856435982}
|
|
||||||
--- !u!1 &8091735289944365453
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5352715714053848194}
|
|
||||||
- component: {fileID: 5999212797332437909}
|
|
||||||
- component: {fileID: 858267319036784839}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5352715714053848194
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8091735289944365453}
|
|
||||||
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: 3406416985991052905}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &5999212797332437909
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8091735289944365453}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &858267319036784839
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8091735289944365453}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f24705ebbb7ea11458ddc9d7860aaf57
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,817 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &295848160926721670
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8218986922259218719}
|
|
||||||
- component: {fileID: 1626548957784810666}
|
|
||||||
- component: {fileID: 5306320879243393515}
|
|
||||||
- component: {fileID: 4347759638798865807}
|
|
||||||
- component: {fileID: 8080049013686760202}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Lesopilka
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &8218986922259218719
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 295848160926721670}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1.6224002, y: 2.837443, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 5579120603098066213}
|
|
||||||
m_Father: {fileID: 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: -19.849152, y: -0.30836427}
|
|
||||||
m_SizeDelta: {x: 2.2826, y: 1.0159}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!212 &1626548957784810666
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 295848160926721670}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: -2103617111491369785, guid: 73513117b87e55849b59b2a21a09cc71, type: 3}
|
|
||||||
m_Color: {r: 0.8274511, g: 0.8274511, b: 0.8274511, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &5306320879243393515
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 295848160926721670}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 2
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &4347759638798865807
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 295848160926721670}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 1.8461539, y: 1.6430769}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 1.5, y: 1.2}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &8080049013686760202
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 295848160926721670}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 5306320879243393515}
|
|
||||||
stokText: {fileID: 3881444792252716484}
|
|
||||||
progressBar: {fileID: 8635198783164890612}
|
|
||||||
--- !u!1 &763731568768391115
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7241778671202181995}
|
|
||||||
- component: {fileID: 8635198783164890612}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &7241778671202181995
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 763731568768391115}
|
|
||||||
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: 2782416422371965892}
|
|
||||||
- {fileID: 3245991593120377230}
|
|
||||||
- {fileID: 7246166311783535450}
|
|
||||||
m_Father: {fileID: 5579120603098066213}
|
|
||||||
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: 33.08, y: -2.239}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 25.223}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &8635198783164890612
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 763731568768391115}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 167073955797870126}
|
|
||||||
m_FillRect: {fileID: 6144247887862302617}
|
|
||||||
m_HandleRect: {fileID: 5641726130355626710}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &1301949588430767328
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5579120603098066213}
|
|
||||||
- component: {fileID: 1374701000118954752}
|
|
||||||
- component: {fileID: 1557042209516711472}
|
|
||||||
- component: {fileID: 6507110458437413086}
|
|
||||||
- component: {fileID: 1583811796485460241}
|
|
||||||
- component: {fileID: 3881444792252716484}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5579120603098066213
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1301949588430767328}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.02, y: 0.02, z: 0.02}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 7241778671202181995}
|
|
||||||
m_Father: {fileID: 8218986922259218719}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: 0.95, y: 1.44}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &1374701000118954752
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1301949588430767328}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &1557042209516711472
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1301949588430767328}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 0
|
|
||||||
--- !u!114 &6507110458437413086
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1301949588430767328}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &1583811796485460241
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1301949588430767328}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &3881444792252716484
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1301949588430767328}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 1583811796485460241}
|
|
||||||
m_maskType: 0
|
|
||||||
--- !u!1 &1330858007547630774
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7246166311783535450}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &7246166311783535450
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1330858007547630774}
|
|
||||||
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: 5641726130355626710}
|
|
||||||
m_Father: {fileID: 7241778671202181995}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &3939521458353665635
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5641726130355626710}
|
|
||||||
- component: {fileID: 6219326034010900823}
|
|
||||||
- component: {fileID: 167073955797870126}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5641726130355626710
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3939521458353665635}
|
|
||||||
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: 7246166311783535450}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &6219326034010900823
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3939521458353665635}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &167073955797870126
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3939521458353665635}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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!1 &5249085410511434409
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 3245991593120377230}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &3245991593120377230
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5249085410511434409}
|
|
||||||
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: 6144247887862302617}
|
|
||||||
m_Father: {fileID: 7241778671202181995}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &6355493401388111109
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2782416422371965892}
|
|
||||||
- component: {fileID: 5314180381471706409}
|
|
||||||
- component: {fileID: 8839952233946098354}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &2782416422371965892
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6355493401388111109}
|
|
||||||
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: 7241778671202181995}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &5314180381471706409
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6355493401388111109}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &8839952233946098354
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6355493401388111109}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &6985532879478739689
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6144247887862302617}
|
|
||||||
- component: {fileID: 1418222646644384381}
|
|
||||||
- component: {fileID: 6527831730433201755}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &6144247887862302617
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6985532879478739689}
|
|
||||||
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: 3245991593120377230}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &1418222646644384381
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6985532879478739689}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &6527831730433201755
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6985532879478739689}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: bf7bc0815d543dd47944d9157ef313e7
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,813 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &888065131884256076
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2800474039428411781}
|
|
||||||
- component: {fileID: 3946903823023915250}
|
|
||||||
- component: {fileID: 4695968121406322393}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &2800474039428411781
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 888065131884256076}
|
|
||||||
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: 5261766043013034418}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &3946903823023915250
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 888065131884256076}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &4695968121406322393
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 888065131884256076}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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!1 &1515500894503721065
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 9128744184370430097}
|
|
||||||
- component: {fileID: 7362341572727941915}
|
|
||||||
- component: {fileID: 3253308405779028863}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &9128744184370430097
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1515500894503721065}
|
|
||||||
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: 5913247723073291300}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &7362341572727941915
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1515500894503721065}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &3253308405779028863
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1515500894503721065}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &1652417071818933787
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7368589938815255286}
|
|
||||||
- component: {fileID: 2635063965737862624}
|
|
||||||
- component: {fileID: 4856851583400535072}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &7368589938815255286
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1652417071818933787}
|
|
||||||
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: 8808706617047054436}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &2635063965737862624
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1652417071818933787}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &4856851583400535072
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1652417071818933787}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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!1 &1998845356432122333
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8808706617047054436}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &8808706617047054436
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1998845356432122333}
|
|
||||||
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: 7368589938815255286}
|
|
||||||
m_Father: {fileID: 5913247723073291300}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &3804170935388087576
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1206898736526421615}
|
|
||||||
- component: {fileID: 5452419515943717409}
|
|
||||||
- component: {fileID: 3515853544020916043}
|
|
||||||
- component: {fileID: 4109876596211566975}
|
|
||||||
- component: {fileID: 6763315523887852349}
|
|
||||||
- component: {fileID: 6446373148616658521}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas (3)
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1206898736526421615
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3804170935388087576}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.013578291, y: 0.023382349, z: 0.019999897}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 5913247723073291300}
|
|
||||||
m_Father: {fileID: 8381781505187442674}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: 0.07, y: 0.86}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &5452419515943717409
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3804170935388087576}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &3515853544020916043
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3804170935388087576}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 0
|
|
||||||
--- !u!114 &4109876596211566975
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3804170935388087576}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &6763315523887852349
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3804170935388087576}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &6446373148616658521
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3804170935388087576}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 6763315523887852349}
|
|
||||||
m_maskType: 0
|
|
||||||
--- !u!1 &5869788358976099833
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5913247723073291300}
|
|
||||||
- component: {fileID: 1065437750742842432}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5913247723073291300
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5869788358976099833}
|
|
||||||
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: 9128744184370430097}
|
|
||||||
- {fileID: 8808706617047054436}
|
|
||||||
- {fileID: 5261766043013034418}
|
|
||||||
m_Father: {fileID: 1206898736526421615}
|
|
||||||
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: 33.08, y: -2.425}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 24.85}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &1065437750742842432
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5869788358976099833}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 4695968121406322393}
|
|
||||||
m_FillRect: {fileID: 7368589938815255286}
|
|
||||||
m_HandleRect: {fileID: 2800474039428411781}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &6959817872365076538
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 8381781505187442674}
|
|
||||||
- component: {fileID: 4052048471279866}
|
|
||||||
- component: {fileID: 7603893054635625423}
|
|
||||||
- component: {fileID: 6686164845870214523}
|
|
||||||
- component: {fileID: 8733527051286464462}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: People
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &8381781505187442674
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6959817872365076538}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 1.48, y: -2.44, z: 0}
|
|
||||||
m_LocalScale: {x: 1.7595457, y: 2.1260598, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 1206898736526421615}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &4052048471279866
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6959817872365076538}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: 9167447843336648964, guid: 62ae8b9f63d362c4883bd7909d40f2bf, type: 3}
|
|
||||||
m_Color: {r: 0.9607844, g: 0.9607844, b: 0.9607844, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &7603893054635625423
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6959817872365076538}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 0
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &6686164845870214523
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6959817872365076538}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 2.368, y: 2.16}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 2, y: 2}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &8733527051286464462
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6959817872365076538}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 7603893054635625423}
|
|
||||||
stokText: {fileID: 6446373148616658521}
|
|
||||||
progressBar: {fileID: 1065437750742842432}
|
|
||||||
--- !u!1 &7087647542009113485
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5261766043013034418}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5261766043013034418
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7087647542009113485}
|
|
||||||
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: 2800474039428411781}
|
|
||||||
m_Father: {fileID: 5913247723073291300}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d8aefa6e68bd204419ffaeb287dea407
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,813 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &3477693277770485176
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 9049021842245786191}
|
|
||||||
- component: {fileID: 6798716856179431755}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Slider
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &9049021842245786191
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3477693277770485176}
|
|
||||||
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: 7392134504014982642}
|
|
||||||
- {fileID: 4877085052740413173}
|
|
||||||
- {fileID: 4099470492338002646}
|
|
||||||
m_Father: {fileID: 7767093088671555243}
|
|
||||||
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: 33.08, y: -2.425}
|
|
||||||
m_SizeDelta: {x: 216.16, y: 24.85}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &6798716856179431755
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3477693277770485176}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Slider
|
|
||||||
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: 281306229817890815}
|
|
||||||
m_FillRect: {fileID: 2773622439927167709}
|
|
||||||
m_HandleRect: {fileID: 2500375828274013755}
|
|
||||||
m_Direction: 0
|
|
||||||
m_MinValue: 0
|
|
||||||
m_MaxValue: 1
|
|
||||||
m_WholeNumbers: 0
|
|
||||||
m_Value: 0
|
|
||||||
m_OnValueChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &3910855990794239310
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2773622439927167709}
|
|
||||||
- component: {fileID: 8619355614463974451}
|
|
||||||
- component: {fileID: 5892695595717621851}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &2773622439927167709
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3910855990794239310}
|
|
||||||
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: 4877085052740413173}
|
|
||||||
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: 10, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &8619355614463974451
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3910855990794239310}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &5892695595717621851
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3910855990794239310}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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!1 &6031403639323220171
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4877085052740413173}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Fill Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4877085052740413173
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 6031403639323220171}
|
|
||||||
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: 2773622439927167709}
|
|
||||||
m_Father: {fileID: 9049021842245786191}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: -5, y: 0}
|
|
||||||
m_SizeDelta: {x: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &7343233607063551713
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2500375828274013755}
|
|
||||||
- component: {fileID: 6895100105936511138}
|
|
||||||
- component: {fileID: 281306229817890815}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &2500375828274013755
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7343233607063551713}
|
|
||||||
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: 4099470492338002646}
|
|
||||||
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: 20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &6895100105936511138
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7343233607063551713}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &281306229817890815
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 7343233607063551713}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10913, guid: 0000000000000000f000000000000000, type: 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!1 &8001413377479014276
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4099470492338002646}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Handle Slide Area
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &4099470492338002646
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8001413377479014276}
|
|
||||||
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: 2500375828274013755}
|
|
||||||
m_Father: {fileID: 9049021842245786191}
|
|
||||||
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: -20, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!1 &8005614407148533590
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 418225002888223939}
|
|
||||||
- component: {fileID: 4598832958593301086}
|
|
||||||
- component: {fileID: 2720790236691513585}
|
|
||||||
- component: {fileID: 2564761440770285527}
|
|
||||||
- component: {fileID: 2796556761884381038}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Shaxta
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &418225002888223939
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8005614407148533590}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: -24.91, y: -3.52, z: 0}
|
|
||||||
m_LocalScale: {x: 1.671882, y: 1.7337389, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 7767093088671555243}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!212 &4598832958593301086
|
|
||||||
SpriteRenderer:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8005614407148533590}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 0
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 0
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 2
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_Sprite: {fileID: -7706097715734163884, guid: 7c124dd4bd789a24d95865fa9862169b, type: 3}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_FlipX: 0
|
|
||||||
m_FlipY: 0
|
|
||||||
m_DrawMode: 0
|
|
||||||
m_Size: {x: 1, y: 1}
|
|
||||||
m_AdaptiveModeThreshold: 0.5
|
|
||||||
m_SpriteTileMode: 0
|
|
||||||
m_WasSpriteAssigned: 1
|
|
||||||
m_SpriteSortPoint: 0
|
|
||||||
m_BlendShapeWeights: []
|
|
||||||
--- !u!114 &2720790236691513585
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8005614407148533590}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 836781aedea7fe547acba94b7fd9aabc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ResourceCollector
|
|
||||||
resourceType: 4
|
|
||||||
amountPerClick: 10
|
|
||||||
maxCapacity: 100
|
|
||||||
currentStock: 0
|
|
||||||
level: 1
|
|
||||||
perLevelMultiplier: 1.2
|
|
||||||
--- !u!61 &2564761440770285527
|
|
||||||
BoxCollider2D:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8005614407148533590}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Density: 1
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_ForceSendLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ForceReceiveLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_ContactCaptureLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_CallbackLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_UsedByEffector: 0
|
|
||||||
m_CompositeOperation: 0
|
|
||||||
m_CompositeOrder: 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: 2.6311111, y: 2.4}
|
|
||||||
newSize: {x: 1, y: 1}
|
|
||||||
adaptiveTilingThreshold: 0.5
|
|
||||||
drawMode: 0
|
|
||||||
adaptiveTiling: 0
|
|
||||||
m_AutoTiling: 0
|
|
||||||
m_Size: {x: 2, y: 2}
|
|
||||||
m_EdgeRadius: 0
|
|
||||||
--- !u!114 &2796556761884381038
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8005614407148533590}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 03e94b2f819b2884eb838f4c768e5d17, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BuildingUI
|
|
||||||
building: {fileID: 2720790236691513585}
|
|
||||||
stokText: {fileID: 4777902828861520343}
|
|
||||||
progressBar: {fileID: 6798716856179431755}
|
|
||||||
--- !u!1 &8966666087013359468
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7392134504014982642}
|
|
||||||
- component: {fileID: 625637881806047824}
|
|
||||||
- component: {fileID: 6938675845369349677}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Background
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &7392134504014982642
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8966666087013359468}
|
|
||||||
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: 9049021842245786191}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &625637881806047824
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8966666087013359468}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &6938675845369349677
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 8966666087013359468}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
|
||||||
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: 10907, 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!1 &9167349175870114390
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7767093088671555243}
|
|
||||||
- component: {fileID: 2239592075709300590}
|
|
||||||
- component: {fileID: 4291138224655557414}
|
|
||||||
- component: {fileID: 6923797281547489874}
|
|
||||||
- component: {fileID: 4994502127451470438}
|
|
||||||
- component: {fileID: 4777902828861520343}
|
|
||||||
m_Layer: 3
|
|
||||||
m_Name: Canvas (1)
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &7767093088671555243
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9167349175870114390}
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0.01424164, y: 0.02386495, z: 0.02}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 9049021842245786191}
|
|
||||||
m_Father: {fileID: 418225002888223939}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: -0.30724525, y: 0.7990217}
|
|
||||||
m_SizeDelta: {x: 213.4607, y: 61.0907}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!223 &2239592075709300590
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9167349175870114390}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 2
|
|
||||||
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_UseReflectionProbes: 0
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!114 &4291138224655557414
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9167349175870114390}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 100
|
|
||||||
m_PresetInfoIsWorld: 0
|
|
||||||
--- !u!114 &6923797281547489874
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9167349175870114390}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
|
||||||
m_IgnoreReversedGraphics: 1
|
|
||||||
m_BlockingObjects: 0
|
|
||||||
m_BlockingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
--- !u!23 &4994502127451470438
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9167349175870114390}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 0
|
|
||||||
m_ReceiveShadows: 0
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!114 &4777902828861520343
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9167349175870114390}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_text: 0/100
|
|
||||||
m_isRightToLeft: 0
|
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
|
||||||
m_fontSharedMaterials: []
|
|
||||||
m_fontMaterial: {fileID: 0}
|
|
||||||
m_fontMaterials: []
|
|
||||||
m_fontColor32:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_enableVertexGradient: 0
|
|
||||||
m_colorMode: 3
|
|
||||||
m_fontColorGradient:
|
|
||||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_fontColorGradientPreset: {fileID: 0}
|
|
||||||
m_spriteAsset: {fileID: 0}
|
|
||||||
m_tintAllSprites: 0
|
|
||||||
m_StyleSheet: {fileID: 0}
|
|
||||||
m_TextStyleHashCode: -1183493901
|
|
||||||
m_overrideHtmlColors: 0
|
|
||||||
m_faceColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_fontSize: 260
|
|
||||||
m_fontSizeBase: 260
|
|
||||||
m_fontWeight: 400
|
|
||||||
m_enableAutoSizing: 0
|
|
||||||
m_fontSizeMin: 18
|
|
||||||
m_fontSizeMax: 72
|
|
||||||
m_fontStyle: 0
|
|
||||||
m_HorizontalAlignment: 1
|
|
||||||
m_VerticalAlignment: 256
|
|
||||||
m_textAlignment: 65535
|
|
||||||
m_characterSpacing: 0
|
|
||||||
m_characterHorizontalScale: 1
|
|
||||||
m_wordSpacing: 0
|
|
||||||
m_lineSpacing: 0
|
|
||||||
m_lineSpacingMax: 0
|
|
||||||
m_paragraphSpacing: 0
|
|
||||||
m_charWidthMaxAdj: 0
|
|
||||||
m_TextWrappingMode: 1
|
|
||||||
m_wordWrappingRatios: 0.4
|
|
||||||
m_overflowMode: 0
|
|
||||||
m_linkedTextComponent: {fileID: 0}
|
|
||||||
parentLinkedComponent: {fileID: 0}
|
|
||||||
m_enableKerning: 0
|
|
||||||
m_ActiveFontFeatures: 6e72656b
|
|
||||||
m_enableExtraPadding: 0
|
|
||||||
checkPaddingRequired: 0
|
|
||||||
m_isRichText: 1
|
|
||||||
m_EmojiFallbackSupport: 1
|
|
||||||
m_parseCtrlCharacters: 1
|
|
||||||
m_isOrthographic: 0
|
|
||||||
m_isCullingEnabled: 0
|
|
||||||
m_horizontalMapping: 0
|
|
||||||
m_verticalMapping: 0
|
|
||||||
m_uvLineOffset: 0
|
|
||||||
m_geometrySortingOrder: 0
|
|
||||||
m_IsTextObjectScaleStatic: 0
|
|
||||||
m_VertexBufferAutoSizeReduction: 0
|
|
||||||
m_useMaxVisibleDescender: 1
|
|
||||||
m_pageToDisplay: 1
|
|
||||||
m_margin: {x: 0, y: 0, z: 0.5778427, w: 0}
|
|
||||||
m_isUsingLegacyAnimationComponent: 0
|
|
||||||
m_isVolumetricText: 0
|
|
||||||
_SortingLayer: 0
|
|
||||||
_SortingLayerID: 0
|
|
||||||
_SortingOrder: 0
|
|
||||||
m_hasFontAssetChanged: 0
|
|
||||||
m_renderer: {fileID: 4994502127451470438}
|
|
||||||
m_maskType: 0
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 198e0c7292623ea4194c29ec7a96a148
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: beae4025d64976c4f93af3b9233183da
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -570,9 +570,7 @@ public static class BuildingWindow
|
|||||||
static string UnlocksAt(int townHallLevel)
|
static string UnlocksAt(int townHallLevel)
|
||||||
{
|
{
|
||||||
var names = new List<string>();
|
var names = new List<string>();
|
||||||
if (BuildManager.Instance != null && BuildManager.Instance.allBuildings != null)
|
names.AddRange(City3DGameplay.TypesUnlockedAt(townHallLevel));
|
||||||
foreach (var b in BuildManager.Instance.allBuildings)
|
|
||||||
if (b != null && b.requiredTownHallLevel == townHallLevel) names.Add(b.buildingName);
|
|
||||||
foreach (var t in GameData.Troops)
|
foreach (var t in GameData.Troops)
|
||||||
if (t.requiredTownHall == townHallLevel) names.Add(t.name);
|
if (t.requiredTownHall == townHallLevel) names.Add(t.name);
|
||||||
return string.Join(", ", names.ToArray());
|
return string.Join(", ", names.ToArray());
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ public class CitySync : MonoBehaviour
|
|||||||
|
|
||||||
public static CitySync Instance { get; private set; }
|
public static CitySync Instance { get; private set; }
|
||||||
|
|
||||||
// Город открыт не в 2D-сцене, а в 3D (City3D): здания с PlacedBuildingId там тоже есть (05.11)
|
// Город (3D-поселение, City3D) открыт -- задаёт City3DController
|
||||||
public static bool ExternalCity;
|
public static bool ExternalCity;
|
||||||
static bool CityOpen => BuildManager.Instance != null || ExternalCity;
|
static bool CityOpen => ExternalCity;
|
||||||
|
|
||||||
float next;
|
float next;
|
||||||
string pending; // замер, который ждёт подтверждения
|
string pending; // замер, который ждёт подтверждения
|
||||||
|
|||||||
@@ -212,17 +212,14 @@ public class DebugPanel : MonoBehaviour
|
|||||||
BuildCameraCard();
|
BuildCameraCard();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Отладочная сетка стройки (3D-поселение и 2D-город): видна всегда, ярче, каждая 5-я линия жёлтая (05.11, просьба Миши)
|
// Отладочная сетка стройки 3D-поселения: видна всегда, ярче, каждая 5-я линия жёлтая (05.11, просьба Миши)
|
||||||
void ToggleGrid()
|
void ToggleGrid()
|
||||||
{
|
{
|
||||||
bool on = !(City3DController.DebugGrid || BuildGrid.DebugVisible);
|
City3DController.SetDebugGrid(!City3DController.DebugGrid);
|
||||||
City3DController.SetDebugGrid(on);
|
|
||||||
bool building = BuildModeController.Instance != null && BuildModeController.Instance.IsActive;
|
|
||||||
BuildGrid.SetDebugVisible(on, building);
|
|
||||||
if (gridButton != null) UIKit.SetButton(gridButton, GridLabel, true);
|
if (gridButton != null) UIKit.SetButton(gridButton, GridLabel, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
static string GridLabel => City3DController.DebugGrid || BuildGrid.DebugVisible ? "Сетка: вкл" : "Сетка: выкл";
|
static string GridLabel => City3DController.DebugGrid ? "Сетка: вкл" : "Сетка: выкл";
|
||||||
|
|
||||||
static void Btn(Transform row, string label, Color color, System.Action onClick)
|
static void Btn(Transform row, string label, Color color, System.Action onClick)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -82,8 +82,6 @@ public static class GameModules
|
|||||||
GameServices.Register<IProduction>(production);
|
GameServices.Register<IProduction>(production);
|
||||||
SaveRegistry.Register(production);
|
SaveRegistry.Register(production);
|
||||||
|
|
||||||
// Склад и Амбар появляются в списке стройки кодом -- до восстановления зданий из сохранения
|
|
||||||
EventBus.Subscribe<SettlementRestoringEvent>(_ => StorageBootstrap.Ensure());
|
|
||||||
|
|
||||||
// Тап по зданию -> окно здания и рабочих (статические события переживают Play в редакторе -- сначала отписка)
|
// Тап по зданию -> окно здания и рабочих (статические события переживают Play в редакторе -- сначала отписка)
|
||||||
ResourceCollector.Tapped -= BuildingWindow.OnWorkplaceTapped;
|
ResourceCollector.Tapped -= BuildingWindow.OnWorkplaceTapped;
|
||||||
@@ -123,15 +121,10 @@ public static class GameModules
|
|||||||
// Чат -- чистый C#; история живёт, пока открыта игра (между сценами тоже)
|
// Чат -- чистый C#; история живёт, пока открыта игра (между сценами тоже)
|
||||||
GameServices.Register<IChat>(new ChatService(System.DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()));
|
GameServices.Register<IChat>(new ChatService(System.DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()));
|
||||||
|
|
||||||
// Казармы появляются в списке стройки кодом -- до восстановления зданий из сохранения
|
|
||||||
EventBus.Subscribe<SettlementRestoringEvent>(_ => BarracksBootstrap.Ensure());
|
|
||||||
|
|
||||||
// Госпиталь (решения 31.10, п. 7): здание города даёт места для лечения Армии через контракт IHospital
|
// Госпиталь (решения 31.10, п. 7): здание города даёт места для лечения Армии через контракт IHospital
|
||||||
GameServices.Register<IHospital>(new HospitalBeds());
|
GameServices.Register<IHospital>(new HospitalBeds());
|
||||||
EventBus.Subscribe<SettlementRestoringEvent>(_ => HospitalBootstrap.Ensure());
|
|
||||||
|
|
||||||
// Терем богатыря: дом героя, герой гуляет по городу (Meta/Build/HeroCastle, HeroWalker)
|
|
||||||
EventBus.Subscribe<SettlementRestoringEvent>(_ => HeroCastleBootstrap.Ensure());
|
|
||||||
|
|
||||||
// Статистика для заданий (GameProgress) -- по событиям Мира
|
// Статистика для заданий (GameProgress) -- по событиям Мира
|
||||||
EventBus.Subscribe<MarchStartedEvent>(OnMarchStarted);
|
EventBus.Subscribe<MarchStartedEvent>(OnMarchStarted);
|
||||||
|
|||||||
@@ -1,85 +1,7 @@
|
|||||||
using UnityEngine;
|
// Имена зданий «Склад» и «Амбар». 2D-шаблоны удалены 06.11 вместе с 2D-городом; 3D-здания -- City3D/City3DGameplay,
|
||||||
|
// цены и лимиты -- EconomyConfig (раздел «Склады и лимиты»)
|
||||||
// Добавляет "Склад" и "Амбар" в список стройки кодом -- как Казармы (Meta/Build/BarracksBootstrap).
|
|
||||||
// Шаблон -- копия обычного здания без добычи; пока нет арта, отличаем цветом.
|
|
||||||
// Вызывается при загрузке сцены и перед восстановлением города из сохранения (SettlementRestoringEvent),
|
|
||||||
// иначе построенные Склады не нашлись бы при загрузке.
|
|
||||||
public static class StorageBootstrap
|
public static class StorageBootstrap
|
||||||
{
|
{
|
||||||
public const string WarehouseName = "Склад";
|
public const string WarehouseName = "Склад";
|
||||||
public const string GranaryName = "Амбар";
|
public const string GranaryName = "Амбар";
|
||||||
|
|
||||||
static GameObject warehouseTemplate;
|
|
||||||
static GameObject granaryTemplate;
|
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
|
||||||
static void Init()
|
|
||||||
{
|
|
||||||
Ensure();
|
|
||||||
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (s, m) => Ensure();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Ensure()
|
|
||||||
{
|
|
||||||
var bm = BuildManager.Instance != null ? BuildManager.Instance : Object.FindAnyObjectByType<BuildManager>();
|
|
||||||
if (bm == null || bm.allBuildings == null) return;
|
|
||||||
|
|
||||||
bool hasWarehouse = false, hasGranary = false;
|
|
||||||
BuildingData template = null;
|
|
||||||
foreach (var b in bm.allBuildings)
|
|
||||||
{
|
|
||||||
if (b == null) continue;
|
|
||||||
if (b.buildingName == WarehouseName) hasWarehouse = true;
|
|
||||||
if (b.buildingName == GranaryName) hasGranary = true;
|
|
||||||
if (template == null && b.prefab != null && b.prefab.GetComponent<ResourceCollector>() != null) template = b;
|
|
||||||
}
|
|
||||||
if (hasWarehouse && hasGranary) return;
|
|
||||||
if (template == null) { Debug.LogWarning("[СКЛАДЫ] Нет здания-шаблона в BuildManager"); return; }
|
|
||||||
|
|
||||||
var cfg = EconomyConfig.Load().storage;
|
|
||||||
if (!hasWarehouse)
|
|
||||||
{
|
|
||||||
if (warehouseTemplate == null) warehouseTemplate = MakeTemplate(template.prefab, "Warehouse", StorageBuilding.Kind.Warehouse, new Color(0.85f, 0.7f, 0.5f));
|
|
||||||
bm.allBuildings.Add(MakeData(WarehouseName, template, warehouseTemplate, cfg.warehouseWood, cfg.warehouseStone));
|
|
||||||
}
|
|
||||||
if (!hasGranary)
|
|
||||||
{
|
|
||||||
if (granaryTemplate == null) granaryTemplate = MakeTemplate(template.prefab, "Granary", StorageBuilding.Kind.Granary, new Color(1f, 0.92f, 0.55f));
|
|
||||||
bm.allBuildings.Add(MakeData(GranaryName, template, granaryTemplate, cfg.granaryWood, cfg.granaryStone));
|
|
||||||
}
|
|
||||||
Debug.Log("[СКЛАДЫ] Склад и Амбар добавлены в список стройки");
|
|
||||||
}
|
|
||||||
|
|
||||||
static GameObject MakeTemplate(GameObject source, string name, StorageBuilding.Kind kind, Color tint)
|
|
||||||
{
|
|
||||||
var t = Object.Instantiate(source);
|
|
||||||
t.name = name;
|
|
||||||
t.SetActive(false);
|
|
||||||
Object.DontDestroyOnLoad(t);
|
|
||||||
foreach (var c in t.GetComponents<ResourceCollector>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in t.GetComponents<ResourceProducer>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in t.GetComponents<BuildingUI>()) Object.DestroyImmediate(c);
|
|
||||||
for (int i = t.transform.childCount - 1; i >= 0; i--)
|
|
||||||
Object.DestroyImmediate(t.transform.GetChild(i).gameObject); // полоска над зданием не нужна
|
|
||||||
var sr = t.GetComponent<SpriteRenderer>();
|
|
||||||
if (sr != null) sr.color = tint;
|
|
||||||
t.AddComponent<StorageBuilding>().kind = kind;
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
static BuildingData MakeData(string title, BuildingData template, GameObject prefab, float wood, float stone)
|
|
||||||
{
|
|
||||||
var data = ScriptableObject.CreateInstance<BuildingData>();
|
|
||||||
data.name = "Data_" + prefab.name + "_Runtime";
|
|
||||||
data.buildingName = title;
|
|
||||||
data.icon = template.icon;
|
|
||||||
data.prefab = prefab;
|
|
||||||
data.requiredTownHallLevel = 1;
|
|
||||||
data.cost = new[]
|
|
||||||
{
|
|
||||||
new ResourceCost { type = ResourceType.Wood, amount = wood },
|
|
||||||
new ResourceCost { type = ResourceType.Stone, amount = stone },
|
|
||||||
};
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class CameraZoom : MonoBehaviour
|
|
||||||
{
|
|
||||||
public Camera targetCamera;
|
|
||||||
private float lastCameraSize;
|
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
|
|
||||||
if(targetCamera == null)
|
|
||||||
targetCamera = Camera.main;
|
|
||||||
|
|
||||||
lastCameraSize = targetCamera.orthographicSize;
|
|
||||||
UpdateCanvasScale();
|
|
||||||
}
|
|
||||||
void LateUpdate()
|
|
||||||
{
|
|
||||||
if (Mathf.Abs(targetCamera.orthographicSize - lastCameraSize) > 0.01f) {
|
|
||||||
lastCameraSize = targetCamera.orthographicSize;
|
|
||||||
UpdateCanvasScale();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateCanvasScale()
|
|
||||||
{
|
|
||||||
float scaleFactor = 10f / targetCamera.orthographicSize;
|
|
||||||
|
|
||||||
transform.localScale = Vector3.one * scaleFactor;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 06759f249d7820c43a347cac857fc6d3
|
|
||||||
@@ -1,161 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
// КАМЕРА ГОРОДА (как в мобильных стратегиях):
|
|
||||||
// - перетаскивание одним пальцем / левой кнопкой мыши -- двигает карту
|
|
||||||
// - щипок двумя пальцами / колёсико мыши -- приближение и отдаление (к точке под пальцем/курсором)
|
|
||||||
// - камера не уезжает за границы карты (bounds)
|
|
||||||
// - над интерфейсом (HUD, панели) ничего не делает
|
|
||||||
// - без поворотов и наклонов: изометрия уже нарисована в спрайтах
|
|
||||||
// Вешается на Main Camera вместо CameraController / CameraZoom / FlyCamera.
|
|
||||||
[RequireComponent(typeof(Camera))]
|
|
||||||
public class CityCamera : MonoBehaviour
|
|
||||||
{
|
|
||||||
[Header("Зум (orthographic size)")]
|
|
||||||
public float minZoom = 3f;
|
|
||||||
public float maxZoom = 14f;
|
|
||||||
public float wheelZoomSpeed = 2.5f;
|
|
||||||
public float zoomSmooth = 12f;
|
|
||||||
|
|
||||||
[Header("Границы карты (мировые координаты). Пусто = посчитать по объектам сцены")]
|
|
||||||
public bool autoBounds = true;
|
|
||||||
public Rect bounds = new Rect(-25, -15, 50, 30);
|
|
||||||
[Tooltip("Запас за краем карты, чтобы край не прилипал к экрану")]
|
|
||||||
public float boundsPadding = 4f;
|
|
||||||
|
|
||||||
[Header("Инерция после свайпа")]
|
|
||||||
public float inertiaDamping = 6f;
|
|
||||||
|
|
||||||
Camera cam;
|
|
||||||
float targetZoom;
|
|
||||||
Vector3 lastWorld;
|
|
||||||
bool dragging;
|
|
||||||
Vector3 velocity;
|
|
||||||
float lastPinchDist;
|
|
||||||
|
|
||||||
void Awake()
|
|
||||||
{
|
|
||||||
cam = GetComponent<Camera>();
|
|
||||||
cam.orthographic = true;
|
|
||||||
transform.rotation = Quaternion.identity;
|
|
||||||
transform.localScale = Vector3.one; // старый CameraZoom масштабировал камеру -- сбрасываем
|
|
||||||
targetZoom = Mathf.Clamp(cam.orthographicSize, minZoom, maxZoom);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
if (autoBounds) CalculateBounds();
|
|
||||||
ClampPosition();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Границы по всем спрайтам и тайлмапам сцены (кроме UI)
|
|
||||||
public void CalculateBounds()
|
|
||||||
{
|
|
||||||
bool any = false;
|
|
||||||
Bounds b = new Bounds();
|
|
||||||
foreach (var r in FindObjectsByType<Renderer>(FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
string tn = r.GetType().Name;
|
|
||||||
if (tn != "SpriteRenderer" && tn != "TilemapRenderer") continue; // только карта и здания
|
|
||||||
if (r.gameObject.layer == 5) continue; // UI
|
|
||||||
if (r.GetComponentInParent<Canvas>() != null) continue; // всё, что внутри интерфейса
|
|
||||||
if (!any) { b = r.bounds; any = true; } else b.Encapsulate(r.bounds);
|
|
||||||
}
|
|
||||||
if (any) bounds = new Rect(b.min.x, b.min.y, b.size.x, b.size.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
bool overUI = UIBlocker.IsPointerOverUI();
|
|
||||||
|
|
||||||
if (Input.touchCount >= 2) HandlePinch();
|
|
||||||
else HandleDrag(overUI);
|
|
||||||
|
|
||||||
// колёсико мыши -- зум к курсору
|
|
||||||
float wheel = Input.GetAxis("Mouse ScrollWheel");
|
|
||||||
if (Mathf.Abs(wheel) > 0.001f && !overUI)
|
|
||||||
ZoomTowards(Input.mousePosition, targetZoom - wheel * wheelZoomSpeed * 4f);
|
|
||||||
|
|
||||||
// плавный зум
|
|
||||||
if (Mathf.Abs(cam.orthographicSize - targetZoom) > 0.001f)
|
|
||||||
{
|
|
||||||
Vector3 before = cam.ScreenToWorldPoint(zoomAnchor);
|
|
||||||
cam.orthographicSize = Mathf.Lerp(cam.orthographicSize, targetZoom, Time.unscaledDeltaTime * zoomSmooth);
|
|
||||||
Vector3 after = cam.ScreenToWorldPoint(zoomAnchor);
|
|
||||||
transform.position += before - after; // точка под пальцем остаётся на месте
|
|
||||||
}
|
|
||||||
|
|
||||||
// инерция
|
|
||||||
if (!dragging && velocity.sqrMagnitude > 0.0001f)
|
|
||||||
{
|
|
||||||
transform.position += velocity * Time.unscaledDeltaTime;
|
|
||||||
velocity = Vector3.Lerp(velocity, Vector3.zero, Time.unscaledDeltaTime * inertiaDamping);
|
|
||||||
}
|
|
||||||
|
|
||||||
ClampPosition();
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 zoomAnchor;
|
|
||||||
|
|
||||||
void ZoomTowards(Vector3 screenPoint, float zoom)
|
|
||||||
{
|
|
||||||
zoomAnchor = screenPoint;
|
|
||||||
targetZoom = Mathf.Clamp(zoom, minZoom, maxZoom);
|
|
||||||
}
|
|
||||||
|
|
||||||
void HandleDrag(bool overUI)
|
|
||||||
{
|
|
||||||
if (Input.GetMouseButtonDown(0))
|
|
||||||
{
|
|
||||||
dragging = !overUI; // начали тащить на интерфейсе -- карту не двигаем
|
|
||||||
velocity = Vector3.zero;
|
|
||||||
lastWorld = cam.ScreenToWorldPoint(Input.mousePosition);
|
|
||||||
}
|
|
||||||
if (Input.GetMouseButtonUp(0)) dragging = false;
|
|
||||||
if (!dragging || !Input.GetMouseButton(0)) return;
|
|
||||||
|
|
||||||
Vector3 now = cam.ScreenToWorldPoint(Input.mousePosition);
|
|
||||||
Vector3 delta = lastWorld - now;
|
|
||||||
delta.z = 0;
|
|
||||||
transform.position += delta;
|
|
||||||
if (Time.unscaledDeltaTime > 0) velocity = Vector3.Lerp(velocity, delta / Time.unscaledDeltaTime, 0.5f);
|
|
||||||
lastWorld = cam.ScreenToWorldPoint(Input.mousePosition); // после сдвига камеры
|
|
||||||
}
|
|
||||||
|
|
||||||
void HandlePinch()
|
|
||||||
{
|
|
||||||
dragging = false;
|
|
||||||
velocity = Vector3.zero;
|
|
||||||
Touch a = Input.GetTouch(0), b = Input.GetTouch(1);
|
|
||||||
float dist = Vector2.Distance(a.position, b.position);
|
|
||||||
if (a.phase == TouchPhase.Began || b.phase == TouchPhase.Began || lastPinchDist <= 0f)
|
|
||||||
{
|
|
||||||
lastPinchDist = dist;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (dist > 1f)
|
|
||||||
{
|
|
||||||
float ratio = lastPinchDist / dist;
|
|
||||||
ZoomTowards((a.position + b.position) * 0.5f, targetZoom * ratio);
|
|
||||||
}
|
|
||||||
lastPinchDist = dist;
|
|
||||||
if (a.phase == TouchPhase.Ended || b.phase == TouchPhase.Ended) lastPinchDist = 0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClampPosition()
|
|
||||||
{
|
|
||||||
float halfH = cam.orthographicSize;
|
|
||||||
float halfW = halfH * cam.aspect;
|
|
||||||
Rect r = new Rect(bounds.xMin - boundsPadding, bounds.yMin - boundsPadding,
|
|
||||||
bounds.width + boundsPadding * 2, bounds.height + boundsPadding * 2);
|
|
||||||
Vector3 p = transform.position;
|
|
||||||
p.x = r.width > halfW * 2 ? Mathf.Clamp(p.x, r.xMin + halfW, r.xMax - halfW) : r.center.x;
|
|
||||||
p.y = r.height > halfH * 2 ? Mathf.Clamp(p.y, r.yMin + halfH, r.yMax - halfH) : r.center.y;
|
|
||||||
transform.position = p;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDrawGizmosSelected()
|
|
||||||
{
|
|
||||||
Gizmos.color = Color.cyan;
|
|
||||||
Gizmos.DrawWireCube(bounds.center, bounds.size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d9530f2e8714d3746b25452c7fd56cd3
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using UnityEngine.UI;
|
|
||||||
|
|
||||||
// Отвязывает HUD от камеры и ставит одну нормальную камеру.
|
|
||||||
//
|
|
||||||
// Было: HUD_Canvas в режиме World Space был дочерним объектом камеры, а CameraZoom масштабировал
|
|
||||||
// саму камеру, чтобы HUD не уменьшался при зуме. Поэтому HUD ехал, дрожал и масштабировался криво.
|
|
||||||
// Стало: HUD_Canvas -- Screen Space Overlay (всегда приклеен к экрану, камера на него не влияет),
|
|
||||||
// на камере -- только CityCamera (перетаскивание, щипок, колёсико, границы карты).
|
|
||||||
//
|
|
||||||
// Работает в двух местах:
|
|
||||||
// - при запуске игры (автоматически), если сцену ещё не исправили в редакторе;
|
|
||||||
// - Tools -> Fix Camera & HUD (или Build HUD Panels) -- исправляет и сохраняет сцену навсегда.
|
|
||||||
public static class HUDCameraSetup
|
|
||||||
{
|
|
||||||
// ОТКЛЮЧЕНО по просьбе команды: камера и HUD вернулись к прежней схеме (Tools -> Restore Old Camera & HUD).
|
|
||||||
// Автоисправление при запуске больше не выполняется.
|
|
||||||
static void AutoFix()
|
|
||||||
{
|
|
||||||
// и при каждой следующей загрузке города (возврат с карты мира)
|
|
||||||
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (s, m) => Apply(false);
|
|
||||||
|
|
||||||
int changes = Apply(false);
|
|
||||||
if (changes > 0)
|
|
||||||
Debug.Log("[КАМЕРА/HUD] Исправлено при запуске: " + changes +
|
|
||||||
". Чтобы сохранить в сцене навсегда -- Tools -> Fix Camera & HUD");
|
|
||||||
}
|
|
||||||
|
|
||||||
// editMode = true -- вызывается из редактора: лишние компоненты удаляются, а не выключаются
|
|
||||||
public static int Apply(bool editMode)
|
|
||||||
{
|
|
||||||
int changes = 0;
|
|
||||||
|
|
||||||
// ---------- HUD ----------
|
|
||||||
var hudGO = GameObject.Find("HUD_Canvas");
|
|
||||||
if (hudGO != null)
|
|
||||||
{
|
|
||||||
var canvas = hudGO.GetComponent<Canvas>();
|
|
||||||
var rt = (RectTransform)hudGO.transform;
|
|
||||||
if (canvas != null && canvas.renderMode != RenderMode.ScreenSpaceOverlay)
|
|
||||||
{
|
|
||||||
Vector2 designSize = rt.sizeDelta; // размер, под который дизайнер расставил HUD
|
|
||||||
if (designSize.x < 100 || designSize.y < 100) designSize = new Vector2(1080, 1920);
|
|
||||||
|
|
||||||
if (hudGO.transform.parent != null) hudGO.transform.SetParent(null, false);
|
|
||||||
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
|
|
||||||
canvas.sortingOrder = 100;
|
|
||||||
rt.localScale = Vector3.one;
|
|
||||||
rt.localRotation = Quaternion.identity;
|
|
||||||
|
|
||||||
var scaler = hudGO.GetComponent<CanvasScaler>();
|
|
||||||
if (scaler == null) scaler = hudGO.AddComponent<CanvasScaler>();
|
|
||||||
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
|
|
||||||
scaler.referenceResolution = designSize; // HUD выглядит так же, как его собрал дизайнер
|
|
||||||
scaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight;
|
|
||||||
scaler.matchWidthOrHeight = 1f; // как было в мире: высота HUD = высота экрана
|
|
||||||
changes++;
|
|
||||||
}
|
|
||||||
// высота HUD = высота экрана (так HUD выглядел, пока был привязан к камере)
|
|
||||||
var sc = hudGO.GetComponent<CanvasScaler>();
|
|
||||||
if (sc != null && canvas != null && canvas.renderMode == RenderMode.ScreenSpaceOverlay && sc.matchWidthOrHeight != 1f)
|
|
||||||
{ sc.matchWidthOrHeight = 1f; changes++; }
|
|
||||||
changes += ConvertSpritesToImages(hudGO, editMode);
|
|
||||||
changes += RemoveOrDisable(hudGO, "HUDWorldSpaceSync", editMode);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------- КАМЕРА ----------
|
|
||||||
var cam = Camera.main;
|
|
||||||
if (cam != null)
|
|
||||||
{
|
|
||||||
changes += RemoveOrDisable(cam.gameObject, "CameraZoom", editMode);
|
|
||||||
changes += RemoveOrDisable(cam.gameObject, "CameraController", editMode);
|
|
||||||
changes += RemoveOrDisable(cam.gameObject, "FlyCamera", editMode);
|
|
||||||
if (cam.transform.localScale != Vector3.one) { cam.transform.localScale = Vector3.one; changes++; }
|
|
||||||
if (cam.transform.rotation != Quaternion.identity) { cam.transform.rotation = Quaternion.identity; changes++; }
|
|
||||||
if (cam.GetComponent<CityCamera>() == null) { cam.gameObject.AddComponent<CityCamera>(); changes++; }
|
|
||||||
}
|
|
||||||
return changes;
|
|
||||||
}
|
|
||||||
|
|
||||||
// В экранном Canvas обычные SpriteRenderer не рисуются как часть интерфейса -- они улетают в мир
|
|
||||||
// огромными картинками (отсюда белая "клетка" на весь экран). Переделываем их в UI Image того же размера.
|
|
||||||
static int ConvertSpritesToImages(GameObject hud, bool editMode)
|
|
||||||
{
|
|
||||||
int n = 0;
|
|
||||||
foreach (var sr in hud.GetComponentsInChildren<SpriteRenderer>(true))
|
|
||||||
{
|
|
||||||
if (sr.sprite == null) { sr.enabled = false; continue; }
|
|
||||||
var t = sr.transform;
|
|
||||||
var parent = t.parent as RectTransform;
|
|
||||||
if (parent == null) { sr.enabled = false; continue; }
|
|
||||||
|
|
||||||
var go = new GameObject(t.name + "_UI", typeof(RectTransform), typeof(Image));
|
|
||||||
var rt = (RectTransform)go.transform;
|
|
||||||
rt.SetParent(parent, false);
|
|
||||||
rt.SetSiblingIndex(t.GetSiblingIndex());
|
|
||||||
rt.anchorMin = rt.anchorMax = parent.pivot; // localPosition считается от pivot родителя
|
|
||||||
rt.pivot = new Vector2(0.5f, 0.5f);
|
|
||||||
Vector2 size = Vector2.Scale(sr.sprite.bounds.size, new Vector2(Mathf.Abs(t.localScale.x), Mathf.Abs(t.localScale.y)));
|
|
||||||
rt.sizeDelta = size;
|
|
||||||
rt.localPosition = t.localPosition + (Vector3)Vector2.Scale(sr.sprite.bounds.center, t.localScale);
|
|
||||||
rt.localRotation = t.localRotation;
|
|
||||||
var img = go.GetComponent<Image>();
|
|
||||||
img.sprite = sr.sprite;
|
|
||||||
img.color = sr.color;
|
|
||||||
img.raycastTarget = false;
|
|
||||||
img.preserveAspect = false;
|
|
||||||
|
|
||||||
if (editMode) Object.DestroyImmediate(t.gameObject);
|
|
||||||
else t.gameObject.SetActive(false);
|
|
||||||
n++;
|
|
||||||
}
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Компоненты ищем по имени класса: часть из них (FlyCamera, HUDWorldSpaceSync) в проекте уже нет
|
|
||||||
static int RemoveOrDisable(GameObject go, string typeName, bool editMode)
|
|
||||||
{
|
|
||||||
int n = 0;
|
|
||||||
foreach (var mb in go.GetComponents<MonoBehaviour>())
|
|
||||||
{
|
|
||||||
if (mb == null || mb.GetType().Name != typeName) continue;
|
|
||||||
if (editMode) Object.DestroyImmediate(mb);
|
|
||||||
else if (mb.enabled) mb.enabled = false;
|
|
||||||
else continue;
|
|
||||||
n++;
|
|
||||||
}
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 256165dd8ffe7dc4490c9e5b9796b782
|
|
||||||
@@ -38,6 +38,15 @@ public static class City3DGameplay
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Здания, которые открываются ровно на этом уровне Ратуши (окно Ратуши: «Откроется: …»)
|
||||||
|
public static List<string> TypesUnlockedAt(int townHallLevel)
|
||||||
|
{
|
||||||
|
var names = new List<string>();
|
||||||
|
foreach (var t in AllTypes3D)
|
||||||
|
if (!IsTownHall(t) && RequiredTownHall(t) == townHallLevel) names.Add(t);
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
static readonly string[] AllTypes3D =
|
static readonly string[] AllTypes3D =
|
||||||
{
|
{
|
||||||
"Ратуша", "Дом", "Ферма", "Лесопилка", "Каменоломня", "Шахта", "Склад", "Амбар", "Казармы", "Госпиталь",
|
"Ратуша", "Дом", "Ферма", "Лесопилка", "Каменоломня", "Шахта", "Склад", "Амбар", "Казармы", "Госпиталь",
|
||||||
|
|||||||
@@ -1,54 +1,10 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
|
||||||
using TMPro;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
// Заполняет меню стройки кнопками для каждого доступного здания.
|
|
||||||
// Вешается на пустой объект-контейнер меню (например BuildMenuPanel).
|
|
||||||
|
|
||||||
|
|
||||||
|
// Старое меню 2D-стройки. Компонент ещё висит в HUD_Canvas (BuildModeController прячет это меню), но ничего не делает:
|
||||||
|
// 2D-стройка удалена 06.11, список зданий 3D-поселения рисует City3DController. Можно убрать из префаба.
|
||||||
public class BuildMenuUi : MonoBehaviour
|
public class BuildMenuUi : MonoBehaviour
|
||||||
{
|
{
|
||||||
[Header("Ссылки")]
|
[Header("Ссылки")]
|
||||||
public Transform buttonContainer; //Куда савить снопки
|
public Transform buttonContainer;
|
||||||
public GameObject buildingButtonPrefab; //Преваб одной кнопки здания
|
public GameObject buildingButtonPrefab;
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
RefreshMenu();
|
|
||||||
}
|
|
||||||
void OnEnable()
|
|
||||||
{
|
|
||||||
if (BuildManager.Instance == null) return;
|
|
||||||
RefreshMenu();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void RefreshMenu()
|
|
||||||
{
|
|
||||||
//Чистка старых кнопок перед сборкой списка
|
|
||||||
foreach (Transform child in buttonContainer)
|
|
||||||
{
|
|
||||||
Destroy(child.gameObject);
|
|
||||||
}
|
|
||||||
List<BuildingData> available = BuildManager.Instance.GetAvailableBuildings();
|
|
||||||
foreach (var building in available)
|
|
||||||
{
|
|
||||||
GameObject btnGO = Instantiate(buildingButtonPrefab, buttonContainer);
|
|
||||||
|
|
||||||
Transform iconT = btnGO.transform.Find("Icon");
|
|
||||||
Transform nameT = btnGO.transform.Find("NameText");
|
|
||||||
Transform costT = btnGO.transform.Find("CostText");
|
|
||||||
|
|
||||||
if (iconT != null) iconT.GetComponent<Image>().sprite = building.icon;
|
|
||||||
if (nameT != null) nameT.GetComponent<TMP_Text>().text = building.buildingName;
|
|
||||||
if (costT != null) costT.GetComponent<TMP_Text>().text = building.GetCostText();
|
|
||||||
Button btn = btnGO.GetComponent<Button>();
|
|
||||||
BuildingData capturedBuilding = building; // важно для замыкания в цикле
|
|
||||||
btn.onClick.AddListener(() =>
|
|
||||||
{
|
|
||||||
BuildManager.Instance.StartPlacing(capturedBuilding);
|
|
||||||
gameObject.SetActive(false); // закрываем меню после выбора, идём размещать здание
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,70 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using UnityEngine.UI;
|
|
||||||
using TMPro;
|
|
||||||
|
|
||||||
// Подпись над зданием -- больше не показывается: всё о здании теперь в его окне (App/BuildingWindow, тап по зданию).
|
|
||||||
// Компонент оставлен, чтобы не перенастраивать префабы: при запуске он прячет свою подпись и полоску и выключается.
|
|
||||||
public class BuildingUI : MonoBehaviour
|
|
||||||
{
|
|
||||||
[Header("Настройки")]
|
|
||||||
public ResourceCollector building;
|
|
||||||
public TMP_Text stokText;
|
|
||||||
public Slider progressBar;
|
|
||||||
|
|
||||||
float next;
|
|
||||||
|
|
||||||
public static bool ShowLabels = false; // вернуть подписи над зданиями -- поставить true
|
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
if (!ShowLabels)
|
|
||||||
{
|
|
||||||
HideLabel();
|
|
||||||
enabled = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (building == null)
|
|
||||||
{
|
|
||||||
Debug.LogError("Ошибка BuildingUI: не назначено здание (Building)!");
|
|
||||||
enabled = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
UpdateUI();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Прячем холст с подписью и полоской. Сам объект здания не трогаем: компонент висит на его корне
|
|
||||||
void HideLabel()
|
|
||||||
{
|
|
||||||
foreach (Component c in new Component[] { stokText, progressBar })
|
|
||||||
{
|
|
||||||
if (c == null) continue;
|
|
||||||
var canvas = c.GetComponentInParent<Canvas>(true);
|
|
||||||
GameObject target = canvas != null && canvas.gameObject != gameObject ? canvas.gameObject : c.gameObject;
|
|
||||||
if (target != gameObject) target.SetActive(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if (Time.unscaledTime < next) return;
|
|
||||||
next = Time.unscaledTime + 0.5f;
|
|
||||||
UpdateUI();
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateUI()
|
|
||||||
{
|
|
||||||
bool workplace = building.IsWorkplace;
|
|
||||||
if (progressBar != null && progressBar.gameObject.activeSelf != workplace) progressBar.gameObject.SetActive(workplace);
|
|
||||||
|
|
||||||
if (!workplace)
|
|
||||||
{
|
|
||||||
if (stokText != null) stokText.text = building.IsHouse ? $"Дом {building.level} ур." : $"{building.level} ур.";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
float workers = building.GetCurrentStock();
|
|
||||||
float slots = building.GetMaxCapacity();
|
|
||||||
if (stokText != null) stokText.text = $"Рабочие {workers:0} / {slots:0}";
|
|
||||||
if (progressBar != null) progressBar.value = slots > 0 ? Mathf.Clamp01(workers / slots) : 0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 03e94b2f819b2884eb838f4c768e5d17
|
|
||||||
@@ -1,67 +1,6 @@
|
|||||||
using UnityEngine;
|
// Имя здания «Казармы» (лимиты, сохранение, окна). 2D-шаблон удалён 06.11 вместе с 2D-городом;
|
||||||
|
// 3D-здание -- City3D/City3DGameplay
|
||||||
// Добавляет "Казармы" в список стройки САМ при запуске сцены -- даже если никто не запускал
|
|
||||||
// Tools -> Build HUD Panels. Если в BuildManager уже есть здание "Казармы" (из Data_Barracks.asset),
|
|
||||||
// ничего не делает.
|
|
||||||
//
|
|
||||||
// Срабатывает после Awake всех объектов, но ДО Start -- то есть раньше, чем GameBootstrap загрузит
|
|
||||||
// сохранение. Поэтому построенные казармы корректно восстанавливаются из save.json.
|
|
||||||
public static class BarracksBootstrap
|
public static class BarracksBootstrap
|
||||||
{
|
{
|
||||||
public const string BarracksName = "Казармы";
|
public const string BarracksName = "Казармы";
|
||||||
static GameObject runtimeTemplate;
|
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
|
||||||
static void Init()
|
|
||||||
{
|
|
||||||
Ensure();
|
|
||||||
// при каждом новом входе в город (например, возврат с карты мира) -- снова добавить в новый BuildManager
|
|
||||||
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (s, m) => Ensure();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Ensure()
|
|
||||||
{
|
|
||||||
var bm = BuildManager.Instance != null ? BuildManager.Instance : Object.FindAnyObjectByType<BuildManager>();
|
|
||||||
if (bm == null || bm.allBuildings == null) return;
|
|
||||||
|
|
||||||
BuildingData template = null;
|
|
||||||
foreach (var b in bm.allBuildings)
|
|
||||||
{
|
|
||||||
if (b == null) continue;
|
|
||||||
if (b.buildingName == BarracksName) return; // уже есть
|
|
||||||
if (template == null && b.prefab != null) template = b;
|
|
||||||
}
|
|
||||||
if (template == null) { Debug.LogWarning("[КАЗАРМЫ] Нет ни одного здания-шаблона в BuildManager"); return; }
|
|
||||||
|
|
||||||
// Префаб-шаблон в памяти: копия обычного здания без сбора ресурсов, с компонентом Barracks
|
|
||||||
if (runtimeTemplate == null)
|
|
||||||
{
|
|
||||||
runtimeTemplate = Object.Instantiate(template.prefab);
|
|
||||||
runtimeTemplate.name = "Barracks";
|
|
||||||
runtimeTemplate.SetActive(false);
|
|
||||||
Object.DontDestroyOnLoad(runtimeTemplate);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<ResourceCollector>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<ResourceProducer>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<BuildingUI>()) Object.DestroyImmediate(c);
|
|
||||||
for (int i = runtimeTemplate.transform.childCount - 1; i >= 0; i--)
|
|
||||||
Object.DestroyImmediate(runtimeTemplate.transform.GetChild(i).gameObject); // полоска запаса ресурса
|
|
||||||
var sr = runtimeTemplate.GetComponent<SpriteRenderer>();
|
|
||||||
if (sr != null) sr.color = new Color(1f, 0.55f, 0.55f); // пока нет арта -- отличаем цветом
|
|
||||||
runtimeTemplate.AddComponent<Barracks>();
|
|
||||||
}
|
|
||||||
|
|
||||||
var data = ScriptableObject.CreateInstance<BuildingData>();
|
|
||||||
data.name = "Data_Barracks_Runtime";
|
|
||||||
data.buildingName = BarracksName;
|
|
||||||
data.icon = template.icon;
|
|
||||||
data.prefab = runtimeTemplate;
|
|
||||||
data.requiredTownHallLevel = 1;
|
|
||||||
data.cost = new[]
|
|
||||||
{
|
|
||||||
new ResourceCost { type = ResourceType.Wood, amount = 300 },
|
|
||||||
new ResourceCost { type = ResourceType.Stone, amount = 200 },
|
|
||||||
};
|
|
||||||
bm.allBuildings.Add(data);
|
|
||||||
Debug.Log("[КАЗАРМЫ] Добавлены в список стройки");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,452 +1,51 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using TMPro;
|
|
||||||
|
|
||||||
// СВОБОДНАЯ СТРОЙКА НА СЕТКЕ (игрок сам выбирает место):
|
// Кнопка «СТРОЙКА» общего HUD (HUD_Canvas, кнопка Nav_Build вызывает ToggleMode) и «Перенести» в окне здания.
|
||||||
// 1. Кнопка "СТРОЙКА" включает режим: на земле появляется сетка (красные клетки заняты), сверху подсказка,
|
// Стройку ведёт 3D-поселение: City3DController задаёт ExternalToggle / ExternalMove, пока сцена City3D открыта.
|
||||||
// и сразу открывается список зданий.
|
// 2D-стройка на сетке (BuildManager, BuildGrid, призрак) удалена 06.11 вместе с 2D-городом.
|
||||||
// 2. Выбрали здание -> появляется призрак: полупрозрачное здание и пятно его клеток.
|
|
||||||
// Зелёное пятно -- можно ставить, красное -- занято или за границей сетки.
|
|
||||||
// 3. Призрак двигают пальцем (тащить за само пятно) или тапом по земле -- он прыгает туда.
|
|
||||||
// Камера в это время не ездит. Размер у зданий разный (BuildingData.footprint).
|
|
||||||
// 4. Внизу панель: "Поставить" (если место свободно и хватает ресурсов), "Другое здание", "Отмена".
|
|
||||||
// 5. После постройки режим остаётся включённым -- можно строить дальше. "Выйти" -- сетка прячется.
|
|
||||||
//
|
|
||||||
// 6. Лимит зданий по уровню Ратуши (EconomyConfig, ТЕСТ): в списке видно "2 / 3", сверх лимита строить нельзя.
|
|
||||||
// 7. Стройка идёт по времени и занимает строителя (BuildTimer): все заняты -- поставить нельзя.
|
|
||||||
// 8. Перенос (кнопка "Перенести" в окне здания): тот же призрак, но здание переезжает бесплатно.
|
|
||||||
//
|
|
||||||
// Вешается билдером (Tools -> Build HUD Panels) на HUD_Canvas, кнопка Nav_Build вызывает ToggleMode().
|
|
||||||
[DefaultExecutionOrder(-50)] // раньше камеры: захват пальца призраком должен быть виден ей в том же кадре
|
|
||||||
public class BuildModeController : MonoBehaviour
|
public class BuildModeController : MonoBehaviour
|
||||||
{
|
{
|
||||||
public static BuildModeController Instance { get; private set; }
|
public static BuildModeController Instance { get; private set; }
|
||||||
|
|
||||||
[Tooltip("Кнопка HUD, которая включает/выключает режим (надпись меняется сама)")]
|
[Tooltip("Кнопка HUD «СТРОЙКА»")]
|
||||||
public Button modeButton;
|
public Button modeButton;
|
||||||
[Tooltip("Старое меню стройки -- прячем, оно больше не используется")]
|
[Tooltip("Старое меню стройки -- прячется, не используется")]
|
||||||
public GameObject legacyBuildMenu;
|
public GameObject legacyBuildMenu;
|
||||||
|
|
||||||
public bool IsActive { get; private set; }
|
// Своего режима стройки больше нет (он в 3D-сцене) -- всегда false
|
||||||
|
public bool IsActive => false;
|
||||||
|
|
||||||
// 3D-поселение (сцена City3D): своей 2D-стройки там нет -- кнопка "СТРОЙКА" общего HUD
|
|
||||||
// открывает стройку 3D-сцены. Задаёт City3DController, пока сцена открыта (05.11).
|
|
||||||
public static System.Action ExternalToggle;
|
public static System.Action ExternalToggle;
|
||||||
// То же для кнопки "Перенести" в окне здания: в 3D-сцене здание переносит сама сцена
|
|
||||||
public static System.Action<GameObject> ExternalMove;
|
public static System.Action<GameObject> ExternalMove;
|
||||||
static bool Has2DCity => BuildManager.Instance != null;
|
|
||||||
|
|
||||||
GameObject banner;
|
|
||||||
GameObject chooser;
|
|
||||||
GameObject placePanel;
|
|
||||||
TextMeshProUGUI placeInfo;
|
|
||||||
Button placeButton;
|
|
||||||
|
|
||||||
BuildGhost ghost;
|
|
||||||
GameObject moving; // здание, которое переносим (null -- строим новое)
|
|
||||||
bool dragging;
|
|
||||||
Vector2 grabOffset;
|
|
||||||
Vector2 downPos;
|
|
||||||
bool downOverUI;
|
|
||||||
bool downOnGhost;
|
|
||||||
float nextPanelRefresh;
|
|
||||||
|
|
||||||
const float TapThreshold = 25f;
|
|
||||||
|
|
||||||
void Awake() { Instance = this; }
|
void Awake() { Instance = this; }
|
||||||
|
|
||||||
void OnDestroy()
|
void OnDestroy()
|
||||||
{
|
{
|
||||||
if (Instance == this) Instance = null;
|
if (Instance == this) Instance = null;
|
||||||
UIBlocker.WorldInputCaptured = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
if (legacyBuildMenu != null) legacyBuildMenu.SetActive(false);
|
if (legacyBuildMenu != null) legacyBuildMenu.SetActive(false);
|
||||||
SetMode(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToggleMode()
|
public void ToggleMode()
|
||||||
{
|
{
|
||||||
if (!Has2DCity && ExternalToggle != null) { ExternalToggle(); return; } // 3D-сцена: своя стройка
|
if (ExternalToggle != null) ExternalToggle();
|
||||||
SetMode(!IsActive);
|
else UIKit.Toast("Стройка -- в городе");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Открыть стройку (например, «Построить Казармы» в окне войск)
|
||||||
public void SetMode(bool active)
|
public void SetMode(bool active)
|
||||||
{
|
{
|
||||||
if (!Has2DCity) active = false; // в 3D-сцене 2D-стройки нет (и сетку 2D не создаём)
|
if (active) ToggleMode();
|
||||||
IsActive = active;
|
|
||||||
CloseChooser();
|
|
||||||
CancelGhost();
|
|
||||||
UpdateButtonLabel();
|
|
||||||
if (Has2DCity) BuildGrid.Instance.ShowOverlay(active);
|
|
||||||
|
|
||||||
if (banner != null) { Destroy(banner); banner = null; }
|
|
||||||
if (active)
|
|
||||||
{
|
|
||||||
if (UIPanelManager.Instance != null) UIPanelManager.Instance.CloseAll();
|
|
||||||
banner = CreateBanner();
|
|
||||||
OpenChooser();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if (!IsActive) return;
|
|
||||||
// открыли любую панель HUD -- выходим из режима стройки
|
|
||||||
if (UIPanelManager.Instance != null && UIPanelManager.Instance.CurrentId != "") { SetMode(false); return; }
|
|
||||||
if (chooser != null || ghost == null) { StopDrag(); return; }
|
|
||||||
|
|
||||||
HandlePointer();
|
|
||||||
|
|
||||||
if (Time.unscaledTime >= nextPanelRefresh)
|
|
||||||
{
|
|
||||||
nextPanelRefresh = Time.unscaledTime + 0.3f;
|
|
||||||
ghost.Recheck(); // клетки могли заняться (загрузка сохранения) или ресурсы -- прийти
|
|
||||||
RefreshPlacePanel();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- палец: тащим призрак или тапаем по земле ----------------
|
|
||||||
|
|
||||||
void HandlePointer()
|
|
||||||
{
|
|
||||||
Vector2 world = PointerWorld();
|
|
||||||
|
|
||||||
if (Input.GetMouseButtonDown(0))
|
|
||||||
{
|
|
||||||
downPos = Input.mousePosition;
|
|
||||||
downOverUI = UIBlocker.IsPointerOverUI();
|
|
||||||
downOnGhost = !downOverUI && ghost.Contains(world);
|
|
||||||
if (downOnGhost)
|
|
||||||
{
|
|
||||||
dragging = true;
|
|
||||||
grabOffset = (Vector2)ghost.transform.position - world;
|
|
||||||
UIBlocker.WorldInputCaptured = true; // камера не поедет
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dragging && Input.GetMouseButton(0))
|
|
||||||
{
|
|
||||||
var before = ghost.Cell;
|
|
||||||
ghost.MoveNear(world + grabOffset);
|
|
||||||
if (ghost.Cell != before) RefreshPlacePanel();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Input.GetMouseButtonUp(0))
|
|
||||||
{
|
|
||||||
bool wasDragging = dragging;
|
|
||||||
StopDrag();
|
|
||||||
if (wasDragging || downOverUI || UIBlocker.IsPointerOverUI()) return;
|
|
||||||
if (((Vector2)Input.mousePosition - downPos).magnitude > TapThreshold) return; // тащили камеру
|
|
||||||
ghost.MoveNear(world); // тап по земле -- призрак прыгает сюда
|
|
||||||
RefreshPlacePanel();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void StopDrag()
|
|
||||||
{
|
|
||||||
dragging = false;
|
|
||||||
UIBlocker.WorldInputCaptured = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Vector2 PointerWorld()
|
|
||||||
{
|
|
||||||
var cam = Camera.main;
|
|
||||||
if (cam == null) return Vector2.zero;
|
|
||||||
Vector3 w = cam.ScreenToWorldPoint(Input.mousePosition);
|
|
||||||
return new Vector2(w.x, w.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- призрак ----------------
|
|
||||||
|
|
||||||
// Перенос построенного здания: призрак на его месте, "Сюда" -- переезжает бесплатно
|
|
||||||
public void StartMove(GameObject building)
|
public void StartMove(GameObject building)
|
||||||
{
|
{
|
||||||
if (!Has2DCity && ExternalMove != null) { ExternalMove(building); return; } // 3D-сцена
|
if (ExternalMove != null) ExternalMove(building);
|
||||||
var id = building != null ? building.GetComponent<PlacedBuildingId>() : null;
|
else UIKit.Toast("Это здание перенести нельзя");
|
||||||
var data = id != null && BuildManager.Instance != null ? BuildManager.Instance.FindData(id.buildingName) : null;
|
|
||||||
if (data == null) { UIKit.Toast("Это здание перенести нельзя"); return; }
|
|
||||||
|
|
||||||
if (!IsActive)
|
|
||||||
{
|
|
||||||
IsActive = true;
|
|
||||||
UpdateButtonLabel();
|
|
||||||
BuildGrid.Instance.ShowOverlay(true);
|
|
||||||
if (UIPanelManager.Instance != null) UIPanelManager.Instance.CloseAll();
|
|
||||||
if (banner == null) banner = CreateBanner();
|
|
||||||
}
|
|
||||||
CloseChooser();
|
|
||||||
CancelGhost();
|
|
||||||
|
|
||||||
moving = building;
|
|
||||||
BuildGrid.IgnoredBuilding = building; // его клетки считаются свободными, пока выбираем новое место
|
|
||||||
BuildGrid.Instance.Refresh();
|
|
||||||
ghost = BuildGhost.Create(data);
|
|
||||||
ghost.MoveNear((Vector2)building.transform.position + ghost.Footprint.anchorOffset);
|
|
||||||
CreatePlacePanel();
|
|
||||||
}
|
|
||||||
|
|
||||||
void StartGhost(BuildingData data)
|
|
||||||
{
|
|
||||||
CancelGhost();
|
|
||||||
CloseChooser();
|
|
||||||
ghost = BuildGhost.Create(data);
|
|
||||||
|
|
||||||
// ставим в центр экрана, а если там занято -- на ближайшее свободное место
|
|
||||||
var cam = Camera.main;
|
|
||||||
Vector2 center = cam != null ? (Vector2)cam.transform.position : Vector2.zero;
|
|
||||||
if (BuildGrid.Instance.FindFreeNear(center, ghost.Footprint.size, out var cell)) ghost.MoveToCell(cell);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ghost.MoveNear(center);
|
|
||||||
UIKit.Toast("Свободного места под это здание нет");
|
|
||||||
}
|
|
||||||
CreatePlacePanel();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CancelGhost()
|
|
||||||
{
|
|
||||||
StopDrag();
|
|
||||||
if (moving != null || BuildGrid.IgnoredBuilding != null)
|
|
||||||
{
|
|
||||||
moving = null;
|
|
||||||
BuildGrid.IgnoredBuilding = null; // здание остаётся на старом месте
|
|
||||||
if (BuildGrid.Instance != null) BuildGrid.Instance.Refresh();
|
|
||||||
}
|
|
||||||
if (ghost != null) Destroy(ghost.gameObject);
|
|
||||||
ghost = null;
|
|
||||||
if (placePanel != null) Destroy(placePanel);
|
|
||||||
placePanel = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Place()
|
|
||||||
{
|
|
||||||
if (ghost == null || BuildManager.Instance == null) return;
|
|
||||||
var d = ghost.Data;
|
|
||||||
ghost.Recheck();
|
|
||||||
if (!ghost.CellsFree) { UIKit.Toast("Здесь строить нельзя: клетки заняты"); return; }
|
|
||||||
|
|
||||||
if (moving != null)
|
|
||||||
{
|
|
||||||
var building = moving;
|
|
||||||
var id = building != null ? building.GetComponent<PlacedBuildingId>() : null;
|
|
||||||
if (id == null || string.IsNullOrEmpty(id.buildingName)) { CancelGhost(); return; } // здания уже нет
|
|
||||||
// Перенос бесплатный: меняется только место. Уровень, стройка и улучшение остаются у того же здания,
|
|
||||||
// ресурсы не тратятся и не возвращаются (решения 04.11)
|
|
||||||
building.transform.position = ghost.PrefabPosition;
|
|
||||||
CancelGhost(); // снимает "игнор" клеток -- здание уже на новом месте
|
|
||||||
UIKit.Toast("Перенесено: " + d.buildingName);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string limit = LimitProblem(d);
|
|
||||||
if (limit != null) { UIKit.Toast(limit); return; }
|
|
||||||
if (BuildTimer.DurationMs(false, 1) > 0 && BuildTimer.FreeBuilders == 0) { UIKit.Toast("Все строители заняты"); return; }
|
|
||||||
if (!d.CanAfford()) { UIKit.Toast(GameProgress.Instance.MissingText(ToRewards(d.cost))); return; }
|
|
||||||
|
|
||||||
if (BuildManager.Instance.BuildAt(d, ghost.Cell) != null)
|
|
||||||
{
|
|
||||||
UIKit.Toast(BuildTimer.DurationMs(false, 1) > 0 ? "Стройка началась: " + d.buildingName : "Построено: " + d.buildingName);
|
|
||||||
CancelGhost(); // режим остаётся: "Здания" в подсказке сверху -- строить дальше
|
|
||||||
}
|
|
||||||
else UIKit.Toast("Не получилось построить");
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- нижняя панель: Поставить / Другое здание / Отмена ----------------
|
|
||||||
|
|
||||||
void CreatePlacePanel()
|
|
||||||
{
|
|
||||||
if (placePanel != null) Destroy(placePanel);
|
|
||||||
var bar = UIKit.Row(UIKit.Overlay, -1, 14, new Color(0.08f, 0.1f, 0.14f, 0.94f), 14);
|
|
||||||
bar.name = "BuildPlacePanel";
|
|
||||||
bar.anchorMin = new Vector2(0.04f, 0); bar.anchorMax = new Vector2(0.96f, 0);
|
|
||||||
bar.pivot = new Vector2(0.5f, 0);
|
|
||||||
bar.sizeDelta = new Vector2(0, 130); bar.anchoredPosition = new Vector2(0, 40);
|
|
||||||
placePanel = bar.gameObject;
|
|
||||||
|
|
||||||
placeInfo = UIKit.Text(bar, "", 26, Color.white, TextAlignmentOptions.Left);
|
|
||||||
UIKit.Size(placeInfo, -1, -1, 1);
|
|
||||||
placeButton = UIKit.Button(bar, moving != null ? "Сюда" : "Поставить", UIKit.Theme.Green, Place, 230, 90, 28);
|
|
||||||
if (moving == null) UIKit.Button(bar, "Другое", UIKit.Theme.Blue, OpenChooser, 180, 90, 26);
|
|
||||||
UIKit.Button(bar, "Отмена", UIKit.Theme.Gray, CancelGhost, 180, 90, 26);
|
|
||||||
RefreshPlacePanel();
|
|
||||||
}
|
|
||||||
|
|
||||||
void RefreshPlacePanel()
|
|
||||||
{
|
|
||||||
if (ghost == null || placeInfo == null) return;
|
|
||||||
var d = ghost.Data;
|
|
||||||
string where = ghost.CellsFree ? "<color=#9be59b>место свободно</color>" : "<color=#ff7a7a>клетки заняты</color>";
|
|
||||||
if (moving != null)
|
|
||||||
{
|
|
||||||
placeInfo.text = "<b>Перенос: " + d.buildingName + "</b> " + ghost.Footprint.size.x + "×" + ghost.Footprint.size.y +
|
|
||||||
" кл. • " + where + "\nБесплатно";
|
|
||||||
UIKit.SetButton(placeButton, ghost.CellsFree ? "Сюда" : "Занято", ghost.CellsFree);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
bool afford = d.CanAfford();
|
|
||||||
string limit = LimitProblem(d);
|
|
||||||
bool builders = BuildTimer.DurationMs(false, 1) <= 0 || BuildTimer.FreeBuilders > 0;
|
|
||||||
placeInfo.text = "<b>" + d.buildingName + "</b> " + ghost.Footprint.size.x + "×" + ghost.Footprint.size.y +
|
|
||||||
" кл. • " + where + "\n" + CostText(d) + BuildTimeText();
|
|
||||||
bool ok = ghost.CellsFree && afford && limit == null && builders;
|
|
||||||
string label = ok ? "Поставить" : !ghost.CellsFree ? "Занято" : limit != null ? "Лимит" : !builders ? "Строители заняты" : "Мало ресурсов";
|
|
||||||
UIKit.SetButton(placeButton, label, ok);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- окно выбора здания ----------------
|
|
||||||
|
|
||||||
void OpenChooser()
|
|
||||||
{
|
|
||||||
CloseChooser();
|
|
||||||
StopDrag();
|
|
||||||
var bm = BuildManager.Instance;
|
|
||||||
if (bm == null) return;
|
|
||||||
GameObject root;
|
|
||||||
var card = UIKit.Modal("Что построить?", out root);
|
|
||||||
chooser = root;
|
|
||||||
|
|
||||||
// окно фиксированного размера с прокруткой, чтобы влезало на любом экране
|
|
||||||
var fit = card.GetComponent<ContentSizeFitter>();
|
|
||||||
if (fit != null) DestroyImmediate(fit);
|
|
||||||
card.anchorMin = new Vector2(0.08f, 0.08f); card.anchorMax = new Vector2(0.92f, 0.92f);
|
|
||||||
card.offsetMin = Vector2.zero; card.offsetMax = Vector2.zero;
|
|
||||||
|
|
||||||
int th = TownHall.Instance != null ? TownHall.Instance.currentLevel : 1;
|
|
||||||
UIKit.Text(card, "Ратуша " + th + " ур. • строителей свободно: " + BuildTimer.FreeBuilders + " из " + BuildTimer.Builders +
|
|
||||||
"\nвыберите здание, потом место на сетке", 24, UIKit.Theme.TextDim, TextAlignmentOptions.Center);
|
|
||||||
|
|
||||||
var holder = UIKit.Make("ListHolder", card);
|
|
||||||
UIKit.Size(holder, -1, -1).flexibleHeight = 1;
|
|
||||||
ScrollRect scroll;
|
|
||||||
var list = UIKit.ScrollList(holder, out scroll, 10);
|
|
||||||
|
|
||||||
// доступные сверху, закрытые по уровню Ратуши -- ниже
|
|
||||||
var all = new List<BuildingData>(bm.allBuildings);
|
|
||||||
all.RemoveAll(b => b == null || b.prefab == null);
|
|
||||||
all.Sort((a, b) => a.requiredTownHallLevel.CompareTo(b.requiredTownHallLevel));
|
|
||||||
|
|
||||||
foreach (var data in all)
|
|
||||||
{
|
|
||||||
var d = data;
|
|
||||||
int max = EconomyConfig.Load().BuildingLimitFor(d.buildingName, th);
|
|
||||||
int have = CountBuilt(d.buildingName);
|
|
||||||
bool full = max >= 0 && have >= max;
|
|
||||||
bool locked = d.requiredTownHallLevel > th || full;
|
|
||||||
bool afford = !locked && d.CanAfford();
|
|
||||||
var size = BuildFootprint.Of(d).size;
|
|
||||||
|
|
||||||
var row = UIKit.Row(list, 120, 14, locked ? UIKit.Theme.CardDark : UIKit.Theme.Card, 10);
|
|
||||||
var icon = UIKit.Box(row, d.icon != null ? Color.white : UIKit.Theme.Gray);
|
|
||||||
if (d.icon != null) { icon.sprite = d.icon; icon.preserveAspect = true; }
|
|
||||||
UIKit.Size(icon, 100, 100);
|
|
||||||
|
|
||||||
var info = UIKit.Card(row, new Color(0, 0, 0, 0), 0, 4);
|
|
||||||
UIKit.Size(info, -1, -1, 1);
|
|
||||||
string count = max >= 0 ? " <size=22><color=#aab>построено " + have + " / " + max + "</color></size>" : "";
|
|
||||||
UIKit.Text(info, d.buildingName + " <size=22><color=#aab>" + size.x + "×" + size.y + " кл.</color></size>" + count, 30,
|
|
||||||
locked ? UIKit.Theme.TextDim : UIKit.Theme.Text).fontStyle = FontStyles.Bold;
|
|
||||||
string why = d.requiredTownHallLevel > th ? "Откроется на Ратуше " + d.requiredTownHallLevel + " уровня"
|
|
||||||
: full ? NextLimitText(d.buildingName, th, have) : CostText(d);
|
|
||||||
UIKit.Text(info, why, 24, locked ? UIKit.Theme.Gold : UIKit.Theme.TextDim);
|
|
||||||
|
|
||||||
// выбрать можно и без ресурсов: место присмотреть, а "Поставить" загорится, когда хватит
|
|
||||||
string label = d.requiredTownHallLevel > th ? "Закрыто" : full ? "Лимит" : "Выбрать";
|
|
||||||
var b = UIKit.Button(row, label, afford ? UIKit.Theme.Green : UIKit.Theme.Gray, () => StartGhost(d), 230, 90, 26);
|
|
||||||
b.interactable = !locked;
|
|
||||||
}
|
|
||||||
|
|
||||||
UIKit.Button(card, "Закрыть", UIKit.Theme.Gray, CloseChooser, -1, 90, 30);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- лимит зданий по Ратуше (EconomyConfig, ТЕСТ) ----------------
|
|
||||||
|
|
||||||
static int CountBuilt(string buildingName)
|
|
||||||
{
|
|
||||||
int n = 0;
|
|
||||||
foreach (var id in FindObjectsByType<PlacedBuildingId>(FindObjectsSortMode.None))
|
|
||||||
if (id.buildingName == buildingName) n++;
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
|
|
||||||
// null -- лимит позволяет; иначе текст для игрока
|
|
||||||
static string LimitProblem(BuildingData d)
|
|
||||||
{
|
|
||||||
int th = TownHall.Instance != null ? TownHall.Instance.currentLevel : 1;
|
|
||||||
int max = EconomyConfig.Load().BuildingLimitFor(d.buildingName, th);
|
|
||||||
int have = CountBuilt(d.buildingName);
|
|
||||||
if (max < 0 || have < max) return null;
|
|
||||||
return NextLimitText(d.buildingName, th, have);
|
|
||||||
}
|
|
||||||
|
|
||||||
static string NextLimitText(string buildingName, int th, int have)
|
|
||||||
{
|
|
||||||
var config = EconomyConfig.Load();
|
|
||||||
for (int lvl = th + 1; lvl <= 10; lvl++)
|
|
||||||
if (config.BuildingLimitFor(buildingName, lvl) > have)
|
|
||||||
return "Лимит " + have + " / " + config.BuildingLimitFor(buildingName, th) + ": больше — на Ратуше " + lvl + " ур.";
|
|
||||||
return "Достигнут лимит: " + have;
|
|
||||||
}
|
|
||||||
|
|
||||||
static string BuildTimeText()
|
|
||||||
{
|
|
||||||
long ms = BuildTimer.DurationMs(false, 1);
|
|
||||||
if (ms <= 0) return "";
|
|
||||||
string free = BuildTimer.FreeBuilders > 0 ? "" : " <color=#ff7a7a>все строители заняты</color>";
|
|
||||||
return " • стройка " + GameData.FormatTime(ms / 1000.0) + free;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CloseChooser()
|
|
||||||
{
|
|
||||||
if (chooser != null) Destroy(chooser);
|
|
||||||
chooser = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
static RewardItem[] ToRewards(ResourceCost[] cost)
|
|
||||||
{
|
|
||||||
if (cost == null) return new RewardItem[0];
|
|
||||||
var r = new RewardItem[cost.Length];
|
|
||||||
for (int i = 0; i < cost.Length; i++) r[i] = new RewardItem(cost[i].type, Mathf.CeilToInt(cost[i].amount));
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Цена по-русски, красным -- чего не хватает
|
|
||||||
static string CostText(BuildingData d)
|
|
||||||
{
|
|
||||||
if (d.cost == null || d.cost.Length == 0) return "Бесплатно";
|
|
||||||
var parts = new List<string>();
|
|
||||||
foreach (var c in d.cost)
|
|
||||||
{
|
|
||||||
bool ok = ResourceManager.Instance != null && ResourceManager.Instance.HasEnough(c.type, c.amount);
|
|
||||||
parts.Add("<color=" + (ok ? "#9be59b" : "#ff7a7a") + ">" + GameData.Short(c.amount) + "</color> " + GameData.ResName(c.type));
|
|
||||||
}
|
|
||||||
return string.Join(", ", parts.ToArray());
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- подсказка сверху и кнопка ----------------
|
|
||||||
|
|
||||||
GameObject CreateBanner()
|
|
||||||
{
|
|
||||||
// полоска сверху экрана (не модальная: остальной экран остаётся кликабельным)
|
|
||||||
var bar = UIKit.Row(UIKit.Overlay, -1, 16, new Color(0.1f, 0.25f, 0.12f, 0.92f), 14);
|
|
||||||
bar.name = "BuildModeBanner";
|
|
||||||
bar.anchorMin = new Vector2(0.1f, 1); bar.anchorMax = new Vector2(0.9f, 1);
|
|
||||||
bar.pivot = new Vector2(0.5f, 1);
|
|
||||||
bar.sizeDelta = new Vector2(0, 110); bar.anchoredPosition = new Vector2(0, -150);
|
|
||||||
var t = UIKit.Text(bar, "РЕЖИМ СТРОЙКИ: двигайте здание по сетке, красное -- занято", 26, Color.white, TextAlignmentOptions.Left);
|
|
||||||
UIKit.Size(t, -1, -1, 1);
|
|
||||||
UIKit.Button(bar, "Здания", UIKit.Theme.Green, OpenChooser, 180, 80, 28);
|
|
||||||
UIKit.Button(bar, "Выйти", UIKit.Theme.Red, () => SetMode(false), 160, 80, 28);
|
|
||||||
return bar.gameObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateButtonLabel()
|
|
||||||
{
|
|
||||||
if (modeButton == null) return;
|
|
||||||
var t = modeButton.GetComponentInChildren<TextMeshProUGUI>();
|
|
||||||
if (t != null) t.text = IsActive ? "ГОТОВО" : "СТРОЙКА";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
// ТЕРЕМ БОГАТЫРЯ -- дом героя в городе.
|
// ТЕРЕМ БОГАТЫРЯ -- дом героя в городе.
|
||||||
// - Пока Терем построен, у его ворот появляется герой и гуляет по свободным клеткам города (HeroWalker).
|
// - Пока Терем построен, у его ворот появляется герой и гуляет по свободным клеткам города (City3D/City3DHero).
|
||||||
// Тап по герою или по Терему -- окно героя (App/BuildingWindow): уровень, сила, бонус армии, навыки, улучшение.
|
// Тап по герою или по Терему -- окно героя (App/BuildingWindow): уровень, сила, бонус армии, навыки, улучшение.
|
||||||
// - Механику героя не меняет: уровень, цена улучшения и бонусы те же, что в панели "Герой" (GameProgress).
|
// - Механику героя не меняет: уровень, цена улучшения и бонусы те же, что в панели "Герой" (GameProgress).
|
||||||
// Нужен ли Терем для улучшения героя, даёт ли уровни и сколько стоит -- решает Дима (сейчас ТЕСТ).
|
// Нужен ли Терем для улучшения героя, даёт ли уровни и сколько стоит -- решает Дима (сейчас ТЕСТ).
|
||||||
@@ -24,16 +24,9 @@ public class HeroCastle : MonoBehaviour
|
|||||||
All.Remove(this);
|
All.Remove(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
// Герой-фигурка ходит по клеткам 2D-города (BuildGrid). В 3D-поселении сетки нет -- Терем работает без прогулки
|
|
||||||
if (Main == this && BuildGrid.Instance != null) HeroWalker.Spawn(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDestroy()
|
void OnDestroy()
|
||||||
{
|
{
|
||||||
All.Remove(this);
|
All.Remove(this);
|
||||||
HeroWalker.OnCastleRemoved(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 downPos;
|
Vector3 downPos;
|
||||||
|
|||||||
@@ -1,65 +1,8 @@
|
|||||||
using UnityEngine;
|
// «Терем богатыря»: имя и цена (ТЕСТ, согласовать с Димой). 2D-шаблон удалён 06.11 вместе с 2D-городом;
|
||||||
|
// 3D-здание -- City3D/City3DGameplay, герой у Терема -- City3D/City3DHero
|
||||||
// Добавляет «Терем богатыря» в список стройки САМ при запуске сцены (как Казармы и Госпиталь).
|
|
||||||
// Срабатывает до восстановления зданий из сохранения (SettlementRestoringEvent), поэтому построенный
|
|
||||||
// Терем корректно восстанавливается из save.json. Цена -- ТЕСТ (согласовать с Димой).
|
|
||||||
public static class HeroCastleBootstrap
|
public static class HeroCastleBootstrap
|
||||||
{
|
{
|
||||||
public const string CastleName = "Терем богатыря";
|
public const string CastleName = "Терем богатыря";
|
||||||
public const int CostWood = 400; // ТЕСТ
|
public const int CostWood = 400; // ТЕСТ
|
||||||
public const int CostStone = 300; // ТЕСТ
|
public const int CostStone = 300; // ТЕСТ
|
||||||
static GameObject runtimeTemplate;
|
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
|
||||||
static void Init()
|
|
||||||
{
|
|
||||||
Ensure();
|
|
||||||
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (s, m) => Ensure();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Ensure()
|
|
||||||
{
|
|
||||||
var bm = BuildManager.Instance != null ? BuildManager.Instance : Object.FindAnyObjectByType<BuildManager>();
|
|
||||||
if (bm == null || bm.allBuildings == null) return;
|
|
||||||
|
|
||||||
BuildingData template = null;
|
|
||||||
foreach (var b in bm.allBuildings)
|
|
||||||
{
|
|
||||||
if (b == null) continue;
|
|
||||||
if (b.buildingName == CastleName) return; // уже есть
|
|
||||||
if (template == null && b.prefab != null) template = b;
|
|
||||||
}
|
|
||||||
if (template == null) { Debug.LogWarning("[ТЕРЕМ] Нет ни одного здания-шаблона в BuildManager"); return; }
|
|
||||||
|
|
||||||
// Префаб-шаблон в памяти: копия обычного здания без сбора ресурсов, с компонентом HeroCastle
|
|
||||||
if (runtimeTemplate == null)
|
|
||||||
{
|
|
||||||
runtimeTemplate = Object.Instantiate(template.prefab);
|
|
||||||
runtimeTemplate.name = "HeroCastle";
|
|
||||||
runtimeTemplate.SetActive(false);
|
|
||||||
Object.DontDestroyOnLoad(runtimeTemplate);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<ResourceCollector>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<ResourceProducer>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<BuildingUI>()) Object.DestroyImmediate(c);
|
|
||||||
for (int i = runtimeTemplate.transform.childCount - 1; i >= 0; i--)
|
|
||||||
Object.DestroyImmediate(runtimeTemplate.transform.GetChild(i).gameObject); // полоска запаса ресурса
|
|
||||||
var sr = runtimeTemplate.GetComponent<SpriteRenderer>();
|
|
||||||
if (sr != null) sr.color = new Color(1f, 0.85f, 0.35f); // пока нет арта -- отличаем цветом (золотой)
|
|
||||||
runtimeTemplate.AddComponent<HeroCastle>();
|
|
||||||
}
|
|
||||||
|
|
||||||
var data = ScriptableObject.CreateInstance<BuildingData>();
|
|
||||||
data.name = "Data_HeroCastle_Runtime";
|
|
||||||
data.buildingName = CastleName;
|
|
||||||
data.icon = template.icon;
|
|
||||||
data.prefab = runtimeTemplate;
|
|
||||||
data.requiredTownHallLevel = 1; // ТЕСТ
|
|
||||||
data.cost = new[]
|
|
||||||
{
|
|
||||||
new ResourceCost { type = ResourceType.Wood, amount = CostWood },
|
|
||||||
new ResourceCost { type = ResourceType.Stone, amount = CostStone },
|
|
||||||
};
|
|
||||||
bm.allBuildings.Add(data);
|
|
||||||
Debug.Log("[ТЕРЕМ] Добавлен в список стройки");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,203 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
// ГЕРОЙ В ГОРОДЕ -- живёт у Терема богатыря и гуляет по свободным клеткам рядом с ним.
|
|
||||||
// - Пока без арта: фигурка из простых форм (тело, голова, щит) цвета героя. Арт подставим в BuildFigure.
|
|
||||||
// - Идёт к случайной свободной клетке в радиусе WalkRadius от Терема, стоит 1-3 с, идёт дальше.
|
|
||||||
// - Тап по герою -- он отвечает фразой и открывается окно героя.
|
|
||||||
// - В режиме стройки герой прячется, чтобы не мешать ставить здания.
|
|
||||||
// Это только оживление города: на экономику, бой и сохранение не влияет.
|
|
||||||
public class HeroWalker : MonoBehaviour
|
|
||||||
{
|
|
||||||
public static HeroWalker Instance { get; private set; }
|
|
||||||
|
|
||||||
const float Speed = 1.3f; // клеток в секунду
|
|
||||||
const int WalkRadius = 6; // насколько далеко уходит от Терема
|
|
||||||
const int SortingOrder = 40; // поверх зданий
|
|
||||||
|
|
||||||
static readonly string[] Phrases =
|
|
||||||
{
|
|
||||||
"Город под защитой!",
|
|
||||||
"Веди, воевода, — не подведу.",
|
|
||||||
"Силушка богатырская при мне.",
|
|
||||||
"Дозором обхожу владения.",
|
|
||||||
"Есть ли где ворог? Только скажи.",
|
|
||||||
};
|
|
||||||
|
|
||||||
HeroCastle castle;
|
|
||||||
Vector3 target;
|
|
||||||
float waitLeft;
|
|
||||||
Transform figure;
|
|
||||||
Vector3 downPos;
|
|
||||||
BoxCollider2D tapArea;
|
|
||||||
|
|
||||||
public static void Spawn(HeroCastle home)
|
|
||||||
{
|
|
||||||
if (Instance != null) { Instance.castle = home; return; }
|
|
||||||
var go = new GameObject("Hero");
|
|
||||||
var w = go.AddComponent<HeroWalker>();
|
|
||||||
w.castle = home;
|
|
||||||
w.BuildFigure();
|
|
||||||
go.transform.position = w.Gate();
|
|
||||||
w.target = go.transform.position;
|
|
||||||
w.waitLeft = 1f;
|
|
||||||
Instance = w;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void OnCastleRemoved(HeroCastle removed)
|
|
||||||
{
|
|
||||||
if (Instance == null || Instance.castle != removed) return;
|
|
||||||
var next = HeroCastle.Main;
|
|
||||||
if (next != null) Instance.castle = next;
|
|
||||||
else Destroy(Instance.gameObject);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDestroy()
|
|
||||||
{
|
|
||||||
if (Instance == this) Instance = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- Внешний вид (заглушка) ----------------
|
|
||||||
|
|
||||||
void BuildFigure()
|
|
||||||
{
|
|
||||||
figure = new GameObject("Figure").transform;
|
|
||||||
figure.SetParent(transform, false);
|
|
||||||
Part("Body", Square(), new Color(0.55f, 0.4f, 0.2f), new Vector2(0f, 0.28f), new Vector2(0.38f, 0.48f), 0);
|
|
||||||
Part("Head", Circle(), new Color(1f, 0.85f, 0.7f), new Vector2(0f, 0.66f), new Vector2(0.3f, 0.3f), 1);
|
|
||||||
Part("Helmet", Circle(), new Color(0.75f, 0.75f, 0.8f), new Vector2(0f, 0.76f), new Vector2(0.32f, 0.16f), 2);
|
|
||||||
Part("Shield", Circle(), new Color(0.8f, 0.15f, 0.15f), new Vector2(0.2f, 0.28f), new Vector2(0.22f, 0.3f), 3);
|
|
||||||
Part("Shadow", Circle(), new Color(0f, 0f, 0f, 0.3f), new Vector2(0f, 0.02f), new Vector2(0.45f, 0.14f), -1);
|
|
||||||
|
|
||||||
// Коллайдер для тапа -- чуть больше фигурки, ближе к камере, чем здания
|
|
||||||
tapArea = gameObject.AddComponent<BoxCollider2D>();
|
|
||||||
tapArea.size = new Vector2(0.7f, 1f);
|
|
||||||
tapArea.offset = new Vector2(0f, 0.45f);
|
|
||||||
var p = transform.position; p.z = -0.5f; transform.position = p;
|
|
||||||
}
|
|
||||||
|
|
||||||
SpriteRenderer Part(string name, Sprite sprite, Color color, Vector2 pos, Vector2 size, int order)
|
|
||||||
{
|
|
||||||
var t = new GameObject(name).transform;
|
|
||||||
t.SetParent(figure, false);
|
|
||||||
t.localPosition = pos;
|
|
||||||
t.localScale = new Vector3(size.x, size.y, 1f);
|
|
||||||
var sr = t.gameObject.AddComponent<SpriteRenderer>();
|
|
||||||
sr.sprite = sprite;
|
|
||||||
sr.color = color;
|
|
||||||
sr.sortingOrder = SortingOrder + order;
|
|
||||||
return sr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Sprite square, circle;
|
|
||||||
|
|
||||||
static Sprite Square()
|
|
||||||
{
|
|
||||||
if (square != null) return square;
|
|
||||||
var tex = new Texture2D(4, 4, TextureFormat.RGBA32, false);
|
|
||||||
var px = new Color32[16];
|
|
||||||
for (int i = 0; i < px.Length; i++) px[i] = new Color32(255, 255, 255, 255);
|
|
||||||
tex.SetPixels32(px); tex.Apply();
|
|
||||||
square = Sprite.Create(tex, new Rect(0, 0, 4, 4), new Vector2(0.5f, 0.5f), 4);
|
|
||||||
return square;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Sprite Circle()
|
|
||||||
{
|
|
||||||
if (circle != null) return circle;
|
|
||||||
const int n = 64;
|
|
||||||
var tex = new Texture2D(n, n, TextureFormat.RGBA32, false);
|
|
||||||
var px = new Color32[n * n];
|
|
||||||
float r = n * 0.5f;
|
|
||||||
for (int y = 0; y < n; y++)
|
|
||||||
for (int x = 0; x < n; x++)
|
|
||||||
{
|
|
||||||
float d = Mathf.Sqrt((x + 0.5f - r) * (x + 0.5f - r) + (y + 0.5f - r) * (y + 0.5f - r));
|
|
||||||
byte a = (byte)(Mathf.Clamp01(r - d) * 255);
|
|
||||||
px[y * n + x] = new Color32(255, 255, 255, a);
|
|
||||||
}
|
|
||||||
tex.SetPixels32(px); tex.Apply();
|
|
||||||
circle = Sprite.Create(tex, new Rect(0, 0, n, n), new Vector2(0.5f, 0.5f), n);
|
|
||||||
return circle;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- Прогулка ----------------
|
|
||||||
|
|
||||||
Vector3 Gate()
|
|
||||||
{
|
|
||||||
var c = castle != null ? castle.transform.position : Vector3.zero;
|
|
||||||
var grid = BuildGrid.Instance;
|
|
||||||
if (grid != null && grid.FindFreeNear(c, Vector2Int.one, out Vector2Int cell))
|
|
||||||
{
|
|
||||||
Vector2 p = grid.RectCenter(cell, Vector2Int.one);
|
|
||||||
return new Vector3(p.x, p.y - 0.4f, -0.5f);
|
|
||||||
}
|
|
||||||
return new Vector3(c.x, c.y - 1f, -0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 PickTarget()
|
|
||||||
{
|
|
||||||
var grid = BuildGrid.Instance;
|
|
||||||
if (grid == null || castle == null) return transform.position;
|
|
||||||
grid.Refresh();
|
|
||||||
Vector2Int home = grid.WorldToCell(castle.transform.position);
|
|
||||||
for (int attempt = 0; attempt < 20; attempt++)
|
|
||||||
{
|
|
||||||
int x = home.x + Random.Range(-WalkRadius, WalkRadius + 1);
|
|
||||||
int y = home.y + Random.Range(-WalkRadius, WalkRadius + 1);
|
|
||||||
if (grid.IsBusy(x, y)) continue;
|
|
||||||
Vector2 p = grid.RectCenter(new Vector2Int(x, y), Vector2Int.one);
|
|
||||||
return new Vector3(p.x, p.y - 0.4f, -0.5f);
|
|
||||||
}
|
|
||||||
return Gate();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
bool building = BuildModeController.Instance != null && BuildModeController.Instance.IsActive;
|
|
||||||
if (figure.gameObject.activeSelf == building)
|
|
||||||
{
|
|
||||||
figure.gameObject.SetActive(!building);
|
|
||||||
if (tapArea != null) tapArea.enabled = !building;
|
|
||||||
}
|
|
||||||
if (building) return;
|
|
||||||
|
|
||||||
if (waitLeft > 0f) { waitLeft -= Time.deltaTime; return; }
|
|
||||||
|
|
||||||
Vector3 pos = transform.position;
|
|
||||||
Vector3 delta = target - pos;
|
|
||||||
delta.z = 0f;
|
|
||||||
if (delta.magnitude < 0.05f)
|
|
||||||
{
|
|
||||||
target = PickTarget();
|
|
||||||
waitLeft = Random.Range(1f, 3f);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Vector3 step = delta.normalized * Speed * Time.deltaTime;
|
|
||||||
if (step.magnitude > delta.magnitude) step = delta;
|
|
||||||
transform.position = pos + step;
|
|
||||||
if (Mathf.Abs(delta.x) > 0.01f)
|
|
||||||
{
|
|
||||||
var s = figure.localScale;
|
|
||||||
s.x = delta.x < 0 ? -1f : 1f; // смотрит туда, куда идёт
|
|
||||||
figure.localScale = s;
|
|
||||||
}
|
|
||||||
// лёгкое покачивание при ходьбе
|
|
||||||
figure.localPosition = new Vector3(0f, Mathf.Abs(Mathf.Sin(Time.time * 10f)) * 0.05f, 0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- Тап ----------------
|
|
||||||
|
|
||||||
void OnMouseDown()
|
|
||||||
{
|
|
||||||
downPos = Input.mousePosition;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnMouseUpAsButton()
|
|
||||||
{
|
|
||||||
if (UIBlocker.IsPointerOverUI()) return;
|
|
||||||
if ((Input.mousePosition - downPos).magnitude > 25f) return;
|
|
||||||
UIKit.Toast("Богатырь: " + Phrases[Random.Range(0, Phrases.Length)]);
|
|
||||||
waitLeft = 2f; // остановился поговорить
|
|
||||||
if (castle != null) BuildingWindow.Open(castle.gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: caa21d91fd476684ba0fd70c830fe04f
|
|
||||||
@@ -1,65 +1,6 @@
|
|||||||
using UnityEngine;
|
// Имя здания «Госпиталь». 2D-шаблон удалён 06.11 вместе с 2D-городом; 3D-здание -- City3D/City3DGameplay,
|
||||||
|
// цена и уровень Ратуши -- HospitalConfig
|
||||||
// Добавляет «Госпиталь» в список стройки САМ при запуске сцены (как Казармы -- BarracksBootstrap).
|
|
||||||
// Срабатывает до восстановления зданий из сохранения (SettlementRestoringEvent), поэтому построенный
|
|
||||||
// госпиталь и его уровень корректно восстанавливаются из save.json.
|
|
||||||
public static class HospitalBootstrap
|
public static class HospitalBootstrap
|
||||||
{
|
{
|
||||||
public const string HospitalName = "Госпиталь";
|
public const string HospitalName = "Госпиталь";
|
||||||
static GameObject runtimeTemplate;
|
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
|
||||||
static void Init()
|
|
||||||
{
|
|
||||||
Ensure();
|
|
||||||
// при каждом новом входе в город (например, возврат с карты мира) -- снова добавить в новый BuildManager
|
|
||||||
UnityEngine.SceneManagement.SceneManager.sceneLoaded += (s, m) => Ensure();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Ensure()
|
|
||||||
{
|
|
||||||
var bm = BuildManager.Instance != null ? BuildManager.Instance : Object.FindAnyObjectByType<BuildManager>();
|
|
||||||
if (bm == null || bm.allBuildings == null) return;
|
|
||||||
|
|
||||||
BuildingData template = null;
|
|
||||||
foreach (var b in bm.allBuildings)
|
|
||||||
{
|
|
||||||
if (b == null) continue;
|
|
||||||
if (b.buildingName == HospitalName) return; // уже есть
|
|
||||||
if (template == null && b.prefab != null) template = b;
|
|
||||||
}
|
|
||||||
if (template == null) { Debug.LogWarning("[ГОСПИТАЛЬ] Нет ни одного здания-шаблона в BuildManager"); return; }
|
|
||||||
|
|
||||||
// Префаб-шаблон в памяти: копия обычного здания без сбора ресурсов, с компонентом Hospital
|
|
||||||
if (runtimeTemplate == null)
|
|
||||||
{
|
|
||||||
runtimeTemplate = Object.Instantiate(template.prefab);
|
|
||||||
runtimeTemplate.name = "Hospital";
|
|
||||||
runtimeTemplate.SetActive(false);
|
|
||||||
Object.DontDestroyOnLoad(runtimeTemplate);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<ResourceCollector>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<ResourceProducer>()) Object.DestroyImmediate(c);
|
|
||||||
foreach (var c in runtimeTemplate.GetComponents<BuildingUI>()) Object.DestroyImmediate(c);
|
|
||||||
for (int i = runtimeTemplate.transform.childCount - 1; i >= 0; i--)
|
|
||||||
Object.DestroyImmediate(runtimeTemplate.transform.GetChild(i).gameObject); // полоска запаса ресурса
|
|
||||||
var sr = runtimeTemplate.GetComponent<SpriteRenderer>();
|
|
||||||
if (sr != null) sr.color = new Color(0.85f, 0.95f, 1f); // пока нет арта -- отличаем цветом (светло-голубой)
|
|
||||||
runtimeTemplate.AddComponent<Hospital>();
|
|
||||||
}
|
|
||||||
|
|
||||||
var config = HospitalConfig.Load();
|
|
||||||
var data = ScriptableObject.CreateInstance<BuildingData>();
|
|
||||||
data.name = "Data_Hospital_Runtime";
|
|
||||||
data.buildingName = HospitalName;
|
|
||||||
data.icon = template.icon;
|
|
||||||
data.prefab = runtimeTemplate;
|
|
||||||
data.requiredTownHallLevel = Mathf.Max(1, config.requiredTownHallLevel);
|
|
||||||
data.cost = new[]
|
|
||||||
{
|
|
||||||
new ResourceCost { type = ResourceType.Wood, amount = config.buildWood },
|
|
||||||
new ResourceCost { type = ResourceType.Stone, amount = config.buildStone },
|
|
||||||
};
|
|
||||||
bm.allBuildings.Add(data);
|
|
||||||
Debug.Log("[ГОСПИТАЛЬ] Добавлен в список стройки");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
// УСТАРЕЛО (этап 3). Раньше здание само добывало ресурс по таймеру (5 единиц раз в 3 секунды ~ 6000 в час).
|
|
||||||
// Теперь добычу дают только рабочие (ProductionService), этот компонент ничего не делает.
|
|
||||||
// Класс оставлен, чтобы на старых префабах не появилось "Missing Script". Новым зданиям не вешать.
|
|
||||||
public class ResourceProducer : MonoBehaviour
|
|
||||||
{
|
|
||||||
public ResourceType resourceType;
|
|
||||||
public float amountPerTick = 1f;
|
|
||||||
public float tickInterval = 3f;
|
|
||||||
public int level = 1;
|
|
||||||
public float perLevelMultiplier = 1.2f;
|
|
||||||
|
|
||||||
void Awake()
|
|
||||||
{
|
|
||||||
enabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Upgrade()
|
|
||||||
{
|
|
||||||
level++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: eb8009d4824ec6f4392a50d60eead242
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
// МОДУЛЬ ПОСЕЛЕНИЯ. Документ: Docs/Modules/Settlement.md
|
|
||||||
// Призрак здания в режиме стройки: полупрозрачная копия картинки здания и пятно его клеток под ней.
|
|
||||||
// Пятно зелёное -- сюда можно ставить, красное -- клетки заняты или за границей.
|
|
||||||
// Только картинка: скриптов и коллайдеров префаба у призрака нет, экономика его не видит.
|
|
||||||
public class BuildGhost : MonoBehaviour
|
|
||||||
{
|
|
||||||
public BuildingData Data { get; private set; }
|
|
||||||
public BuildFootprint Footprint { get; private set; }
|
|
||||||
public Vector2Int Cell { get; private set; } // левая нижняя клетка на сетке
|
|
||||||
public bool CellsFree { get; private set; }
|
|
||||||
|
|
||||||
public static readonly Color FreeColor = new Color(0.25f, 1f, 0.35f, 0.45f);
|
|
||||||
public static readonly Color BlockedColor = new Color(1f, 0.2f, 0.2f, 0.5f);
|
|
||||||
|
|
||||||
SpriteRenderer pad;
|
|
||||||
static Sprite white;
|
|
||||||
|
|
||||||
public static BuildGhost Create(BuildingData data)
|
|
||||||
{
|
|
||||||
var go = new GameObject("BuildGhost_" + data.buildingName);
|
|
||||||
var g = go.AddComponent<BuildGhost>();
|
|
||||||
g.Data = data;
|
|
||||||
g.Footprint = BuildFootprint.Of(data);
|
|
||||||
g.Build();
|
|
||||||
return g;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Build()
|
|
||||||
{
|
|
||||||
// пятно клеток: белый квадрат 1×1, растянутый на размер здания
|
|
||||||
var padGo = new GameObject("Cells");
|
|
||||||
padGo.transform.SetParent(transform, false);
|
|
||||||
pad = padGo.AddComponent<SpriteRenderer>();
|
|
||||||
pad.sprite = WhiteSprite();
|
|
||||||
pad.sortingOrder = 3;
|
|
||||||
padGo.transform.localScale = new Vector3(Footprint.size.x, Footprint.size.y, 1f);
|
|
||||||
|
|
||||||
// копия картинки здания: позиция центра пятна = позиция префаба + anchorOffset
|
|
||||||
var art = new GameObject("Art").transform;
|
|
||||||
art.SetParent(transform, false);
|
|
||||||
art.localPosition = -(Vector3)Footprint.anchorOffset;
|
|
||||||
|
|
||||||
var prefab = Data.prefab;
|
|
||||||
if (prefab == null) return;
|
|
||||||
Vector3 root = prefab.transform.position;
|
|
||||||
int minOrder = int.MaxValue;
|
|
||||||
var renderers = prefab.GetComponentsInChildren<SpriteRenderer>(true);
|
|
||||||
foreach (var sr in renderers) if (sr.sprite != null) minOrder = Mathf.Min(minOrder, sr.sortingOrder);
|
|
||||||
foreach (var sr in renderers)
|
|
||||||
{
|
|
||||||
if (sr.sprite == null) continue;
|
|
||||||
var copy = new GameObject(sr.name).transform;
|
|
||||||
copy.SetParent(art, false);
|
|
||||||
copy.localPosition = sr.transform.position - root;
|
|
||||||
copy.localRotation = sr.transform.rotation;
|
|
||||||
copy.localScale = sr.transform.lossyScale;
|
|
||||||
var r = copy.gameObject.AddComponent<SpriteRenderer>();
|
|
||||||
r.sprite = sr.sprite;
|
|
||||||
r.flipX = sr.flipX;
|
|
||||||
r.flipY = sr.flipY;
|
|
||||||
r.drawMode = sr.drawMode;
|
|
||||||
if (sr.drawMode != SpriteDrawMode.Simple) r.size = sr.size;
|
|
||||||
var c = sr.color; c.a *= 0.65f;
|
|
||||||
r.color = c;
|
|
||||||
r.sortingOrder = 4 + (sr.sortingOrder - minOrder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static Sprite WhiteSprite()
|
|
||||||
{
|
|
||||||
if (white != null) return white;
|
|
||||||
var tex = new Texture2D(4, 4, TextureFormat.RGBA32, false);
|
|
||||||
var px = new Color32[16];
|
|
||||||
for (int i = 0; i < px.Length; i++) px[i] = new Color32(255, 255, 255, 255);
|
|
||||||
tex.SetPixels32(px);
|
|
||||||
tex.Apply();
|
|
||||||
white = Sprite.Create(tex, new Rect(0, 0, 4, 4), new Vector2(0.5f, 0.5f), 4);
|
|
||||||
return white;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Поставить призрак на клетку (левая нижняя) и проверить, свободно ли
|
|
||||||
public void MoveToCell(Vector2Int cell)
|
|
||||||
{
|
|
||||||
var grid = BuildGrid.Instance;
|
|
||||||
Cell = cell;
|
|
||||||
Vector2 center = grid.RectCenter(cell, Footprint.size);
|
|
||||||
transform.position = new Vector3(center.x, center.y, 0f);
|
|
||||||
Recheck();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Подвинуть так, чтобы центр пятна был ближе всего к точке мира
|
|
||||||
public void MoveNear(Vector2 worldCenter)
|
|
||||||
{
|
|
||||||
MoveToCell(BuildGrid.Instance.SnapCell(worldCenter, Footprint.size));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Recheck()
|
|
||||||
{
|
|
||||||
CellsFree = BuildGrid.Instance.CanPlace(Cell, Footprint.size);
|
|
||||||
if (pad != null) pad.color = CellsFree ? FreeColor : BlockedColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Точка мира попадает в пятно призрака (с запасом под палец)
|
|
||||||
public bool Contains(Vector2 world, float margin = 0.4f)
|
|
||||||
{
|
|
||||||
Vector2 c = transform.position;
|
|
||||||
Vector2 half = (Vector2)Footprint.size * 0.5f + Vector2.one * margin;
|
|
||||||
return Mathf.Abs(world.x - c.x) <= half.x && Mathf.Abs(world.y - c.y) <= half.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Куда ставить префаб, чтобы здание встало ровно на клетки призрака
|
|
||||||
public Vector3 PrefabPosition => transform.position - (Vector3)Footprint.anchorOffset;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 4342ee63e1ed441786fda6c36b2da960
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,390 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
// МОДУЛЬ ПОСЕЛЕНИЯ. Документ: Docs/Modules/Settlement.md
|
|
||||||
// Сетка свободной стройки: игрок сам выбирает, где поставить здание.
|
|
||||||
//
|
|
||||||
// - Клетка = 1 единица мира. Сетка прямоугольная (арт города не изометрический).
|
|
||||||
// - Где можно строить: прямоугольник вокруг старых участков (BuildSlot) и Ратуши с запасом padding.
|
|
||||||
// Можно задать руками: autoArea = false и areaMin / areaMax.
|
|
||||||
// - Занятые клетки: под каждым построенным зданием (его размер на сетке, BuildingData.footprint) и под Ратушей.
|
|
||||||
// Старые сохранения: здание стоит, где стояло, занятость считается по тому, какие клетки оно накрывает.
|
|
||||||
// - В режиме стройки сетка рисуется поверх земли: свободные клетки -- светлые линии, занятые -- красные.
|
|
||||||
// - Старые участки и площадки «Застройка» прячутся при запуске (свободная стройка их заменила).
|
|
||||||
//
|
|
||||||
// Объект создаётся сам (BuildGrid.Instance), руками на сцену ставить не нужно.
|
|
||||||
// Если поставить руками -- можно настроить поля в инспекторе.
|
|
||||||
public class BuildGrid : MonoBehaviour
|
|
||||||
{
|
|
||||||
static BuildGrid instance;
|
|
||||||
|
|
||||||
public static BuildGrid Instance
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (instance == null)
|
|
||||||
{
|
|
||||||
instance = FindFirstObjectByType<BuildGrid>();
|
|
||||||
if (instance == null) instance = new GameObject("BuildGrid").AddComponent<BuildGrid>();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Header("Где можно строить")]
|
|
||||||
[Tooltip("Посчитать область самому: старые участки + Ратуша + запас")]
|
|
||||||
public bool autoArea = true;
|
|
||||||
|
|
||||||
// Отладка (05.11, просьба Миши): сетка видна всегда и ярче, каждая 5-я линия жирнее -- чтобы примерять
|
|
||||||
// к ней размеры зданий и референсы. Включается кнопкой "Сетка" в панели DEV.
|
|
||||||
public static bool DebugVisible { get; private set; }
|
|
||||||
|
|
||||||
public static void SetDebugVisible(bool on, bool buildModeActive)
|
|
||||||
{
|
|
||||||
DebugVisible = on;
|
|
||||||
if (BuildManager.Instance == null) return; // 2D-город не открыт -- сетка появится, когда откроется
|
|
||||||
var grid = Instance;
|
|
||||||
if (grid == null) return;
|
|
||||||
grid.lastOverlayKey = null;
|
|
||||||
grid.ShowOverlay(on || buildModeActive);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Здание, которое сейчас переносят: его клетки считаются свободными (режим стройки, перенос)
|
|
||||||
public static GameObject IgnoredBuilding;
|
|
||||||
[Tooltip("Запас вокруг старых участков, клеток")]
|
|
||||||
public int padding = 3;
|
|
||||||
public Vector2 areaMin = new Vector2(-34, -10);
|
|
||||||
public Vector2 areaMax = new Vector2(4, 12);
|
|
||||||
|
|
||||||
[Header("Вид сетки")]
|
|
||||||
public int overlaySortingOrder = 1;
|
|
||||||
public Color lineColor = new Color(1f, 1f, 1f, 0.28f);
|
|
||||||
public Color freeColor = new Color(0.4f, 1f, 0.5f, 0.06f);
|
|
||||||
public Color busyColor = new Color(1f, 0.15f, 0.15f, 0.38f);
|
|
||||||
|
|
||||||
[Tooltip("Спрятать старые участки и площадки «Застройка» при запуске")]
|
|
||||||
public bool hideLegacySlots = true;
|
|
||||||
|
|
||||||
public Vector2Int Origin { get; private set; } // мировые координаты левого нижнего угла клетки (0, 0)
|
|
||||||
public int Width { get; private set; }
|
|
||||||
public int Height { get; private set; }
|
|
||||||
|
|
||||||
bool[,] busy;
|
|
||||||
bool initialized;
|
|
||||||
float nextRefresh;
|
|
||||||
SpriteRenderer overlay;
|
|
||||||
Texture2D overlayTex;
|
|
||||||
string lastOverlayKey;
|
|
||||||
|
|
||||||
const int PixelsPerCell = 16;
|
|
||||||
|
|
||||||
void Awake()
|
|
||||||
{
|
|
||||||
if (instance != null && instance != this) { Destroy(this); return; }
|
|
||||||
instance = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDestroy()
|
|
||||||
{
|
|
||||||
if (instance == this) instance = null;
|
|
||||||
if (overlayTex != null) Destroy(overlayTex);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if (overlay != null && overlay.enabled && Time.unscaledTime >= nextRefresh) Refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- область ----------------
|
|
||||||
|
|
||||||
void EnsureInit()
|
|
||||||
{
|
|
||||||
if (initialized) return;
|
|
||||||
initialized = true;
|
|
||||||
|
|
||||||
Rect area = autoArea ? AutoArea() : Rect.MinMaxRect(areaMin.x, areaMin.y, areaMax.x, areaMax.y);
|
|
||||||
Origin = new Vector2Int(Mathf.FloorToInt(area.xMin), Mathf.FloorToInt(area.yMin));
|
|
||||||
Width = Mathf.Max(1, Mathf.CeilToInt(area.xMax) - Origin.x);
|
|
||||||
Height = Mathf.Max(1, Mathf.CeilToInt(area.yMax) - Origin.y);
|
|
||||||
busy = new bool[Width, Height];
|
|
||||||
|
|
||||||
if (hideLegacySlots) HideLegacySlots();
|
|
||||||
Debug.Log($"[СТРОЙКА] Сетка {Width}×{Height} клеток, левый нижний угол {Origin}");
|
|
||||||
}
|
|
||||||
|
|
||||||
Rect AutoArea()
|
|
||||||
{
|
|
||||||
bool any = false;
|
|
||||||
Bounds b = new Bounds();
|
|
||||||
foreach (var slot in FindObjectsByType<BuildSlot>(FindObjectsInactive.Include, FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
Bounds sb = new Bounds(slot.transform.position, Vector3.one);
|
|
||||||
var col = slot.GetComponent<Collider2D>();
|
|
||||||
if (col != null && col.enabled && col.gameObject.activeInHierarchy) sb.Encapsulate(col.bounds);
|
|
||||||
if (!any) { b = sb; any = true; } else b.Encapsulate(sb);
|
|
||||||
}
|
|
||||||
if (TownHall.Instance != null)
|
|
||||||
{
|
|
||||||
Bounds tb = TownHallBounds();
|
|
||||||
if (!any) { b = tb; b.Expand(new Vector3(24, 16, 0)); any = true; }
|
|
||||||
else b.Encapsulate(tb);
|
|
||||||
}
|
|
||||||
if (!any) b = new Bounds(Vector3.zero, new Vector3(30, 20, 0));
|
|
||||||
b.Expand(new Vector3(padding * 2, padding * 2, 0));
|
|
||||||
return Rect.MinMaxRect(b.min.x, b.min.y, b.max.x, b.max.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Bounds TownHallBounds()
|
|
||||||
{
|
|
||||||
var th = TownHall.Instance;
|
|
||||||
var col = th.GetComponent<Collider2D>();
|
|
||||||
if (col != null && col.enabled) return col.bounds;
|
|
||||||
var sr = th.GetComponentInChildren<SpriteRenderer>();
|
|
||||||
return sr != null ? sr.bounds : new Bounds(th.transform.position, new Vector3(3, 3, 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void HideLegacySlots()
|
|
||||||
{
|
|
||||||
foreach (var slot in FindObjectsByType<BuildSlot>(FindObjectsInactive.Include, FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
HideOn(slot.gameObject);
|
|
||||||
var parent = slot.transform.parent;
|
|
||||||
if (parent != null && parent.name.StartsWith("Застройка")) HideOn(parent.gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Прячем только сам объект (картинку и коллайдер), не детей -- и сцену не меняем
|
|
||||||
static void HideOn(GameObject go)
|
|
||||||
{
|
|
||||||
foreach (var sr in go.GetComponents<SpriteRenderer>()) sr.enabled = false;
|
|
||||||
foreach (var c in go.GetComponents<Collider2D>()) c.enabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- клетки ----------------
|
|
||||||
|
|
||||||
public bool InBounds(int x, int y) => x >= 0 && y >= 0 && x < Width && y < Height;
|
|
||||||
|
|
||||||
public bool IsBusy(int x, int y) { EnsureInit(); return !InBounds(x, y) || busy[x, y]; }
|
|
||||||
|
|
||||||
// Клетка мира -> индекс сетки
|
|
||||||
public Vector2Int WorldToCell(Vector2 world)
|
|
||||||
{
|
|
||||||
EnsureInit();
|
|
||||||
return new Vector2Int(Mathf.FloorToInt(world.x) - Origin.x, Mathf.FloorToInt(world.y) - Origin.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Центр прямоугольника клеток (x, y, w, h) в мире
|
|
||||||
public Vector2 RectCenter(Vector2Int cell, Vector2Int size)
|
|
||||||
{
|
|
||||||
EnsureInit();
|
|
||||||
return new Vector2(Origin.x + cell.x + size.x * 0.5f, Origin.y + cell.y + size.y * 0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Левая нижняя клетка для здания размера size, чей центр ближе всего к точке мира
|
|
||||||
public Vector2Int SnapCell(Vector2 worldCenter, Vector2Int size)
|
|
||||||
{
|
|
||||||
EnsureInit();
|
|
||||||
return new Vector2Int(Mathf.RoundToInt(worldCenter.x - Origin.x - size.x * 0.5f),
|
|
||||||
Mathf.RoundToInt(worldCenter.y - Origin.y - size.y * 0.5f));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Можно ли поставить: все клетки внутри области и свободны
|
|
||||||
public bool CanPlace(Vector2Int cell, Vector2Int size)
|
|
||||||
{
|
|
||||||
EnsureInit();
|
|
||||||
for (int x = cell.x; x < cell.x + size.x; x++)
|
|
||||||
for (int y = cell.y; y < cell.y + size.y; y++)
|
|
||||||
if (!InBounds(x, y) || busy[x, y]) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ближайшее свободное место для здания размера size рядом с точкой (по спирали). false -- места нет
|
|
||||||
public bool FindFreeNear(Vector2 worldCenter, Vector2Int size, out Vector2Int cell)
|
|
||||||
{
|
|
||||||
Refresh();
|
|
||||||
Vector2Int start = SnapCell(worldCenter, size);
|
|
||||||
int maxR = Mathf.Max(Width, Height);
|
|
||||||
for (int r = 0; r <= maxR; r++)
|
|
||||||
{
|
|
||||||
for (int dx = -r; dx <= r; dx++)
|
|
||||||
for (int dy = -r; dy <= r; dy++)
|
|
||||||
{
|
|
||||||
if (Mathf.Max(Mathf.Abs(dx), Mathf.Abs(dy)) != r) continue; // только кольцо радиуса r
|
|
||||||
var c = new Vector2Int(start.x + dx, start.y + dy);
|
|
||||||
if (CanPlace(c, size)) { cell = c; return true; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cell = start;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Пересчитать занятые клетки по тому, что стоит в городе сейчас
|
|
||||||
public void Refresh()
|
|
||||||
{
|
|
||||||
EnsureInit();
|
|
||||||
nextRefresh = Time.unscaledTime + 0.3f;
|
|
||||||
System.Array.Clear(busy, 0, busy.Length);
|
|
||||||
|
|
||||||
if (TownHall.Instance != null)
|
|
||||||
{
|
|
||||||
Bounds tb = TownHallBounds();
|
|
||||||
MarkRect(new Rect(tb.min.x, tb.min.y, tb.size.x, tb.size.y));
|
|
||||||
}
|
|
||||||
|
|
||||||
var bm = BuildManager.Instance;
|
|
||||||
foreach (var id in FindObjectsByType<PlacedBuildingId>(FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(id.buildingName)) continue; // здание сносится в этом кадре
|
|
||||||
if (IgnoredBuilding != null && id.gameObject == IgnoredBuilding) continue; // его переносят
|
|
||||||
BuildingData data = bm != null ? bm.FindData(id.buildingName) : null;
|
|
||||||
Rect r;
|
|
||||||
if (data != null)
|
|
||||||
{
|
|
||||||
var fp = BuildFootprint.Of(data);
|
|
||||||
Vector2 center = (Vector2)id.transform.position + fp.anchorOffset;
|
|
||||||
r = new Rect(center.x - fp.size.x * 0.5f, center.y - fp.size.y * 0.5f, fp.size.x, fp.size.y);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var col = id.GetComponent<Collider2D>();
|
|
||||||
if (col == null) continue;
|
|
||||||
r = new Rect(col.bounds.min.x, col.bounds.min.y, col.bounds.size.x, col.bounds.size.y);
|
|
||||||
}
|
|
||||||
MarkRect(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (overlay != null && overlay.enabled) RedrawOverlay();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Отметить все клетки, которые прямоугольник мира накрывает (касание краем не считается)
|
|
||||||
void MarkRect(Rect r)
|
|
||||||
{
|
|
||||||
const float eps = 0.05f;
|
|
||||||
int x0 = Mathf.FloorToInt(r.xMin + eps) - Origin.x, x1 = Mathf.CeilToInt(r.xMax - eps) - Origin.x;
|
|
||||||
int y0 = Mathf.FloorToInt(r.yMin + eps) - Origin.y, y1 = Mathf.CeilToInt(r.yMax - eps) - Origin.y;
|
|
||||||
for (int x = Mathf.Max(0, x0); x < Mathf.Min(Width, x1); x++)
|
|
||||||
for (int y = Mathf.Max(0, y0); y < Mathf.Min(Height, y1); y++)
|
|
||||||
busy[x, y] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- рисунок сетки ----------------
|
|
||||||
|
|
||||||
public void ShowOverlay(bool show)
|
|
||||||
{
|
|
||||||
EnsureInit();
|
|
||||||
show |= DebugVisible; // отладочная сетка не прячется при выходе из режима стройки
|
|
||||||
if (show && overlay == null) CreateOverlay();
|
|
||||||
if (overlay == null) return;
|
|
||||||
overlay.enabled = show;
|
|
||||||
if (show) Refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CreateOverlay()
|
|
||||||
{
|
|
||||||
overlayTex = new Texture2D(Width * PixelsPerCell, Height * PixelsPerCell, TextureFormat.RGBA32, false);
|
|
||||||
overlayTex.filterMode = FilterMode.Point;
|
|
||||||
overlayTex.wrapMode = TextureWrapMode.Clamp;
|
|
||||||
var sprite = Sprite.Create(overlayTex, new Rect(0, 0, overlayTex.width, overlayTex.height), Vector2.zero, PixelsPerCell);
|
|
||||||
|
|
||||||
var go = new GameObject("BuildGridOverlay");
|
|
||||||
go.transform.SetParent(transform, false);
|
|
||||||
go.transform.position = new Vector3(Origin.x, Origin.y, 0f);
|
|
||||||
overlay = go.AddComponent<SpriteRenderer>();
|
|
||||||
overlay.sprite = sprite;
|
|
||||||
overlay.sortingOrder = overlaySortingOrder;
|
|
||||||
lastOverlayKey = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RedrawOverlay()
|
|
||||||
{
|
|
||||||
// перерисовываем только если занятость поменялась
|
|
||||||
var key = new System.Text.StringBuilder(Width * Height + 1);
|
|
||||||
key.Append(DebugVisible ? 'D' : 'n');
|
|
||||||
for (int y = 0; y < Height; y++) for (int x = 0; x < Width; x++) key.Append(busy[x, y] ? '1' : '0');
|
|
||||||
string k = key.ToString();
|
|
||||||
if (k == lastOverlayKey) return;
|
|
||||||
lastOverlayKey = k;
|
|
||||||
|
|
||||||
int w = overlayTex.width, h = overlayTex.height;
|
|
||||||
var px = new Color32[w * h];
|
|
||||||
Color32 line = DebugVisible ? new Color(1f, 1f, 1f, 0.7f) : lineColor, free = freeColor, bad = busyColor;
|
|
||||||
Color32 major = new Color32(255, 230, 80, 230); // каждая 5-я клетка -- жёлтая линия (только в отладке)
|
|
||||||
for (int y = 0; y < h; y++)
|
|
||||||
{
|
|
||||||
int cy = y / PixelsPerCell, iy = y % PixelsPerCell;
|
|
||||||
for (int x = 0; x < w; x++)
|
|
||||||
{
|
|
||||||
int cx = x / PixelsPerCell, ix = x % PixelsPerCell;
|
|
||||||
bool edge = ix == 0 || iy == 0 || x == w - 1 || y == h - 1;
|
|
||||||
px[y * w + x] = busy[cx, cy] ? bad : (edge ? line : free);
|
|
||||||
if (DebugVisible && ((ix == 0 && cx % 5 == 0) || (iy == 0 && cy % 5 == 0))) px[y * w + x] = major;
|
|
||||||
if (busy[cx, cy] && edge) px[y * w + x] = new Color32(bad.r, bad.g, bad.b, (byte)Mathf.Min(255, bad.a + 50));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
overlayTex.SetPixels32(px);
|
|
||||||
overlayTex.Apply(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Размер здания на сетке и где его "пятно" относительно точки, в которую ставится префаб.
|
|
||||||
// size -- BuildingData.footprint, а если там 0 × 0 -- коллайдер префаба (иначе картинка), округлённый до клеток.
|
|
||||||
// anchorOffset -- центр пятна минус позиция префаба (у многих картинок точка привязки не в центре).
|
|
||||||
public struct BuildFootprint
|
|
||||||
{
|
|
||||||
public Vector2Int size;
|
|
||||||
public Vector2 anchorOffset;
|
|
||||||
|
|
||||||
static readonly Dictionary<BuildingData, BuildFootprint> cache = new Dictionary<BuildingData, BuildFootprint>();
|
|
||||||
|
|
||||||
public static BuildFootprint Of(BuildingData data)
|
|
||||||
{
|
|
||||||
if (data == null) return new BuildFootprint { size = Vector2Int.one };
|
|
||||||
if (cache.TryGetValue(data, out var fp)) return fp;
|
|
||||||
|
|
||||||
Rect r = LocalRect(data.prefab);
|
|
||||||
fp.anchorOffset = r.center;
|
|
||||||
if (data.footprint.x > 0 && data.footprint.y > 0) fp.size = data.footprint;
|
|
||||||
else fp.size = new Vector2Int(Mathf.Max(1, Mathf.RoundToInt(r.width)), Mathf.Max(1, Mathf.RoundToInt(r.height)));
|
|
||||||
cache[data] = fp;
|
|
||||||
return fp;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Прямоугольник префаба относительно его позиции, в единицах мира.
|
|
||||||
// Считаем по трансформам руками: у выключенного шаблона collider.bounds не работает.
|
|
||||||
static Rect LocalRect(GameObject prefab)
|
|
||||||
{
|
|
||||||
if (prefab == null) return new Rect(-0.5f, -0.5f, 1, 1);
|
|
||||||
Vector3 root = prefab.transform.position;
|
|
||||||
|
|
||||||
var box = prefab.GetComponent<BoxCollider2D>();
|
|
||||||
if (box == null) box = prefab.GetComponentInChildren<BoxCollider2D>(true);
|
|
||||||
if (box != null)
|
|
||||||
{
|
|
||||||
Vector2 half = box.size * 0.5f;
|
|
||||||
return Corners(box.transform, box.offset - half, box.offset + half, root);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool any = false;
|
|
||||||
Rect result = new Rect();
|
|
||||||
foreach (var sr in prefab.GetComponentsInChildren<SpriteRenderer>(true))
|
|
||||||
{
|
|
||||||
if (sr.sprite == null) continue;
|
|
||||||
var b = sr.sprite.bounds;
|
|
||||||
Rect one = Corners(sr.transform, b.min, b.max, root);
|
|
||||||
if (!any) { result = one; any = true; }
|
|
||||||
else result = Rect.MinMaxRect(Mathf.Min(result.xMin, one.xMin), Mathf.Min(result.yMin, one.yMin),
|
|
||||||
Mathf.Max(result.xMax, one.xMax), Mathf.Max(result.yMax, one.yMax));
|
|
||||||
}
|
|
||||||
return any ? result : new Rect(-0.5f, -0.5f, 1, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Rect Corners(Transform t, Vector2 min, Vector2 max, Vector3 root)
|
|
||||||
{
|
|
||||||
Vector3 a = t.TransformPoint(new Vector3(min.x, min.y)) - root;
|
|
||||||
Vector3 b = t.TransformPoint(new Vector3(max.x, max.y)) - root;
|
|
||||||
Vector3 c = t.TransformPoint(new Vector3(min.x, max.y)) - root;
|
|
||||||
Vector3 d = t.TransformPoint(new Vector3(max.x, min.y)) - root;
|
|
||||||
return Rect.MinMaxRect(Mathf.Min(a.x, b.x, c.x, d.x), Mathf.Min(a.y, b.y, c.y, d.y),
|
|
||||||
Mathf.Max(a.x, b.x, c.x, d.x), Mathf.Max(a.y, b.y, c.y, d.y));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1986efcb01c943548be8d0a24fbc56c9
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,248 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
// МОДУЛЬ ПОСЕЛЕНИЯ. Документ: Docs/Modules/Settlement.md
|
|
||||||
// Список зданий и сама постройка.
|
|
||||||
// Сейчас стройка свободная, на сетке: игрок сам выбирает место (BuildGrid, BuildGhost, BuildModeController),
|
|
||||||
// а здание ставит BuildAt. Участки (BuildSlot) остались для старых сцен и сохранений -- BuildGrid их прячет.
|
|
||||||
|
|
||||||
public class BuildManager : MonoBehaviour
|
|
||||||
{
|
|
||||||
public static BuildManager Instance { get; private set; }
|
|
||||||
|
|
||||||
[Header("Все типы зданий в игре")]
|
|
||||||
public List<BuildingData> allBuildings;
|
|
||||||
|
|
||||||
[Header("Поиск участков под застройку")]
|
|
||||||
[Tooltip("Слой, на котором находятся объекты BuildSlot")]
|
|
||||||
public LayerMask buildSlotsLayerMask;
|
|
||||||
|
|
||||||
[Header("Подсветка участка при наведении")]
|
|
||||||
public Color highlightValidColor = new Color(1f, 1f, 1f, 0.9f); // белая -- можно строить
|
|
||||||
public Color highlightInvalidColor = new Color(1f, 0.2f, 0.2f, 0.9f); // красная -- нельзя (не хватает ресурсов)
|
|
||||||
|
|
||||||
private BuildingData currentlyPlacing;
|
|
||||||
private BuildSlot lastHighlightedSlot;
|
|
||||||
private Camera mainCam;
|
|
||||||
|
|
||||||
void Awake()
|
|
||||||
{
|
|
||||||
if (Instance != null && Instance != this)
|
|
||||||
{
|
|
||||||
Destroy(gameObject);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Instance = this;
|
|
||||||
mainCam = Camera.main;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
// Повторный вход в город (например, с карты мира): здания восстанавливаем из памяти модуля
|
|
||||||
SettlementModule.ApplyToScene();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
if (currentlyPlacing == null) return; // не в режиме строительства -- ничего не делаем
|
|
||||||
|
|
||||||
Vector3 worldPos = GetPointerWorldPosition();
|
|
||||||
worldPos.z = 0;
|
|
||||||
|
|
||||||
BuildSlot slotUnderPointer = GetSlotAtPosition(worldPos);
|
|
||||||
|
|
||||||
// Убираем подсветку с предыдущего слота, если курсор ушёл с него
|
|
||||||
if (lastHighlightedSlot != null && lastHighlightedSlot != slotUnderPointer)
|
|
||||||
{
|
|
||||||
lastHighlightedSlot.ClearHighlight();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (slotUnderPointer != null && !slotUnderPointer.isOccupied)
|
|
||||||
{
|
|
||||||
bool canAfford = currentlyPlacing.CanAfford();
|
|
||||||
slotUnderPointer.SetHighlight(canAfford ? highlightValidColor : highlightInvalidColor);
|
|
||||||
lastHighlightedSlot = slotUnderPointer;
|
|
||||||
|
|
||||||
if (Input.GetMouseButtonDown(0) && !UIBlocker.IsPointerOverUI())
|
|
||||||
{
|
|
||||||
TryConfirmPlacement(slotUnderPointer, canAfford);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lastHighlightedSlot = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Отмена по правой кнопке / Escape
|
|
||||||
if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Escape))
|
|
||||||
{
|
|
||||||
CancelPlacement();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BuildSlot GetSlotAtPosition(Vector3 position)
|
|
||||||
{
|
|
||||||
Collider2D hit = Physics2D.OverlapPoint(position, buildSlotsLayerMask);
|
|
||||||
if (hit == null) return null;
|
|
||||||
return hit.GetComponent<BuildSlot>();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Список зданий, доступных для стройки ПРЯМО СЕЙЧАС (по уровню Ратуши)
|
|
||||||
public List<BuildingData> GetAvailableBuildings()
|
|
||||||
{
|
|
||||||
List<BuildingData> available = new List<BuildingData>();
|
|
||||||
int townHallLevel = TownHall.Instance != null ? TownHall.Instance.currentLevel : 1;
|
|
||||||
|
|
||||||
foreach (var b in allBuildings)
|
|
||||||
{
|
|
||||||
if (b.requiredTownHallLevel <= townHallLevel)
|
|
||||||
available.Add(b);
|
|
||||||
}
|
|
||||||
return available;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Вызывается из UI-кнопки конкретного здания в меню стройки
|
|
||||||
public void StartPlacing(BuildingData data)
|
|
||||||
{
|
|
||||||
currentlyPlacing = data;
|
|
||||||
Debug.Log($"[СТРОЙКА] Выбрано здание: {data.buildingName}. Кликни на пустой участок.");
|
|
||||||
}
|
|
||||||
|
|
||||||
void TryConfirmPlacement(BuildSlot slot, bool canAfford)
|
|
||||||
{
|
|
||||||
if (!canAfford)
|
|
||||||
{
|
|
||||||
Debug.Log("[СТРОЙКА] Не хватает ресурсов!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
currentlyPlacing.PayCost();
|
|
||||||
|
|
||||||
GameObject built = Instantiate(currentlyPlacing.prefab, slot.transform.position, Quaternion.identity);
|
|
||||||
if (!built.activeSelf) built.SetActive(true); // шаблон казарм хранится выключенным
|
|
||||||
|
|
||||||
PlacedBuildingId idMarker = built.AddComponent<PlacedBuildingId>();
|
|
||||||
idMarker.buildingName = currentlyPlacing.buildingName;
|
|
||||||
|
|
||||||
slot.Occupy(built);
|
|
||||||
|
|
||||||
BuildingSlotLink link = built.AddComponent<BuildingSlotLink>();
|
|
||||||
link.linkedSlot = slot;
|
|
||||||
|
|
||||||
Debug.Log($"[СТРОЙКА] Построено: {currentlyPlacing.buildingName} на участке {slot.name}");
|
|
||||||
EventBus.Publish(new BuildingPlacedEvent { BuildingName = currentlyPlacing.buildingName });
|
|
||||||
|
|
||||||
currentlyPlacing = null;
|
|
||||||
lastHighlightedSlot = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CancelPlacement()
|
|
||||||
{
|
|
||||||
if (lastHighlightedSlot != null)
|
|
||||||
{
|
|
||||||
lastHighlightedSlot.ClearHighlight();
|
|
||||||
lastHighlightedSlot = null;
|
|
||||||
}
|
|
||||||
currentlyPlacing = null;
|
|
||||||
Debug.Log("[СТРОЙКА] Размещение отменено.");
|
|
||||||
}
|
|
||||||
|
|
||||||
// ===== Свободная стройка на сетке =====
|
|
||||||
|
|
||||||
// Данные здания по имени (имя хранится в PlacedBuildingId и в сохранении)
|
|
||||||
public BuildingData FindData(string buildingName)
|
|
||||||
{
|
|
||||||
if (allBuildings == null || string.IsNullOrEmpty(buildingName)) return null;
|
|
||||||
foreach (var b in allBuildings) if (b != null && b.buildingName == buildingName) return b;
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Можно ли поставить здание на клетки (левая нижняя cell): клетки свободны и ресурсов хватает
|
|
||||||
public bool CanBuildAt(BuildingData data, Vector2Int cell)
|
|
||||||
{
|
|
||||||
if (data == null || data.prefab == null) return false;
|
|
||||||
return BuildGrid.Instance.CanPlace(cell, BuildFootprint.Of(data).size) && data.CanAfford();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Построить здание на клетках сетки. Возвращает здание или null (занято / мало ресурсов).
|
|
||||||
public GameObject BuildAt(BuildingData data, Vector2Int cell)
|
|
||||||
{
|
|
||||||
var grid = BuildGrid.Instance;
|
|
||||||
grid.Refresh(); // занятость на этот момент, а не 0.3 с назад
|
|
||||||
if (!CanBuildAt(data, cell)) return null;
|
|
||||||
long buildMs = BuildTimer.DurationMs(false, 1);
|
|
||||||
if (buildMs > 0 && BuildTimer.FreeBuilders == 0) return null; // все строители заняты
|
|
||||||
|
|
||||||
data.PayCost();
|
|
||||||
|
|
||||||
var fp = BuildFootprint.Of(data);
|
|
||||||
Vector2 center = grid.RectCenter(cell, fp.size);
|
|
||||||
Vector3 pos = new Vector3(center.x - fp.anchorOffset.x, center.y - fp.anchorOffset.y, 0f);
|
|
||||||
|
|
||||||
GameObject built = Instantiate(data.prefab, pos, Quaternion.identity);
|
|
||||||
if (!built.activeSelf) built.SetActive(true); // шаблон казарм хранится выключенным
|
|
||||||
built.AddComponent<PlacedBuildingId>().buildingName = data.buildingName;
|
|
||||||
if (buildMs > 0)
|
|
||||||
{
|
|
||||||
long now = GameClock.UnixNowMs;
|
|
||||||
BuildTimer.Begin(built, BuildTimer.Kind.Build, 1, now, now + buildMs); // стоит, но не работает, пока строится
|
|
||||||
}
|
|
||||||
|
|
||||||
Debug.Log($"[СТРОЙКА] Построено: {data.buildingName}, клетки {cell} размер {fp.size}");
|
|
||||||
EventBus.Publish(new BuildingPlacedEvent { BuildingName = data.buildingName });
|
|
||||||
grid.Refresh();
|
|
||||||
return built;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ===== Старая схема: тап по участку -> выбор здания (участки спрятаны, оставлено для совместимости) =====
|
|
||||||
|
|
||||||
// Построить здание сразу на указанном участке. true -- получилось.
|
|
||||||
public bool BuildOnSlot(BuildingData data, BuildSlot slot)
|
|
||||||
{
|
|
||||||
if (data == null || slot == null || slot.isOccupied) return false;
|
|
||||||
if (!data.CanAfford()) return false;
|
|
||||||
currentlyPlacing = data;
|
|
||||||
TryConfirmPlacement(slot, true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Участок под точкой экрана (с допуском, чтобы попадать с первого раза пальцем)
|
|
||||||
public BuildSlot SlotAtScreen(Vector2 screenPos, float tolerance = 0.35f)
|
|
||||||
{
|
|
||||||
if (mainCam == null) mainCam = Camera.main;
|
|
||||||
if (mainCam == null) return null;
|
|
||||||
Vector3 w = mainCam.ScreenToWorldPoint(screenPos);
|
|
||||||
Vector2 p = new Vector2(w.x, w.y);
|
|
||||||
// Перебираем все участки и берём ближайший: работает и с триггер-коллайдерами, и без настроенного слоя
|
|
||||||
BuildSlot best = null;
|
|
||||||
float bestDist = tolerance;
|
|
||||||
foreach (var slot in FindObjectsByType<BuildSlot>(FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
var col = slot.GetComponent<Collider2D>();
|
|
||||||
Bounds b = col != null ? col.bounds : new Bounds(slot.transform.position, Vector3.one * 0.5f);
|
|
||||||
b.center = new Vector3(b.center.x, b.center.y, 0f);
|
|
||||||
float d = Mathf.Sqrt(b.SqrDistance(new Vector3(p.x, p.y, 0f)));
|
|
||||||
if (d <= bestDist) { bestDist = d; best = slot; }
|
|
||||||
}
|
|
||||||
return best;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Найти пустой (свободный) BuildSlot по названию -- используется при восстановлении сохранения
|
|
||||||
public BuildSlot FindSlotAtPosition(Vector3 position, float tolerance = 0.05f)
|
|
||||||
{
|
|
||||||
BuildSlot[] allSlots = FindObjectsByType<BuildSlot>(FindObjectsSortMode.None);
|
|
||||||
foreach (var slot in allSlots)
|
|
||||||
{
|
|
||||||
if (Vector3.Distance(slot.transform.position, position) < tolerance)
|
|
||||||
return slot;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 GetPointerWorldPosition()
|
|
||||||
{
|
|
||||||
Vector3 screenPos = Input.mousePosition;
|
|
||||||
return mainCam.ScreenToWorldPoint(screenPos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9de6545e2f73cd04f9d95334879c4fc4
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 100
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
// Вешается на КАЖДЫЙ пустой участок земли, который ты вручную расставляешь
|
|
||||||
// на карте вокруг Ратуши (или где угодно). На объекте обязательно должен
|
|
||||||
// быть Collider2D (Box или Circle) для определения клика/наведения.
|
|
||||||
//
|
|
||||||
// НАСТРОЙКА В UNITY:
|
|
||||||
// 1. GameObject -> Create Empty, назови "BuildSlot" (можно продублировать Ctrl+D под нужное число)
|
|
||||||
// 2. Add Component -> Box Collider 2D, подгони размер под будущее здание
|
|
||||||
// 3. Add Component -> Sprite Renderer -- поставь спрайт-заглушку "пустой участок"
|
|
||||||
// (забор/колышки с верёвкой -- когда появится арт от дизайнеров)
|
|
||||||
// 4. Add Component -> Build Slot (этот скрипт)
|
|
||||||
// 5. Слой (Layer) объекта поставь "BuildSlot" -- используется BuildManager для поиска слотов
|
|
||||||
|
|
||||||
public class BuildSlot : MonoBehaviour
|
|
||||||
{
|
|
||||||
[Tooltip("Занят ли этот участок постройкой прямо сейчас")]
|
|
||||||
public bool isOccupied = false;
|
|
||||||
|
|
||||||
[Tooltip("Ссылка на здание, которое сейчас стоит на этом участке (если занят)")]
|
|
||||||
public GameObject occupyingBuilding;
|
|
||||||
|
|
||||||
private SpriteRenderer sr;
|
|
||||||
private Color emptyColor;
|
|
||||||
|
|
||||||
void Awake()
|
|
||||||
{
|
|
||||||
sr = GetComponent<SpriteRenderer>();
|
|
||||||
if (sr != null) emptyColor = sr.color;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Occupy(GameObject building)
|
|
||||||
{
|
|
||||||
isOccupied = true;
|
|
||||||
occupyingBuilding = building;
|
|
||||||
|
|
||||||
// Прячем визуал пустого участка, раз на нём теперь стоит здание
|
|
||||||
if (sr != null) sr.enabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Free()
|
|
||||||
{
|
|
||||||
isOccupied = false;
|
|
||||||
occupyingBuilding = null;
|
|
||||||
|
|
||||||
if (sr != null)
|
|
||||||
{
|
|
||||||
sr.enabled = true;
|
|
||||||
sr.color = emptyColor;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Подсветка при наведении -- вызывается из BuildManager во время режима строительства
|
|
||||||
public void SetHighlight(Color color)
|
|
||||||
{
|
|
||||||
if (sr != null && !isOccupied)
|
|
||||||
sr.color = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ClearHighlight()
|
|
||||||
{
|
|
||||||
if (sr != null && !isOccupied)
|
|
||||||
sr.color = emptyColor;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Вешается АВТОМАТИЧЕСКИ на построенное здание (кодом, не руками).
|
|
||||||
// Когда здание уничтожается любым способом (Destroy в коде, удаление
|
|
||||||
// в редакторе Inspector/Hierarchy, снос при апгрейде и т.д.) --
|
|
||||||
// OnDestroy сработает и освободит слот обратно.
|
|
||||||
public class BuildingSlotLink : MonoBehaviour
|
|
||||||
{
|
|
||||||
public BuildSlot linkedSlot;
|
|
||||||
|
|
||||||
void OnDestroy()
|
|
||||||
{
|
|
||||||
if (linkedSlot != null)
|
|
||||||
{
|
|
||||||
linkedSlot.Free();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9bc03f1a40fe14c4aaee52c88ea446a3
|
|
||||||
@@ -140,7 +140,7 @@ public class BuildTimer : MonoBehaviour
|
|||||||
foreach (var mb in GetComponents<MonoBehaviour>())
|
foreach (var mb in GetComponents<MonoBehaviour>())
|
||||||
{
|
{
|
||||||
if (mb == null || mb == this || !mb.enabled) continue;
|
if (mb == null || mb == this || !mb.enabled) continue;
|
||||||
if (mb is PlacedBuildingId || mb is BuildingSlotLink) continue;
|
if (mb is PlacedBuildingId) continue;
|
||||||
mb.enabled = false;
|
mb.enabled = false;
|
||||||
paused.Add(mb);
|
paused.Add(mb);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,58 +1,19 @@
|
|||||||
using UnityEngine;
|
// Цена здания в старом формате (ResourceCost[]) и перевод в ResourceAmount[] для контракта IEconomy.
|
||||||
|
// Сам BuildingData (ScriptableObject 2D-города: префаб, иконка, клетки сетки) удалён 06.11 вместе с 2D-городом:
|
||||||
|
// здания 3D-поселения описывает City3D/City3DGameplay (цены, уровень Ратуши), лимиты -- EconomyConfig.
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class ResourceCost
|
public class ResourceCost
|
||||||
{
|
{
|
||||||
public ResourceType type;
|
public ResourceType type;
|
||||||
public float amount;
|
public float amount;
|
||||||
}
|
}
|
||||||
[CreateAssetMenu(fileName = "NewBuilding", menuName = "Game/Building Data")]
|
|
||||||
public class BuildingData : ScriptableObject
|
public static class BuildingData
|
||||||
{
|
{
|
||||||
[Header("Основное")]
|
|
||||||
public string buildingName;
|
|
||||||
public Sprite icon;
|
|
||||||
public GameObject prefab;
|
|
||||||
|
|
||||||
[Header("Требования")]
|
|
||||||
[Tooltip("Необходимый уровень ратуши")]
|
|
||||||
public int requiredTownHallLevel = 1;
|
|
||||||
|
|
||||||
[Header("Размер на сетке стройки")]
|
|
||||||
[Tooltip("Сколько клеток занимает здание (ширина × высота). 0 × 0 -- посчитать само по коллайдеру префаба")]
|
|
||||||
public Vector2Int footprint;
|
|
||||||
|
|
||||||
[Header("Стоимость")]
|
|
||||||
public ResourceCost[] cost;
|
|
||||||
|
|
||||||
// Проверка - хватает ли ресурсов? (только проверяет)
|
|
||||||
// Ресурсы -- модуль Экономики, поэтому только через контракт IEconomy
|
|
||||||
public bool CanAfford()
|
|
||||||
{
|
|
||||||
return GameServices.TryGet(out IEconomy economy) && economy.CanAfford(ToAmounts(cost));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Списывает стоимость постройки. Вызывать только после CanAfford() == true
|
|
||||||
public void PayCost()
|
|
||||||
{
|
|
||||||
if (GameServices.TryGet(out IEconomy economy)) economy.TrySpend(ToAmounts(cost));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ResourceAmount[] ToAmounts(ResourceCost[] costs)
|
public static ResourceAmount[] ToAmounts(ResourceCost[] costs)
|
||||||
{
|
{
|
||||||
var result = new ResourceAmount[costs?.Length ?? 0];
|
var result = new ResourceAmount[costs?.Length ?? 0];
|
||||||
for (int i = 0; i < result.Length; i++) result[i] = new ResourceAmount(costs[i].type, costs[i].amount);
|
for (int i = 0; i < result.Length; i++) result[i] = new ResourceAmount(costs[i].type, costs[i].amount);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Текст стоимости для UI, например "50 Wood, 20 Stone"
|
|
||||||
public string GetCostText()
|
|
||||||
{
|
|
||||||
string result = "";
|
|
||||||
for (int i = 0; i < cost.Length; i++)
|
|
||||||
{
|
|
||||||
result += $"{cost[i].amount} {cost[i].type}";
|
|
||||||
if (i < cost.Length - 1) result += ", ";
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,7 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
// Небольшой "маркер", который автоматически ставится на КАЖДОЕ здание,
|
// Маркер здания игры: имя типа ("Казармы", "Лес", "Склад"...). Его ставит 3D-поселение (City3DGameplay.Attach)
|
||||||
// построенное через BuildManager. Хранит имя типа здания (совпадает с
|
// на каждое здание; по нему CitySync считает места, жильё и склады, а лимиты зданий -- по имени.
|
||||||
// BuildingData.buildingName), чтобы SaveManager знал, что именно это за постройка,
|
|
||||||
// когда будет сохранять/восстанавливать сцену.
|
|
||||||
//
|
|
||||||
// НЕ добавляй этот компонент вручную -- BuildManager делает это сам при постройке.
|
|
||||||
|
|
||||||
public class PlacedBuildingId : MonoBehaviour
|
public class PlacedBuildingId : MonoBehaviour
|
||||||
{
|
{
|
||||||
public string buildingName;
|
public string buildingName;
|
||||||
|
|||||||
@@ -5,14 +5,15 @@ using UnityEngine;
|
|||||||
// МОДУЛЬ ПОСЕЛЕНИЯ: точка входа. Реализует ISettlement и сам сохраняет город (секция "settlement").
|
// МОДУЛЬ ПОСЕЛЕНИЯ: точка входа. Реализует ISettlement и сам сохраняет город (секция "settlement").
|
||||||
// Документ: Docs/Modules/Settlement.md
|
// Документ: Docs/Modules/Settlement.md
|
||||||
//
|
//
|
||||||
// Город живёт на сцене MVP1, а сохраняться игра может и на карте мира. Поэтому модуль держит
|
// 2D-город (сцена MVP1) удалён 06.11: город -- 3D-поселение, его сохраняет City3D/City3DSave (секция "settlement3d").
|
||||||
// последнее известное состояние города в памяти: на карте мира сохраняется оно, а не пустая сцена.
|
// Здесь -- контракт ISettlement (уровень Ратуши, число зданий) и старая секция "settlement": она читается и
|
||||||
|
// сохраняется как есть, без изменений, -- по ней 3D-поселение один раз переносит здания игрока (MoveFrom2D).
|
||||||
public static class SettlementModule
|
public static class SettlementModule
|
||||||
{
|
{
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class PlacedBuildingSaveEntry
|
public class PlacedBuildingSaveEntry
|
||||||
{
|
{
|
||||||
public string buildingName; // совпадает с BuildingData.buildingName
|
public string buildingName; // имя здания игры ("Казармы", "Лес"...) -- City3DGameplay.Type3DFor
|
||||||
public float posX;
|
public float posX;
|
||||||
public float posY;
|
public float posY;
|
||||||
public int level;
|
public int level;
|
||||||
@@ -35,164 +36,31 @@ public static class SettlementModule
|
|||||||
public List<PlacedBuildingSaveEntry> placedBuildings = new List<PlacedBuildingSaveEntry>();
|
public List<PlacedBuildingSaveEntry> placedBuildings = new List<PlacedBuildingSaveEntry>();
|
||||||
}
|
}
|
||||||
|
|
||||||
static SettlementSaveData cached; // последнее состояние города (из сцены или из файла)
|
static SettlementSaveData cached; // 2D-город из файла (сцены 2D-города больше нет)
|
||||||
|
|
||||||
// 2D-город из сохранения -- только для чтения: по нему 3D-поселение один раз переносит здания игрока (05.11).
|
// 2D-город из сохранения -- только для чтения: по нему 3D-поселение один раз переносит здания игрока (05.11).
|
||||||
// null -- 2D-города в сохранении нет. Сами данные 2D не меняются и остаются в файле
|
// null -- 2D-города в сохранении нет. Сами данные 2D не меняются и остаются в файле
|
||||||
public static SettlementSaveData Saved2D => cached;
|
public static SettlementSaveData Saved2D => cached;
|
||||||
static BuildManager appliedToBuildManager; // BuildManager сцены, для которой город уже восстановлен
|
|
||||||
static readonly Service service = new Service();
|
static readonly Service service = new Service();
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
|
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
|
||||||
static void Init()
|
static void Init()
|
||||||
{
|
{
|
||||||
cached = null;
|
cached = null;
|
||||||
appliedToBuildManager = null;
|
|
||||||
lastTownHallLevel = 0;
|
lastTownHallLevel = 0;
|
||||||
GameServices.Register<ISettlement>(service);
|
GameServices.Register<ISettlement>(service);
|
||||||
SaveRegistry.Register(service);
|
SaveRegistry.Register(service);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool CityLoaded => BuildManager.Instance != null;
|
// Город открыт: в сцене есть Ратуша (3D-поселение вешает TownHall на свою Ратушу)
|
||||||
|
static bool CityLoaded => TownHall.Instance != null;
|
||||||
static int lastTownHallLevel; // уровень Ратуши последнего открытого города (0 -- ещё не открывали)
|
static int lastTownHallLevel; // уровень Ратуши последнего открытого города (0 -- ещё не открывали)
|
||||||
|
|
||||||
// ---------------- Сцена города <-> данные ----------------
|
|
||||||
|
|
||||||
static SettlementSaveData CaptureScene()
|
|
||||||
{
|
|
||||||
var data = new SettlementSaveData();
|
|
||||||
if (TownHall.Instance != null)
|
|
||||||
{
|
|
||||||
data.townHallLevel = TownHall.Instance.currentLevel;
|
|
||||||
var thTimer = BuildTimer.Of(TownHall.Instance.gameObject);
|
|
||||||
if (thTimer != null && BuildTimer.All.Contains(thTimer))
|
|
||||||
{
|
|
||||||
data.townHallTimerStartMs = thTimer.startMs;
|
|
||||||
data.townHallTimerEndMs = thTimer.endMs;
|
|
||||||
data.townHallTimerTargetLevel = thTimer.targetLevel;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var placed in UnityEngine.Object.FindObjectsByType<PlacedBuildingId>(FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(placed.buildingName)) continue; // уже убрано, Destroy сработает в конце кадра
|
|
||||||
var leveled = placed.GetComponent<ILeveledBuilding>();
|
|
||||||
var timer = placed.GetComponent<BuildTimer>();
|
|
||||||
bool timerOn = timer != null && BuildTimer.All.Contains(timer);
|
|
||||||
data.placedBuildings.Add(new PlacedBuildingSaveEntry
|
|
||||||
{
|
|
||||||
buildingName = placed.buildingName,
|
|
||||||
posX = placed.transform.position.x,
|
|
||||||
posY = placed.transform.position.y,
|
|
||||||
level = leveled != null ? leveled.Level : 1,
|
|
||||||
timerKind = timerOn ? (int)timer.kind : 0,
|
|
||||||
timerStartMs = timerOn ? timer.startMs : 0,
|
|
||||||
timerEndMs = timerOn ? timer.endMs : 0,
|
|
||||||
timerTargetLevel = timerOn ? timer.targetLevel : 0
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Восстановить город на сцене из последнего известного состояния.
|
|
||||||
// Без force -- один раз на каждую загрузку сцены города (BuildManager.Start и загрузка сохранения
|
|
||||||
// могут прийти в любом порядке, повторное восстановление не нужно).
|
|
||||||
public static void ApplyToScene(bool force = false)
|
|
||||||
{
|
|
||||||
if (cached == null || !CityLoaded) return;
|
|
||||||
if (!force && appliedToBuildManager == BuildManager.Instance) return;
|
|
||||||
appliedToBuildManager = BuildManager.Instance;
|
|
||||||
|
|
||||||
EventBus.Publish(new SettlementRestoringEvent()); // например, Казармы должны попасть в список стройки
|
|
||||||
|
|
||||||
if (TownHall.Instance != null)
|
|
||||||
{
|
|
||||||
TownHall.Instance.currentLevel = cached.townHallLevel;
|
|
||||||
var oldTimer = BuildTimer.Of(TownHall.Instance.gameObject);
|
|
||||||
if (oldTimer != null) oldTimer.Cancel();
|
|
||||||
// Проверка таймера из файла: улучшение до уровня выше текущего, конец не раньше начала
|
|
||||||
if (cached.townHallTimerEndMs > 0 && cached.townHallTimerTargetLevel > cached.townHallLevel)
|
|
||||||
BuildTimer.Begin(TownHall.Instance.gameObject, BuildTimer.Kind.Upgrade, cached.townHallTimerTargetLevel,
|
|
||||||
cached.townHallTimerStartMs, cached.townHallTimerEndMs);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Сначала убираем уже заспавненные здания, чтобы не задвоить постройки
|
|
||||||
ClearPlacedBuildings();
|
|
||||||
|
|
||||||
int restored = 0;
|
|
||||||
foreach (var entry in cached.placedBuildings)
|
|
||||||
{
|
|
||||||
BuildingData matchingData = FindBuildingDataByName(entry.buildingName);
|
|
||||||
if (matchingData == null)
|
|
||||||
{
|
|
||||||
Debug.LogWarning($"[ПОСЕЛЕНИЕ] Не найден BuildingData для '{entry.buildingName}', здание пропущено.");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
Vector3 pos = new Vector3(entry.posX, entry.posY, 0f);
|
|
||||||
GameObject built = UnityEngine.Object.Instantiate(matchingData.prefab, pos, Quaternion.identity);
|
|
||||||
if (!built.activeSelf) built.SetActive(true); // шаблон казарм хранится выключенным
|
|
||||||
|
|
||||||
built.AddComponent<PlacedBuildingId>().buildingName = entry.buildingName;
|
|
||||||
|
|
||||||
var leveled = built.GetComponent<ILeveledBuilding>();
|
|
||||||
if (leveled != null) leveled.Level = entry.level;
|
|
||||||
|
|
||||||
// Стройка или улучшение продолжается (если время уже вышло -- закончится в первом же кадре)
|
|
||||||
// Проверка таймера из файла: постройка -- только для 1 уровня, улучшение -- только до уровня выше текущего
|
|
||||||
bool validBuild = entry.timerKind == (int)BuildTimer.Kind.Build && entry.level <= 1;
|
|
||||||
bool validUpgrade = entry.timerKind == (int)BuildTimer.Kind.Upgrade && entry.timerTargetLevel > Mathf.Max(1, entry.level);
|
|
||||||
if ((validBuild || validUpgrade) && entry.timerEndMs > 0)
|
|
||||||
BuildTimer.Begin(built, (BuildTimer.Kind)entry.timerKind, Mathf.Max(1, entry.timerTargetLevel),
|
|
||||||
entry.timerStartMs, entry.timerEndMs);
|
|
||||||
|
|
||||||
// Помечаем слот занятым, чтобы поверх нельзя было поставить ещё одно здание
|
|
||||||
BuildSlot slot = BuildManager.Instance.FindSlotAtPosition(pos);
|
|
||||||
if (slot != null)
|
|
||||||
{
|
|
||||||
slot.Occupy(built);
|
|
||||||
built.AddComponent<BuildingSlotLink>().linkedSlot = slot;
|
|
||||||
}
|
|
||||||
restored++;
|
|
||||||
}
|
|
||||||
|
|
||||||
Debug.Log($"[ПОСЕЛЕНИЕ] Город восстановлен. Построек: {restored}");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Убрать все постройки со сцены. Участок освобождаем сразу: Destroy срабатывает в конце кадра,
|
|
||||||
// и иначе старое здание освободило бы участок, на который уже встало новое
|
|
||||||
static void ClearPlacedBuildings()
|
|
||||||
{
|
|
||||||
foreach (var e in UnityEngine.Object.FindObjectsByType<PlacedBuildingId>(FindObjectsSortMode.None))
|
|
||||||
{
|
|
||||||
var link = e.GetComponent<BuildingSlotLink>();
|
|
||||||
if (link != null && link.linkedSlot != null)
|
|
||||||
{
|
|
||||||
link.linkedSlot.Free();
|
|
||||||
link.linkedSlot = null;
|
|
||||||
}
|
|
||||||
e.buildingName = null; // чтобы сохранение в этом же кадре уже не видело здание
|
|
||||||
var timer = e.GetComponent<BuildTimer>();
|
|
||||||
if (timer != null) timer.Discard(); // строитель свободен сразу, а не в конце кадра
|
|
||||||
UnityEngine.Object.Destroy(e.gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static BuildingData FindBuildingDataByName(string buildingName)
|
|
||||||
{
|
|
||||||
foreach (var b in BuildManager.Instance.allBuildings)
|
|
||||||
{
|
|
||||||
if (b != null && b.buildingName == buildingName) return b;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------- Контракты ----------------
|
// ---------------- Контракты ----------------
|
||||||
|
|
||||||
class Service : ISettlement, ISaveParticipant
|
class Service : ISettlement, ISaveParticipant
|
||||||
{
|
{
|
||||||
// Ратуша открытого города -- 2D или 3D. Вне города (карта мира) -- последнего открытого: в 3D-поселении
|
// Ратуша открытого города. Вне города (карта мира) -- последнего открытого; ни разу не открывали -- из старого 2D-сохранения
|
||||||
// уровень Ратуши свой (секция settlement3d), и 2D-сохранение показывало бы на карте чужой уровень (05.11)
|
|
||||||
public int TownHallLevel
|
public int TownHallLevel
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -211,36 +79,20 @@ public static class SettlementModule
|
|||||||
|
|
||||||
public string SaveKey => "settlement";
|
public string SaveKey => "settlement";
|
||||||
|
|
||||||
public string Capture()
|
// Старая секция 2D-города -- как есть (для переноса в 3D); нет её -- ничего не пишем
|
||||||
{
|
public string Capture() => cached != null ? JsonUtility.ToJson(cached) : null;
|
||||||
if (CityLoaded) cached = CaptureScene();
|
|
||||||
// Город не открыт и ни разу не загружался -- не трогаем то, что уже лежит в файле
|
|
||||||
return cached != null ? JsonUtility.ToJson(cached) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Новая игра: Ратуша 1 уровня, построек нет -- и на сцене, и в памяти модуля
|
// Новая игра: старого 2D-города нет (3D-поселение сбрасывает City3DSave)
|
||||||
public void ResetState()
|
public void ResetState()
|
||||||
{
|
{
|
||||||
cached = new SettlementSaveData();
|
cached = new SettlementSaveData();
|
||||||
lastTownHallLevel = 0;
|
lastTownHallLevel = 0;
|
||||||
if (!CityLoaded) return;
|
|
||||||
|
|
||||||
ClearPlacedBuildings();
|
|
||||||
if (TownHall.Instance != null)
|
|
||||||
{
|
|
||||||
TownHall.Instance.currentLevel = 1;
|
|
||||||
var thTimer = BuildTimer.Of(TownHall.Instance.gameObject);
|
|
||||||
if (thTimer != null) thTimer.Cancel();
|
|
||||||
}
|
|
||||||
appliedToBuildManager = BuildManager.Instance; // город уже в состоянии новой игры
|
|
||||||
EventBus.Publish(new TownHallLevelChangedEvent { Level = 1 });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Restore(string json)
|
public void Restore(string json)
|
||||||
{
|
{
|
||||||
cached = JsonUtility.FromJson<SettlementSaveData>(json) ?? new SettlementSaveData();
|
cached = JsonUtility.FromJson<SettlementSaveData>(json) ?? new SettlementSaveData();
|
||||||
if (cached.placedBuildings == null) cached.placedBuildings = new List<PlacedBuildingSaveEntry>();
|
if (cached.placedBuildings == null) cached.placedBuildings = new List<PlacedBuildingSaveEntry>();
|
||||||
ApplyToScene(force: true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b6bbf7a2c03f7634e98cbddcadb423da
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class UINavigation : MonoBehaviour
|
|
||||||
{
|
|
||||||
[Header("Родитель панелей (например, HUD_Canvas или PanelsContainer)")]
|
|
||||||
[SerializeField] private Transform panelsRoot;
|
|
||||||
|
|
||||||
// Публичные методы для кнопок (вешаем в OnClick)
|
|
||||||
public void OpenHome() => ShowPanel("Panel_Home");
|
|
||||||
public void OpenHero() => ShowPanel("Panel_Hero");
|
|
||||||
public void OpenArena() => ShowPanel("Panel_Arena");
|
|
||||||
public void OpenBattle() => ShowPanel("Panel_Battle");
|
|
||||||
public void OpenTroops() => ShowPanel("Panel_Troops");
|
|
||||||
public void OpenShop() => ShowPanel("Panel_Shop");
|
|
||||||
public void OpenMail() => ShowPanel("Panel_Mail");
|
|
||||||
public void OpenMissions() => ShowPanel("Panel_Missions");
|
|
||||||
public void OpenProfile() => ShowPanel("Panel_Profile");
|
|
||||||
public void OpenReward() => ShowPanel("Panel_Reward");
|
|
||||||
public void OpenEvents() => ShowPanel("Panel_Events");
|
|
||||||
|
|
||||||
private void ShowPanel(string panelName)
|
|
||||||
{
|
|
||||||
GameObject target = null; // Объявляем переменную ОДИН раз в начале метода
|
|
||||||
|
|
||||||
// Вариант 1: Если задан родитель, ищем только внутри него
|
|
||||||
if (panelsRoot != null)
|
|
||||||
{
|
|
||||||
Transform found = panelsRoot.Find(panelName);
|
|
||||||
if (found != null)
|
|
||||||
target = found.gameObject;
|
|
||||||
}
|
|
||||||
// Вариант 2: Если родителя нет, ищем по всей сцене
|
|
||||||
else
|
|
||||||
{
|
|
||||||
target = GameObject.Find(panelName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Если панель найдена — показываем её
|
|
||||||
if (target != null)
|
|
||||||
{
|
|
||||||
HideAllPanels();
|
|
||||||
target.SetActive(true);
|
|
||||||
Debug.Log("Открыта панель: " + panelName);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Debug.LogError("Не удалось найти панель с именем: " + panelName + ". Проверь название!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void HideAllPanels()
|
|
||||||
{
|
|
||||||
if (panelsRoot == null) return;
|
|
||||||
|
|
||||||
foreach (Transform child in panelsRoot)
|
|
||||||
{
|
|
||||||
child.gameObject.SetActive(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 44d831ce8edf82d4393ffaae110a0ed2
|
|
||||||
@@ -4,13 +4,11 @@ using UnityEngine.SceneManagement;
|
|||||||
// Переходы город <-> карта мира
|
// Переходы город <-> карта мира
|
||||||
public static class SceneNavigator
|
public static class SceneNavigator
|
||||||
{
|
{
|
||||||
// Город -- 3D-поселение (решение 05.11). Старый 2D-город (MVP1) исключён из сборки; если его открыть в редакторе,
|
// Город -- 3D-поселение (решение 05.11; 2D-город MVP1 удалён 06.11)
|
||||||
// с карты мира вернёт в него же (lastCityScene)
|
|
||||||
public const string CitySceneName = "City3D";
|
public const string CitySceneName = "City3D";
|
||||||
public const string OldCitySceneName = "MVP1";
|
|
||||||
public const string WorldMapSceneName = "WorldMap";
|
public const string WorldMapSceneName = "WorldMap";
|
||||||
|
|
||||||
// Из какого города ушли на карту мира: 2D (MVP1) или 3D (City3D) -- туда и возвращаемся (05.11)
|
// Из какой сцены города ушли на карту мира -- туда и возвращаемся
|
||||||
static string lastCityScene = CitySceneName;
|
static string lastCityScene = CitySceneName;
|
||||||
|
|
||||||
public static void OpenWorldMap()
|
public static void OpenWorldMap()
|
||||||
@@ -33,8 +31,7 @@ public static class SceneNavigator
|
|||||||
public static void ReturnToCity()
|
public static void ReturnToCity()
|
||||||
{
|
{
|
||||||
if (SaveManager.Instance != null) SaveManager.Instance.SaveGame();
|
if (SaveManager.Instance != null) SaveManager.Instance.SaveGame();
|
||||||
string city = Application.CanStreamedLevelBeLoaded(lastCityScene) ? lastCityScene
|
string city = Application.CanStreamedLevelBeLoaded(lastCityScene) ? lastCityScene : CitySceneName;
|
||||||
: Application.CanStreamedLevelBeLoaded(CitySceneName) ? CitySceneName : OldCitySceneName;
|
|
||||||
SceneManager.LoadScene(city);
|
SceneManager.LoadScene(city);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e828cbb532392fa40b505fcda926a1dd
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 6f60de2605414fc4799142cbf40ae06d
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 68a7de63e13cff944a1cfcae9a7046e3
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -119,6 +119,7 @@
|
|||||||
|
|
||||||
| Дата | Кто | Что |
|
| Дата | Кто | Что |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|
| 06.11.2026 | Claude (Саша) | **2D-город удалён** (решение команды 05.11, перенос проверен): сцена MVP1, префабы и данные 2D-зданий (`Prefab/Buildings`), 2D-стройка на сетке (`BuildManager`, `BuildGrid`, `BuildGhost`, `BuildSlot`, `BuildingSlotLink`), ScriptableObject `BuildingData`, 2D-герой `HeroWalker`, `BuildingUI`, `ResourceProducer`, 2D-камеры (`CityCamera`, `CameraZoom`, `HUDCameraSetup`, `UINavigation`), редакторские «Fix Camera & HUD», «Restore Old Camera», «Create Barracks», копии сцен `_Recovery`. Осталось: `SettlementModule` — контракт `ISettlement` и старая секция `settlement` (читается и пишется как есть, по ней `MoveFrom2D` переносит здания старых сохранений), `BuildingData.ToAmounts` + `ResourceCost`, имена зданий в `*Bootstrap` (без 2D-шаблонов), `BuildModeController` — только кнопка «СТРОЙКА» и «Перенести» для 3D, `BuildMenuUi` — пустой компонент в HUD_Canvas (можно убрать из префаба). `CitySync` — только 3D (`ExternalCity`), окно Ратуши «Откроется: …» — по 3D-зданиям (`City3DGameplay.TypesUnlockedAt`). Build Settings: City3D, WorldMap. |
|
||||||
| 06.11.2026 | Claude (Саша) | 3D: местность за краем участка — 60 клеток вокруг (`City3DController.BuildSkirt`, `City3DLayout.SkirtHeight`): те же холмы, река и горы продолжаются без шва (на стыке те же вершины) и к дальнему краю плавно опускаются до равнины; река течёт дальше, вокруг лес. Только вид: без коллайдера, стройки и тапов нет. Раньше при отдалении участок обрывался уступом. |
|
| 06.11.2026 | Claude (Саша) | 3D: местность за краем участка — 60 клеток вокруг (`City3DController.BuildSkirt`, `City3DLayout.SkirtHeight`): те же холмы, река и горы продолжаются без шва (на стыке те же вершины) и к дальнему краю плавно опускаются до равнины; река течёт дальше, вокруг лес. Только вид: без коллайдера, стройки и тапов нет. Раньше при отдалении участок обрывался уступом. |
|
||||||
| 06.11.2026 | Claude (Саша) | Герой у Терема в 3D (перенос из 2D): `City3D/City3DHero.cs` — фигурка из простых форм появляется у ворот достроенного Терема и гуляет по свободным клеткам 3D-карты (земля, открытая зона, без зданий и деревьев) не дальше 6 клеток от Терема, шагами на соседнюю клетку — сквозь здания не проходит; тап — фраза и окно героя; в режиме стройки и переноса прячется. Создаёт и убирает `City3DController.UpdateHero`. На экономику и сохранение не влияет. |
|
| 06.11.2026 | Claude (Саша) | Герой у Терема в 3D (перенос из 2D): `City3D/City3DHero.cs` — фигурка из простых форм появляется у ворот достроенного Терема и гуляет по свободным клеткам 3D-карты (земля, открытая зона, без зданий и деревьев) не дальше 6 клеток от Терема, шагами на соседнюю клетку — сквозь здания не проходит; тап — фраза и окно героя; в режиме стройки и переноса прячется. Создаёт и убирает `City3DController.UpdateHero`. На экономику и сохранение не влияет. |
|
||||||
| 06.11.2026 | Claude (Саша) | Открытие зоны Ратушей: камера показывает только край новой зоны — старую зону и 2 клетки новой за её границей (`ZoneEdgeCells`), а не всю зону; ближе, чем была, не подъезжает (`City3DCamera.FocusOn(..., onlyZoomOut)`). Раньше при ускорении улучшения Ратуши камера улетала слишком далеко. |
|
| 06.11.2026 | Claude (Саша) | Открытие зоны Ратушей: камера показывает только край новой зоны — старую зону и 2 клетки новой за её границей (`ZoneEdgeCells`), а не всю зону; ближе, чем была, не подъезжает (`City3DCamera.FocusOn(..., onlyZoomOut)`). Раньше при ускорении улучшения Ратуши камера улетала слишком далеко. |
|
||||||
|
|||||||
@@ -8,9 +8,6 @@ EditorBuildSettings:
|
|||||||
- enabled: 1
|
- enabled: 1
|
||||||
path: Assets/Scenes/City3D.unity
|
path: Assets/Scenes/City3D.unity
|
||||||
guid: c1c34719f0605c247a3575d077f3d656
|
guid: c1c34719f0605c247a3575d077f3d656
|
||||||
- enabled: 0
|
|
||||||
path: Assets/Scenes/MVP1.unity
|
|
||||||
guid: beae4025d64976c4f93af3b9233183da
|
|
||||||
- enabled: 1
|
- enabled: 1
|
||||||
path: Assets/Scenes/WorldMap.unity
|
path: Assets/Scenes/WorldMap.unity
|
||||||
guid: baa48fafda29f4247b2910dc9622c97a
|
guid: baa48fafda29f4247b2910dc9622c97a
|
||||||
|
|||||||
Reference in New Issue
Block a user