From ac13119f7ab15cd6e33d5c29901b7d743bc96b74 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Mon, 23 Sep 2019 18:44:56 +0200 Subject: [PATCH] Commit stuff --- Assets/Refactored/Form.meta | 8 ++++++++ Assets/Refactored/Form/Form.cs | 16 ++++++++++++++++ .../Form.cs.meta} | 2 +- Assets/Refactored/Form/FormButton.cs | 16 ++++++++++++++++ Assets/Refactored/Form/FormButton.cs.meta | 11 +++++++++++ Assets/Refactored/Form/FormButtonUnity.cs | 18 ++++++++++++++++++ Assets/Refactored/Form/FormButtonUnity.cs.meta | 11 +++++++++++ Assets/Refactored/Form/FormElement.cs | 7 +++++++ Assets/Refactored/Form/FormItem.cs | 4 +--- Assets/Refactored/Form/FormItem.cs.meta | 11 +++++++++++ .../{FormItemText.cs => FormItemTextField.cs} | 6 ++++++ .../Refactored/Form/FormItemTextField.cs.meta | 11 +++++++++++ 12 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 Assets/Refactored/Form.meta rename Assets/Refactored/{NetworkServerBehaviour.cs.meta => Form/Form.cs.meta} (83%) create mode 100644 Assets/Refactored/Form/FormButton.cs create mode 100644 Assets/Refactored/Form/FormButton.cs.meta create mode 100644 Assets/Refactored/Form/FormButtonUnity.cs create mode 100644 Assets/Refactored/Form/FormButtonUnity.cs.meta create mode 100644 Assets/Refactored/Form/FormElement.cs create mode 100644 Assets/Refactored/Form/FormItem.cs.meta rename Assets/Refactored/Form/{FormItemText.cs => FormItemTextField.cs} (67%) create mode 100644 Assets/Refactored/Form/FormItemTextField.cs.meta diff --git a/Assets/Refactored/Form.meta b/Assets/Refactored/Form.meta new file mode 100644 index 0000000..e74b7c4 --- /dev/null +++ b/Assets/Refactored/Form.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59f7c51047fec274ba0547d089d6c24b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Refactored/Form/Form.cs b/Assets/Refactored/Form/Form.cs index cba7969..147fb1e 100644 --- a/Assets/Refactored/Form/Form.cs +++ b/Assets/Refactored/Form/Form.cs @@ -1,9 +1,11 @@ +using System; using System.Collections.Generic; using UnityEngine; namespace BetterTee.Form { public class Form : MonoBehaviour { private Dictionary registeredItems; + private Dictionary registeredButtons; protected void Start() { registeredItems = new Dictionary(); @@ -28,5 +30,19 @@ namespace BetterTee.Form { public void SetValue(string name, dynamic value) { registeredItems[name].Value = value; } + + public void RegisterButton(FormEvent button) { + registeredButtons.Add(button.name, button); + } + + public void UnregisterButton(string name) { + FormEvent button = registeredButtons[name]; + button.UnsubscribeAll(); + registeredButtons.Remove(name); + } + + public void SubscribeTo(string name, Action handler) { + registeredButtons[name].OnTrigger += handler; + } } } \ No newline at end of file diff --git a/Assets/Refactored/NetworkServerBehaviour.cs.meta b/Assets/Refactored/Form/Form.cs.meta similarity index 83% rename from Assets/Refactored/NetworkServerBehaviour.cs.meta rename to Assets/Refactored/Form/Form.cs.meta index 85dd928..27194b7 100644 --- a/Assets/Refactored/NetworkServerBehaviour.cs.meta +++ b/Assets/Refactored/Form/Form.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2b707d16fe3a3ef44ac2219497fa45e6 +guid: a5c867ac4d014de45917ee8b07537457 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Refactored/Form/FormButton.cs b/Assets/Refactored/Form/FormButton.cs new file mode 100644 index 0000000..e57e8b7 --- /dev/null +++ b/Assets/Refactored/Form/FormButton.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +namespace BetterTee.Form { + public abstract class FormEvent : FormElement { + public event Action OnTrigger; + + protected void TriggerEvent() { + OnTrigger(this); + } + + public void UnsubscribeAll() { + OnTrigger = null; + } + } +} diff --git a/Assets/Refactored/Form/FormButton.cs.meta b/Assets/Refactored/Form/FormButton.cs.meta new file mode 100644 index 0000000..5b1c9b2 --- /dev/null +++ b/Assets/Refactored/Form/FormButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c46a67a8eb1b0db4fa2c16c74b2bb40e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Refactored/Form/FormButtonUnity.cs b/Assets/Refactored/Form/FormButtonUnity.cs new file mode 100644 index 0000000..1fd414f --- /dev/null +++ b/Assets/Refactored/Form/FormButtonUnity.cs @@ -0,0 +1,18 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace BetterTee.Form { + [RequireComponent(typeof(Button))] + public class FormButtonUnity : FormEvent { + protected Button buttonComponent; + + private void Start() { + buttonComponent = GetComponent