From 1957d26b1f488df20f0d4b5fe1c9f3ae2fa4fc03 Mon Sep 17 00:00:00 2001 From: krylj Date: Sat, 21 Feb 2026 13:07:16 +0100 Subject: [PATCH] added cables --- .vsconfig | 6 ++ Assets/GameManager/ITask.cs | 53 ++++++++++ Assets/Scenes/MiniGame-Kabely.unity | 158 ++++++++++++++++++++++++++++ Assets/kabely.cs | 14 ++- 4 files changed, 223 insertions(+), 8 deletions(-) create mode 100644 .vsconfig create mode 100644 Assets/GameManager/ITask.cs diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 0000000..f019fd0 --- /dev/null +++ b/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/Assets/GameManager/ITask.cs b/Assets/GameManager/ITask.cs new file mode 100644 index 0000000..2df5907 --- /dev/null +++ b/Assets/GameManager/ITask.cs @@ -0,0 +1,53 @@ +//using GeoSus.Client; +using System; +using UnityEngine; + +public enum TaskType +{ + Task //TODO: Typy úkolù +} + + + +public interface ITask +{ + public string TaskID { get; } // Unikátní ID úkolu pro server + public TaskType TaskType { get; } // Typ úkolu + public string TaskName { get; } // Viditelný název úkolu + public (double, double) TaskLocation { get; } // Polohy na mapì + public bool IsCompleted { get; } // Stav dokonèení úkolu + + void Initialize(Action onCompleted); // Vytvoøení tasku + naètení postupu + void ExitTask(Action onExit); // Pøi opuÅ¡tìní úkolu poslat hotovo / uložit postup / reset + void Complete(); // Oznaèit úkol jako dokonèený, poslat na server a zavøít + +} +/* Ukázoková implementace ITask +public class Wires : ITask{ + public string TaskID { get; set; } // Unikátní ID úkolu pro server + public TaskType TaskType { get; set; } // Typ úkolu + public string TaskName { get; set; } // Viditelný název úkolu + public (double, double) TaskLocation { get; set; } // Poloha na mapì + public bool IsCompleted { get; private set; } // Stav dokonèení úkolu + private Action _onCompleted; + + public void Initialize(Action onCompleted) // Vytvoøení tasku + { + IsCompleted = false; + _onCompleted = onCompleted; + } + public void ExitTask(Action onExit) //Zavøení tasku + { + onExit?.Invoke(this); + } + public void Complete() // Dokonèení tasku a zavøení + { + IsCompleted = true; + _onCompleted?.Invoke(this); + ExitTask(null); + } + + + +} +*/ \ No newline at end of file diff --git a/Assets/Scenes/MiniGame-Kabely.unity b/Assets/Scenes/MiniGame-Kabely.unity index db707e8..1f0b4c9 100644 --- a/Assets/Scenes/MiniGame-Kabely.unity +++ b/Assets/Scenes/MiniGame-Kabely.unity @@ -211,6 +211,163 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &425617991 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 425617997} + - component: {fileID: 425617996} + - component: {fileID: 425617995} + - component: {fileID: 425617994} + - component: {fileID: 425617993} + - component: {fileID: 425617992} + m_Layer: 0 + m_Name: canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &425617992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425617991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 003c58040bd638f43aa1def0f0f4276e, type: 3} + m_Name: + m_EditorClassIdentifier: '::' +--- !u!114 &425617993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425617991} + 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: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &425617994 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425617991} + m_CullTransparentMesh: 1 +--- !u!223 &425617995 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425617991} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 191909595} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &425617996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425617991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!224 &425617997 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425617991} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!1 &1645776851 GameObject: m_ObjectHideFlags: 0 @@ -314,3 +471,4 @@ SceneRoots: m_Roots: - {fileID: 191909596} - {fileID: 1645776853} + - {fileID: 425617997} diff --git a/Assets/kabely.cs b/Assets/kabely.cs index 4925173..2b2d4f9 100644 --- a/Assets/kabely.cs +++ b/Assets/kabely.cs @@ -7,15 +7,15 @@ public class CableMiniGame : MonoBehaviour [System.Serializable] public class Cable { - public string colorName; // Název barvy kabelu - public Button sourceButton; // Zdrojový konektor - public Button targetButton; // Cílový konektor - public Image cableImage; // Pro zmìnu barvy kabelu + public string colorName; + public Button sourceButton; + public Button targetButton; + public Image cableImage; } public Cable[] cables; - public string previousSceneName; // Scéna kam se vrátit pøi chybì - public Color wrongAttemptColor = Color.white; // Bliknutí pøi špatném pokusu + public string previousSceneName; + public Color wrongAttemptColor = Color.white; public float blinkDuration = 0.2f; private string selectedColor = null; @@ -42,13 +42,11 @@ public class CableMiniGame : MonoBehaviour if (selectedColor == cable.colorName) { - // Správné propojení Debug.Log("Správnì!"); cable.cableImage.color = GetColorFromName(selectedColor); } else { - // Špatné propojení – reset scény Debug.Log("Špatnì, restart!"); StartCoroutine(BlinkAndReset(cable.cableImage)); }