From 177cb98897328bc6ea35f7c0a1eadf6cf8e4c77e Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 3 Jan 2023 12:58:12 -0500 Subject: [PATCH] added clouds --- unity/Assets/Prefabs.meta | 8 + unity/Assets/Prefabs/Cloud.prefab | 138 ++++++++++ unity/Assets/Prefabs/Cloud.prefab.meta | 7 + unity/Assets/Scenes/SampleScene.unity | 252 +++++++++++++++++- unity/Assets/Scripts.meta | 8 + unity/Assets/Scripts/Cloud.cs | 19 ++ unity/Assets/Scripts/Cloud.cs.meta | 11 + unity/Assets/{ => Scripts}/DragonMovement.cs | 21 ++ .../{ => Scripts}/DragonMovement.cs.meta | 0 unity/Assets/{ => Scripts}/Wraparound.cs | 15 ++ unity/Assets/{ => Scripts}/Wraparound.cs.meta | 0 unity/Assets/Sprites/cloud.png | Bin 0 -> 29593 bytes unity/Assets/Sprites/cloud.png.meta | 108 ++++++++ 13 files changed, 584 insertions(+), 3 deletions(-) create mode 100644 unity/Assets/Prefabs.meta create mode 100644 unity/Assets/Prefabs/Cloud.prefab create mode 100644 unity/Assets/Prefabs/Cloud.prefab.meta create mode 100644 unity/Assets/Scripts.meta create mode 100644 unity/Assets/Scripts/Cloud.cs create mode 100644 unity/Assets/Scripts/Cloud.cs.meta rename unity/Assets/{ => Scripts}/DragonMovement.cs (59%) rename unity/Assets/{ => Scripts}/DragonMovement.cs.meta (100%) rename unity/Assets/{ => Scripts}/Wraparound.cs (55%) rename unity/Assets/{ => Scripts}/Wraparound.cs.meta (100%) create mode 100644 unity/Assets/Sprites/cloud.png create mode 100644 unity/Assets/Sprites/cloud.png.meta diff --git a/unity/Assets/Prefabs.meta b/unity/Assets/Prefabs.meta new file mode 100644 index 0000000..9db2722 --- /dev/null +++ b/unity/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 256a3206a82fe924fb985e6db90d58f1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Prefabs/Cloud.prefab b/unity/Assets/Prefabs/Cloud.prefab new file mode 100644 index 0000000..36a03cb --- /dev/null +++ b/unity/Assets/Prefabs/Cloud.prefab @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8093627333698608799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8093627333698608787} + - component: {fileID: 8093627333698608786} + - component: {fileID: 8093627333698608785} + - component: {fileID: 8093627333698608784} + - component: {fileID: 8093627333698608788} + m_Layer: 0 + m_Name: Cloud + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8093627333698608787 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8093627333698608799} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 704, y: 936, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8093627333698608786 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8093627333698608799} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 2405928e5513caf448a79082add2204a, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 763, y: 328} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &8093627333698608785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8093627333698608799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f85dc4bb405207e44bfe557775714307, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &8093627333698608784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8093627333698608799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01a6f95bf180a2a45b1686ea222e1c17, type: 3} + m_Name: + m_EditorClassIdentifier: + _justVertical: 0 +--- !u!61 &8093627333698608788 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8093627333698608799} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: -16.5} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 254.33333, y: 109.333336} + newSize: {x: 763, y: 328} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 254.33333, y: 50.28} + m_EdgeRadius: 0 diff --git a/unity/Assets/Prefabs/Cloud.prefab.meta b/unity/Assets/Prefabs/Cloud.prefab.meta new file mode 100644 index 0000000..cde534e --- /dev/null +++ b/unity/Assets/Prefabs/Cloud.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 222963b5f45b20141bf7dd413f3342cd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Scenes/SampleScene.unity b/unity/Assets/Scenes/SampleScene.unity index 7b60faf..4d97198 100644 --- a/unity/Assets/Scenes/SampleScene.unity +++ b/unity/Assets/Scenes/SampleScene.unity @@ -123,6 +123,63 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1001 &440407123 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.x + value: 403 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.y + value: 406 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608799, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_Name + value: Cloud (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} --- !u!1 &480143053 GameObject: m_ObjectHideFlags: 0 @@ -137,6 +194,7 @@ GameObject: - component: {fileID: 480143058} - component: {fileID: 480143057} - component: {fileID: 480143059} + - component: {fileID: 480143060} m_Layer: 0 m_Name: Dragon_Red m_TagString: Untagged @@ -207,7 +265,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &480143056 Animator: @@ -248,7 +306,7 @@ Rigidbody2D: m_Interpolate: 0 m_SleepingMode: 1 m_CollisionDetection: 0 - m_Constraints: 0 + m_Constraints: 4 --- !u!114 &480143058 MonoBehaviour: m_ObjectHideFlags: 0 @@ -276,6 +334,23 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 01a6f95bf180a2a45b1686ea222e1c17, type: 3} m_Name: m_EditorClassIdentifier: + _justVertical: 1 +--- !u!58 &480143060 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480143053} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 31.1 --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -359,6 +434,120 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &634183952 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.x + value: 1613 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.y + value: 218 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608799, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_Name + value: Cloud (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} +--- !u!1001 &1973030820 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.x + value: 1204.5117 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.y + value: 696.37427 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608799, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_Name + value: Cloud (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} --- !u!1 &2039228491 GameObject: m_ObjectHideFlags: 0 @@ -439,5 +628,62 @@ Transform: m_LocalScale: {x: 2015.1439, y: 1240.0886, z: 1240.0886} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &8093627334746431000 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.x + value: 704 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.y + value: 936 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608787, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8093627333698608799, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} + propertyPath: m_Name + value: Cloud + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 222963b5f45b20141bf7dd413f3342cd, type: 3} diff --git a/unity/Assets/Scripts.meta b/unity/Assets/Scripts.meta new file mode 100644 index 0000000..4aad88a --- /dev/null +++ b/unity/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 483d1711aade1c041ad076065508898f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Scripts/Cloud.cs b/unity/Assets/Scripts/Cloud.cs new file mode 100644 index 0000000..8842586 --- /dev/null +++ b/unity/Assets/Scripts/Cloud.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Cloud : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + const float SPEED = 1f; + this.transform.position = new Vector3(transform.position.x - SPEED, transform.position.y, transform.position.z); + } +} diff --git a/unity/Assets/Scripts/Cloud.cs.meta b/unity/Assets/Scripts/Cloud.cs.meta new file mode 100644 index 0000000..0920082 --- /dev/null +++ b/unity/Assets/Scripts/Cloud.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f85dc4bb405207e44bfe557775714307 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/DragonMovement.cs b/unity/Assets/Scripts/DragonMovement.cs similarity index 59% rename from unity/Assets/DragonMovement.cs rename to unity/Assets/Scripts/DragonMovement.cs index 3cbc69f..b6ed4cd 100644 --- a/unity/Assets/DragonMovement.cs +++ b/unity/Assets/Scripts/DragonMovement.cs @@ -10,6 +10,19 @@ public class DragonMovement : MonoBehaviour [SerializeField] float FlapForce = 300f; [SerializeField] float FlapLength = .25f; + bool _inCloud; + + + private void OnTriggerEnter2D(Collider2D collision) + { + Debug.Log("ontriggerenter"); + _inCloud = true; + } + + private void OnTriggerExit2D(Collider2D collision) + { + _inCloud = false; + } void Start() { _rigidbody = this.GetComponent(); @@ -31,5 +44,13 @@ public class DragonMovement : MonoBehaviour } _flapTime -= Time.deltaTime; + float horizontalSpeed = .4f; + if (_inCloud) + { + horizontalSpeed = -1f; + } + + transform.position = new Vector3(transform.position.x + horizontalSpeed, transform.position.y, transform.position.z); + } } diff --git a/unity/Assets/DragonMovement.cs.meta b/unity/Assets/Scripts/DragonMovement.cs.meta similarity index 100% rename from unity/Assets/DragonMovement.cs.meta rename to unity/Assets/Scripts/DragonMovement.cs.meta diff --git a/unity/Assets/Wraparound.cs b/unity/Assets/Scripts/Wraparound.cs similarity index 55% rename from unity/Assets/Wraparound.cs rename to unity/Assets/Scripts/Wraparound.cs index 4d61d96..efeb8f6 100644 --- a/unity/Assets/Wraparound.cs +++ b/unity/Assets/Scripts/Wraparound.cs @@ -4,6 +4,7 @@ using UnityEngine; public class Wraparound : MonoBehaviour { + [SerializeField] bool _justVertical = false; // Start is called before the first frame update void Start() { @@ -14,6 +15,7 @@ public class Wraparound : MonoBehaviour void Update() { const int SCREEN_HEIGHT = 1080; + const int SCREEN_WIDTH = 1920; if (this.transform.position.y < 0) { this.transform.position = new Vector3(transform.position.x, transform.position.y + SCREEN_HEIGHT, transform.position.z); @@ -23,5 +25,18 @@ public class Wraparound : MonoBehaviour { this.transform.position = new Vector3(transform.position.x, transform.position.y - SCREEN_HEIGHT, transform.position.z); } + + if (_justVertical == false) + { + if (this.transform.position.x < 0) + { + this.transform.position = new Vector3(transform.position.x + SCREEN_WIDTH, transform.position.y, transform.position.z); + } + + if (this.transform.position.y > SCREEN_WIDTH) + { + this.transform.position = new Vector3(transform.position.x - SCREEN_WIDTH, transform.position.y, transform.position.z); + } + } } } diff --git a/unity/Assets/Wraparound.cs.meta b/unity/Assets/Scripts/Wraparound.cs.meta similarity index 100% rename from unity/Assets/Wraparound.cs.meta rename to unity/Assets/Scripts/Wraparound.cs.meta diff --git a/unity/Assets/Sprites/cloud.png b/unity/Assets/Sprites/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd3d8d5fc67164c7a87f1dd44870eb3ac0c8c77 GIT binary patch literal 29593 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