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