diff --git a/Samples/Sample.unity b/Samples/Sample.unity index fbbbae0..0db6ffd 100644 --- a/Samples/Sample.unity +++ b/Samples/Sample.unity @@ -119,6 +119,68 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &13776269 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 13776270} + m_Layer: 0 + m_Name: Point (28) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &13776270 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 13776269} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &13814251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 13814252} + m_Layer: 0 + m_Name: Point (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &13814252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 13814251} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &34092089 GameObject: m_ObjectHideFlags: 0 @@ -446,6 +508,37 @@ Transform: m_Children: [] m_Father: {fileID: 2137543453} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &81666343 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 81666344} + m_Layer: 0 + m_Name: Point (30) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &81666344 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 81666343} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &82819858 GameObject: m_ObjectHideFlags: 0 @@ -563,6 +656,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 107876441} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &110576944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 110576945} + m_Layer: 0 + m_Name: Point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &110576945 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110576944} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &141926650 GameObject: m_ObjectHideFlags: 0 @@ -813,6 +937,99 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 170909420} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &181830927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 181830928} + m_Layer: 0 + m_Name: Point (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &181830928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181830927} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &182645323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 182645324} + m_Layer: 0 + m_Name: Point (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &182645324 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182645323} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &189604380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189604381} + m_Layer: 0 + m_Name: Point (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &189604381 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189604380} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &190783942 GameObject: m_ObjectHideFlags: 0 @@ -844,6 +1061,68 @@ Transform: m_Children: [] m_Father: {fileID: 2137543453} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &196211946 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 196211947} + m_Layer: 0 + m_Name: Point (28) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &196211947 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196211946} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &214039699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 214039700} + m_Layer: 0 + m_Name: Point (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &214039700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 214039699} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &214201429 GameObject: m_ObjectHideFlags: 0 @@ -1098,6 +1377,99 @@ Transform: - {fileID: 82819859} m_Father: {fileID: 700624119} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &279954747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 279954748} + m_Layer: 0 + m_Name: Point (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &279954748 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 279954747} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &289269788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 289269789} + m_Layer: 0 + m_Name: Point (25) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &289269789 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289269788} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &289600335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 289600336} + m_Layer: 0 + m_Name: Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &289600336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289600335} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -11, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &290054995 GameObject: m_ObjectHideFlags: 0 @@ -1352,6 +1724,37 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &303621176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 303621177} + m_Layer: 0 + m_Name: Point (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &303621177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 303621176} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &305467105 GameObject: m_ObjectHideFlags: 0 @@ -1622,6 +2025,7 @@ MonoBehaviour: m_NumColorKeys: 3 m_NumAlphaKeys: 2 GradientMultiplier: 2 + WidthMultiplier: 1 StartLines: - {fileID: 1105319542} - {fileID: 519408642} @@ -1642,7 +2046,6 @@ MonoBehaviour: - {fileID: 1431379132} - {fileID: 1770294771} - {fileID: 769144002} - WidthMultiplier: 1 --- !u!4 &340067742 Transform: m_ObjectHideFlags: 0 @@ -1705,6 +2108,37 @@ Transform: - {fileID: 1592966087} m_Father: {fileID: 1144727111} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &355061453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 355061454} + m_Layer: 0 + m_Name: Point (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &355061454 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355061453} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &360255115 GameObject: m_ObjectHideFlags: 0 @@ -1736,6 +2170,68 @@ Transform: m_Children: [] m_Father: {fileID: 346532958} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &364652630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 364652631} + m_Layer: 0 + m_Name: Point (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &364652631 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 364652630} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &394622562 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 394622563} + m_Layer: 0 + m_Name: Point (29) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &394622563 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 394622562} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &424620078 GameObject: m_ObjectHideFlags: 0 @@ -1865,6 +2361,37 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &476965515 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 476965516} + m_Layer: 0 + m_Name: Point (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &476965516 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 476965515} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &489310581 GameObject: m_ObjectHideFlags: 0 @@ -1896,6 +2423,37 @@ Transform: m_Children: [] m_Father: {fileID: 346532958} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &499527134 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 499527135} + m_Layer: 0 + m_Name: Point (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &499527135 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 499527134} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &509436703 GameObject: m_ObjectHideFlags: 0 @@ -2044,6 +2602,130 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &527048757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 527048758} + m_Layer: 0 + m_Name: Point (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &527048758 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 527048757} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &541431816 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541431817} + m_Layer: 0 + m_Name: Point (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &541431817 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541431816} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &571078685 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 571078686} + m_Layer: 0 + m_Name: Point (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &571078686 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571078685} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &571535356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 571535357} + m_Layer: 0 + m_Name: Point (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &571535357 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571535356} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &578700881 GameObject: m_ObjectHideFlags: 0 @@ -2130,6 +2812,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 578700881} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &588214552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 588214553} + m_Layer: 0 + m_Name: Point (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &588214553 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 588214552} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &607411203 GameObject: m_ObjectHideFlags: 0 @@ -2410,6 +3123,37 @@ Transform: - {fileID: 1325554305} m_Father: {fileID: 1144727111} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &660016666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 660016667} + m_Layer: 0 + m_Name: Point (27) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &660016667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 660016666} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &675678363 GameObject: m_ObjectHideFlags: 0 @@ -2441,6 +3185,37 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &697898489 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 697898490} + m_Layer: 0 + m_Name: Point (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &697898490 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 697898489} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -8, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &700624117 GameObject: m_ObjectHideFlags: 0 @@ -2554,6 +3329,37 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &721881335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 721881336} + m_Layer: 0 + m_Name: Point (30) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &721881336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 721881335} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &734477135 GameObject: m_ObjectHideFlags: 0 @@ -2966,6 +3772,37 @@ Transform: m_Children: [] m_Father: {fileID: 2137543453} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &791185245 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 791185246} + m_Layer: 0 + m_Name: Point (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &791185246 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791185245} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &807642931 GameObject: m_ObjectHideFlags: 0 @@ -3232,6 +4069,37 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &992714424 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 992714425} + m_Layer: 0 + m_Name: Point (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &992714425 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 992714424} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1048642970 GameObject: m_ObjectHideFlags: 0 @@ -3263,6 +4131,68 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1091192060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1091192061} + m_Layer: 0 + m_Name: Point (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1091192061 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091192060} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -8.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1092085209 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1092085210} + m_Layer: 0 + m_Name: Point (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1092085210 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1092085209} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1102617549 GameObject: m_ObjectHideFlags: 0 @@ -3402,6 +4332,99 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1115296734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1115296735} + m_Layer: 0 + m_Name: Point (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1115296735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115296734} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1118944268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118944269} + m_Layer: 0 + m_Name: Point (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1118944269 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118944268} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1137922220 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1137922221} + m_Layer: 0 + m_Name: Point (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1137922221 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1137922220} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1144727109 GameObject: m_ObjectHideFlags: 0 @@ -3495,6 +4518,68 @@ Transform: - {fileID: 346532958} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1162072207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1162072208} + m_Layer: 0 + m_Name: Point (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1162072208 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162072207} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1164493000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1164493001} + m_Layer: 0 + m_Name: Point (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1164493001 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1164493000} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1170244041 GameObject: m_ObjectHideFlags: 0 @@ -3557,6 +4642,37 @@ Transform: m_Children: [] m_Father: {fileID: 234433271} m_LocalEulerAnglesHint: {x: 0, y: 210, z: -15} +--- !u!1 &1204882447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1204882448} + m_Layer: 0 + m_Name: Point (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1204882448 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204882447} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1214899529 GameObject: m_ObjectHideFlags: 0 @@ -3619,6 +4735,37 @@ Transform: m_Children: [] m_Father: {fileID: 241950277} m_LocalEulerAnglesHint: {x: 0, y: -195, z: -15} +--- !u!1 &1266202422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1266202423} + m_Layer: 0 + m_Name: Point (25) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1266202423 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1266202422} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1269882117 GameObject: m_ObjectHideFlags: 0 @@ -3650,6 +4797,37 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1302109927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1302109928} + m_Layer: 0 + m_Name: Point (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1302109928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302109927} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1302158462 GameObject: m_ObjectHideFlags: 0 @@ -3681,6 +4859,37 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1320741258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1320741259} + m_Layer: 0 + m_Name: Point (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1320741259 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320741258} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1325554304 GameObject: m_ObjectHideFlags: 0 @@ -3798,6 +5007,68 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1328819991 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1328819992} + m_Layer: 0 + m_Name: Point (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1328819992 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1328819991} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1340738583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1340738584} + m_Layer: 0 + m_Name: Point (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1340738584 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340738583} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1349340032 GameObject: m_ObjectHideFlags: 0 @@ -3891,6 +5162,179 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1384757751 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1384757752} + m_Layer: 0 + m_Name: Point (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1384757752 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1384757751} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1388354756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1388354758} + - component: {fileID: 1388354757} + m_Layer: 0 + m_Name: LineStrip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1388354757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1388354756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d744ac0aa154f5439d69f59ca1e82d3, type: 3} + m_Name: + m_EditorClassIdentifier: + Color: {r: 0, g: 1, b: 0.8273995, a: 1} + Points: + - {fileID: 1835935953} + - {fileID: 110576945} + - {fileID: 355061454} + - {fileID: 182645324} + - {fileID: 791185246} + - {fileID: 1091192061} + - {fileID: 1952280884} + - {fileID: 571535357} + - {fileID: 1328819992} + - {fileID: 1684676878} + - {fileID: 1838637453} + - {fileID: 571078686} + - {fileID: 1548679009} + - {fileID: 1320741259} + - {fileID: 1118944269} + - {fileID: 1092085210} + - {fileID: 1115296735} + - {fileID: 541431817} + - {fileID: 214039700} + - {fileID: 1164493001} + - {fileID: 189604381} + - {fileID: 499527135} + - {fileID: 1665483939} + - {fileID: 527048758} + - {fileID: 13814252} + - {fileID: 289269789} + - {fileID: 1391838415} + - {fileID: 660016667} + - {fileID: 13776270} + - {fileID: 1453499682} + - {fileID: 81666344} + - {fileID: 1986672917} + IsStrip: 1 +--- !u!4 &1388354758 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1388354756} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1835935953} + - {fileID: 110576945} + - {fileID: 355061454} + - {fileID: 182645324} + - {fileID: 791185246} + - {fileID: 1091192061} + - {fileID: 1952280884} + - {fileID: 571535357} + - {fileID: 1328819992} + - {fileID: 1684676878} + - {fileID: 1838637453} + - {fileID: 571078686} + - {fileID: 1548679009} + - {fileID: 1320741259} + - {fileID: 1118944269} + - {fileID: 1092085210} + - {fileID: 1115296735} + - {fileID: 541431817} + - {fileID: 214039700} + - {fileID: 1164493001} + - {fileID: 189604381} + - {fileID: 499527135} + - {fileID: 1665483939} + - {fileID: 527048758} + - {fileID: 13814252} + - {fileID: 289269789} + - {fileID: 1391838415} + - {fileID: 660016667} + - {fileID: 13776270} + - {fileID: 1453499682} + - {fileID: 81666344} + - {fileID: 1986672917} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1391838414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1391838415} + m_Layer: 0 + m_Name: Point (26) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1391838415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1391838414} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1394279997 GameObject: m_ObjectHideFlags: 0 @@ -3977,6 +5421,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1394279997} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1398403785 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1398403786} + m_Layer: 0 + m_Name: Point (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1398403786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1398403785} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1427822612 GameObject: m_ObjectHideFlags: 0 @@ -4094,6 +5569,37 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1453499681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1453499682} + m_Layer: 0 + m_Name: Point (29) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1453499682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453499681} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1456334049 GameObject: m_ObjectHideFlags: 0 @@ -4156,6 +5662,68 @@ Transform: m_Children: [] m_Father: {fileID: 346532958} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1514333797 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1514333798} + m_Layer: 0 + m_Name: Point (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1514333798 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1514333797} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1526492867 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1526492868} + m_Layer: 0 + m_Name: Point (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1526492868 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1526492867} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1530809161 GameObject: m_ObjectHideFlags: 0 @@ -4242,6 +5810,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1530809161} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1535275532 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1535275533} + m_Layer: 0 + m_Name: Point (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1535275533 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535275532} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1548291219 GameObject: m_ObjectHideFlags: 0 @@ -4328,6 +5927,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1548291219} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1548679008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1548679009} + m_Layer: 0 + m_Name: Point (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1548679009 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548679008} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1563901308 GameObject: m_ObjectHideFlags: 0 @@ -4359,6 +5989,37 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1569941637 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1569941638} + m_Layer: 0 + m_Name: Point (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1569941638 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569941637} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1576807305 GameObject: m_ObjectHideFlags: 0 @@ -4597,6 +6258,192 @@ Transform: m_Children: [] m_Father: {fileID: 234433271} m_LocalEulerAnglesHint: {x: 0, y: 30, z: -15} +--- !u!1 &1653109799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1653109800} + m_Layer: 0 + m_Name: Point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1653109800 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1653109799} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1665483938 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1665483939} + m_Layer: 0 + m_Name: Point (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1665483939 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665483938} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1679889695 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1679889696} + m_Layer: 0 + m_Name: Point (27) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1679889696 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679889695} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1684676877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1684676878} + m_Layer: 0 + m_Name: Point (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1684676878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684676877} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1690733883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1690733884} + m_Layer: 0 + m_Name: Point (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1690733884 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1690733883} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1698856278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1698856279} + m_Layer: 0 + m_Name: Point (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1698856279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698856278} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1724596785 GameObject: m_ObjectHideFlags: 0 @@ -5010,6 +6857,272 @@ Transform: m_Children: [] m_Father: {fileID: 1625911623} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1814793339 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1814793341} + - component: {fileID: 1814793340} + m_Layer: 0 + m_Name: Lines + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1814793340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1814793339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d744ac0aa154f5439d69f59ca1e82d3, type: 3} + m_Name: + m_EditorClassIdentifier: + Color: {r: 0, g: 1, b: 0.8273995, a: 1} + Points: + - {fileID: 289600336} + - {fileID: 1653109800} + - {fileID: 992714425} + - {fileID: 1526492868} + - {fileID: 476965516} + - {fileID: 1912963054} + - {fileID: 697898490} + - {fileID: 1569941638} + - {fileID: 279954748} + - {fileID: 1162072208} + - {fileID: 364652631} + - {fileID: 1514333798} + - {fileID: 303621177} + - {fileID: 1690733884} + - {fileID: 1204882448} + - {fileID: 1535275533} + - {fileID: 1698856279} + - {fileID: 2048603620} + - {fileID: 1398403786} + - {fileID: 181830928} + - {fileID: 1384757752} + - {fileID: 1302109928} + - {fileID: 1137922221} + - {fileID: 588214553} + - {fileID: 1340738584} + - {fileID: 1266202423} + - {fileID: 2004019677} + - {fileID: 1679889696} + - {fileID: 196211947} + - {fileID: 394622563} + - {fileID: 721881336} + - {fileID: 1879310237} + IsStrip: 0 +--- !u!4 &1814793341 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1814793339} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 289600336} + - {fileID: 1653109800} + - {fileID: 992714425} + - {fileID: 1526492868} + - {fileID: 476965516} + - {fileID: 1912963054} + - {fileID: 697898490} + - {fileID: 1569941638} + - {fileID: 279954748} + - {fileID: 1162072208} + - {fileID: 364652631} + - {fileID: 1514333798} + - {fileID: 303621177} + - {fileID: 1690733884} + - {fileID: 1204882448} + - {fileID: 1535275533} + - {fileID: 1698856279} + - {fileID: 2048603620} + - {fileID: 1398403786} + - {fileID: 181830928} + - {fileID: 1384757752} + - {fileID: 1302109928} + - {fileID: 1137922221} + - {fileID: 588214553} + - {fileID: 1340738584} + - {fileID: 1266202423} + - {fileID: 2004019677} + - {fileID: 1679889696} + - {fileID: 196211947} + - {fileID: 394622563} + - {fileID: 721881336} + - {fileID: 1879310237} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1835935952 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1835935953} + m_Layer: 0 + m_Name: Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1835935953 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835935952} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -11, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1838637452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1838637453} + m_Layer: 0 + m_Name: Point (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1838637453 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1838637452} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1879310236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1879310237} + m_Layer: 0 + m_Name: Point (31) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1879310237 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879310236} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1912963053 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1912963054} + m_Layer: 0 + m_Name: Point (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1912963054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912963053} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -8.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1952280883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1952280884} + m_Layer: 0 + m_Name: Point (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1952280884 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1952280883} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -8, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1968074009 GameObject: m_ObjectHideFlags: 0 @@ -5072,6 +7185,68 @@ Transform: m_Children: [] m_Father: {fileID: 346532958} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1986672916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1986672917} + m_Layer: 0 + m_Name: Point (31) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1986672917 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1986672916} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388354758} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2004019676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2004019677} + m_Layer: 0 + m_Name: Point (26) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2004019677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2004019676} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2024424930 GameObject: m_ObjectHideFlags: 0 @@ -5279,6 +7454,37 @@ Transform: m_Children: [] m_Father: {fileID: 162132448} m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &2048603619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2048603620} + m_Layer: 0 + m_Name: Point (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2048603620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2048603619} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: 1, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814793341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2070085915 GameObject: m_ObjectHideFlags: 0 @@ -5504,6 +7710,8 @@ SceneRoots: - {fileID: 298618462} - {fileID: 433143800} - {fileID: 63810063} + - {fileID: 1814793341} + - {fileID: 1388354758} - {fileID: 700624119} - {fileID: 2070085917} - {fileID: 141926652} diff --git a/Samples/Scripts/DebugXSample_LinesList.cs b/Samples/Scripts/DebugXSample_LinesList.cs new file mode 100644 index 0000000..d113e45 --- /dev/null +++ b/Samples/Scripts/DebugXSample_LinesList.cs @@ -0,0 +1,46 @@ +using System; +using UnityEngine; + +namespace DCFApixels.DebugXCore.Samples +{ + [SelectionBase] + public class DebugXSample_LinesList : MonoBehaviour + { + public Color Color; + public Transform[] Points; + public bool IsStrip; + +#if UNITY_EDITOR + private void OnDrawGizmos() + { + Draw(); + } +#else + private void Update() + { + Draw(); + } +#endif + + private Vector3[] _convertedPoints = new Vector3[32]; + private void Draw() + { + if(Points.Length > _convertedPoints.Length) + { + _convertedPoints = new Vector3[Points.Length << 1]; + } + for (int i = 0; i < Points.Length; i++) + { + _convertedPoints[i] = Points[i] == null ? Vector3.zero : Points[i].position; + } + if (IsStrip) + { + DebugX.Draw(Color).LineStrip(_convertedPoints, Points.Length); + } + else + { + DebugX.Draw(Color).Lines(_convertedPoints, Points.Length); + } + } + } +} diff --git a/Samples/Scripts/DebugXSample_LinesList.cs.meta b/Samples/Scripts/DebugXSample_LinesList.cs.meta new file mode 100644 index 0000000..3412d26 --- /dev/null +++ b/Samples/Scripts/DebugXSample_LinesList.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0d744ac0aa154f5439d69f59ca1e82d3 diff --git a/Samples/Scripts/QuasiRandom.cs b/Samples/Scripts/QuasiRandom.cs new file mode 100644 index 0000000..76023e6 --- /dev/null +++ b/Samples/Scripts/QuasiRandom.cs @@ -0,0 +1,1205 @@ +using System; +using System.ComponentModel; +using System.Numerics; +using System.Runtime.CompilerServices; +using System.Runtime.Serialization; +using q32 = System.UInt32; +using q64 = System.UInt64; + +namespace DCFApixels +{ + using IN = MethodImplAttribute; + /// Quasi Random. Use new additive recursive R-sequence. + [Serializable] + [DataContract] + internal partial struct QuasiRandom : IEquatable, IFormattable + { + private const MethodImplOptions LINE = MethodImplOptions.AggressiveInlining; + + #region Consts + private const uint UINT_HIBIT = 0x8000_0000; + + private const q32 Q32_MAX = q32.MaxValue; + private const q64 Q64_MAX = q64.MaxValue; + + private const decimal G1 = 1.6180339887498948482045868383m; + private const q32 X1_Q32 = (q32)(1m / G1 * Q32_MAX) + 1; + private const q64 X1_Q64 = (q64)(1m / G1 * Q64_MAX) + 1; + + private const decimal G2 = 1.3247179572447460259609088563m; + private const q32 X2_Q32 = (q32)(1m / G2 * Q32_MAX) + 1; + private const q32 Y2_Q32 = (q32)(1m / (G2 * G2) * Q32_MAX) + 1; + private const q64 X2_Q64 = (q64)(1m / G2 * Q64_MAX) + 1; + private const q64 Y2_Q64 = (q64)(1m / (G2 * G2) * Q64_MAX) + 1; + + private const decimal G3 = 1.2207440846057594753616853503m; + private const q32 X3_Q32 = (q32)(1m / G3 * Q32_MAX) + 1; + private const q32 Y3_Q32 = (q32)(1m / (G3 * G3) * Q32_MAX) + 1; + private const q32 Z3_Q32 = (q32)(1m / (G3 * G3 * G3) * Q32_MAX) + 1; + private const q64 X3_Q64 = (q64)(1m / G3 * Q64_MAX) + 1; + private const q64 Y3_Q64 = (q64)(1m / (G3 * G3) * Q64_MAX) + 1; + private const q64 Z3_Q64 = (q64)(1m / (G3 * G3 * G3) * Q64_MAX) + 1; + + private const decimal G4 = 1.1673039782614186842560459007m; + private const q32 X4_Q32 = (q32)(1m / G4 * Q32_MAX) + 1; + private const q32 Y4_Q32 = (q32)(1m / (G4 * G4) * Q32_MAX) + 1; + private const q32 Z4_Q32 = (q32)(1m / (G4 * G4 * G4) * Q32_MAX) + 1; + private const q32 W4_Q32 = (q32)(1m / (G4 * G4 * G4 * G4) * Q32_MAX) + 1; + private const q64 X4_Q64 = (q64)(1m / G4 * Q64_MAX) + 1; + private const q64 Y4_Q64 = (q64)(1m / (G4 * G4) * Q64_MAX) + 1; + private const q64 Z4_Q64 = (q64)(1m / (G4 * G4 * G4) * Q64_MAX) + 1; + private const q64 W4_Q64 = (q64)(1m / (G4 * G4 * G4 * G4) * Q64_MAX) + 1; + #endregion + + #region Math + /*----------------------------------------------------------------------------------------------------------------*/ + + [IN(LINE)] private readonly uint GetX1_Q32(uint state) => X1_Q32 * state; + [IN(LINE)] private readonly ulong GetX1_Q64(uint state) => X1_Q64 * state; + + [IN(LINE)] private readonly float GetX1_F(uint state) => Q32ToFloat(GetX1_Q32(state)); + [IN(LINE)] private readonly double GetX1_D(uint state) => Q64ToDouble(GetX1_Q64(state)); + + /*----------------------------------------------------------------------------------------------------------------*/ + + [IN(LINE)] private readonly uint GetX2_Q32(uint state) => X2_Q32 * state; + [IN(LINE)] private readonly uint GetY2_Q32(uint state) => Y2_Q32 * state; + + [IN(LINE)] private readonly ulong GetX2_Q64(uint state) => X2_Q64 * state; + [IN(LINE)] private readonly ulong GetY2_Q64(uint state) => Y2_Q64 * state; + + [IN(LINE)] private readonly float GetX2_F(uint state) => Q32ToFloat(GetX2_Q32(state)); + [IN(LINE)] private readonly float GetY2_F(uint state) => Q32ToFloat(GetY2_Q32(state)); + + [IN(LINE)] private readonly double GetX2_D(uint state) => Q64ToDouble(GetX2_Q64(state)); + [IN(LINE)] private readonly double GetY2_D(uint state) => Q64ToDouble(GetY2_Q64(state)); + + /*----------------------------------------------------------------------------------------------------------------*/ + + [IN(LINE)] private readonly uint GetX3_Q32(uint state) => X3_Q32 * state; + [IN(LINE)] private readonly uint GetY3_Q32(uint state) => Y3_Q32 * state; + [IN(LINE)] private readonly uint GetZ3_Q32(uint state) => Z3_Q32 * state; + + [IN(LINE)] private readonly ulong GetX3_Q64(uint state) => X3_Q64 * state; + [IN(LINE)] private readonly ulong GetY3_Q64(uint state) => Y3_Q64 * state; + [IN(LINE)] private readonly ulong GetZ3_Q64(uint state) => Z3_Q64 * state; + + [IN(LINE)] private readonly float GetX3_F(uint state) => Q32ToFloat(GetX3_Q32(state)); + [IN(LINE)] private readonly float GetY3_F(uint state) => Q32ToFloat(GetY3_Q32(state)); + [IN(LINE)] private readonly float GetZ3_F(uint state) => Q32ToFloat(GetZ3_Q32(state)); + + [IN(LINE)] private readonly double GetX3_D(uint state) => Q64ToDouble(GetX3_Q64(state)); + [IN(LINE)] private readonly double GetY3_D(uint state) => Q64ToDouble(GetY3_Q64(state)); + [IN(LINE)] private readonly double GetZ3_D(uint state) => Q64ToDouble(GetZ3_Q64(state)); + + /*----------------------------------------------------------------------------------------------------------------*/ + + [IN(LINE)] private readonly uint GetX4_Q32(uint state) => X4_Q32 * state; + [IN(LINE)] private readonly uint GetY4_Q32(uint state) => Y4_Q32 * state; + [IN(LINE)] private readonly uint GetZ4_Q32(uint state) => Z4_Q32 * state; + [IN(LINE)] private readonly uint GetW4_Q32(uint state) => W4_Q32 * state; + + [IN(LINE)] private readonly ulong GetX4_Q64(uint state) => X4_Q64 * state; + [IN(LINE)] private readonly ulong GetY4_Q64(uint state) => Y4_Q64 * state; + [IN(LINE)] private readonly ulong GetZ4_Q64(uint state) => Z4_Q64 * state; + [IN(LINE)] private readonly ulong GetW4_Q64(uint state) => W4_Q64 * state; + + [IN(LINE)] private readonly float GetX4_F(uint state) => Q32ToFloat(GetX4_Q32(state)); + [IN(LINE)] private readonly float GetY4_F(uint state) => Q32ToFloat(GetY4_Q32(state)); + [IN(LINE)] private readonly float GetZ4_F(uint state) => Q32ToFloat(GetZ4_Q32(state)); + [IN(LINE)] private readonly float GetW4_F(uint state) => Q32ToFloat(GetW4_Q32(state)); + + [IN(LINE)] private readonly double GetX4_D(uint state) => Q64ToDouble(GetX4_Q64(state)); + [IN(LINE)] private readonly double GetY4_D(uint state) => Q64ToDouble(GetY4_Q64(state)); + [IN(LINE)] private readonly double GetZ4_D(uint state) => Q64ToDouble(GetZ4_Q64(state)); + [IN(LINE)] private readonly double GetW4_D(uint state) => Q64ToDouble(GetW4_Q64(state)); + + /*----------------------------------------------------------------------------------------------------------------*/ + + [IN(LINE)] private static unsafe float AsFloat(uint value) => *(float*)&value; + [IN(LINE)] private static unsafe double AsDouble(ulong value) => *(double*)&value; + + [IN(LINE)] private static float Q32ToFloat(uint value) => AsFloat((value >> 9) | 0x3F80_0000) - 1f; + [IN(LINE)] private static double Q64ToDouble(ulong value) => AsDouble((value >> 12) | 0x7FF0_0000_0000_0000) - 1d; + + [IN(LINE)] private static int Compresse32(uint value, int range) => (int)((value * (ulong)range) >> 32); + [IN(LINE)] private static int Compresse32(uint value, ulong range) => (int)((value * range) >> 32); + [IN(LINE)] private static int Compresse32(uint value, int min, ulong range) => (int)((value * range) >> 32) + min; + + [IN(LINE)] private static uint CompresseU32(uint value, uint range) => (uint)((value * (ulong)range) >> 32); + [IN(LINE)] private static uint CompresseU32(uint value, ulong range) => (uint)((value * range) >> 32); + [IN(LINE)] private static uint CompresseU32(uint value, uint min, ulong range) => (uint)((value * range) >> 32) + min; + + [IN(LINE)] private static long Compresse64(ulong value, long range) => (long)CompresseU64(value, (ulong)range); + [IN(LINE)] private static long Compresse64(ulong value, ulong range) => (long)CompresseU64(value, range); + [IN(LINE)] private static long Compresse64(ulong value, long min, ulong range) => Compresse64(value, range) + min; + + [IN(LINE)] private static ulong CompresseU64(ulong value, ulong min, ulong range) => CompresseU64(value, range) + min; + + [IN(LINE)] + private unsafe static ulong CompresseU64(ulong value, ulong range) + { + const int N = 2; + const int M = 4; + + if (range <= uint.MaxValue && value <= uint.MaxValue) + { + return CompresseU32((uint)value, (uint)range); + } + + + uint* v_bits = (uint*)&value; + uint* r_bits = (uint*)⦥ + + uint* mulInts = stackalloc uint[M]; + + for (int i = 0; i < N; i++) + { + int index = i; + ulong remainder = 0; + + for (int j = 0; j < N; j++) + { + uint yi = r_bits[j]; + remainder = remainder + (ulong)v_bits[i] * yi + mulInts[index]; + mulInts[index++] = (uint)remainder; + remainder = remainder >> 32; + } + + while (remainder != 0) + { + remainder += mulInts[index]; + mulInts[index++] = (uint)remainder; + remainder = remainder >> 32; + } + } + + return (((ulong)mulInts[3]) << 32) + mulInts[2]; + } + + /*----------------------------------------------------------------------------------------------------------------*/ + #endregion + +#if UNITY_5_3_OR_NEWER + [UnityEngine.SerializeField] +#endif + [DataMember] + private uint _state; + + #region Constructors + [IN(LINE)] + public QuasiRandom(int seed) + { + _state = (uint)seed; + } + [IN(LINE)] + public QuasiRandom(uint seed) + { + _state = seed; + } + public static QuasiRandom AutoSeed() + { + uint seed = (uint)DateTime.Now.Ticks; + seed ^= seed << 13; + seed ^= seed >> 17; + seed ^= seed << 5; + return new QuasiRandom(seed); + } + #endregion + + + #region Bool + [IN(LINE)] public bool NextBool() => (GetX1_Q32(++_state) & UINT_HIBIT) > 0; + + [IN(LINE)] + public void NextBool2(out bool x, out bool y) + { + x = (GetX2_Q32(++_state) & UINT_HIBIT) > 0; + y = (GetY2_Q32(_state) & UINT_HIBIT) > 0; + } + [IN(LINE)] + public void NextBool3(out bool x, out bool y, out bool z) + { + x = (GetX3_Q32(++_state) & UINT_HIBIT) > 0; + y = (GetY3_Q32(_state) & UINT_HIBIT) > 0; + z = (GetZ3_Q32(_state) & UINT_HIBIT) > 0; + } + [IN(LINE)] + public void NextBool4(out bool x, out bool y, out bool z, out bool w) + { + x = (GetX4_Q32(++_state) & UINT_HIBIT) > 0; + y = (GetY4_Q32(_state) & UINT_HIBIT) > 0; + z = (GetZ4_Q32(_state) & UINT_HIBIT) > 0; + w = (GetW4_Q32(_state) & UINT_HIBIT) > 0; + } + + [IN(LINE)] + public Bool2 NextBool2() + { + return new Bool2( + (GetX2_Q32(++_state) & UINT_HIBIT) > 0, + (GetY2_Q32(_state) & UINT_HIBIT) > 0); + } + [IN(LINE)] + public Bool3 NextBool3() + { + return new Bool3( + (GetX3_Q32(++_state) & UINT_HIBIT) > 0, + (GetY3_Q32(_state) & UINT_HIBIT) > 0, + (GetZ3_Q32(_state) & UINT_HIBIT) > 0); + } + [IN(LINE)] + public Bool4 NextBool4() + { + return new Bool4( + (GetX4_Q32(++_state) & UINT_HIBIT) > 0, + (GetY4_Q32(_state) & UINT_HIBIT) > 0, + (GetZ4_Q32(_state) & UINT_HIBIT) > 0, + (GetW4_Q32(_state) & UINT_HIBIT) > 0); + } + #endregion + + #region Int + [IN(LINE)] public int NextInt() => (int)(GetX1_Q32(++_state) >> 1); + [IN(LINE)] public int NextInt(int max) => Compresse32(GetX1_Q32(++_state), max); + [IN(LINE)] public int NextInt(int min, int max) => Compresse32(GetX1_Q32(++_state), min, (ulong)(max - min)); + + [IN(LINE)] + public void NextInt2(out int x, out int y) + { + x = (int)(GetX2_Q32(++_state) >> 1); + y = (int)(GetY2_Q32(_state) >> 1); + } + [IN(LINE)] + public void NextInt2(int max, out int x, out int y) + { + x = Compresse32(GetX2_Q32(++_state), max); + y = Compresse32(GetY2_Q32(_state), max); + } + [IN(LINE)] + public void NextInt2(int min, int max, out int x, out int y) + { + ulong range = (ulong)(max - min); + x = Compresse32(GetX2_Q32(++_state), min, range); + y = Compresse32(GetY2_Q32(_state), min, range); + } + + [IN(LINE)] + public void NextInt3(out int x, out int y, out int z) + { + x = (int)(GetX3_Q32(++_state) >> 1); + y = (int)(GetY3_Q32(_state) >> 1); + z = (int)(GetZ3_Q32(_state) >> 1); + } + [IN(LINE)] + public void NextInt3(int max, out int x, out int y, out int z) + { + x = Compresse32(GetX3_Q32(++_state), max); + y = Compresse32(GetY3_Q32(_state), max); + z = Compresse32(GetZ3_Q32(_state), max); + } + [IN(LINE)] + public void NextInt3(int min, int max, out int x, out int y, out int z) + { + ulong range = (ulong)(max - min); + x = Compresse32(GetX3_Q32(++_state), min, range); + y = Compresse32(GetY3_Q32(_state), min, range); + z = Compresse32(GetZ3_Q32(_state), min, range); + } + + [IN(LINE)] + public void NextInt4(out int x, out int y, out int z, out int w) + { + x = (int)(GetX4_Q32(++_state) >> 1); + y = (int)(GetY4_Q32(_state) >> 1); + z = (int)(GetZ4_Q32(_state) >> 1); + w = (int)(GetW4_Q32(_state) >> 1); + } + [IN(LINE)] + public void NextInt4(int max, out int x, out int y, out int z, out int w) + { + x = Compresse32(GetX4_Q32(++_state), max); + y = Compresse32(GetY4_Q32(_state), max); + z = Compresse32(GetZ4_Q32(_state), max); + w = Compresse32(GetW4_Q32(_state), max); + } + [IN(LINE)] + public void NextInt4(int min, int max, out int x, out int y, out int z, out int w) + { + ulong range = (ulong)(max - min); + x = Compresse32(GetX4_Q32(++_state), min, range); + y = Compresse32(GetY4_Q32(_state), min, range); + z = Compresse32(GetZ4_Q32(_state), min, range); + w = Compresse32(GetW4_Q32(_state), min, range); + } + + [IN(LINE)] + public Int2 NextInt2() + { + return new Int2( + (int)(GetX2_Q32(++_state) >> 1), + (int)(GetY2_Q32(_state) >> 1)); + } + [IN(LINE)] + public Int2 NextInt2(int max) + { + return new Int2( + Compresse32(GetX2_Q32(++_state), max), + Compresse32(GetY2_Q32(_state), max)); + } + [IN(LINE)] + public Int2 NextInt2(int min, int max) + { + ulong range = (ulong)(max - min); + return new Int2( + Compresse32(GetX2_Q32(++_state), min, range), + Compresse32(GetY2_Q32(_state), min, range)); + } + + [IN(LINE)] + public Int3 NextInt3() + { + return new Int3( + (int)(GetX3_Q32(++_state) >> 1), + (int)(GetY3_Q32(_state) >> 1), + (int)(GetZ3_Q32(_state) >> 1)); + } + [IN(LINE)] + public Int3 NextInt3(int max) + { + return new Int3( + Compresse32(GetX3_Q32(++_state), max), + Compresse32(GetY3_Q32(_state), max), + Compresse32(GetZ3_Q32(_state), max)); + } + [IN(LINE)] + public Int3 NextInt3(int min, int max) + { + ulong range = (ulong)(max - min); + return new Int3( + Compresse32(GetX3_Q32(++_state), min, range), + Compresse32(GetY3_Q32(_state), min, range), + Compresse32(GetZ3_Q32(_state), min, range)); + } + + [IN(LINE)] + public Int4 NextInt4() + { + return new Int4( + (int)(GetX4_Q32(++_state) >> 1), + (int)(GetY4_Q32(_state) >> 1), + (int)(GetZ4_Q32(_state) >> 1), + (int)(GetW4_Q32(_state) >> 1)); + } + [IN(LINE)] + public Int4 NextInt4(int max) + { + return new Int4( + Compresse32(GetX4_Q32(++_state), max), + Compresse32(GetY4_Q32(_state), max), + Compresse32(GetZ4_Q32(_state), max), + Compresse32(GetW4_Q32(_state), max)); + } + [IN(LINE)] + public Int4 NextInt4(int min, int max) + { + ulong range = (ulong)(max - min); + return new Int4( + Compresse32(GetX4_Q32(++_state), min, range), + Compresse32(GetY4_Q32(_state), min, range), + Compresse32(GetZ4_Q32(_state), min, range), + Compresse32(GetW4_Q32(_state), min, range)); + } + #endregion + + #region UInt + [IN(LINE)] public uint NextUInt() => GetX1_Q32(++_state); + [IN(LINE)] public uint NextUInt(uint max) => CompresseU32(GetX1_Q32(++_state), max); + [IN(LINE)] public uint NextUInt(uint min, uint max) => CompresseU32(GetX1_Q32(++_state), min, max - min); + + [IN(LINE)] + public void NextUInt2(out uint x, out uint y) + { + x = GetX2_Q32(++_state); + y = GetY2_Q32(_state); + } + [IN(LINE)] + public void NextUInt2(uint max, out uint x, out uint y) + { + x = CompresseU32(GetX2_Q32(++_state), max); + y = CompresseU32(GetY2_Q32(_state), max); + } + [IN(LINE)] + public void NextUInt2(uint min, uint max, out uint x, out uint y) + { + ulong range = max - min; + x = CompresseU32(GetX2_Q32(++_state), min, range); + y = CompresseU32(GetY2_Q32(_state), min, range); + } + + [IN(LINE)] + public void NextUInt3(out uint x, out uint y, out uint z) + { + x = GetX3_Q32(++_state); + y = GetY3_Q32(_state); + z = GetZ3_Q32(_state); + } + [IN(LINE)] + public void NextUInt3(uint max, out uint x, out uint y, out uint z) + { + x = CompresseU32(GetX3_Q32(++_state), max); + y = CompresseU32(GetY3_Q32(_state), max); + z = CompresseU32(GetZ3_Q32(_state), max); + } + [IN(LINE)] + public void NextUInt3(uint min, uint max, out uint x, out uint y, out uint z) + { + ulong range = max - min; + x = CompresseU32(GetX3_Q32(++_state), min, range); + y = CompresseU32(GetY3_Q32(_state), min, range); + z = CompresseU32(GetZ3_Q32(_state), min, range); + } + + [IN(LINE)] + public void NextUInt4(out uint x, out uint y, out uint z, out uint w) + { + x = GetX4_Q32(++_state); + y = GetY4_Q32(_state); + z = GetZ4_Q32(_state); + w = GetW4_Q32(_state); + } + [IN(LINE)] + public void NextUInt4(uint max, out uint x, out uint y, out uint z, out uint w) + { + x = CompresseU32(GetX4_Q32(++_state), max); + y = CompresseU32(GetY4_Q32(_state), max); + z = CompresseU32(GetZ4_Q32(_state), max); + w = CompresseU32(GetW4_Q32(_state), max); + } + [IN(LINE)] + public void NextUInt4(uint min, uint max, out uint x, out uint y, out uint z, out uint w) + { + ulong range = (ulong)(max - min); + x = CompresseU32(GetX4_Q32(++_state), min, range); + y = CompresseU32(GetY4_Q32(_state), min, range); + z = CompresseU32(GetZ4_Q32(_state), min, range); + w = CompresseU32(GetW4_Q32(_state), min, range); + } + + [IN(LINE)] + public UInt2 NextUInt2() + { + return new UInt2( + GetX2_Q32(++_state), + GetY2_Q32(_state)); + } + [IN(LINE)] + public UInt2 NextUInt2(uint max) + { + return new UInt2( + CompresseU32(GetX2_Q32(++_state), max), + CompresseU32(GetY2_Q32(_state), max)); + } + [IN(LINE)] + public UInt2 NextUInt2(uint min, uint max) + { + ulong range = max - min; + return new UInt2( + CompresseU32(GetX2_Q32(++_state), min, range), + CompresseU32(GetY2_Q32(_state), min, range)); + } + + [IN(LINE)] + public UInt3 NextUInt3() + { + return new UInt3( + GetX3_Q32(++_state), + GetY3_Q32(_state), + GetZ3_Q32(_state)); + } + [IN(LINE)] + public UInt3 NextUInt3(uint max) + { + return new UInt3( + CompresseU32(GetX3_Q32(++_state), max), + CompresseU32(GetY3_Q32(_state), max), + CompresseU32(GetZ3_Q32(_state), max)); + } + [IN(LINE)] + public UInt3 NextUInt3(uint min, uint max) + { + ulong range = max - min; + return new UInt3( + CompresseU32(GetX3_Q32(++_state), min, range), + CompresseU32(GetY3_Q32(_state), min, range), + CompresseU32(GetZ3_Q32(_state), min, range)); + } + + [IN(LINE)] + public UInt4 NextUInt4() + { + return new UInt4( + GetX4_Q32(++_state), + GetY4_Q32(_state), + GetZ4_Q32(_state), + GetW4_Q32(_state)); + } + [IN(LINE)] + public UInt4 NextUInt4(uint max) + { + return new UInt4( + CompresseU32(GetX4_Q32(++_state), max), + CompresseU32(GetY4_Q32(_state), max), + CompresseU32(GetZ4_Q32(_state), max), + CompresseU32(GetW4_Q32(_state), max)); + } + [IN(LINE)] + public UInt4 NextUInt4(uint min, uint max) + { + ulong range = max - min; + return new UInt4( + CompresseU32(GetX4_Q32(++_state), min, range), + CompresseU32(GetY4_Q32(_state), min, range), + CompresseU32(GetZ4_Q32(_state), min, range), + CompresseU32(GetW4_Q32(_state), min, range)); + } + #endregion + + #region Long + [IN(LINE)] public long NextLong() => (long)(GetX1_Q64(++_state) >> 1); + [IN(LINE)] public long NextLong(long max) => Compresse64(GetX1_Q64(++_state), max); + [IN(LINE)] public long NextLong(long min, long max) => Compresse64(GetX1_Q64(++_state), min, (ulong)(max - min)); + + [IN(LINE)] + public void NextLong2(out long x, out long y) + { + x = (long)(GetX2_Q64(++_state) >> 1); + y = (long)(GetY2_Q64(_state) >> 1); + } + //[IN(LINE)] + public void NextLong2(long max, out long x, out long y) + { + x = Compresse64(GetX2_Q64(++_state), max); + y = Compresse64(GetY2_Q64(_state), max); + } + //[IN(LINE)] + public void NextLong2(long min, long max, out long x, out long y) + { + ulong range = (ulong)(max - min); + x = Compresse64(GetX2_Q64(++_state), min, range); + y = Compresse64(GetY2_Q64(_state), min, range); + } + + [IN(LINE)] + public void NextLong3(out long x, out long y, out long z) + { + x = (long)(GetX3_Q64(++_state) >> 1); + y = (long)(GetY3_Q64(_state) >> 1); + z = (long)(GetZ3_Q64(_state) >> 1); + } + //[IN(LINE)] + public void NextLong3(long max, out long x, out long y, out long z) + { + x = Compresse64(GetX3_Q64(++_state), max); + y = Compresse64(GetY3_Q64(_state), max); + z = Compresse64(GetZ3_Q64(_state), max); + } + //[IN(LINE)] + public void NextLong3(long min, long max, out long x, out long y, out long z) + { + ulong range = (ulong)(max - min); + x = Compresse64(GetX3_Q64(++_state), min, range); + y = Compresse64(GetY3_Q64(_state), min, range); + z = Compresse64(GetZ3_Q64(_state), min, range); + } + + [IN(LINE)] + public void NextLong4(out long x, out long y, out long z, out long w) + { + x = (long)(GetX4_Q64(++_state) >> 1); + y = (long)(GetY4_Q64(_state) >> 1); + z = (long)(GetZ4_Q64(_state) >> 1); + w = (long)(GetW4_Q64(_state) >> 1); + } + //[IN(LINE)] + public void NextLong4(long max, out long x, out long y, out long z, out long w) + { + x = Compresse64(GetX4_Q64(++_state), max); + y = Compresse64(GetY4_Q64(_state), max); + z = Compresse64(GetZ4_Q64(_state), max); + w = Compresse64(GetW4_Q64(_state), max); + } + //[IN(LINE)] + public void NextLong4(long min, long max, out long x, out long y, out long z, out long w) + { + ulong range = (ulong)(max - min); + x = Compresse64(GetX4_Q64(++_state), min, range); + y = Compresse64(GetY4_Q64(_state), min, range); + z = Compresse64(GetZ4_Q64(_state), min, range); + w = Compresse64(GetW4_Q64(_state), min, range); + } + + [IN(LINE)] + public Long2 NextLong2() + { + return new Long2( + (long)(GetX2_Q64(++_state) >> 1), + (long)(GetY2_Q64(_state) >> 1)); + } + //[IN(LINE)] + public Long2 NextLong2(long max) + { + return new Long2( + Compresse64(GetX2_Q64(++_state), max), + Compresse64(GetY2_Q64(_state), max)); + } + //[IN(LINE)] + public Long2 NextLong2(long min, long max) + { + ulong range = (ulong)(max - min); + return new Long2( + Compresse64(GetX2_Q64(++_state), min, range), + Compresse64(GetY2_Q64(_state), min, range)); + } + + [IN(LINE)] + public Long3 NextLong3() + { + return new Long3( + (long)(GetX3_Q64(++_state) >> 1), + (long)(GetY3_Q64(_state) >> 1), + (long)(GetZ3_Q64(_state) >> 1)); + } + //[IN(LINE)] + public Long3 NextLong3(long max) + { + return new Long3( + Compresse64(GetX3_Q64(++_state), max), + Compresse64(GetY3_Q64(_state), max), + Compresse64(GetZ3_Q64(_state), max)); + } + //[IN(LINE)] + public Long3 NextLong3(long min, long max) + { + ulong range = (ulong)(max - min); + return new Long3( + Compresse64(GetX3_Q64(++_state), min, range), + Compresse64(GetY3_Q64(_state), min, range), + Compresse64(GetZ3_Q64(_state), min, range)); + } + + [IN(LINE)] + public Long4 NextLong4() + { + return new Long4( + (long)(GetX4_Q64(++_state) >> 1), + (long)(GetY4_Q64(_state) >> 1), + (long)(GetZ4_Q64(_state) >> 1), + (long)(GetW4_Q64(_state) >> 1)); + } + //[IN(LINE)] + public Long4 NextLong4(long max) + { + return new Long4( + Compresse64(GetX4_Q64(++_state), max), + Compresse64(GetY4_Q64(_state), max), + Compresse64(GetZ4_Q64(_state), max), + Compresse64(GetW4_Q64(_state), max)); + } + //[IN(LINE)] + public Long4 NextLong4(long min, long max) + { + ulong range = (ulong)(max - min); + return new Long4( + Compresse64(GetX4_Q64(++_state), min, range), + Compresse64(GetY4_Q64(_state), min, range), + Compresse64(GetZ4_Q64(_state), min, range), + Compresse64(GetW4_Q64(_state), min, range)); + } + #endregion + + #region ULong + [IN(LINE)] public ulong NextULong() => GetX1_Q64(++_state); + [IN(LINE)] public ulong NextULong(ulong max) => CompresseU64(GetX1_Q64(++_state), max); + [IN(LINE)] public ulong NextULong(ulong min, ulong max) => CompresseU64(GetX1_Q64(++_state), min, max - min); + + [IN(LINE)] + public void NextULong2(out ulong x, out ulong y) + { + x = GetX2_Q64(++_state); + y = GetY2_Q64(_state); + } + //[IN(LINE)] + public void NextLong2(ulong max, out ulong x, out ulong y) + { + x = CompresseU64(GetX2_Q64(++_state), max); + y = CompresseU64(GetY2_Q64(_state), max); + } + //[IN(LINE)] + public void NextLong2(ulong min, ulong max, out ulong x, out ulong y) + { + ulong range = max - min; + x = CompresseU64(GetX2_Q64(++_state), min, range); + y = CompresseU64(GetY2_Q64(_state), min, range); + } + + [IN(LINE)] + public void NextULong3(out ulong x, out ulong y, out ulong z) + { + x = GetX3_Q64(++_state); + y = GetY3_Q64(_state); + z = GetZ3_Q64(_state); + } + //[IN(LINE)] + public void NextLong3(ulong max, out ulong x, out ulong y, out ulong z) + { + x = CompresseU64(GetX3_Q64(++_state), max); + y = CompresseU64(GetY3_Q64(_state), max); + z = CompresseU64(GetZ3_Q64(_state), max); + } + //[IN(LINE)] + public void NextLong3(ulong min, ulong max, out ulong x, out ulong y, out ulong z) + { + ulong range = max - min; + x = CompresseU64(GetX3_Q64(++_state), min, range); + y = CompresseU64(GetY3_Q64(_state), min, range); + z = CompresseU64(GetZ3_Q64(_state), min, range); + } + + [IN(LINE)] + public void NextULong4(out ulong x, out ulong y, out ulong z, out ulong w) + { + x = GetX4_Q64(++_state); + y = GetY4_Q64(_state); + z = GetZ4_Q64(_state); + w = GetW4_Q64(_state); + } + //[IN(LINE)] + public void NextULong4(ulong max, out ulong x, out ulong y, out ulong z, out ulong w) + { + x = CompresseU64(GetX4_Q64(++_state), max); + y = CompresseU64(GetY4_Q64(_state), max); + z = CompresseU64(GetZ4_Q64(_state), max); + w = CompresseU64(GetW4_Q64(_state), max); + } + //[IN(LINE)] + public void NextULong4(ulong min, ulong max, out ulong x, out ulong y, out ulong z, out ulong w) + { + ulong range = max - min; + x = CompresseU64(GetX4_Q64(++_state), min, range); + y = CompresseU64(GetY4_Q64(_state), min, range); + z = CompresseU64(GetZ4_Q64(_state), min, range); + w = CompresseU64(GetW4_Q64(_state), min, range); + } + + [IN(LINE)] + public ULong2 NextULong2() + { + return new ULong2( + GetX2_Q64(++_state), + GetY2_Q64(_state)); + } + //[IN(LINE)] + public ULong2 NextULong2(ulong max) + { + return new ULong2( + CompresseU64(GetX2_Q64(++_state), max), + CompresseU64(GetY2_Q64(_state), max)); + } + //[IN(LINE)] + public ULong2 NextULong2(ulong min, ulong max) + { + ulong range = (ulong)(max - min); + return new ULong2( + CompresseU64(GetX2_Q64(++_state), min, range), + CompresseU64(GetY2_Q64(_state), min, range)); + } + + [IN(LINE)] + public ULong3 NextULong3() + { + return new ULong3( + GetX3_Q64(++_state), + GetY3_Q64(_state), + GetZ3_Q64(_state)); + } + //[IN(LINE)] + public ULong3 NextULong3(ulong max) + { + return new ULong3( + CompresseU64(GetX3_Q64(++_state), max), + CompresseU64(GetY3_Q64(_state), max), + CompresseU64(GetZ3_Q64(_state), max)); + } + //[IN(LINE)] + public ULong3 NextULong3(ulong min, ulong max) + { + ulong range = (ulong)(max - min); + return new ULong3( + CompresseU64(GetX3_Q64(++_state), min, range), + CompresseU64(GetY3_Q64(_state), min, range), + CompresseU64(GetZ3_Q64(_state), min, range)); + } + + [IN(LINE)] + public ULong4 NextULong4() + { + return new ULong4( + GetX4_Q64(++_state), + GetY4_Q64(_state), + GetZ4_Q64(_state), + GetW4_Q64(_state)); + } + //[IN(LINE)] + public ULong4 NextULong4(ulong max) + { + return new ULong4( + CompresseU64(GetX4_Q64(++_state), max), + CompresseU64(GetY4_Q64(_state), max), + CompresseU64(GetZ4_Q64(_state), max), + CompresseU64(GetW4_Q64(_state), max)); + } + //[IN(LINE)] + public ULong4 NextULong4(ulong min, ulong max) + { + ulong range = (ulong)(max - min); + return new ULong4( + CompresseU64(GetX4_Q64(++_state), min, range), + CompresseU64(GetY4_Q64(_state), min, range), + CompresseU64(GetZ4_Q64(_state), min, range), + CompresseU64(GetW4_Q64(_state), min, range)); + } + #endregion + + #region Float + [IN(LINE)] public float NextFloat() => GetX1_F(++_state); + + [IN(LINE)] + public void NextFloat2(out float x, out float y) + { + x = GetX2_F(++_state); + y = GetY2_F(_state); + } + [IN(LINE)] + public void NextFloat3(out float x, out float y, out float z) + { + x = GetX3_F(++_state); + y = GetY3_F(_state); + z = GetZ3_F(_state); + } + [IN(LINE)] + public void NextFloat4(out float x, out float y, out float z, out float w) + { + x = GetX4_F(++_state); + y = GetY4_F(_state); + z = GetZ4_F(_state); + w = GetW4_F(_state); + } + + [IN(LINE)] + public Float2 NextFloat2() + { + return new Float2( + GetX2_F(++_state), + GetY2_F(_state)); + } + [IN(LINE)] + public Float3 NextFloat3() + { + return new Float3( + GetX3_F(++_state), + GetY3_F(_state), + GetZ3_F(_state)); + } + [IN(LINE)] + public Float4 NextFloat4() + { + return new Float4( + GetX4_F(++_state), + GetY4_F(_state), + GetZ4_F(_state), + GetW4_F(_state)); + } + #endregion + + #region Double + [IN(LINE)] + public double NextDouble() => GetX1_D(++_state); + + [IN(LINE)] + public void NextDouble2(out double x, out double y) + { + x = GetX2_D(++_state); + y = GetY2_D(_state); + } + [IN(LINE)] + public void NextDouble3(out double x, out double y, out double z) + { + x = GetX3_D(++_state); + y = GetY3_D(_state); + z = GetZ3_D(_state); + } + [IN(LINE)] + public void NextDouble4(out double x, out double y, out double z, out double w) + { + x = GetX4_D(++_state); + y = GetY4_D(_state); + z = GetZ4_D(_state); + w = GetW4_D(_state); + } + + [IN(LINE)] + public Double2 NextDouble2() + { + return new Double2( + GetX2_D(++_state), + GetY2_D(_state)); + } + [IN(LINE)] + public Double3 NextDouble3() + { + return new Double3( + GetX3_D(++_state), + GetY3_D(_state), + GetZ3_D(_state)); + } + [IN(LINE)] + public Double4 NextDouble4() + { + return new Double4( + GetX4_D(++_state), + GetY4_D(_state), + GetZ4_D(_state), + GetW4_D(_state)); + } + #endregion + + + #region State + public uint GetState() => _state; + public uint SetState(int state) => _state = (uint)state; + public uint SetState(uint state) => _state = state; + #endregion + + #region Other + [IN(LINE)] + public override bool Equals(object o) => o is QuasiRandom target && Equals(target); + [IN(LINE)] + public bool Equals(QuasiRandom a) => a._state == _state; + + [IN(LINE)] + public override int GetHashCode() => (int)_state; + + [IN(LINE)] + public override string ToString() => $"{nameof(QuasiRandom)}({_state})"; + [IN(LINE)] + public string ToString(string format, IFormatProvider formatProvider) + { + return $"{nameof(QuasiRandom)}({_state.ToString(format, formatProvider)})"; + } + + [IN(LINE)] + public static bool operator ==(QuasiRandom a, QuasiRandom b) => a._state == b._state; + [IN(LINE)] + public static bool operator !=(QuasiRandom a, QuasiRandom b) => a._state != b._state; + #endregion + + #region Vectors + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Bool2 + { + public bool X, Y; + [IN(LINE)] public Bool2(bool x, bool y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out bool x, out bool y) { x = X; y = Y; } + [IN(LINE)] public static explicit operator Vector2(Bool2 a) => new Vector2(a.X ? 1 : 0, a.Y ? 1 : 0); + [IN(LINE)] public static explicit operator Vector3(Bool2 a) => new Vector3(a.X ? 1 : 0, a.Y ? 1 : 0, 0); + [IN(LINE)] public static explicit operator Vector4(Bool2 a) => new Vector4(a.X ? 1 : 0, a.Y ? 1 : 0, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Bool3 + { + public bool X, Y, Z; + [IN(LINE)] public Bool3(bool x, bool y, bool z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out bool x, out bool y, out bool z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static explicit operator Vector3(Bool3 a) => new Vector3(a.X ? 1 : 0, a.Y ? 1 : 0, a.Z ? 1 : 0); + [IN(LINE)] public static explicit operator Vector4(Bool3 a) => new Vector4(a.X ? 1 : 0, a.Y ? 1 : 0, a.Z ? 1 : 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Bool4 + { + public bool X, Y, Z, W; + [IN(LINE)] public Bool4(bool x, bool y, bool z, bool w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out bool x, out bool y, out bool z, out bool w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static explicit operator Vector4(Bool4 a) => new Vector4(a.X ? 1f : 0f, a.Y ? 1f : 0f, a.Z ? 1f : 0f, a.W ? 1f : 0f); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Float2 + { + public float X, Y; + [IN(LINE)] public Float2(float x, float y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out float x, out float y) { x = X; y = Y; } + [IN(LINE)] public static implicit operator Vector2(Float2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3(Float2 a) => new Vector3(a.X, a.Y, 0); + [IN(LINE)] public static implicit operator Vector4(Float2 a) => new Vector4(a.X, a.Y, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Float3 + { + public float X, Y, Z; + [IN(LINE)] public Float3(float x, float y, float z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out float x, out float y, out float z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static implicit operator Vector3(Float3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector4(Float3 a) => new Vector4(a.X, a.Y, a.Z, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Float4 + { + public float X, Y, Z, W; + [IN(LINE)] public Float4(float x, float y, float z, float w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out float x, out float y, out float z, out float w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static implicit operator Vector4(Float4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Double2 + { + public double X, Y; + [IN(LINE)] public Double2(double x, double y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out double x, out double y) { x = X; y = Y; } + [IN(LINE)] public static explicit operator Vector2(Double2 a) => new Vector2((float)a.X, (float)a.Y); + [IN(LINE)] public static explicit operator Vector3(Double2 a) => new Vector3((float)a.X, (float)a.Y, 0); + [IN(LINE)] public static explicit operator Vector4(Double2 a) => new Vector4((float)a.X, (float)a.Y, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Double3 + { + public double X, Y, Z; + [IN(LINE)] public Double3(double x, double y, double z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out double x, out double y, out double z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static explicit operator Vector3(Double3 a) => new Vector3((float)a.X, (float)a.Y, (float)a.Z); + [IN(LINE)] public static explicit operator Vector4(Double3 a) => new Vector4((float)a.X, (float)a.Y, (float)a.Z, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Double4 + { + public double X, Y, Z, W; + [IN(LINE)] public Double4(double x, double y, double z, double w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out double x, out double y, out double z, out double w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static explicit operator Vector4(Double4 a) => new Vector4((float)a.X, (float)a.Y, (float)a.Z, (float)a.W); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Int2 + { + public int X, Y; + [IN(LINE)] public Int2(int x, int y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out int x, out int y) { x = X; y = Y; } + [IN(LINE)] public static implicit operator Vector2(Int2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3(Int2 a) => new Vector3(a.X, a.Y, 0); + [IN(LINE)] public static implicit operator Vector4(Int2 a) => new Vector4(a.X, a.Y, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Int3 + { + public int X, Y, Z; + [IN(LINE)] public Int3(int x, int y, int z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out int x, out int y, out int z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static implicit operator Vector3(Int3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector4(Int3 a) => new Vector4(a.X, a.Y, a.Z, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Int4 + { + public int X, Y, Z, W; + [IN(LINE)] public Int4(int x, int y, int z, int w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out int x, out int y, out int z, out int w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static implicit operator Vector4(Int4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct UInt2 + { + public uint X, Y; + [IN(LINE)] public UInt2(uint x, uint y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out uint x, out uint y) { x = X; y = Y; } + [IN(LINE)] public static implicit operator Vector2(UInt2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3(UInt2 a) => new Vector3(a.X, a.Y, 0); + [IN(LINE)] public static implicit operator Vector4(UInt2 a) => new Vector4(a.X, a.Y, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct UInt3 + { + public uint X, Y, Z; + [IN(LINE)] public UInt3(uint x, uint y, uint z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out uint x, out uint y, out uint z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static implicit operator Vector3(UInt3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector4(UInt3 a) => new Vector4(a.X, a.Y, a.Z, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct UInt4 + { + public uint X, Y, Z, W; + [IN(LINE)] public UInt4(uint x, uint y, uint z, uint w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out uint x, out uint y, out uint z, out uint w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static implicit operator Vector4(UInt4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Long2 + { + public long X, Y; + [IN(LINE)] public Long2(long x, long y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out long x, out long y) { x = X; y = Y; } + [IN(LINE)] public static implicit operator Vector2(Long2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3(Long2 a) => new Vector3(a.X, a.Y, 0); + [IN(LINE)] public static implicit operator Vector4(Long2 a) => new Vector4(a.X, a.Y, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Long3 + { + public long X, Y, Z; + [IN(LINE)] public Long3(long x, long y, long z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out long x, out long y, out long z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static implicit operator Vector3(Long3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector4(Long3 a) => new Vector4(a.X, a.Y, a.Z, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct Long4 + { + public long X, Y, Z, W; + [IN(LINE)] public Long4(long x, long y, long z, long w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out long x, out long y, out long z, out long w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static implicit operator Vector4(Long4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct ULong2 + { + public ulong X, Y; + [IN(LINE)] public ULong2(ulong x, ulong y) { X = x; Y = y; } + [IN(LINE)] public void Deconstruct(out ulong x, out ulong y) { x = X; y = Y; } + [IN(LINE)] public static implicit operator Vector2(ULong2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3(ULong2 a) => new Vector3(a.X, a.Y, 0); + [IN(LINE)] public static implicit operator Vector4(ULong2 a) => new Vector4(a.X, a.Y, 0, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct ULong3 + { + public ulong X, Y, Z; + [IN(LINE)] public ULong3(ulong x, ulong y, ulong z) { X = x; Y = y; Z = z; } + [IN(LINE)] public void Deconstruct(out ulong x, out ulong y, out ulong z) { x = X; y = Y; z = Z; } + [IN(LINE)] public static implicit operator Vector3(ULong3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector4(ULong3 a) => new Vector4(a.X, a.Y, a.Z, 0); + } + [EditorBrowsable(EditorBrowsableState.Never)] + public partial struct ULong4 + { + public ulong X, Y, Z, W; + [IN(LINE)] public ULong4(ulong x, ulong y, ulong z, ulong w) { X = x; Y = y; Z = z; W = w; } + [IN(LINE)] public void Deconstruct(out ulong x, out ulong y, out ulong z, out ulong w) { x = X; y = Y; z = Z; w = W; } + [IN(LINE)] public static implicit operator Vector4(ULong4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + #endregion + } +} \ No newline at end of file diff --git a/Samples/Scripts/QuasiRandom.cs.meta b/Samples/Scripts/QuasiRandom.cs.meta new file mode 100644 index 0000000..53c9d6e --- /dev/null +++ b/Samples/Scripts/QuasiRandom.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7e15f57fd3f0e3f40b1c1da4ccc65703 \ No newline at end of file diff --git a/Samples/Scripts/QuasiRandom.unity.cs b/Samples/Scripts/QuasiRandom.unity.cs new file mode 100644 index 0000000..f3177de --- /dev/null +++ b/Samples/Scripts/QuasiRandom.unity.cs @@ -0,0 +1,147 @@ +#if UNITY_5_3_OR_NEWER +using System.Runtime.CompilerServices; +using UnityEngine; + +namespace DCFApixels +{ + using IN = MethodImplAttribute; + + internal partial struct QuasiRandom + { + #region Vectors + public partial struct Bool2 + { + [IN(LINE)] public static explicit operator Vector2(Bool2 a) => new Vector2(a.X ? 1f : 0f, a.Y ? 1f : 0f); + [IN(LINE)] public static explicit operator Vector3(Bool2 a) => new Vector3(a.X ? 1f : 0f, a.Y ? 1f : 0f); + [IN(LINE)] public static explicit operator Vector4(Bool2 a) => new Vector4(a.X ? 1f : 0f, a.Y ? 1f : 0f); + [IN(LINE)] public static explicit operator Vector2Int(Bool2 a) => new Vector2Int(a.X ? 1 : 0, a.Y ? 1 : 0); + [IN(LINE)] public static explicit operator Vector3Int(Bool2 a) => new Vector3Int(a.X ? 1 : 0, a.Y ? 1 : 0); + } + public partial struct Bool3 + { + [IN(LINE)] public static explicit operator Vector3(Bool3 a) => new Vector3(a.X ? 1f : 0f, a.Y ? 1f : 0f, a.Z ? 1f : 0f); + [IN(LINE)] public static explicit operator Vector4(Bool3 a) => new Vector4(a.X ? 1f : 0f, a.Y ? 1f : 0f, a.Z ? 1f : 0f); + [IN(LINE)] public static explicit operator Vector3Int(Bool3 a) => new Vector3Int(a.X ? 1 : 0, a.Y ? 1 : 0, a.Z ? 1 : 0); + } + public partial struct Bool4 + { + [IN(LINE)] public static explicit operator Vector4(Bool4 a) => new Vector4(a.X ? 1f : 0f, a.Y ? 1f : 0f, a.Z ? 1f : 0f, a.W ? 1f : 0f); + } + + public partial struct Float2 + { + [IN(LINE)] public static implicit operator Vector2(Float2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3(Float2 a) => new Vector3(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector4(Float2 a) => new Vector4(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector2Int(Float2 a) => new Vector2Int((int)a.X, (int)a.Y); + [IN(LINE)] public static explicit operator Vector3Int(Float2 a) => new Vector3Int((int)a.X, (int)a.Y); + } + public partial struct Float3 + { + [IN(LINE)] public static implicit operator Vector3(Float3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector4(Float3 a) => new Vector4(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector3Int(Float3 a) => new Vector3Int((int)a.X, (int)a.Y, (int)a.Z); + } + public partial struct Float4 + { + [IN(LINE)] public static implicit operator Vector4(Float4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + public partial struct Double2 + { + [IN(LINE)] public static explicit operator Vector2(Double2 a) => new Vector2((float)a.X, (float)a.Y); + [IN(LINE)] public static explicit operator Vector3(Double2 a) => new Vector3((float)a.X, (float)a.Y); + [IN(LINE)] public static explicit operator Vector4(Double2 a) => new Vector4((float)a.X, (float)a.Y); + [IN(LINE)] public static explicit operator Vector2Int(Double2 a) => new Vector2Int((int)a.X, (int)a.Y); + [IN(LINE)] public static explicit operator Vector3Int(Double2 a) => new Vector3Int((int)a.X, (int)a.Y); + } + public partial struct Double3 + { + [IN(LINE)] public static explicit operator Vector3(Double3 a) => new Vector3((float)a.X, (float)a.Y, (float)a.Z); + [IN(LINE)] public static explicit operator Vector4(Double3 a) => new Vector4((float)a.X, (float)a.Y, (float)a.Z); + [IN(LINE)] public static explicit operator Vector3Int(Double3 a) => new Vector3Int((int)a.X, (int)a.Y, (int)a.Z); + } + public partial struct Double4 + { + [IN(LINE)] public static explicit operator Vector4(Double4 a) => new Vector4((float)a.X, (float)a.Y, (float)a.Z, (float)a.W); + } + + public partial struct Int2 + { + [IN(LINE)] public static explicit operator Vector2(Int2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector3(Int2 a) => new Vector3(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector4(Int2 a) => new Vector4(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector2Int(Int2 a) => new Vector2Int(a.X, a.Y); + [IN(LINE)] public static implicit operator Vector3Int(Int2 a) => new Vector3Int(a.X, a.Y); + } + public partial struct Int3 + { + [IN(LINE)] public static explicit operator Vector3(Int3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector4(Int3 a) => new Vector4(a.X, a.Y, a.Z); + [IN(LINE)] public static implicit operator Vector3Int(Int3 a) => new Vector3Int(a.X, a.Y, a.Z); + } + public partial struct Int4 + { + [IN(LINE)] public static implicit operator Vector4(Int4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + public partial struct UInt2 + { + [IN(LINE)] public static explicit operator Vector2(UInt2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector3(UInt2 a) => new Vector3(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector4(UInt2 a) => new Vector4(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector2Int(UInt2 a) => new Vector2Int((int)a.X, (int)a.Y); + [IN(LINE)] public static explicit operator Vector3Int(UInt2 a) => new Vector3Int((int)a.X, (int)a.Y); + } + public partial struct UInt3 + { + [IN(LINE)] public static explicit operator Vector3(UInt3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector4(UInt3 a) => new Vector4(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector3Int(UInt3 a) => new Vector3Int((int)a.X, (int)a.Y, (int)a.Z); + } + public partial struct UInt4 + { + [IN(LINE)] public static implicit operator Vector4(UInt4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + public partial struct Long2 + { + [IN(LINE)] public static explicit operator Vector2(Long2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector3(Long2 a) => new Vector3(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector4(Long2 a) => new Vector4(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector2Int(Long2 a) => new Vector2Int((int)a.X, (int)a.Y); + [IN(LINE)] public static explicit operator Vector3Int(Long2 a) => new Vector3Int((int)a.X, (int)a.Y); + } + public partial struct Long3 + { + [IN(LINE)] public static explicit operator Vector3(Long3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector4(Long3 a) => new Vector4(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector3Int(Long3 a) => new Vector3Int((int)a.X, (int)a.Y, (int)a.Z); + } + public partial struct Long4 + { + [IN(LINE)] public static explicit operator Vector4(Long4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + + public partial struct ULong2 + { + [IN(LINE)] public static explicit operator Vector2(ULong2 a) => new Vector2(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector3(ULong2 a) => new Vector3(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector4(ULong2 a) => new Vector4(a.X, a.Y); + [IN(LINE)] public static explicit operator Vector2Int(ULong2 a) => new Vector2Int((int)a.X, (int)a.Y); + [IN(LINE)] public static explicit operator Vector3Int(ULong2 a) => new Vector3Int((int)a.X, (int)a.Y); + } + public partial struct ULong3 + { + [IN(LINE)] public static explicit operator Vector3(ULong3 a) => new Vector3(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector4(ULong3 a) => new Vector4(a.X, a.Y, a.Z); + [IN(LINE)] public static explicit operator Vector3Int(ULong3 a) => new Vector3Int((int)a.X, (int)a.Y, (int)a.Z); + } + public partial struct ULong4 + { + [IN(LINE)] public static explicit operator Vector4(ULong4 a) => new Vector4(a.X, a.Y, a.Z, a.W); + } + #endregion + } +} +#endif \ No newline at end of file diff --git a/Samples/Scripts/QuasiRandom.unity.cs.meta b/Samples/Scripts/QuasiRandom.unity.cs.meta new file mode 100644 index 0000000..ffd30a3 --- /dev/null +++ b/Samples/Scripts/QuasiRandom.unity.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8d8c807b31d3eea4aa2f0ace139b7157 \ No newline at end of file