summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Assets/Prefabs.meta8
-rw-r--r--Assets/Prefabs/Columns.prefab314
-rw-r--r--Assets/Prefabs/Columns.prefab.meta8
-rw-r--r--Assets/Scripts/Column.cs13
-rw-r--r--Assets/Scripts/Column.cs.meta11
-rw-r--r--Assets/Scripts/ColumnPool.cs47
-rw-r--r--Assets/Scripts/ColumnPool.cs.meta11
-rw-r--r--Assets/Scripts/GameControl.cs14
-rw-r--r--Assets/Scripts/RepeatingBackground.cs (renamed from Assets/RepeatingBackground.cs)0
-rw-r--r--Assets/Scripts/RepeatingBackground.cs.meta (renamed from Assets/RepeatingBackground.cs.meta)0
10 files changed, 426 insertions, 0 deletions
diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta
new file mode 100644
index 0000000..d1841a4
--- /dev/null
+++ b/Assets/Prefabs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0d5c621106c6b2449a0f161b34907513
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/Columns.prefab b/Assets/Prefabs/Columns.prefab
new file mode 100644
index 0000000..35d6de8
--- /dev/null
+++ b/Assets/Prefabs/Columns.prefab
@@ -0,0 +1,314 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1529020711380460}
+ m_IsPrefabParent: 1
+--- !u!1 &1114962039861856
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4024445432218166}
+ - component: {fileID: 212972729437490470}
+ - component: {fileID: 61674151720270818}
+ m_Layer: 0
+ m_Name: ColumnSprite
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1529020711380460
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4647285703146720}
+ - component: {fileID: 61159391983824676}
+ - component: {fileID: 50092027346389414}
+ - component: {fileID: 114426965130018998}
+ - component: {fileID: 114489249268378274}
+ m_Layer: 0
+ m_Name: Columns
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1585685942540690
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4629760513912680}
+ - component: {fileID: 212617900475732074}
+ - component: {fileID: 61268751467386004}
+ m_Layer: 0
+ m_Name: ColumnSprite (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4024445432218166
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1114962039861856}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: -4, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 4647285703146720}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4629760513912680
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1585685942540690}
+ m_LocalRotation: {x: -0, y: -0, z: 1, w: 0}
+ m_LocalPosition: {x: 0, y: 8, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 4647285703146720}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
+--- !u!4 &4647285703146720
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1529020711380460}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 5, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 4024445432218166}
+ - {fileID: 4629760513912680}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!50 &50092027346389414
+Rigidbody2D:
+ serializedVersion: 4
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1529020711380460}
+ m_BodyType: 1
+ m_Simulated: 1
+ m_UseFullKinematicContacts: 0
+ m_UseAutoMass: 0
+ m_Mass: 1
+ m_LinearDrag: 0
+ m_AngularDrag: 0.05
+ m_GravityScale: 1
+ m_Material: {fileID: 0}
+ m_Interpolate: 0
+ m_SleepingMode: 1
+ m_CollisionDetection: 0
+ m_Constraints: 0
+--- !u!61 &61159391983824676
+BoxCollider2D:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1529020711380460}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 1.12, y: 1.92}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0, y: 0}
+ oldSize: {x: 0, y: 0}
+ newSize: {x: 0, y: 0}
+ adaptiveTilingThreshold: 0
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 1, y: 2.18}
+ m_EdgeRadius: 0
+--- !u!61 &61268751467386004
+BoxCollider2D:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1585685942540690}
+ 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}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 2.56, y: 10.24}
+ newSize: {x: 2.56, y: 10.24}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.82, y: 10.24}
+ m_EdgeRadius: 0
+--- !u!61 &61674151720270818
+BoxCollider2D:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1114962039861856}
+ 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}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 2.56, y: 10.24}
+ newSize: {x: 2.56, y: 10.24}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.82, y: 10.24}
+ m_EdgeRadius: 0
+--- !u!114 &114426965130018998
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1529020711380460}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 507311850444501439bf73c415a849c4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &114489249268378274
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1529020711380460}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5912db75c1bb467498e47dee365735ab, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!212 &212617900475732074
+SpriteRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1585685942540690}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ 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_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 1448942725
+ m_SortingLayer: 2
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 03847b6726093434c902345de00eb08b, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 2.56, y: 10.24}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+--- !u!212 &212972729437490470
+SpriteRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1114962039861856}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ 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_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 1448942725
+ m_SortingLayer: 2
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 03847b6726093434c902345de00eb08b, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 2.56, y: 10.24}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
diff --git a/Assets/Prefabs/Columns.prefab.meta b/Assets/Prefabs/Columns.prefab.meta
new file mode 100644
index 0000000..baaeb9b
--- /dev/null
+++ b/Assets/Prefabs/Columns.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d443215fd37f2b04cbc5fbd3e28c9c08
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 100100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Column.cs b/Assets/Scripts/Column.cs
new file mode 100644
index 0000000..2468c0b
--- /dev/null
+++ b/Assets/Scripts/Column.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Column : MonoBehaviour {
+ private void OnTriggerEnter2D(Collider2D other)
+ {
+ if (other.GetComponent<Bird>() != null)
+ {
+ GameControl.instance.BirdScored();
+ }
+ }
+}
diff --git a/Assets/Scripts/Column.cs.meta b/Assets/Scripts/Column.cs.meta
new file mode 100644
index 0000000..6d586c8
--- /dev/null
+++ b/Assets/Scripts/Column.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 507311850444501439bf73c415a849c4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/ColumnPool.cs b/Assets/Scripts/ColumnPool.cs
new file mode 100644
index 0000000..34d10b8
--- /dev/null
+++ b/Assets/Scripts/ColumnPool.cs
@@ -0,0 +1,47 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ColumnPool : MonoBehaviour {
+
+ public int columnPoolSize = 5;
+ public GameObject columnPrefab;
+ public float spawnRate = 4f;
+ public float columnMin = -1f;
+ public float columnMax = 3.5f;
+
+ private GameObject[] columns;
+ private Vector2 objectPoolPosition = new Vector2(-15f, 25f);
+ private float timeSinceLastSpawned;
+ private float spawnXPosition = 10f;
+ private int currentColumn = 0;
+
+
+ // Use this for initialization
+ void Start ()
+ {
+ columns = new GameObject[columnPoolSize];
+ for (int i = 0; i < columnPoolSize; i++)
+ {
+ columns[i] = (GameObject)Instantiate(columnPrefab, objectPoolPosition, Quaternion.identity);
+ }
+ }
+
+ // Update is called once per frame
+ void Update ()
+ {
+ timeSinceLastSpawned += Time.deltaTime;
+
+ if (GameControl.instance.gameOver == false && timeSinceLastSpawned >= spawnRate)
+ {
+ timeSinceLastSpawned = 0;
+ float spawnYPosition = Random.Range(columnMin, columnMax);
+ columns[currentColumn].transform.position = new Vector2(spawnXPosition, spawnYPosition);
+ currentColumn++;
+ if (currentColumn >= columnPoolSize)
+ {
+ currentColumn = 0;
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/ColumnPool.cs.meta b/Assets/Scripts/ColumnPool.cs.meta
new file mode 100644
index 0000000..9443cf7
--- /dev/null
+++ b/Assets/Scripts/ColumnPool.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 92bc843fdec1c82468ce24704bbbb884
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/GameControl.cs b/Assets/Scripts/GameControl.cs
index afd79b7..77f58d7 100644
--- a/Assets/Scripts/GameControl.cs
+++ b/Assets/Scripts/GameControl.cs
@@ -2,14 +2,18 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
+using UnityEngine.UI;
public class GameControl : MonoBehaviour {
public static GameControl instance;
public GameObject gameOverText;
+ public Text scoreText;
public bool gameOver = false;
public float scrollSpeed = -1.5f;
+ private int score = 0;
+
// Use this for initialization
void Awake ()
{
@@ -31,6 +35,16 @@ public class GameControl : MonoBehaviour {
}
}
+ public void BirdScored()
+ {
+ if (gameOver)
+ {
+ return;
+ }
+ score++;
+ scoreText.text = "Score: " + score.ToString();
+ }
+
public void BirdDied()
{
gameOverText.SetActive(true);
diff --git a/Assets/RepeatingBackground.cs b/Assets/Scripts/RepeatingBackground.cs
index 4722ec2..4722ec2 100644
--- a/Assets/RepeatingBackground.cs
+++ b/Assets/Scripts/RepeatingBackground.cs
diff --git a/Assets/RepeatingBackground.cs.meta b/Assets/Scripts/RepeatingBackground.cs.meta
index 4c10802..4c10802 100644
--- a/Assets/RepeatingBackground.cs.meta
+++ b/Assets/Scripts/RepeatingBackground.cs.meta