From 1a70942e8e27b1d5f14d7a82793c29d8c5a8af93 Mon Sep 17 00:00:00 2001 From: klemek Date: Wed, 16 Dec 2020 19:00:40 +0100 Subject: [PATCH] input/output + refactoring --- Assets/Prefabs/Gates/Input gate.prefab | 273 +++++++++ Assets/Prefabs/Gates/Input gate.prefab.meta | 7 + Assets/Prefabs/Gates/Output gate.prefab | 549 +++++++++++++++++++ Assets/Prefabs/Gates/Output gate.prefab.meta | 7 + Assets/SVG Assets/Cursor/cursor-pointer.svg | 2 +- Assets/SVG Assets/Gates/input.svg | 35 ++ Assets/SVG Assets/Gates/input.svg.meta | 55 ++ Assets/SVG Assets/Gates/output.svg | 35 ++ Assets/SVG Assets/Gates/output.svg.meta | 55 ++ Assets/Scenes/Workspace.unity | 4 + Assets/Scripts/DefaultScript.cs | 4 + Assets/Scripts/GameManager.cs | 43 +- Assets/Scripts/PointerManager.cs | 42 +- Assets/Scripts/UI/UIGate.cs | 5 +- Assets/Scripts/Workspace/Anchor.cs | 3 + Assets/Scripts/Workspace/Gate.cs | 36 +- Assets/Scripts/Workspace/GateDefinition.cs | 23 +- Assets/Scripts/Workspace/GateSprite.cs | 4 + Assets/Scripts/Workspace/InputGate.cs | 61 +++ Assets/Scripts/Workspace/InputGate.cs.meta | 11 + Assets/Scripts/Workspace/OutputGate.cs | 57 ++ Assets/Scripts/Workspace/OutputGate.cs.meta | 11 + TODO.txt | 2 - 23 files changed, 1272 insertions(+), 52 deletions(-) create mode 100755 Assets/Prefabs/Gates/Input gate.prefab create mode 100755 Assets/Prefabs/Gates/Input gate.prefab.meta create mode 100755 Assets/Prefabs/Gates/Output gate.prefab create mode 100755 Assets/Prefabs/Gates/Output gate.prefab.meta create mode 100755 Assets/SVG Assets/Gates/input.svg create mode 100755 Assets/SVG Assets/Gates/input.svg.meta create mode 100755 Assets/SVG Assets/Gates/output.svg create mode 100755 Assets/SVG Assets/Gates/output.svg.meta create mode 100755 Assets/Scripts/Workspace/InputGate.cs create mode 100755 Assets/Scripts/Workspace/InputGate.cs.meta create mode 100755 Assets/Scripts/Workspace/OutputGate.cs create mode 100755 Assets/Scripts/Workspace/OutputGate.cs.meta diff --git a/Assets/Prefabs/Gates/Input gate.prefab b/Assets/Prefabs/Gates/Input gate.prefab new file mode 100755 index 0000000..7105dfa --- /dev/null +++ b/Assets/Prefabs/Gates/Input gate.prefab @@ -0,0 +1,273 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &2608629621584006415 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7789614090018843119} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8aba9e174e9d3b34685f9f11106848d8, type: 3} + m_Name: + m_EditorClassIdentifier: + HasState: 0 + GateType: 0 +--- !u!1001 &1186815505049518421 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 8391619796845948860} + m_Modifications: + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: Name + value: Q + objectReference: {fileID: 0} + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: Orientation.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: ScaleIncrease + value: 1.2 + objectReference: {fileID: 0} + - target: {fileID: 1824742176375353076, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_Name + value: Q + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalScale.x + value: 1.2 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalScale.y + value: 1.2 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalPosition.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalPosition.z + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8643366489253547345, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_Radius + value: 0.6 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} +--- !u!1001 &7550324826208118863 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 347446582494478752, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Name + value: Input gate + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalScale.x + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalScale.y + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.newSize.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.newSize.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.oldSize.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.oldSize.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.size + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[0].x + value: 0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[0].y + value: -0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].x + value: 0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].y + value: -2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].x + value: 2.6 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].y + value: -2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].x + value: 2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].y + value: -2.6 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[4].x + value: 2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[4].y + value: -0.39999998 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[5].x + value: 2.61 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[5].y + value: -0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.adaptiveTilingThreshold + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Size.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Size.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 3286163911610860551, guid: f07dabfc64de02443a6df7363e4f1171, type: 3} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_WasSpriteAssigned + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 2637797866570093762, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: e13798a14679ee74fa71d11caea77e78, type: 3} +--- !u!1 &7789614090018843119 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 347446582494478752, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + m_PrefabInstance: {fileID: 7550324826208118863} + m_PrefabAsset: {fileID: 0} +--- !u!4 &8391619796845948860 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + m_PrefabInstance: {fileID: 7550324826208118863} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/Gates/Input gate.prefab.meta b/Assets/Prefabs/Gates/Input gate.prefab.meta new file mode 100755 index 0000000..0386380 --- /dev/null +++ b/Assets/Prefabs/Gates/Input gate.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4e410a1e5a455034f8c0c608cca0f50d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Gates/Output gate.prefab b/Assets/Prefabs/Gates/Output gate.prefab new file mode 100755 index 0000000..508b1e8 --- /dev/null +++ b/Assets/Prefabs/Gates/Output gate.prefab @@ -0,0 +1,549 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &8526475217245682975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1042092572259743701} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1d1d57c543bd5842917ec7313c7fbe0, type: 3} + m_Name: + m_EditorClassIdentifier: + HasState: 0 + GateType: 0 +--- !u!1001 &766774666585749109 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 347446582494478752, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Name + value: Output gate + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalScale.x + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalScale.y + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 1658337153186624383, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.newSize.x + value: 2.2 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.newSize.y + value: 2.2 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.oldSize.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.oldSize.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.size + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[0].x + value: 2.2 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[0].y + value: -2.3799999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].x + value: 2.3799999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].y + value: -2.19 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].x + value: 2.45 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].y + value: -2.1 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].x + value: 2.54 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].y + value: -1.9499999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[4].x + value: 2.61 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[4].y + value: -1.7199999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[5].x + value: 2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[5].y + value: -1.63 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[6].x + value: 2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[6].y + value: -1.37 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[7].x + value: 2.58 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[7].y + value: -1.16 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[8].x + value: 2.48 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[8].y + value: -0.93 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[9].x + value: 2.4099998 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[9].y + value: -0.84 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_SpriteTilingProperty.adaptiveTilingThreshold + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[10].x + value: 2.19 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[10].y + value: -0.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[11].x + value: 2.1 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[11].y + value: -0.55 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[12].x + value: 1.9399999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[12].y + value: -0.47 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[13].x + value: 1.8 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[13].y + value: -0.42 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[14].x + value: 1.65 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[14].y + value: -0.39 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[15].x + value: 1.54 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[15].y + value: -0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[16].x + value: 1.41 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[16].y + value: -0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[17].x + value: 1.27 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[17].y + value: -0.39999998 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[18].x + value: 1.0799999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[18].y + value: -0.45999998 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[19].x + value: 0.93 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[19].y + value: -0.53 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[20].x + value: 0.84 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[20].y + value: -0.59 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[21].x + value: 0.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[21].y + value: -0.79999995 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[22].x + value: 0.51 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[22].y + value: -0.95 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[23].x + value: 0.41 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[23].y + value: -1.1899999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[24].x + value: 0.39 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[24].y + value: -1.35 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[25].x + value: 0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[25].y + value: -1.4599999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[26].x + value: 0.38 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[26].y + value: -1.5899999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[27].x + value: 0.39 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[27].y + value: -1.73 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[28].x + value: 0.45999998 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[28].y + value: -1.92 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[29].x + value: 0.53 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[29].y + value: -2.07 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[30].x + value: 0.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[30].y + value: -2.2 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[31].x + value: 0.84 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[31].y + value: -2.4199998 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[32].x + value: 1.05 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[32].y + value: -2.54 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[33].x + value: 1.23 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[33].y + value: -2.59 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[34].x + value: 1.35 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[34].y + value: -2.61 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[35].x + value: 1.4599999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[35].y + value: -2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[36].x + value: 1.5999999 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[36].y + value: -2.62 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[37].x + value: 1.73 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[37].y + value: -2.61 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[38].x + value: 1.92 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[38].y + value: -2.54 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[39].x + value: 2.07 + objectReference: {fileID: 0} + - target: {fileID: 4542802031506979094, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Points.m_Paths.Array.data[0].Array.data[39].y + value: -2.47 + objectReference: {fileID: 0} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Size.x + value: 2.2 + objectReference: {fileID: 0} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Size.y + value: 2.2 + objectReference: {fileID: 0} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 3286163911610860551, guid: 1cd7455285f8d7046ad9fdc6cd1feb1c, type: 3} + - target: {fileID: 9216698528057375618, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + propertyPath: m_WasSpriteAssigned + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 2637797866570093762, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: e13798a14679ee74fa71d11caea77e78, type: 3} +--- !u!1 &1042092572259743701 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 347446582494478752, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + m_PrefabInstance: {fileID: 766774666585749109} + m_PrefabAsset: {fileID: 0} +--- !u!4 &1592304684759871878 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2070848596161447923, guid: e13798a14679ee74fa71d11caea77e78, type: 3} + m_PrefabInstance: {fileID: 766774666585749109} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &6354588341203636899 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1592304684759871878} + m_Modifications: + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: Name + value: A + objectReference: {fileID: 0} + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: IsInput + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: Orientation.x + value: -1 + objectReference: {fileID: 0} + - target: {fileID: -7307756874029176930, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: ScaleIncrease + value: 1.2 + objectReference: {fileID: 0} + - target: {fileID: 1824742176375353076, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_Name + value: A + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalScale.x + value: 1.2 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalScale.y + value: 1.2 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalPosition.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalPosition.y + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalPosition.z + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8599692958760628507, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8643366489253547345, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} + propertyPath: m_Radius + value: 0.6 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d2ad1e1266d8af64ca87541a40be7e9f, type: 3} diff --git a/Assets/Prefabs/Gates/Output gate.prefab.meta b/Assets/Prefabs/Gates/Output gate.prefab.meta new file mode 100755 index 0000000..e2edb4a --- /dev/null +++ b/Assets/Prefabs/Gates/Output gate.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 992b79e7e4c2e1a4f873c64c51e9f52b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/SVG Assets/Cursor/cursor-pointer.svg b/Assets/SVG Assets/Cursor/cursor-pointer.svg index b6b3d10..abdce03 100755 --- a/Assets/SVG Assets/Cursor/cursor-pointer.svg +++ b/Assets/SVG Assets/Cursor/cursor-pointer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/Assets/SVG Assets/Gates/input.svg b/Assets/SVG Assets/Gates/input.svg new file mode 100755 index 0000000..e07f00d --- /dev/null +++ b/Assets/SVG Assets/Gates/input.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/SVG Assets/Gates/input.svg.meta b/Assets/SVG Assets/Gates/input.svg.meta new file mode 100755 index 0000000..5291f5d --- /dev/null +++ b/Assets/SVG Assets/Gates/input.svg.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: f07dabfc64de02443a6df7363e4f1171 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} + svgType: 0 + texturedSpriteMeshType: 0 + svgPixelsPerUnit: 100 + gradientResolution: 64 + alignment: 1 + customPivot: {x: 0, y: 0} + generatePhysicsShape: 1 + viewportOptions: 1 + preserveViewport: 0 + advancedMode: 0 + predefinedResolutionIndex: 1 + targetResolution: 1080 + resolutionMultiplier: 1 + stepDistance: 10 + samplingStepDistance: 100 + maxCordDeviationEnabled: 0 + maxCordDeviation: 1 + maxTangentAngleEnabled: 0 + maxTangentAngle: 5 + keepTextureAspectRatio: 1 + textureSize: 256 + textureWidth: 256 + textureHeight: 256 + wrapMode: 0 + filterMode: 1 + sampleCount: 4 + preserveSVGImageAspect: 0 + useSVGPixelsPerUnit: 0 + spriteData: + TessellationDetail: 0 + SpriteRect: + name: + originalName: + pivot: {x: 0, y: 0} + alignment: 0 + border: {x: 0, y: 0, z: 0, w: 0} + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + spriteID: 5931624e128cb9949b82b084dcbe49ca + internalID: 0 + PhysicsOutlines: [] diff --git a/Assets/SVG Assets/Gates/output.svg b/Assets/SVG Assets/Gates/output.svg new file mode 100755 index 0000000..e5d4c1e --- /dev/null +++ b/Assets/SVG Assets/Gates/output.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/SVG Assets/Gates/output.svg.meta b/Assets/SVG Assets/Gates/output.svg.meta new file mode 100755 index 0000000..63877fb --- /dev/null +++ b/Assets/SVG Assets/Gates/output.svg.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 1cd7455285f8d7046ad9fdc6cd1feb1c +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3} + svgType: 0 + texturedSpriteMeshType: 0 + svgPixelsPerUnit: 100 + gradientResolution: 64 + alignment: 1 + customPivot: {x: 0, y: 0} + generatePhysicsShape: 1 + viewportOptions: 1 + preserveViewport: 0 + advancedMode: 0 + predefinedResolutionIndex: 1 + targetResolution: 1080 + resolutionMultiplier: 1 + stepDistance: 10 + samplingStepDistance: 100 + maxCordDeviationEnabled: 0 + maxCordDeviation: 1 + maxTangentAngleEnabled: 0 + maxTangentAngle: 5 + keepTextureAspectRatio: 1 + textureSize: 256 + textureWidth: 256 + textureHeight: 256 + wrapMode: 0 + filterMode: 1 + sampleCount: 4 + preserveSVGImageAspect: 0 + useSVGPixelsPerUnit: 0 + spriteData: + TessellationDetail: 0 + SpriteRect: + name: + originalName: + pivot: {x: 0, y: 0} + alignment: 0 + border: {x: 0, y: 0, z: 0, w: 0} + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + spriteID: f580062f276d0f24f8627b501ab28b90 + internalID: 0 + PhysicsOutlines: [] diff --git a/Assets/Scenes/Workspace.unity b/Assets/Scenes/Workspace.unity index 40fda8d..1e4e906 100755 --- a/Assets/Scenes/Workspace.unity +++ b/Assets/Scenes/Workspace.unity @@ -523,6 +523,8 @@ MonoBehaviour: DeadColor: {r: 0, g: 0.20240787, b: 0.262, a: 1} ActivatedColor: {r: 0, g: 0.7725491, b: 1, a: 1} GatePrefabs: + - {fileID: 2608629621584006415, guid: 4e410a1e5a455034f8c0c608cca0f50d, type: 3} + - {fileID: 8526475217245682975, guid: 992b79e7e4c2e1a4f873c64c51e9f52b, type: 3} - {fileID: 395496744302543944, guid: 7f0ed90de4f8dcf4cb3b8bd1f47a6c55, type: 3} - {fileID: 5414015581782372340, guid: f9d4ead6b60b0ac4ca6d566c674c515d, type: 3} - {fileID: 1880784449839238515, guid: 426ccfa3b75c9644c80250677d1089f6, type: 3} @@ -556,6 +558,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 11e573998e532eb42bdb43b80953d23f, type: 3} m_Name: m_EditorClassIdentifier: + DoubleClickThreshold: 0.05 + DoubleClickDelay: 0.5 DefaultCursor: {fileID: 6192944022281365145, guid: d0f05a0b5d7c9b241a26dbe09b647c63, type: 3} PointerCursor: {fileID: 6192944022281365145, guid: d14431ce61c8d5748b32f4a3bcfd2994, type: 3} MoveCursor: {fileID: 6192944022281365145, guid: 41b6be3f02726104888f2c62cdc89fdf, type: 3} diff --git a/Assets/Scripts/DefaultScript.cs b/Assets/Scripts/DefaultScript.cs index b2d8d9e..3500793 100755 --- a/Assets/Scripts/DefaultScript.cs +++ b/Assets/Scripts/DefaultScript.cs @@ -15,6 +15,10 @@ namespace UntitledLogicGame // #endregion + // #region Private Properties + + // #endregion + // #region Unity Methods // #endregion diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 0384e7f..ecf039b 100755 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -10,7 +10,15 @@ namespace UntitledLogicGame { #region Static Properties - public static GameManager Instance { get; set; } + public static GameManager Instance { + get + { + if (_instance == null) + _instance = FindObjectOfType(); + return _instance; + } + } + private static GameManager _instance; #endregion @@ -35,43 +43,36 @@ namespace UntitledLogicGame #region Public Properties public Anchor CurrentAnchor { get; set; } - public Gate CurrentGate { get; set; } - - public PointerManager MouseManager { get; private set; } + public PointerManager PointerManager + { + get + { + if (_pointerManager == null) + _pointerManager = GetComponent(); + return _pointerManager; + } + } #endregion #region Private Properties + private PointerManager _pointerManager; + #endregion #region Unity Methods - // Start is called before the first frame update - private void Start() - { - if (Instance != null) - throw new InvalidOperationException("More than one GameManager in scene"); - Instance = this; - MouseManager = GetComponent(); - } - - // Update is called once per frame - private void Update() - { - - } - #endregion #region Public Methods - public void CreateGate(Gate gatePrefab, Vector3 position) + public void CreateGate(Gate gatePrefab) { var gate = Instantiate(gatePrefab, GatesGroup); gate.transform.position = PointerManager.MousePos - gate.Box.transform.position; - MouseManager.DragGate(gate, true); + PointerManager.DragGate(gate, true); } #endregion diff --git a/Assets/Scripts/PointerManager.cs b/Assets/Scripts/PointerManager.cs index d8197ec..89c0e28 100755 --- a/Assets/Scripts/PointerManager.cs +++ b/Assets/Scripts/PointerManager.cs @@ -11,12 +11,17 @@ namespace UntitledLogicGame { #region Static Properties - public static PointerManager Instance => GameManager.Instance.MouseManager; + public static PointerManager Instance => GameManager.Instance.PointerManager; #endregion #region Unity Properties + [Header("Click")] + public float DoubleClickThreshold; + public float DoubleClickDelay; + + [Header("Cursor")] public Texture2D DefaultCursor; public Texture2D PointerCursor; public Texture2D MoveCursor; @@ -26,13 +31,9 @@ namespace UntitledLogicGame #region Public Properties public static Vector3 MousePos { get; set; } - public bool Interacting => _currentCable != null || _currentGate != null; - public bool MovingObject => _currentGate != null; - - public static bool Clicking => Input.GetButton("Fire1"); - + public bool Clicking => Input.GetButton("Fire1"); public bool DeleteOnRelease { get; set; } #endregion @@ -44,6 +45,8 @@ namespace UntitledLogicGame private Vector3? _currentGateInitialPos; private Vector3 _currentGateDelta; private Texture2D _currentCursor; + private float _clicked = 0f; + private float _clicktime = 0f; #endregion @@ -147,6 +150,33 @@ namespace UntitledLogicGame } } + public bool DoubleClick() + { + + if (Clicking) + { + _clicked += Time.deltaTime; + } + else + { + if(_clicked >= DoubleClickThreshold) + { + if(Time.time - _clicktime < DoubleClickDelay) + { + _clicked = 0f; + _clicktime = 0f; + return true; + } + else + { + _clicktime = Time.time; + } + } + _clicked = 0f; + } + return false; + } + #endregion #region Private Methods diff --git a/Assets/Scripts/UI/UIGate.cs b/Assets/Scripts/UI/UIGate.cs index d000335..b472a0f 100755 --- a/Assets/Scripts/UI/UIGate.cs +++ b/Assets/Scripts/UI/UIGate.cs @@ -26,7 +26,6 @@ namespace UntitledLogicGame.UI gameObject.name = "UI_" + _gatePrefab.GateType.ToString(); } } - public RectTransform RectTransform { get @@ -50,9 +49,7 @@ namespace UntitledLogicGame.UI public void OnPointerDown(PointerEventData eventData) { - var position = Camera.main.ScreenToWorldPoint(transform.position); - position.z = 0f; - GameManager.Instance.CreateGate(_gatePrefab, position); + GameManager.Instance.CreateGate(_gatePrefab); } #endregion diff --git a/Assets/Scripts/Workspace/Anchor.cs b/Assets/Scripts/Workspace/Anchor.cs index b9a958d..758f28c 100755 --- a/Assets/Scripts/Workspace/Anchor.cs +++ b/Assets/Scripts/Workspace/Anchor.cs @@ -35,6 +35,7 @@ namespace UntitledLogicGame.Workspace _activated = value; } } + public bool Hovering { get; internal set; } #endregion @@ -74,6 +75,7 @@ namespace UntitledLogicGame.Workspace { transform.localScale = _scale * ScaleIncrease; GameManager.Instance.CurrentAnchor = this; + Hovering = true; } private void OnMouseExit() @@ -81,6 +83,7 @@ namespace UntitledLogicGame.Workspace transform.localScale = _scale; if (Equals(GameManager.Instance.CurrentAnchor)) GameManager.Instance.CurrentAnchor = null; + Hovering = false; } private void OnDestroy() diff --git a/Assets/Scripts/Workspace/Gate.cs b/Assets/Scripts/Workspace/Gate.cs index 82d825e..e34ead8 100755 --- a/Assets/Scripts/Workspace/Gate.cs +++ b/Assets/Scripts/Workspace/Gate.cs @@ -17,7 +17,15 @@ namespace UntitledLogicGame.Workspace #region Public Properties - public List Anchors { get; private set; } + public IEnumerable Anchors + { + get + { + if(_anchors == null) + _anchors = GetComponentsInChildren().ToList(); + return _anchors; + } + } public IEnumerable InputAnchors => Anchors.Where(a => a.IsInput); public IEnumerable OutputAnchors => Anchors.Where(a => !a.IsInput); public BoxCollider2D Box { @@ -28,14 +36,34 @@ namespace UntitledLogicGame.Workspace return _box; } } + public GateSprite Sprite + { + get + { + if(_sprite == null) + _sprite = GetComponentInChildren(); + return _sprite; + } + } + public GateDefinition Definition + { + get + { + if(_definition == null) + _definition = GateDefinition.Get(GateType, this); + return _definition; + } + } #endregion #region Private Properties + private IEnumerable _anchors; private GateDefinition _definition; private int _lastState = -1; private BoxCollider2D _box; + private GateSprite _sprite; #endregion @@ -44,17 +72,15 @@ namespace UntitledLogicGame.Workspace private void Start() { Utils.RandomName(GateType.ToString(), gameObject); - Anchors = GetComponentsInChildren().ToList(); - _definition = GateDefinition.Get(GateType, this); } // Update is called once per frame private void Update() { - var state = _definition.GetState(this).ToInt(); + var state = Definition.GetState(this).ToInt(); if(state != _lastState) { - _definition.Compute(this); + Definition.Compute(this); _lastState = state; } } diff --git a/Assets/Scripts/Workspace/GateDefinition.cs b/Assets/Scripts/Workspace/GateDefinition.cs index 18094bf..921a2ef 100755 --- a/Assets/Scripts/Workspace/GateDefinition.cs +++ b/Assets/Scripts/Workspace/GateDefinition.cs @@ -22,13 +22,10 @@ namespace UntitledLogicGame.Workspace.Gates public abstract class GateDefinition { - public abstract string[] Inputs { get; } - - public abstract string[] Outputs { get; } - - internal abstract Dictionary TruthTable { get; } - private static Dictionary Definitions; + public abstract string[] Inputs { get; } + public abstract string[] Outputs { get; } + internal abstract Dictionary TruthTable { get; } private static void LoadAll() { @@ -42,9 +39,6 @@ namespace UntitledLogicGame.Workspace.Gates public static GateDefinition Get(GateType gateType, Gate gate) { - if (gateType == GateType.None) - throw new InvalidOperationException("GateType is set to None"); - if (Definitions == null) LoadAll(); @@ -92,11 +86,14 @@ namespace UntitledLogicGame.Workspace.Gates public void Compute(Gate gate) { - State key = new State(GetState(gate)); - bool[] values = TruthTable[key].values; - foreach (var output in Outputs.Select((value, i) => new { i, value })) + if(TruthTable.Count > 0) { - gate.OutputAnchors.First(a => a.Name.Equals(output.value)).Activated = values[output.i]; + State key = new State(GetState(gate)); + bool[] values = TruthTable[key].values; + foreach (var output in Outputs.Select((value, i) => new { i, value })) + { + gate.OutputAnchors.First(a => a.Name.Equals(output.value)).Activated = values[output.i]; + } } } } diff --git a/Assets/Scripts/Workspace/GateSprite.cs b/Assets/Scripts/Workspace/GateSprite.cs index 1002eff..28462ba 100755 --- a/Assets/Scripts/Workspace/GateSprite.cs +++ b/Assets/Scripts/Workspace/GateSprite.cs @@ -14,6 +14,8 @@ namespace UntitledLogicGame.Workspace #region Public Properties + public bool Hovering { get; internal set; } + #endregion #region Private Properties @@ -38,12 +40,14 @@ namespace UntitledLogicGame.Workspace private void OnMouseEnter() { GameManager.Instance.CurrentGate = _gate; + Hovering = true; } private void OnMouseExit() { if (_gate.Equals(GameManager.Instance.CurrentGate)) GameManager.Instance.CurrentGate = null; + Hovering = false; } #endregion diff --git a/Assets/Scripts/Workspace/InputGate.cs b/Assets/Scripts/Workspace/InputGate.cs new file mode 100755 index 0000000..f2b9df2 --- /dev/null +++ b/Assets/Scripts/Workspace/InputGate.cs @@ -0,0 +1,61 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace UntitledLogicGame.Workspace +{ + public class InputGate : Gate + { + #region Unity Properties + + #endregion + + #region Public Properties + + public bool State { get; set; } + + #endregion + + #region Private Properties + + private Anchor OutputAnchor { + get + { + if (_outputAnchor == null) + _outputAnchor = Anchors.First(g => g.Name == "Q"); + return _outputAnchor; + } + } + private Anchor _outputAnchor; + + #endregion + + #region Unity Methods + + private void Start() + { + Utils.RandomName("Input", gameObject); + } + + private void FixedUpdate() + { + if ((Sprite.Hovering || OutputAnchor.Hovering) && PointerManager.Instance.DoubleClick()) + { + State = !State; + OutputAnchor.Activated = State; + } + } + + #endregion + + #region Public Methods + + #endregion + + #region Private Methods + + #endregion + } + +} diff --git a/Assets/Scripts/Workspace/InputGate.cs.meta b/Assets/Scripts/Workspace/InputGate.cs.meta new file mode 100755 index 0000000..3348371 --- /dev/null +++ b/Assets/Scripts/Workspace/InputGate.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8aba9e174e9d3b34685f9f11106848d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Workspace/OutputGate.cs b/Assets/Scripts/Workspace/OutputGate.cs new file mode 100755 index 0000000..d086698 --- /dev/null +++ b/Assets/Scripts/Workspace/OutputGate.cs @@ -0,0 +1,57 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace UntitledLogicGame.Workspace +{ + public class OutputGate : Gate + { + #region Unity Properties + + #endregion + + #region Public Properties + + public bool State { + get + { + return InputAnchor.Activated; + } + } + + #endregion + + #region Private Properties + + private Anchor InputAnchor { + get + { + if (_inputAnchor == null) + _inputAnchor = Anchors.First(g => g.Name == "A"); + return _inputAnchor; + } + } + private Anchor _inputAnchor; + + #endregion + + #region Unity Methods + + private void Start() + { + Utils.RandomName("Output", gameObject); + } + + #endregion + + #region Public Methods + + #endregion + + #region Private Methods + + #endregion + } + +} diff --git a/Assets/Scripts/Workspace/OutputGate.cs.meta b/Assets/Scripts/Workspace/OutputGate.cs.meta new file mode 100755 index 0000000..7be5243 --- /dev/null +++ b/Assets/Scripts/Workspace/OutputGate.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1d1d57c543bd5842917ec7313c7fbe0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TODO.txt b/TODO.txt index d0c405f..16e859d 100755 --- a/TODO.txt +++ b/TODO.txt @@ -1,7 +1,5 @@ TODO -(0) mux/demux --(1) button gates --(1) led gates -(2) named anchors -(3) generic rect gates -(3) state gates