From 3bf96bdbd650c1e8bb5e533fadf1ac1fba486b0d Mon Sep 17 00:00:00 2001 From: Joshua Reason Date: Sat, 16 Mar 2019 16:20:30 +1100 Subject: [PATCH] Started implementing logic blocks --- Assets/Scripts.meta | 8 +++ Assets/Scripts/Logic.meta | 8 +++ Assets/Scripts/Logic/Blocks.meta | 8 +++ Assets/Scripts/Logic/Blocks/LogicBlock.cs | 62 +++++++++++++++++++ .../Scripts/Logic/Blocks/LogicBlock.cs.meta | 11 ++++ Assets/Scripts/Logic/Blocks/Move.cs | 19 ++++++ Assets/Scripts/Logic/Blocks/Move.cs.meta | 11 ++++ Assets/Scripts/Logic/Blocks/Rotate.cs | 29 +++++++++ Assets/Scripts/Logic/Blocks/Rotate.cs.meta | 11 ++++ Assets/World Assets.meta | 8 +++ Assets/World Assets/Logic Blocks.meta | 8 +++ Assets/World Assets/Logic Blocks/Move.asset | 3 + .../World Assets/Logic Blocks/Move.asset.meta | 8 +++ .../Logic Blocks/Rotate Left.asset | 3 + .../Logic Blocks/Rotate Left.asset.meta | 8 +++ .../Logic Blocks/Rotate Right.asset | 3 + .../Logic Blocks/Rotate Right.asset.meta | 8 +++ ProjectSettings/ProjectVersion.txt | 2 +- 18 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 Assets/Scripts.meta create mode 100644 Assets/Scripts/Logic.meta create mode 100644 Assets/Scripts/Logic/Blocks.meta create mode 100644 Assets/Scripts/Logic/Blocks/LogicBlock.cs create mode 100644 Assets/Scripts/Logic/Blocks/LogicBlock.cs.meta create mode 100644 Assets/Scripts/Logic/Blocks/Move.cs create mode 100644 Assets/Scripts/Logic/Blocks/Move.cs.meta create mode 100644 Assets/Scripts/Logic/Blocks/Rotate.cs create mode 100644 Assets/Scripts/Logic/Blocks/Rotate.cs.meta create mode 100644 Assets/World Assets.meta create mode 100644 Assets/World Assets/Logic Blocks.meta create mode 100644 Assets/World Assets/Logic Blocks/Move.asset create mode 100644 Assets/World Assets/Logic Blocks/Move.asset.meta create mode 100644 Assets/World Assets/Logic Blocks/Rotate Left.asset create mode 100644 Assets/World Assets/Logic Blocks/Rotate Left.asset.meta create mode 100644 Assets/World Assets/Logic Blocks/Rotate Right.asset create mode 100644 Assets/World Assets/Logic Blocks/Rotate Right.asset.meta diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..e93efb4 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 456ced1fb7da474449f76d49f58fcd17 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Logic.meta b/Assets/Scripts/Logic.meta new file mode 100644 index 0000000..0e47e85 --- /dev/null +++ b/Assets/Scripts/Logic.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4725bfe007bb414dacfc2557d4a578e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Logic/Blocks.meta b/Assets/Scripts/Logic/Blocks.meta new file mode 100644 index 0000000..b53db01 --- /dev/null +++ b/Assets/Scripts/Logic/Blocks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d143a9277c3daab4e9b1ecc5e7f6bdda +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Logic/Blocks/LogicBlock.cs b/Assets/Scripts/Logic/Blocks/LogicBlock.cs new file mode 100644 index 0000000..50eef52 --- /dev/null +++ b/Assets/Scripts/Logic/Blocks/LogicBlock.cs @@ -0,0 +1,62 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// +/// Base class all logic blocks are derived from +/// +[System.Serializable] +public abstract class LogicBlock : ScriptableObject +{ + + #region Inspector Fields + [SerializeField] + [Header("Base Settings")] + [Tooltip("Wait until this block is resolved before moving to next")] + protected bool WaitUntilFinished = false; + + [SerializeField] + [Tooltip("Amount of times to run this Block before moving to next")] + protected int RepeatAmount = 1; + #endregion Inspector Fields + + #region private variables + + /// + /// Amount of times this block has run + /// + protected int RepeatCount = 0; + + #endregion private variables + + + #region Class Functions + /// + /// Runs the block + /// + /// returns true if block is finished + public virtual bool Run() + { + RepeatCount++; + BlockLogic(); + + return (RepeatCount == RepeatAmount); + } + + /// + /// Returns the amount of space this logic block takes up + /// + /// Int which controlls how much space this takes up + public virtual int Size() + { + return 1; + } + + /// + /// Where derived callses should implement the logic for their classes + /// + /// returns true if block is finished + protected abstract void BlockLogic(); + + #endregion Class Functions +} diff --git a/Assets/Scripts/Logic/Blocks/LogicBlock.cs.meta b/Assets/Scripts/Logic/Blocks/LogicBlock.cs.meta new file mode 100644 index 0000000..93e7a2e --- /dev/null +++ b/Assets/Scripts/Logic/Blocks/LogicBlock.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d11fe9c95f831e34c9b0a8897d1a95cd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Logic/Blocks/Move.cs b/Assets/Scripts/Logic/Blocks/Move.cs new file mode 100644 index 0000000..272949b --- /dev/null +++ b/Assets/Scripts/Logic/Blocks/Move.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// +/// Logic block which deals with moving a character in a direction +/// +[CreateAssetMenu(menuName = "Major Project/Move Block")] +public class Move : LogicBlock +{ + #region Class Functions + + protected override void BlockLogic() + { + Debug.Log("Move"); + } + + #endregion Class Functions +} diff --git a/Assets/Scripts/Logic/Blocks/Move.cs.meta b/Assets/Scripts/Logic/Blocks/Move.cs.meta new file mode 100644 index 0000000..3b7fe41 --- /dev/null +++ b/Assets/Scripts/Logic/Blocks/Move.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: edcd06d926f58f445aebd02362c2dfcf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Logic/Blocks/Rotate.cs b/Assets/Scripts/Logic/Blocks/Rotate.cs new file mode 100644 index 0000000..3b83788 --- /dev/null +++ b/Assets/Scripts/Logic/Blocks/Rotate.cs @@ -0,0 +1,29 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// +/// Logic block which deals with moving a character in a direction +/// +[CreateAssetMenu(menuName = "Major Project/Rotate Block")] +public class Rotate : LogicBlock +{ + public enum Direction { Left, Right} + + #region Inspector Fields + [SerializeField] + [Header("Rotate Settings")] + [Tooltip("Direction to rotate in")] + protected Direction direction; + #endregion Inspector Fields + + + #region Class Functions + + protected override void BlockLogic() + { + Debug.Log("Rotate " + direction.ToString()); + } + + #endregion Class Functions +} diff --git a/Assets/Scripts/Logic/Blocks/Rotate.cs.meta b/Assets/Scripts/Logic/Blocks/Rotate.cs.meta new file mode 100644 index 0000000..48e50d5 --- /dev/null +++ b/Assets/Scripts/Logic/Blocks/Rotate.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: beff3a08f33878e44ba810c90a08b62d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/World Assets.meta b/Assets/World Assets.meta new file mode 100644 index 0000000..0c19536 --- /dev/null +++ b/Assets/World Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ece630d9a8c11c543956472c51dad691 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/World Assets/Logic Blocks.meta b/Assets/World Assets/Logic Blocks.meta new file mode 100644 index 0000000..6646be8 --- /dev/null +++ b/Assets/World Assets/Logic Blocks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e082f07e6a38ded42945888080672510 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/World Assets/Logic Blocks/Move.asset b/Assets/World Assets/Logic Blocks/Move.asset new file mode 100644 index 0000000..1593ce1 --- /dev/null +++ b/Assets/World Assets/Logic Blocks/Move.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f30f384f120eeb69292d9ff04a9e267e536ef80a35c6a7820a032e88257d9e8 +size 434 diff --git a/Assets/World Assets/Logic Blocks/Move.asset.meta b/Assets/World Assets/Logic Blocks/Move.asset.meta new file mode 100644 index 0000000..4a6fa43 --- /dev/null +++ b/Assets/World Assets/Logic Blocks/Move.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b1bcd75cb7dade4fb598ee3412594c2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/World Assets/Logic Blocks/Rotate Left.asset b/Assets/World Assets/Logic Blocks/Rotate Left.asset new file mode 100644 index 0000000..da3c338 --- /dev/null +++ b/Assets/World Assets/Logic Blocks/Rotate Left.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:323f3c70cf40755730cb81a31da6a58931177674b836d0b5bbc8b9f88af4b447 +size 456 diff --git a/Assets/World Assets/Logic Blocks/Rotate Left.asset.meta b/Assets/World Assets/Logic Blocks/Rotate Left.asset.meta new file mode 100644 index 0000000..4edc23c --- /dev/null +++ b/Assets/World Assets/Logic Blocks/Rotate Left.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa238796cf1886244951ec8c2fed1855 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/World Assets/Logic Blocks/Rotate Right.asset b/Assets/World Assets/Logic Blocks/Rotate Right.asset new file mode 100644 index 0000000..45391ed --- /dev/null +++ b/Assets/World Assets/Logic Blocks/Rotate Right.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6886b6e048617b3ecd1de69b35f0e598467d7d2444a59a26f58fcb16a988960 +size 457 diff --git a/Assets/World Assets/Logic Blocks/Rotate Right.asset.meta b/Assets/World Assets/Logic Blocks/Rotate Right.asset.meta new file mode 100644 index 0000000..69e6fa2 --- /dev/null +++ b/Assets/World Assets/Logic Blocks/Rotate Right.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 41f4cb946475b2849a802a8297d81e25 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 85074f5..1816da4 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2018.3.7f1 +m_EditorVersion: 2018.3.4f1