diff --git a/Assets/Logic Blocks/ForLoop.asset b/Assets/Logic Blocks/ForLoop.asset
new file mode 100644
index 0000000..8003853
--- /dev/null
+++ b/Assets/Logic Blocks/ForLoop.asset
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:815e838d40fc858ba3fca1d9f6ac75c76fdd5b6e1859a7145c142a7f636d3a5f
+size 616
diff --git a/Assets/Logic Blocks/ForLoop.asset.meta b/Assets/Logic Blocks/ForLoop.asset.meta
new file mode 100644
index 0000000..546bcab
--- /dev/null
+++ b/Assets/Logic Blocks/ForLoop.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 194f051bd7d3e7d4fb5b96a8e1d5b162
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Logic Blocks/Jump.asset b/Assets/Logic Blocks/Jump.asset
new file mode 100644
index 0000000..3f6b9f7
--- /dev/null
+++ b/Assets/Logic Blocks/Jump.asset
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4b1a4c27ea4794695f72f8d3f5d345c28103a2b6cc53e67b8f24f0757617b5e7
+size 449
diff --git a/Assets/Logic Blocks/Jump.asset.meta b/Assets/Logic Blocks/Jump.asset.meta
new file mode 100644
index 0000000..efb2a9d
--- /dev/null
+++ b/Assets/Logic Blocks/Jump.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8f19e10be0ee35345a97f600791a8747
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Models.meta b/Assets/Models.meta
new file mode 100644
index 0000000..5346456
--- /dev/null
+++ b/Assets/Models.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 296bd90e667df1f4697823a0aa45acf0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/TuteLevelFive.unity b/Assets/Scenes/TuteLevelFive.unity
index 19a56b0..277298d 100644
--- a/Assets/Scenes/TuteLevelFive.unity
+++ b/Assets/Scenes/TuteLevelFive.unity
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641222, b: 0.57481694, a: 1}
+ m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -1517,6 +1517,11 @@ PrefabInstance:
propertyPath: nextScene
value: TuteLevelOne
objectReference: {fileID: 0}
+ - target: {fileID: 2631002120179805110, guid: c176f4ae8f7b4074db99b27b2e015a2a,
+ type: 3}
+ propertyPath: m_Enabled
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 1116712125457233699, guid: c176f4ae8f7b4074db99b27b2e015a2a,
type: 3}
propertyPath: m_Materials.Array.data[0]
@@ -3475,6 +3480,45 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: bf82e6870e62966448210c1718aa3fb3, type: 3}
+--- !u!1 &1510348215 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 7426725930156175983, guid: c176f4ae8f7b4074db99b27b2e015a2a,
+ type: 3}
+ m_PrefabInstance: {fileID: 421711684}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1510348216
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1510348215}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c0bbbf19cb68b2742bd80855243b64e3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ character: {fileID: 1510348219}
+ blockReader:
+ LogicChain:
+ - {fileID: 11400000, guid: 48f0ea7af28c10846b5b76ce70d06b60, type: 2}
+ - {fileID: 11400000, guid: 48f0ea7af28c10846b5b76ce70d06b60, type: 2}
+ - {fileID: 11400000, guid: aa238796cf1886244951ec8c2fed1855, type: 2}
+ - {fileID: 11400000, guid: 0b1bcd75cb7dade4fb598ee3412594c2, type: 2}
+ - {fileID: 11400000, guid: 41f4cb946475b2849a802a8297d81e25, type: 2}
+ - {fileID: 11400000, guid: 194f051bd7d3e7d4fb5b96a8e1d5b162, type: 2}
+--- !u!114 &1510348219 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2862111851184665482, guid: c176f4ae8f7b4074db99b27b2e015a2a,
+ type: 3}
+ m_PrefabInstance: {fileID: 421711684}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1510348215}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 73c2eff8a9a01a44bb9b2c007539fc60, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1001 &1510549798
PrefabInstance:
m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/BlockInput.cs b/Assets/Scripts/BlockInput.cs
new file mode 100644
index 0000000..b3f9e4f
--- /dev/null
+++ b/Assets/Scripts/BlockInput.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BlockInput : MonoBehaviour
+{
+
+ public Character character;
+ public BlockReader blockReader;
+
+ public void Update()
+ {
+ if (Input.GetKeyDown(KeyCode.Space))
+ ReadNext();
+ }
+
+ [ContextMenu ("Read Next")]
+ public void ReadNext()
+ {
+ blockReader.Read(character);
+ }
+
+}
diff --git a/Assets/Scripts/BlockInput.cs.meta b/Assets/Scripts/BlockInput.cs.meta
new file mode 100644
index 0000000..9c74938
--- /dev/null
+++ b/Assets/Scripts/BlockInput.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c0bbbf19cb68b2742bd80855243b64e3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Logic/BlockReader.cs b/Assets/Scripts/Logic/BlockReader.cs
index c1c079c..0e09673 100644
--- a/Assets/Scripts/Logic/BlockReader.cs
+++ b/Assets/Scripts/Logic/BlockReader.cs
@@ -5,14 +5,11 @@ using UnityEngine;
///
/// Class which reads a a list of logic blocks and applies to a character
///
-public class BlockReader : MonoBehaviour
+[System.Serializable]
+public class BlockReader
{
#region Inspector Variables
- [SerializeField]
- [Tooltip("Character to be controllered by the Logic Chain")]
- protected Character character;
-
[SerializeField]
[Tooltip("List of LogicBlocks which will affected this character")]
protected List LogicChain;
@@ -41,9 +38,9 @@ public class BlockReader : MonoBehaviour
///
/// Reads the current block in the logic chain
///
+ /// Character to control
/// Returns false if other readers should wait for this one to run again
- [ContextMenu("Do Read")]
- public bool Read()
+ public bool Read(Character character)
{
//return that this is done if no more blocks left in chain
if (LogicChain.Count <= currentBlockIndex)
diff --git a/Assets/Scripts/Logic/Blocks/CombinedBlock.cs b/Assets/Scripts/Logic/Blocks/CombinedBlock.cs
index a6255ac..93aa086 100644
--- a/Assets/Scripts/Logic/Blocks/CombinedBlock.cs
+++ b/Assets/Scripts/Logic/Blocks/CombinedBlock.cs
@@ -2,14 +2,45 @@
using System.Collections.Generic;
using UnityEngine;
+[CreateAssetMenu(menuName = "Major Project/Combined Block")]
public class CombinedBlock : LogicBlock
{
-
+ #region Inspector Variables
[SerializeField]
- protected List SubBlocks ;
+ [Tooltip("Blocks this will run through")]
+ protected BlockReader blockReader;
+ #endregion Inspector Variables
+
+ #region Private Variables
+
+ #endregion Private Variables
+
+
+ public override bool Run(Character player)
+ {
+ BlockLogic(player);
+
+ if (blockReader.Finished)
+ {
+ blockReader.Reset();
+ RepeatCount++;
+ }
+
+ return isFinished();
+ }
protected override void BlockLogic(Character player)
{
- throw new System.NotImplementedException();
+ blockReader.Read(player);
+ }
+
+ ///
+ /// Resets the block to be ready to used again
+ ///
+ public override void Reset()
+ {
+ base.Reset();
+ blockReader.Reset();
}
+
}
diff --git a/Assets/Scripts/Logic/Blocks/Jump.cs b/Assets/Scripts/Logic/Blocks/Jump.cs
new file mode 100644
index 0000000..212efa1
--- /dev/null
+++ b/Assets/Scripts/Logic/Blocks/Jump.cs
@@ -0,0 +1,28 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+///
+/// Logic block which deals with jumping a character in a direction
+///
+[CreateAssetMenu(menuName = "Major Project/Jump Block")]
+public class Jump : LogicBlock
+{
+
+ [SerializeField]
+ [Tooltip("Direction to Jump")]
+ protected Direction direction = Direction.Forward;
+
+ #region Class Functions
+
+ ///
+ /// Implementation of BlockLogic, moves the player forward
+ ///
+ /// Player to move
+ protected override void BlockLogic(Character player)
+ {
+ player.Jump(direction);
+ }
+
+ #endregion Class Functions
+}
\ No newline at end of file
diff --git a/Assets/Scripts/Logic/Blocks/Jump.cs.meta b/Assets/Scripts/Logic/Blocks/Jump.cs.meta
new file mode 100644
index 0000000..b6f2f9f
--- /dev/null
+++ b/Assets/Scripts/Logic/Blocks/Jump.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4c5d56197e5cfdc40afd3ac716cda850
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/LogicBlocks.meta b/Assets/Scripts/LogicBlocks.meta
new file mode 100644
index 0000000..98af9d1
--- /dev/null
+++ b/Assets/Scripts/LogicBlocks.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8936b441d7647f74884c94f97bfb8931
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/manifest.json b/Packages/manifest.json
index bd0c348..c244bd2 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -7,6 +7,7 @@
"com.unity.purchasing": "2.0.3",
"com.unity.textmeshpro": "1.3.0",
"com.unity.modules.ai": "1.0.0",
+ "com.unity.progrids": "3.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.audio": "1.0.0",
@@ -36,5 +37,8 @@
"com.unity.modules.vr": "1.0.0",
"com.unity.modules.wind": "1.0.0",
"com.unity.modules.xr": "1.0.0"
- }
+ },
+
+ "registry":"http://staging-packages.unity.com"
+
}