first commit

This commit is contained in:
2026-06-04 14:27:16 +03:00
commit 96cb7e9f0e
79 changed files with 8862 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4eb6f418f73ff7242b7a2080dabde97c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+312
View File
@@ -0,0 +1,312 @@
using System.IO;
using UnityEditor;
using UnityEditor.Events;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public static class Lab6SceneBuilder
{
private const string ScriptsPath = "Assets/_Scripts";
private const string ScenesPath = "Assets/_Scenes";
private const string MaterialsPath = "Assets/_Materials";
private const string PrefabsPath = "Assets/_Prefabs";
private const string EditorPath = "Assets/Editor";
private const string ScenePath = "Assets/_Scenes/PuzzleScene.unity";
[MenuItem("Tools/Lab6/Create Full Puzzle Scene")]
public static void CreateFullPuzzleScene()
{
CreateProjectFolders();
// Builder создаёт сцену с нуля, чтобы после пункта меню не требовалась настройка инспектора.
Scene scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
scene.name = "PuzzleScene";
Material floorMaterial = CreateMaterial("M_Floor", new Color(0.45f, 0.50f, 0.46f));
Material wallMaterial = CreateMaterial("M_Wall", new Color(0.64f, 0.66f, 0.67f));
Material doorMaterial = CreateMaterial("M_Door", new Color(0.36f, 0.21f, 0.12f));
Material exitDoorMaterial = CreateMaterial("M_ExitDoor", new Color(0.12f, 0.28f, 0.42f));
Material keyMaterial = CreateMaterial("M_Key", new Color(1.00f, 0.78f, 0.16f));
Material gemMaterial = CreateMaterial("M_Gem", new Color(0.12f, 0.76f, 0.90f));
Material cogMaterial = CreateMaterial("M_Cog", new Color(0.62f, 0.62f, 0.62f));
Material highlightMaterial = CreateMaterial("M_Item_Highlight", new Color(1.00f, 1.00f, 0.35f));
Material dragMaterial = CreateMaterial("M_Item_Drag", new Color(1.00f, 0.50f, 0.18f));
Material inactiveMaterial = CreateMaterial("M_Item_Inactive", new Color(0.26f, 0.30f, 0.32f));
Material slotNormalMaterial = CreateMaterial("M_Slot_Normal", new Color(0.18f, 0.18f, 0.20f));
Material slotValidMaterial = CreateMaterial("M_Slot_Valid", new Color(0.12f, 0.75f, 0.25f));
Material slotInvalidMaterial = CreateMaterial("M_Slot_Invalid", new Color(0.85f, 0.12f, 0.10f));
Material slotSuccessMaterial = CreateMaterial("M_Slot_Success", new Color(0.10f, 0.45f, 1.00f));
CreateRoom(floorMaterial, wallMaterial);
Camera camera = CreateCameraAndLight();
CreateEventSystem();
Door keyDoor = CreateDoor("Door_Key", new Vector3(0f, 1.25f, -0.45f), new Vector3(2.25f, 2.5f, 0.28f), doorMaterial, Vector3.up * 3.2f);
Door exitDoor = CreateDoor("Door_Exit", new Vector3(0f, 1.25f, 5.85f), new Vector3(2.25f, 2.5f, 0.28f), exitDoorMaterial, Vector3.right * 2.8f);
PuzzleUI puzzleUI = CreateCanvasAndUI();
DraggableObject key = CreateItem("Key", PrimitiveType.Cube, ItemType.Key, new Vector3(-4.6f, 0.35f, -4.25f), new Vector3(0.9f, 0.45f, 0.45f), keyMaterial, highlightMaterial, dragMaterial);
DraggableObject gem = CreateItem("Gem", PrimitiveType.Sphere, ItemType.Gem, new Vector3(-3.7f, 0.42f, 1.9f), new Vector3(0.75f, 0.75f, 0.75f), gemMaterial, highlightMaterial, dragMaterial);
DraggableObject cog = CreateItem("Cog_False", PrimitiveType.Cylinder, ItemType.Cog, new Vector3(4.4f, 0.35f, -4.15f), new Vector3(0.72f, 0.24f, 0.72f), cogMaterial, highlightMaterial, dragMaterial);
gem.inactiveMaterial = inactiveMaterial;
Slot keySlot = CreateSlot("KeySlot", ItemType.Key, new Vector3(-1.4f, 0.08f, -4.25f), slotNormalMaterial, slotValidMaterial, slotInvalidMaterial, slotSuccessMaterial);
Slot gemSlot = CreateSlot("GemSlot", ItemType.Gem, new Vector3(3.15f, 0.08f, 2.15f), slotNormalMaterial, slotValidMaterial, slotInvalidMaterial, slotSuccessMaterial);
PuzzleManager manager = new GameObject("PuzzleManager").AddComponent<PuzzleManager>();
manager.puzzleUI = puzzleUI;
manager.gemItem = gem;
// Связываем слоты с менеджером и дверями через persistent UnityEvent.
AddPersistentListener(keySlot.onItemPlaced, manager.OnKeyPlaced);
AddPersistentListener(keySlot.onItemPlaced, keyDoor.Open);
AddPersistentListener(gemSlot.onItemPlaced, manager.OnGemPlaced);
AddPersistentListener(gemSlot.onItemPlaced, exitDoor.Open);
CreateWorldLabel("KEY", key.transform.position + new Vector3(0f, 0.75f, 0f), Color.black);
CreateWorldLabel("KEY SLOT", keySlot.transform.position + new Vector3(0f, 0.35f, 0f), Color.white);
CreateWorldLabel("GEM", gem.transform.position + new Vector3(0f, 0.85f, 0f), Color.black);
CreateWorldLabel("GEM SLOT", gemSlot.transform.position + new Vector3(0f, 0.35f, 0f), Color.white);
CreateWorldLabel("FALSE ITEM", cog.transform.position + new Vector3(0f, 0.75f, 0f), Color.black);
CreateWorldLabel("Door_Key", keyDoor.transform.position + new Vector3(0f, 1.7f, -0.25f), Color.white);
CreateWorldLabel("Door_Exit", exitDoor.transform.position + new Vector3(0f, 1.7f, -0.25f), Color.white);
Selection.activeObject = camera.gameObject;
EditorSceneManager.SaveScene(scene, ScenePath);
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
Debug.Log("Lab 6 puzzle scene created and saved: " + ScenePath);
}
private static void CreateProjectFolders()
{
Directory.CreateDirectory(ScriptsPath);
Directory.CreateDirectory(ScenesPath);
Directory.CreateDirectory(MaterialsPath);
Directory.CreateDirectory(PrefabsPath);
Directory.CreateDirectory(EditorPath);
AssetDatabase.Refresh();
}
private static Material CreateMaterial(string materialName, Color color)
{
string path = MaterialsPath + "/" + materialName + ".mat";
Material material = AssetDatabase.LoadAssetAtPath<Material>(path);
if (material == null)
{
material = new Material(Shader.Find("Standard"));
AssetDatabase.CreateAsset(material, path);
}
material.color = color;
material.SetColor("_Color", color);
EditorUtility.SetDirty(material);
return material;
}
private static void CreateRoom(Material floorMaterial, Material wallMaterial)
{
GameObject floor = GameObject.CreatePrimitive(PrimitiveType.Plane);
floor.name = "Floor";
floor.transform.localScale = new Vector3(0.8f, 1f, 0.6f);
floor.GetComponent<Renderer>().sharedMaterial = floorMaterial;
CreateCube("Wall_Back", new Vector3(0f, 1.25f, 6.1f), new Vector3(16f, 2.5f, 0.25f), wallMaterial);
CreateCube("Wall_Front", new Vector3(0f, 1.25f, -6.1f), new Vector3(16f, 2.5f, 0.25f), wallMaterial);
CreateCube("Wall_Left", new Vector3(-8.1f, 1.25f, 0f), new Vector3(0.25f, 2.5f, 12.2f), wallMaterial);
CreateCube("Wall_Right", new Vector3(8.1f, 1.25f, 0f), new Vector3(0.25f, 2.5f, 12.2f), wallMaterial);
CreateCube("Partition_Left", new Vector3(-5.05f, 1.25f, -0.45f), new Vector3(5.9f, 2.5f, 0.25f), wallMaterial);
CreateCube("Partition_Right", new Vector3(5.05f, 1.25f, -0.45f), new Vector3(5.9f, 2.5f, 0.25f), wallMaterial);
CreateCube("ExitWall_Left", new Vector3(-5.05f, 1.25f, 5.85f), new Vector3(5.9f, 2.5f, 0.25f), wallMaterial);
CreateCube("ExitWall_Right", new Vector3(5.05f, 1.25f, 5.85f), new Vector3(5.9f, 2.5f, 0.25f), wallMaterial);
CreateCube("WorkZone_Start", new Vector3(-3.2f, 0.025f, -4.2f), new Vector3(6.5f, 0.05f, 2.2f), floorMaterial);
CreateCube("WorkZone_Gem", new Vector3(0f, 0.025f, 2.1f), new Vector3(7.2f, 0.05f, 2.3f), floorMaterial);
}
private static Camera CreateCameraAndLight()
{
GameObject cameraObject = new GameObject("Main Camera");
Camera camera = cameraObject.AddComponent<Camera>();
cameraObject.tag = "MainCamera";
cameraObject.transform.position = new Vector3(0f, 9.5f, -7.5f);
cameraObject.transform.rotation = Quaternion.Euler(56f, 0f, 0f);
camera.orthographic = true;
camera.orthographicSize = 7.2f;
camera.clearFlags = CameraClearFlags.Skybox;
GameObject lightObject = new GameObject("Directional Light");
Light light = lightObject.AddComponent<Light>();
light.type = LightType.Directional;
light.intensity = 1.1f;
lightObject.transform.rotation = Quaternion.Euler(50f, -30f, 0f);
return camera;
}
private static void CreateEventSystem()
{
GameObject eventSystem = new GameObject("EventSystem");
eventSystem.AddComponent<UnityEngine.EventSystems.EventSystem>();
eventSystem.AddComponent<UnityEngine.EventSystems.StandaloneInputModule>();
}
private static PuzzleUI CreateCanvasAndUI()
{
GameObject canvasObject = new GameObject("Canvas");
Canvas canvas = canvasObject.AddComponent<Canvas>();
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
CanvasScaler scaler = canvasObject.AddComponent<CanvasScaler>();
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
scaler.referenceResolution = new Vector2(1280f, 720f);
canvasObject.AddComponent<GraphicRaycaster>();
PuzzleUI puzzleUI = canvasObject.AddComponent<PuzzleUI>();
Font font = Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf");
puzzleUI.objectiveText = CreateUIText(canvasObject.transform, "ObjectiveText", "Перетащите ключ в слот", font, 24, TextAnchor.UpperLeft, new Vector2(18f, -72f), new Vector2(620f, 44f));
puzzleUI.solvedText = CreateUIText(canvasObject.transform, "SolvedText", "Пазл решён!", font, 34, TextAnchor.MiddleCenter, new Vector2(0f, -12f), new Vector2(420f, 70f));
puzzleUI.debugText = CreateUIText(canvasObject.transform, "DebugText", "Key placed: false\nGem placed: false\nPuzzle solved: false", font, 18, TextAnchor.LowerLeft, new Vector2(18f, 18f), new Vector2(360f, 96f));
puzzleUI.messageText = CreateUIText(canvasObject.transform, "MessageText", "", font, 22, TextAnchor.UpperLeft, new Vector2(18f, -232f), new Vector2(620f, 40f));
Text title = CreateUIText(canvasObject.transform, "TitleText", "Лабораторная работа №6: Пазлы и логические игры", font, 26, TextAnchor.UpperLeft, new Vector2(18f, -18f), new Vector2(860f, 42f));
title.fontStyle = FontStyle.Bold;
CreateUIText(canvasObject.transform, "HintText", "ЛКМ — взять и перетащить предмет\nОтпустите ЛКМ над подходящим слотом", font, 20, TextAnchor.UpperLeft, new Vector2(18f, -126f), new Vector2(620f, 72f));
puzzleUI.solvedText.color = new Color(0.1f, 0.85f, 0.2f);
puzzleUI.solvedText.fontStyle = FontStyle.Bold;
puzzleUI.solvedText.gameObject.SetActive(false);
return puzzleUI;
}
private static Text CreateUIText(Transform parent, string name, string value, Font font, int size, TextAnchor anchor, Vector2 anchoredPosition, Vector2 sizeDelta)
{
GameObject textObject = new GameObject(name);
textObject.transform.SetParent(parent, false);
Text text = textObject.AddComponent<Text>();
text.text = value;
text.font = font;
text.fontSize = size;
text.alignment = anchor;
text.color = Color.white;
text.raycastTarget = false;
RectTransform rect = textObject.GetComponent<RectTransform>();
rect.sizeDelta = sizeDelta;
if (anchor == TextAnchor.LowerLeft)
{
rect.anchorMin = new Vector2(0f, 0f);
rect.anchorMax = new Vector2(0f, 0f);
rect.pivot = new Vector2(0f, 0f);
}
else if (anchor == TextAnchor.MiddleCenter)
{
rect.anchorMin = new Vector2(0.5f, 0.5f);
rect.anchorMax = new Vector2(0.5f, 0.5f);
rect.pivot = new Vector2(0.5f, 0.5f);
}
else
{
rect.anchorMin = new Vector2(0f, 1f);
rect.anchorMax = new Vector2(0f, 1f);
rect.pivot = new Vector2(0f, 1f);
}
rect.anchoredPosition = anchoredPosition;
return text;
}
private static Door CreateDoor(string name, Vector3 position, Vector3 scale, Material material, Vector3 openOffset)
{
GameObject doorObject = CreateCube(name, position, scale, material);
Door door = doorObject.AddComponent<Door>();
door.openOffset = openOffset;
door.openSpeed = 2.35f;
return door;
}
private static DraggableObject CreateItem(string name, PrimitiveType primitiveType, ItemType itemType, Vector3 position, Vector3 scale, Material normalMaterial, Material highlightMaterial, Material dragMaterial)
{
GameObject itemObject = GameObject.CreatePrimitive(primitiveType);
itemObject.name = name;
itemObject.transform.position = position;
itemObject.transform.localScale = scale;
itemObject.GetComponent<Renderer>().sharedMaterial = normalMaterial;
DraggableObject draggable = itemObject.AddComponent<DraggableObject>();
draggable.itemType = itemType;
draggable.normalMaterial = normalMaterial;
draggable.highlightMaterial = highlightMaterial;
draggable.dragMaterial = dragMaterial;
draggable.startPosition = position;
draggable.snapDistance = 1.25f;
draggable.dragLift = 0.35f;
return draggable;
}
private static Slot CreateSlot(string name, ItemType itemType, Vector3 position, Material normalMaterial, Material validMaterial, Material invalidMaterial, Material successMaterial)
{
GameObject slotObject = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
slotObject.name = name;
slotObject.transform.position = position;
slotObject.transform.localScale = new Vector3(1.15f, 0.08f, 1.15f);
slotObject.GetComponent<Renderer>().sharedMaterial = normalMaterial;
GameObject snapPoint = new GameObject("SnapPoint");
snapPoint.transform.SetParent(slotObject.transform, false);
snapPoint.transform.localPosition = new Vector3(0f, 4.55f, 0f);
Slot slot = slotObject.AddComponent<Slot>();
slot.requiredItemType = itemType;
slot.normalMaterial = normalMaterial;
slot.validPreviewMaterial = validMaterial;
slot.invalidPreviewMaterial = invalidMaterial;
slot.successMaterial = successMaterial;
slot.snapPoint = snapPoint.transform;
return slot;
}
private static GameObject CreateCube(string name, Vector3 position, Vector3 scale, Material material)
{
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.name = name;
cube.transform.position = position;
cube.transform.localScale = scale;
cube.GetComponent<Renderer>().sharedMaterial = material;
return cube;
}
private static void CreateWorldLabel(string text, Vector3 position, Color color)
{
GameObject labelObject = new GameObject("Label_" + text.Replace(" ", "_"));
labelObject.transform.position = position;
labelObject.transform.rotation = Quaternion.Euler(65f, 0f, 0f);
TextMesh label = labelObject.AddComponent<TextMesh>();
label.text = text;
label.fontSize = 48;
label.characterSize = 0.08f;
label.anchor = TextAnchor.MiddleCenter;
label.alignment = TextAlignment.Center;
label.color = color;
}
private static void AddPersistentListener(UnityEvent unityEvent, UnityAction action)
{
UnityEventTools.AddPersistentListener(unityEvent, action);
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1f8947d3b207d208baa6d0d94598f7ca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5da607477326552efa38fe6b34a35556
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+267
View File
@@ -0,0 +1,267 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 705507994}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &705507993
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 705507995}
- component: {fileID: 705507994}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &705507994
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 705507993}
m_Enabled: 1
serializedVersion: 8
m_Type: 1
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 1
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &705507995
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 705507993}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &963194225
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 963194228}
- component: {fileID: 963194227}
- component: {fileID: 963194226}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &963194226
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
--- !u!20 &963194227
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &963194228
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 963194225}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9fc0d4010bbf28b4594072e72b8655ab
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f771447726e5db60ea815589cb1b084f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Cog
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.62, g: 0.62, b: 0.62, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8d8603e43253ae0c58fe2fa5c7745251
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Door
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.36, g: 0.21, b: 0.12, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 39bd464d7f207f29187554864e8c70ad
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_ExitDoor
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.12, g: 0.28, b: 0.42, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a1507d494a5e1f5eea0e6ea489ba5a37
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Floor
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.45, g: 0.5, b: 0.46, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d8573e3a7eb864ae1ac60810e1dbf6e6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Gem
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.12, g: 0.76, b: 0.9, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a6116e9677e7a2c1782f7183b9d68875
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Item_Drag
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 0.5, b: 0.18, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: db7b2488a7722873ab701ab39d536369
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Item_Highlight
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 0.35, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7b8d8f8c4af820344a3085f5dead30a8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Item_Inactive
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.26, g: 0.3, b: 0.32, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5af49bede5e5cdcfdbe48f645fc06ba0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Key
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 0.78, b: 0.16, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 86ce46bf2f300cec1a9cbb617b7d73e4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Slot_Invalid
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.85, g: 0.12, b: 0.1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 84c90135123578e059e2cc5e6c9f3aed
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Slot_Normal
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.18, g: 0.18, b: 0.2, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ddd07d9192a8dbdfa880781a502b986c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Slot_Success
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.1, g: 0.45, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b0bfc30c870a6f129b682e94925e68db
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Slot_Valid
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.12, g: 0.75, b: 0.25, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ef530fc3df46d4becabaf6b2c0e230dd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+83
View File
@@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_Wall
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.64, g: 0.66, b: 0.67, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3358ec2a1e68a17388a387e27fa1f9ba
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cbfb823a5fbaa8f428a5a2f7ac906de8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3f295e869194a227491fbff58bb3d516
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 868f97d3c40fedbf4a5796f2dc6e2b8b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a6f4b652f58a9250fbc8cd58787e4dd0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+47
View File
@@ -0,0 +1,47 @@
using UnityEngine;
public class Door : MonoBehaviour
{
public Vector3 openOffset = Vector3.up * 3f;
public float openSpeed = 2f;
public bool isOpen;
private Vector3 closedPosition;
private Vector3 targetPosition;
private Collider doorCollider;
private void Awake()
{
closedPosition = transform.position;
targetPosition = closedPosition;
doorCollider = GetComponent<Collider>();
}
private void Update()
{
// MoveTowards даёт предсказуемое плавное открытие без физики и аниматора.
transform.position = Vector3.MoveTowards(transform.position, targetPosition, openSpeed * Time.deltaTime);
if (isOpen && doorCollider != null && Vector3.Distance(transform.position, targetPosition) < 0.02f)
{
doorCollider.enabled = false;
}
}
public void Open()
{
isOpen = true;
targetPosition = closedPosition + openOffset;
}
public void Close()
{
isOpen = false;
targetPosition = closedPosition;
if (doorCollider != null)
{
doorCollider.enabled = true;
}
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 849ebb2701cd89a3880164b587c2401f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+267
View File
@@ -0,0 +1,267 @@
using UnityEngine;
[RequireComponent(typeof(Collider))]
public class DraggableObject : MonoBehaviour
{
[Header("Item")]
public ItemType itemType;
public Material normalMaterial;
public Material highlightMaterial;
public Material dragMaterial;
public Material inactiveMaterial;
public Vector3 startPosition;
public bool isLocked;
[Header("Drag")]
public float dragLift = 0.35f;
public float snapDistance = 1.25f;
public bool isInteractable = true;
private Camera mainCamera;
private Renderer itemRenderer;
private Plane dragPlane;
private Vector3 dragOffset;
private Vector3 returnPosition;
private Slot highlightedSlot;
private bool isDragging;
private bool isMouseOver;
private void Awake()
{
mainCamera = Camera.main;
itemRenderer = GetComponent<Renderer>();
startPosition = transform.position;
returnPosition = startPosition;
if (itemRenderer != null && normalMaterial == null)
{
normalMaterial = itemRenderer.sharedMaterial;
}
}
private void Start()
{
ApplyNormalMaterial();
}
private void OnMouseEnter()
{
if (!CanInteract())
{
return;
}
isMouseOver = true;
ApplyMaterial(highlightMaterial);
}
private void OnMouseExit()
{
isMouseOver = false;
if (!isDragging && !isLocked)
{
ApplyNormalMaterial();
}
}
private void OnMouseDown()
{
if (!CanInteract())
{
return;
}
if (mainCamera == null)
{
mainCamera = Camera.main;
}
// Запоминаем позицию перед перетаскиванием, чтобы вернуть предмет при ошибке.
returnPosition = transform.position;
dragPlane = new Plane(Vector3.up, new Vector3(0f, startPosition.y, 0f));
if (TryGetMousePointOnDragPlane(out Vector3 mouseWorldPoint))
{
dragOffset = transform.position - mouseWorldPoint;
dragOffset.y = 0f;
}
else
{
dragOffset = Vector3.zero;
}
isDragging = true;
ApplyMaterial(dragMaterial != null ? dragMaterial : highlightMaterial);
}
private void OnMouseDrag()
{
if (!isDragging || !CanInteract())
{
return;
}
if (!TryGetMousePointOnDragPlane(out Vector3 mouseWorldPoint))
{
return;
}
// Offset сохраняет относительное положение курсора и предмета без резких скачков.
Vector3 targetPosition = mouseWorldPoint + dragOffset;
targetPosition.y = startPosition.y + dragLift;
transform.position = targetPosition;
UpdateSlotPreview();
}
private void OnMouseUp()
{
if (!isDragging)
{
return;
}
isDragging = false;
// Предмет фиксируется только в ближайшем подходящем слоте.
Slot nearestSlot = FindNearestSlot();
ClearHighlightedSlot();
if (nearestSlot != null && nearestSlot.CanAccept(this))
{
nearestSlot.PlaceItem(this);
return;
}
transform.position = returnPosition;
ApplyNormalMaterial();
}
public void LockToSlot(Vector3 slotPosition)
{
isLocked = true;
isInteractable = false;
transform.position = slotPosition;
ApplyNormalMaterial();
}
public void SetInteractable(bool value)
{
if (isLocked)
{
isInteractable = false;
return;
}
isInteractable = value;
ApplyNormalMaterial();
}
public void SetNormalMaterial(Material material)
{
normalMaterial = material;
ApplyNormalMaterial();
}
private bool CanInteract()
{
return isInteractable && !isLocked;
}
private bool TryGetMousePointOnDragPlane(out Vector3 worldPoint)
{
worldPoint = Vector3.zero;
if (mainCamera == null)
{
return false;
}
// Raycast в математическую плоскость делает drag стабильным для ортографической камеры.
Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
if (!dragPlane.Raycast(ray, out float distance))
{
return false;
}
worldPoint = ray.GetPoint(distance);
return true;
}
private void UpdateSlotPreview()
{
Slot nearestSlot = FindNearestSlot();
if (nearestSlot == highlightedSlot)
{
return;
}
ClearHighlightedSlot();
highlightedSlot = nearestSlot;
if (highlightedSlot != null)
{
highlightedSlot.ShowPreview(this);
}
}
private Slot FindNearestSlot()
{
Slot[] slots = FindObjectsOfType<Slot>();
Slot nearest = null;
float bestDistance = snapDistance;
foreach (Slot slot in slots)
{
float distance = Vector3.Distance(transform.position, slot.transform.position);
if (distance <= bestDistance)
{
bestDistance = distance;
nearest = slot;
}
}
return nearest;
}
private void ClearHighlightedSlot()
{
if (highlightedSlot != null)
{
highlightedSlot.ClearPreview();
highlightedSlot = null;
}
}
private void ApplyNormalMaterial()
{
if (isLocked)
{
ApplyMaterial(normalMaterial);
return;
}
if (isMouseOver && CanInteract())
{
ApplyMaterial(highlightMaterial);
return;
}
if (!isInteractable && inactiveMaterial != null)
{
ApplyMaterial(inactiveMaterial);
return;
}
ApplyMaterial(normalMaterial);
}
private void ApplyMaterial(Material material)
{
if (itemRenderer != null && material != null)
{
itemRenderer.sharedMaterial = material;
}
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9ba685c5e754cd0adb5c37bc78754cb1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+7
View File
@@ -0,0 +1,7 @@
public enum ItemType
{
Key,
Gem,
Cog,
Battery
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4ebf65485a9a3e6c9a4cee39cb1cfaaa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+79
View File
@@ -0,0 +1,79 @@
using UnityEngine;
public class PuzzleManager : MonoBehaviour
{
public bool keyPlaced;
public bool gemPlaced;
public bool puzzleSolved;
public PuzzleUI puzzleUI;
public DraggableObject gemItem;
private const string KeyObjective = "Перетащите ключ в слот";
private const string GemAvailableObjective = "Дверь открыта. Возьмите самоцвет за дверью";
private const string GemObjective = "Перетащите самоцвет во второй слот";
private const string SolvedObjective = "Пазл решён. Выход открыт";
private void Start()
{
// Самоцвет становится доступен только после решения первого шага.
if (gemItem != null)
{
gemItem.SetInteractable(false);
}
if (puzzleUI != null)
{
puzzleUI.SetObjective(KeyObjective);
puzzleUI.SetSolvedVisible(false);
puzzleUI.UpdateDebug(keyPlaced, gemPlaced, puzzleSolved);
}
}
public void OnKeyPlaced()
{
keyPlaced = true;
if (gemItem != null)
{
gemItem.SetInteractable(true);
}
if (puzzleUI != null)
{
puzzleUI.SetObjective(GemAvailableObjective);
puzzleUI.ShowMessage(GemObjective);
}
CheckPuzzleSolved();
}
public void OnGemPlaced()
{
gemPlaced = true;
if (puzzleUI != null)
{
puzzleUI.SetObjective(SolvedObjective);
}
CheckPuzzleSolved();
}
public void CheckPuzzleSolved()
{
// Финальное состояние наступает только после обоих правильных размещений.
puzzleSolved = keyPlaced && gemPlaced;
if (puzzleUI != null)
{
puzzleUI.UpdateDebug(keyPlaced, gemPlaced, puzzleSolved);
if (puzzleSolved)
{
puzzleUI.SetSolvedVisible(true);
puzzleUI.ShowMessage("Пазл решён!");
}
}
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6d6851990dab06249b1fa47ad466c337
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+62
View File
@@ -0,0 +1,62 @@
using UnityEngine;
using UnityEngine.UI;
public class PuzzleUI : MonoBehaviour
{
public Text objectiveText;
public Text solvedText;
public Text debugText;
public Text messageText;
private float messageTimer;
private void Update()
{
if (messageTimer <= 0f || messageText == null || solvedText == null)
{
return;
}
messageTimer -= Time.deltaTime;
if (messageTimer <= 0f && !solvedText.gameObject.activeSelf)
{
messageText.text = string.Empty;
}
}
public void SetObjective(string text)
{
if (objectiveText != null)
{
objectiveText.text = text;
}
}
public void SetSolvedVisible(bool visible)
{
if (solvedText != null)
{
solvedText.gameObject.SetActive(visible);
}
}
public void UpdateDebug(bool keyPlaced, bool gemPlaced, bool solved)
{
if (debugText != null)
{
debugText.text = "Key placed: " + keyPlaced + "\n"
+ "Gem placed: " + gemPlaced + "\n"
+ "Puzzle solved: " + solved;
}
}
public void ShowMessage(string text)
{
if (messageText != null)
{
messageText.text = text;
messageTimer = 3f;
}
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: acd7a2645e9fbd10e9308e1f0ad16716
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+92
View File
@@ -0,0 +1,92 @@
using UnityEngine;
using UnityEngine.Events;
[RequireComponent(typeof(Collider))]
public class Slot : MonoBehaviour
{
public ItemType requiredItemType;
public bool isOccupied;
[Header("Visuals")]
public Material normalMaterial;
public Material validPreviewMaterial;
public Material invalidPreviewMaterial;
public Material successMaterial;
[Header("Placement")]
public Transform snapPoint;
public UnityEvent onItemPlaced = new UnityEvent();
private Renderer slotRenderer;
private DraggableObject placedItem;
private void Awake()
{
slotRenderer = GetComponent<Renderer>();
if (slotRenderer != null && normalMaterial == null)
{
normalMaterial = slotRenderer.sharedMaterial;
}
}
private void Start()
{
ApplyMaterial(normalMaterial);
}
public bool CanAccept(DraggableObject item)
{
return item != null && !isOccupied && item.itemType == requiredItemType;
}
public void PlaceItem(DraggableObject item)
{
if (!CanAccept(item))
{
ShowPreview(item);
return;
}
isOccupied = true;
placedItem = item;
// SnapPoint задаёт точку фиксации предмета над плоскостью слота.
Vector3 targetPosition = snapPoint != null ? snapPoint.position : transform.position + Vector3.up * 0.35f;
item.LockToSlot(targetPosition);
ApplyMaterial(successMaterial);
onItemPlaced.Invoke();
}
public void ResetSlot()
{
isOccupied = false;
placedItem = null;
ApplyMaterial(normalMaterial);
}
public void ShowPreview(DraggableObject item)
{
if (isOccupied)
{
ApplyMaterial(successMaterial);
return;
}
ApplyMaterial(CanAccept(item) ? validPreviewMaterial : invalidPreviewMaterial);
}
public void ClearPreview()
{
ApplyMaterial(isOccupied ? successMaterial : normalMaterial);
}
private void ApplyMaterial(Material material)
{
if (slotRenderer != null && material != null)
{
slotRenderer.sharedMaterial = material;
}
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 968f7a479c33d6aa9a32a2b1176a06ac
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: