From 9a4f7c26e9b08b6ac81e3a4205237db5a66ba934 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sat, 21 Mar 2020 21:59:04 -0400 Subject: [PATCH] Added basic order management for the party --- Assets/Scenes/ClickScript.cs | 23 -- Assets/Scenes/Test Scene.unity | 256 +++++++++++++----- Assets/Scripts/GMScript.cs | 107 ++++++++ .../GMScript.cs.meta} | 2 +- 4 files changed, 296 insertions(+), 92 deletions(-) delete mode 100644 Assets/Scenes/ClickScript.cs create mode 100644 Assets/Scripts/GMScript.cs rename Assets/{Scenes/ClickScript.cs.meta => Scripts/GMScript.cs.meta} (83%) diff --git a/Assets/Scenes/ClickScript.cs b/Assets/Scenes/ClickScript.cs deleted file mode 100644 index 1abd26a..0000000 --- a/Assets/Scenes/ClickScript.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ClickScript : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } - - void OnMouseDown(){ - Debug.Log("Sprite Clicked"); - } - -} diff --git a/Assets/Scenes/Test Scene.unity b/Assets/Scenes/Test Scene.unity index 150a5dd..3d1641b 100644 --- a/Assets/Scenes/Test Scene.unity +++ b/Assets/Scenes/Test Scene.unity @@ -215,7 +215,6 @@ GameObject: - component: {fileID: 617295560} - component: {fileID: 617295559} - component: {fileID: 617295558} - - component: {fileID: 617295557} m_Layer: 0 m_Name: Party Member 2 m_TagString: Untagged @@ -223,18 +222,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &617295557 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617295556} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 967e52057fa272649b8686be9697ec67, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!61 &617295558 BoxCollider2D: m_ObjectHideFlags: 0 @@ -301,7 +288,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.9801798, g: 1, b: 0, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 @@ -318,12 +305,43 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 617295556} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2, y: -3, z: 0} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 15, y: 10, z: 1} m_Children: [] + m_Father: {fileID: 718424223} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &718424222 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 718424223} + m_Layer: 0 + m_Name: Party Member Spot 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &718424223 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718424222} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 617295560} m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1394857171 GameObject: @@ -336,7 +354,6 @@ GameObject: - component: {fileID: 1394857175} - component: {fileID: 1394857174} - component: {fileID: 1394857173} - - component: {fileID: 1394857172} m_Layer: 0 m_Name: Party Member 3 m_TagString: Untagged @@ -344,18 +361,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1394857172 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1394857171} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 967e52057fa272649b8686be9697ec67, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!61 &1394857173 BoxCollider2D: m_ObjectHideFlags: 0 @@ -422,7 +427,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0, g: 0.32439756, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 @@ -439,12 +444,122 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1394857171} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2, y: -3, z: 0} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 15, y: 10, z: 1} m_Children: [] + m_Father: {fileID: 2021196008} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1480396846 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1480396848} + - component: {fileID: 1480396847} + m_Layer: 0 + m_Name: GM + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1480396847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1480396846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8ddb46fe3434b3549b6676edc264ae0e, type: 3} + m_Name: + m_EditorClassIdentifier: + PartyMembers: + - {fileID: 1933310832} + - {fileID: 718424222} + - {fileID: 2021196007} + - {fileID: 1629741806} +--- !u!4 &1480396848 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1480396846} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1629741806 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1629741807} + m_Layer: 0 + m_Name: Party Member Spot 4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1629741807 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1629741806} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 6, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1935397214} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1933310832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1933310833} + m_Layer: 0 + m_Name: Party Member Spot 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1933310833 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933310832} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2058067575} + m_Father: {fileID: 0} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1935397210 GameObject: @@ -457,7 +572,6 @@ GameObject: - component: {fileID: 1935397214} - component: {fileID: 1935397213} - component: {fileID: 1935397212} - - component: {fileID: 1935397211} m_Layer: 0 m_Name: Party Member 4 m_TagString: Untagged @@ -465,18 +579,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1935397211 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1935397210} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 967e52057fa272649b8686be9697ec67, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!61 &1935397212 BoxCollider2D: m_ObjectHideFlags: 0 @@ -543,7 +645,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 @@ -560,10 +662,41 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1935397210} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6, y: -3, z: 0} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 15, y: 10, z: 1} m_Children: [] + m_Father: {fileID: 1629741807} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2021196007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2021196008} + m_Layer: 0 + m_Name: Party Member Spot 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2021196008 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2021196007} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1394857175} m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -578,7 +711,6 @@ GameObject: - component: {fileID: 2058067575} - component: {fileID: 2058067574} - component: {fileID: 2058067577} - - component: {fileID: 2058067576} m_Layer: 0 m_Name: Party Member 1 m_TagString: Untagged @@ -626,7 +758,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 1, g: 0, b: 0, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 @@ -643,25 +775,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2058067573} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -6, y: -3, z: 0} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 15, y: 10, z: 1} m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 + m_Father: {fileID: 1933310833} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2058067576 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2058067573} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 967e52057fa272649b8686be9697ec67, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!61 &2058067577 BoxCollider2D: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/GMScript.cs b/Assets/Scripts/GMScript.cs new file mode 100644 index 0000000..f920b11 --- /dev/null +++ b/Assets/Scripts/GMScript.cs @@ -0,0 +1,107 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class GMScript : MonoBehaviour +{ + + public GameObject[] PartyMembers; + private bool noRepeat = true; + private static int partySize = 4; + private string[] PartyMemberOrder = new string[partySize]; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + noRepeat = true; + + if (Input.GetMouseButtonDown(0)) + { + Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); + Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); + + RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero); + + if (hit.collider != null) { + CheckParty(hit.collider.gameObject); + + if(noRepeat) + { + AddMember(hit.collider.gameObject); + } else { + RemoveMember(hit.collider.gameObject); + } + + OutputParty(); + + } + } + } + + void CheckParty(GameObject member) + { + for(int i = 0; i < partySize; i++) + { + if(PartyMemberOrder[i] == member.name) + { + noRepeat = false; + } + } + } + + void AddMember(GameObject member) + { + + for(int i = 0; i < partySize; i++) + { + if(PartyMemberOrder[i] == null) + { + PartyMemberOrder[i] = member.name; + i = partySize; + } + } + + } + + void RemoveMember(GameObject member) + { + for(int i = 0; i < partySize; i++) + { + if(PartyMemberOrder[i] == member.name) + { + for(int j = i; j < partySize; j++) + { + if(j < partySize-1){ + PartyMemberOrder[j] = PartyMemberOrder[j+1]; + } else { + PartyMemberOrder[j] = null; + } + } + + i = partySize; + } + } + } + + void OutputParty(){ + + for(int i = 0; i < partySize; i++) + { + if(PartyMemberOrder[i] != null) + { + print(PartyMemberOrder[i]); + } else { + print("Empty."); + } + } + + } + +} diff --git a/Assets/Scenes/ClickScript.cs.meta b/Assets/Scripts/GMScript.cs.meta similarity index 83% rename from Assets/Scenes/ClickScript.cs.meta rename to Assets/Scripts/GMScript.cs.meta index 64ff0f9..ecce85f 100644 --- a/Assets/Scenes/ClickScript.cs.meta +++ b/Assets/Scripts/GMScript.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 967e52057fa272649b8686be9697ec67 +guid: 8ddb46fe3434b3549b6676edc264ae0e MonoImporter: externalObjects: {} serializedVersion: 2