├── Core.meta ├── Core ├── SmartAttributes.cs ├── SmartAttributes.cs.meta ├── SmartComponentBaseTypes.cs ├── SmartComponentBaseTypes.cs.meta ├── SmartDataBaseTypes.cs ├── SmartDataBaseTypes.cs.meta ├── SmartDecoratorBaseTypes.cs ├── SmartDecoratorBaseTypes.cs.meta ├── SmartInterfaces.cs ├── SmartInterfaces.cs.meta ├── SmartNetworkDecoratorBaseTypes.cs ├── SmartNetworkDecoratorBaseTypes.cs.meta ├── SmartRefBaseTypes.cs └── SmartRefBaseTypes.cs.meta ├── Decorators.meta ├── Decorators ├── SmartFloatRangeDecorator.cs └── SmartFloatRangeDecorator.cs.meta ├── Editor.meta ├── Editor ├── Ext_SerializedProperty.cs ├── Ext_SerializedProperty.cs.meta ├── Inspectors.meta ├── Inspectors │ ├── SmartComponentEditor.cs │ ├── SmartComponentEditor.cs.meta │ ├── SmartConstEditor.cs │ ├── SmartConstEditor.cs.meta │ ├── SmartEventEditor.cs │ ├── SmartEventEditor.cs.meta │ ├── SmartMultiEditor.cs │ ├── SmartMultiEditor.cs.meta │ ├── SmartObjectEditorBase.cs │ ├── SmartObjectEditorBase.cs.meta │ ├── SmartSetEditor.cs │ ├── SmartSetEditor.cs.meta │ ├── SmartTypeCreatorSettingsEditor.cs │ ├── SmartTypeCreatorSettingsEditor.cs.meta │ ├── SmartVarEditor.cs │ └── SmartVarEditor.cs.meta ├── PropertyDrawers.meta ├── PropertyDrawers │ ├── SmartDataRefPropertyDrawer.cs │ ├── SmartDataRefPropertyDrawer.cs.meta │ ├── SmartEventRefPropertyDrawer.cs │ ├── SmartEventRefPropertyDrawer.cs.meta │ ├── SmartMultiRefPropertyDrawer.cs │ ├── SmartMultiRefPropertyDrawer.cs.meta │ ├── SmartRefPropertyDrawerBase.cs │ ├── SmartRefPropertyDrawerBase.cs.meta │ ├── SmartSetRefPropertyDrawer.cs │ └── SmartSetRefPropertyDrawer.cs.meta ├── Resources.meta ├── Resources │ ├── GUI.meta │ ├── GUI │ │ ├── IconConst.png │ │ ├── IconConst.png.meta │ │ ├── IconConstHalf.png │ │ ├── IconConstHalf.png.meta │ │ ├── IconEvent.png │ │ ├── IconEvent.png.meta │ │ ├── IconEventHalf.png │ │ ├── IconEventHalf.png.meta │ │ ├── IconEventMulti.png │ │ ├── IconEventMulti.png.meta │ │ ├── IconEventMultiHalf.png │ │ ├── IconEventMultiHalf.png.meta │ │ ├── IconMulti.png │ │ ├── IconMulti.png.meta │ │ ├── IconMultiHalf.png │ │ ├── IconMultiHalf.png.meta │ │ ├── IconRead.png │ │ ├── IconRead.png.meta │ │ ├── IconReadHalf.png │ │ ├── IconReadHalf.png.meta │ │ ├── IconRef.png │ │ ├── IconRef.png.meta │ │ ├── IconRefHalf.png │ │ ├── IconRefHalf.png.meta │ │ ├── IconSet.png │ │ ├── IconSet.png.meta │ │ ├── IconSetHalf.png │ │ ├── IconSetHalf.png.meta │ │ ├── IconVar.png │ │ ├── IconVar.png.meta │ │ ├── IconVarHalf.png │ │ ├── IconVarHalf.png.meta │ │ ├── IconWrite.png │ │ ├── IconWrite.png.meta │ │ ├── IconWriteHalf.png │ │ ├── IconWriteHalf.png.meta │ │ ├── Themed.meta │ │ ├── Themed │ │ │ ├── IconConst.png │ │ │ ├── IconConst.png.meta │ │ │ ├── IconConstHalf.png │ │ │ ├── IconConstHalf.png.meta │ │ │ ├── IconEvent.png │ │ │ ├── IconEvent.png.meta │ │ │ ├── IconEventHalf.png │ │ │ ├── IconEventHalf.png.meta │ │ │ ├── IconEventMulti.png │ │ │ ├── IconEventMulti.png.meta │ │ │ ├── IconEventMultiHalf.png │ │ │ ├── IconEventMultiHalf.png.meta │ │ │ ├── IconMulti.png │ │ │ ├── IconMulti.png.meta │ │ │ ├── IconMultiHalf.png │ │ │ ├── IconMultiHalf.png.meta │ │ │ ├── IconRef.png │ │ │ ├── IconRef.png.meta │ │ │ ├── IconRefHalf.png │ │ │ ├── IconRefHalf.png.meta │ │ │ ├── IconSet.png │ │ │ ├── IconSet.png.meta │ │ │ ├── IconSetHalf.png │ │ │ ├── IconSetHalf.png.meta │ │ │ ├── IconVar.png │ │ │ ├── IconVar.png.meta │ │ │ ├── IconVarHalf.png │ │ │ └── IconVarHalf.png.meta │ │ ├── chevron_down.png │ │ ├── chevron_down.png.meta │ │ ├── chevron_up.png │ │ ├── chevron_up.png.meta │ │ ├── dash.png │ │ └── dash.png.meta │ ├── ReadSmartSetTemplate.txt │ ├── ReadSmartSetTemplate.txt.meta │ ├── ReadSmartVarTemplate.txt │ ├── ReadSmartVarTemplate.txt.meta │ ├── SmartConstTemplate.txt │ ├── SmartConstTemplate.txt.meta │ ├── SmartMultiTemplate.txt │ ├── SmartMultiTemplate.txt.meta │ ├── SmartSetTemplate.txt │ ├── SmartSetTemplate.txt.meta │ ├── SmartVarTemplate.txt │ ├── SmartVarTemplate.txt.meta │ ├── WriteSmartSetTemplate.txt │ ├── WriteSmartSetTemplate.txt.meta │ ├── WriteSmartVarTemplate.txt │ └── WriteSmartVarTemplate.txt.meta ├── SmartDataTests.cs ├── SmartDataTests.cs.meta ├── SmartEditorUtils.cs ├── SmartEditorUtils.cs.meta ├── SmartGraph.meta ├── SmartGraph │ ├── Editor.meta │ ├── Editor │ │ ├── EdgeGUI.cs │ │ ├── EdgeGUI.cs.meta │ │ ├── EdgeTriggersTracker.cs │ │ ├── EdgeTriggersTracker.cs.meta │ │ ├── EditorZoomArea.cs │ │ ├── EditorZoomArea.cs.meta │ │ ├── FindInGraphButton.cs │ │ ├── FindInGraphButton.cs.meta │ │ ├── NodeGUI.cs │ │ ├── NodeGUI.cs.meta │ │ ├── RectExtensions.cs │ │ ├── RectExtensions.cs.meta │ │ ├── SmartGraph.cs │ │ ├── SmartGraph.cs.meta │ │ ├── SmartGraphGUI.cs │ │ ├── SmartGraphGUI.cs.meta │ │ ├── SmartGraphPopulator.cs │ │ ├── SmartGraphPopulator.cs.meta │ │ ├── SmartGraphWindow.cs │ │ └── SmartGraphWindow.cs.meta │ ├── NodeData.cs │ ├── NodeData.cs.meta │ ├── SmartGraphConnection.cs │ └── SmartGraphConnection.cs.meta ├── SmartTypeCreator.cs ├── SmartTypeCreator.cs.meta ├── SmartTypeCreatorSettings.cs └── SmartTypeCreatorSettings.cs.meta ├── Event.meta ├── Event ├── DispatchSmartEvent.cs ├── DispatchSmartEvent.cs.meta ├── EventMulti.cs ├── EventMulti.cs.meta ├── EventVar.cs ├── EventVar.cs.meta ├── ListenSmartEvent.cs └── ListenSmartEvent.cs.meta ├── Generated.meta ├── Generated ├── Bool.meta ├── Bool │ ├── BoolConst.cs │ ├── BoolConst.cs.meta │ ├── BoolMulti.cs │ ├── BoolMulti.cs.meta │ ├── BoolSet.cs │ ├── BoolSet.cs.meta │ ├── BoolVar.cs │ ├── BoolVar.cs.meta │ ├── ReadSmartBool.cs │ ├── ReadSmartBool.cs.meta │ ├── ReadSmartBoolSet.cs │ ├── ReadSmartBoolSet.cs.meta │ ├── WriteSmartBool.cs │ ├── WriteSmartBool.cs.meta │ ├── WriteSmartBoolSet.cs │ └── WriteSmartBoolSet.cs.meta ├── Float.meta ├── Float │ ├── FloatConst.cs │ ├── FloatConst.cs.meta │ ├── FloatMulti.cs │ ├── FloatMulti.cs.meta │ ├── FloatSet.cs │ ├── FloatSet.cs.meta │ ├── FloatVar.cs │ ├── FloatVar.cs.meta │ ├── ReadSmartFloat.cs │ ├── ReadSmartFloat.cs.meta │ ├── ReadSmartFloatSet.cs │ ├── ReadSmartFloatSet.cs.meta │ ├── WriteSmartFloat.cs │ ├── WriteSmartFloat.cs.meta │ ├── WriteSmartFloatSet.cs │ └── WriteSmartFloatSet.cs.meta ├── Int.meta ├── Int │ ├── IntConst.cs │ ├── IntConst.cs.meta │ ├── IntMulti.cs │ ├── IntMulti.cs.meta │ ├── IntSet.cs │ ├── IntSet.cs.meta │ ├── IntVar.cs │ ├── IntVar.cs.meta │ ├── ReadSmartInt.cs │ ├── ReadSmartInt.cs.meta │ ├── ReadSmartIntSet.cs │ ├── ReadSmartIntSet.cs.meta │ ├── WriteSmartInt.cs │ ├── WriteSmartInt.cs.meta │ ├── WriteSmartIntSet.cs │ └── WriteSmartIntSet.cs.meta ├── String.meta ├── String │ ├── ReadSmartString.cs │ ├── ReadSmartString.cs.meta │ ├── ReadSmartStringSet.cs │ ├── ReadSmartStringSet.cs.meta │ ├── StringConst.cs │ ├── StringConst.cs.meta │ ├── StringMulti.cs │ ├── StringMulti.cs.meta │ ├── StringSet.cs │ ├── StringSet.cs.meta │ ├── StringVar.cs │ ├── StringVar.cs.meta │ ├── WriteSmartString.cs │ ├── WriteSmartString.cs.meta │ ├── WriteSmartStringSet.cs │ └── WriteSmartStringSet.cs.meta ├── Vector3.meta └── Vector3 │ ├── ReadSmartVector3.cs │ ├── ReadSmartVector3.cs.meta │ ├── ReadSmartVector3Set.cs │ ├── ReadSmartVector3Set.cs.meta │ ├── Vector3Const.cs │ ├── Vector3Const.cs.meta │ ├── Vector3Multi.cs │ ├── Vector3Multi.cs.meta │ ├── Vector3Set.cs │ ├── Vector3Set.cs.meta │ ├── Vector3Var.cs │ ├── Vector3Var.cs.meta │ ├── WriteSmartVector3.cs │ ├── WriteSmartVector3.cs.meta │ ├── WriteSmartVector3Set.cs │ └── WriteSmartVector3Set.cs.meta ├── LICENSE ├── LICENSE.meta ├── README.md ├── README.md.meta ├── Utilities.meta └── Utilities ├── Ext_Type.cs ├── Ext_Type.cs.meta ├── SmartDataRegistry.cs ├── SmartDataRegistry.cs.meta ├── SmartEventOnLifecycle.cs ├── SmartEventOnLifecycle.cs.meta ├── SmartRefUnbinder.cs └── SmartRefUnbinder.cs.meta /Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d019d1708d85684f9ac6325a1e1dfe1 3 | folderAsset: yes 4 | timeCreated: 1534888824 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Core/SmartAttributes.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | 6 | namespace SmartData { 7 | /// 8 | /// Use on a SmartRef field to force use of a SmartData or SmartMulti. 9 | /// 10 | [AttributeUsage(AttributeTargets.Field)] 11 | public class ForceEventableAttribute : Attribute { 12 | /// 13 | /// Force the UnityEvent attached to this SmartRef to always be visible in the editor. 14 | /// 15 | public bool forceExpand {get;set;} 16 | /// 17 | /// Allow LOCAL values, i.e. non-SmartObject. LOCAL mode still fires local Relay/UnityEvent. True by default. 18 | /// 19 | public bool allowLocal {get;set;} 20 | public ForceEventableAttribute(bool forceExpand=false, bool allowLocal=true){ 21 | this.forceExpand = forceExpand; 22 | this.allowLocal = allowLocal; 23 | } 24 | } 25 | 26 | /// 27 | /// Use on a SmartRef field to hide the UnityEvent in the inspector. 28 | /// 29 | [AttributeUsage(AttributeTargets.Field)] 30 | public class ForceHideEventAttribute : Attribute {} 31 | 32 | /// 33 | /// Use on a SmartRef field to disable the in-editor Auto Listen option. 34 | /// Can still call UnbindOnDestroy from code. 35 | /// 36 | [AttributeUsage(AttributeTargets.Field)] 37 | public class ForceNoAutoListenAttribute : Attribute { 38 | /// 39 | /// If true, hides checkbox and "Disabled from code" tooltip. 40 | /// If false (default) checkbox is shown but greyed out. 41 | /// 42 | public bool hide {get; set;} 43 | public ForceNoAutoListenAttribute(bool hide=false){ 44 | this.hide = hide; 45 | } 46 | } 47 | 48 | /// 49 | /// Use on a SmartDecoratorBase to show a description in editor. 50 | /// 51 | [AttributeUsage(AttributeTargets.Class)] 52 | public class DecoratorDescriptionAttribute : Attribute { 53 | public string description {get; private set;} 54 | public DecoratorDescriptionAttribute(string description){ 55 | this.description = description; 56 | } 57 | } 58 | 59 | /// 60 | /// Use on a SmartMultiRef to disable the in-editor index field. 61 | /// Requires index selection from code. 62 | /// Disables Auto Bind in editor. 63 | /// 64 | [AttributeUsage(AttributeTargets.Field)] 65 | public class ForceNoMultiIndexAttribute : Attribute {} 66 | } -------------------------------------------------------------------------------- /Core/SmartAttributes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb503089b01f4415a98a95a4ea1aa8ce 3 | timeCreated: 1531065196 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Core/SmartComponentBaseTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c26136ce49c20d24fbb65fcad648785c 3 | timeCreated: 1534888809 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Core/SmartDataBaseTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c46aad4cd4b869745ab52b98641667c1 3 | timeCreated: 1526469374 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Core/SmartDecoratorBaseTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 637f64edd7c355e49aeceeaf9f79626b 3 | timeCreated: 1534888809 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Core/SmartInterfaces.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c7ec7f97039c184fa7f38c5e8c3f8d9 3 | timeCreated: 1526922776 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Core/SmartNetworkDecoratorBaseTypes.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace SmartData.Abstract { 6 | /// 7 | /// Base for SmartData network replication decorator. 8 | /// Override Send method to replicate data over network. 9 | /// Implement other behaviour to call Receive when data is replicated. 10 | /// 11 | public abstract class SmartNetworkDataDecoratorBase : SmartDataDecoratorBase { 12 | [SerializeField, Tooltip("Only dispatch event across network, not locally.")] 13 | bool _networkOnlyDispatch = false; 14 | [SerializeField, Tooltip("Only update value across network, not locally.")] 15 | bool _networkOnlyValue = false; 16 | public override TData OnUpdated(TData oldValue, TData newValue, RestoreMode restoreMode, ref BlockFlags block){ 17 | Send(newValue); 18 | // Stop event from being dispatched locally 19 | if (_networkOnlyDispatch){ 20 | block |= BlockFlags.DISPATCH; 21 | } 22 | // Stop data from being updated locally 23 | if (_networkOnlyValue){ 24 | block |= BlockFlags.DATA; 25 | } 26 | return newValue; 27 | } 28 | protected abstract void Send(TData value); 29 | /// 30 | /// Call to receive an update from the network. 31 | /// 32 | public void Receive(TData value){ 33 | // Take self out of OnSetValue callbacks to avoid loop 34 | this.active = false; 35 | // Set value 36 | owner.value = value; 37 | // Re-sub to OnSetValue 38 | this.active = true; 39 | } 40 | } 41 | /// 42 | /// Base class for SmartEvent network replication decorator. 43 | /// Override OnDispatched to send event to your network implementation. 44 | /// Implement other behaviour to call Receive when event is replicated. 45 | /// 46 | public abstract class SmartNetworkEventDecoratorBase : SmartEventDecoratorBase { 47 | [SerializeField, Tooltip("Only dispatch event across network, not locally.")] 48 | bool _networkOnlyDispatch = false; 49 | 50 | /// 51 | /// Call to receive an update from the network. 52 | /// 53 | public void Receive(){ 54 | this.active = false; 55 | owner.Dispatch(); 56 | this.active = true; 57 | } 58 | protected abstract void Send(); 59 | public override void OnDispatched(ref BlockFlags blockFlags){ 60 | Send(); 61 | if (_networkOnlyDispatch){ 62 | blockFlags |= BlockFlags.DISPATCH; 63 | } 64 | } 65 | } 66 | public abstract class SmartNetworkSetDecoratorBase : SmartSetDecoratorBase { 67 | public override SetEventData OnChanged(SetEventData data){ 68 | Send(data, _currentRestoreMode); 69 | return data; 70 | } 71 | protected abstract void Send(SetEventData data, RestoreMode restoreMode); 72 | /// 73 | /// Call to receive an update from the network. 74 | /// 75 | public void Receive(SetEventData data){ 76 | this.active = false; 77 | 78 | switch (data.operation){ 79 | case SetOperation.ADDED: 80 | owner.Add(data.value); 81 | break; 82 | case SetOperation.REMOVED: 83 | owner.RemoveAt(data.index); 84 | break; 85 | case SetOperation.CHANGED: 86 | owner[data.index] = data.value; 87 | break; 88 | } 89 | 90 | this.active = true; 91 | } 92 | } 93 | } -------------------------------------------------------------------------------- /Core/SmartNetworkDecoratorBaseTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 749da9c2ec9e22d42904905513c26ad7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Core/SmartRefBaseTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2a5025319b53874aba99f28f783f06a 3 | timeCreated: 1534888809 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Decorators.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8e7968885cf44baf8eb5819cbaac42b 3 | folderAsset: yes 4 | timeCreated: 1531056494 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Decorators/SmartFloatRangeDecorator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | using Sigtrap.Relays; 6 | 7 | namespace SmartData.SmartFloat.Decorators { 8 | [DecoratorDescription("Clamps a FloatVariable when its value is set.")] 9 | public class SmartFloatRangeDecorator : SmartDataDecoratorBase { 10 | [SerializeField] 11 | float _min = 0; 12 | [SerializeField] 13 | float _max = 0; 14 | 15 | /// 16 | /// SmartFloat value cannot be lower than this. 17 | /// 18 | public float min {get {return _min;}} 19 | /// 20 | /// SmartFloat value cannot exceed this. 21 | /// 22 | public float max {get {return _max;}} 23 | 24 | /// 25 | /// Raised when value exceeds stated range and is clamped. 26 | /// Passes (this, clamped value, input value). 27 | /// 28 | public IRelayLink onRangeClamped {get {return _onRangeClamped;}} 29 | Relay _onRangeClamped = new Relay(); 30 | 31 | public override float OnUpdated(float oldValue, float newValue, RestoreMode restoreMode, ref BlockFlags block){ 32 | float result = Mathf.Clamp(newValue, _min, _max); 33 | if (result != newValue){ 34 | _onRangeClamped.Dispatch(this, result, newValue); 35 | } 36 | return result; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Decorators/SmartFloatRangeDecorator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e93902f9418834c62a5c9ee2736ca0a8 3 | timeCreated: 1531056522 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8189d08aeaae9354c958cffc5f07356d 3 | folderAsset: yes 4 | timeCreated: 1526650481 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Ext_SerializedProperty.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fb561d3832888d49bd1d06d39d6dffa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Inspectors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bca0f723dcc87344970b6848cf56e4c 3 | folderAsset: yes 4 | timeCreated: 1534888336 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartComponentEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 395d9c9a6f7094c6592f779c163559f7 3 | timeCreated: 1531060116 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartConstEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System.Reflection; 6 | using SmartData.Abstract; 7 | 8 | namespace SmartData.Editors { 9 | [CustomEditor(typeof(SmartConst<>), true)] 10 | public class SmartConstEditor : SmartObjectEditorBase { 11 | SerializedProperty _value; 12 | bool _serializable = true; 13 | protected sealed override bool _const {get {return true;}} 14 | 15 | protected override void OnEnable(){ 16 | base.OnEnable(); 17 | _value = serializedObject.FindProperty("_value"); 18 | _serializable = _value != null; 19 | } 20 | 21 | override protected void DrawInspector(){ 22 | if (_serializable){ 23 | DrawCommonHeader(false); 24 | } 25 | DrawValueField(_value, true); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartConstEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32c525103d469cd41b026874f2b0cfff 3 | timeCreated: 1526841344 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartEventEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9128d3066b7623a408eb7b856f8d3dee 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartMultiEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8fb93695763abf47adb75543d53eb44 3 | timeCreated: 1527502483 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartObjectEditorBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 363699ad98e409b4daef7051a39a0bbc 3 | timeCreated: 1534955980 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartSetEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4aeba70cccc3e31418e4545997cb92d8 3 | timeCreated: 1527340172 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartTypeCreatorSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | namespace SmartData.Editors { 7 | [CustomEditor(typeof(SmartTypeCreatorSettings))] 8 | public class SmartTypeCreatorSettingsEditor : Editor { 9 | public override void OnInspectorGUI(){ 10 | EditorGUILayout.HelpBox("Cannot be edited manually - use advanced settings in SmartData type creator window.", MessageType.Info); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /Editor/Inspectors/SmartTypeCreatorSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 072db33c94b7c534fa14a826a60b1d70 3 | timeCreated: 1534263152 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Inspectors/SmartVarEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using SmartData.Abstract; 6 | using System.Reflection; 7 | 8 | namespace SmartData.Editors { 9 | [CustomEditor(typeof(SmartVarBase), true)] 10 | public class SmartVarEditor : SmartEventEditor { 11 | SerializedProperty _rtValue, _value; 12 | SerializedProperty _resetOnLoad; 13 | 14 | MethodInfo _updateRtValue; 15 | MethodInfo _hasPersistent; 16 | 17 | protected override void OnEnable(){ 18 | base.OnEnable(); 19 | _rtValue = serializedObject.FindProperty("_runtimeValue"); 20 | _value = serializedObject.FindProperty("_value"); 21 | _resetOnLoad = serializedObject.FindProperty("_resetOnSceneChange"); 22 | _updateRtValue = target.GetType().GetMethodPrivate("_EDITOR_UpdateRtValue", BindingFlags.NonPublic | BindingFlags.Instance); 23 | } 24 | 25 | override protected void DrawInspector(){ 26 | DrawCommonHeader(true); 27 | // Not writable at runtime 28 | if (Application.isPlaying){ 29 | GUI.enabled = false; 30 | } 31 | if (_resetOnLoad != null){ 32 | EditorGUILayout.PropertyField(_resetOnLoad); 33 | } 34 | DrawValueField(_value); 35 | GUI.enabled = true; 36 | 37 | // Hidden at edit time 38 | if (Application.isPlaying && _rtValue != null){ 39 | bool guiChanged = GUI.changed; 40 | GUI.changed = false; 41 | EditorGUI.BeginChangeCheck(); 42 | 43 | // Handle scene objects being serialised (not supported in ScriptableObjects due to conflicting scope) 44 | // TODO try to fake this with a custom property field 45 | if (_rtValue.propertyType == SerializedPropertyType.ObjectReference && _rtValue.objectReferenceValue != null && !EditorUtility.IsPersistent(_rtValue.objectReferenceValue)){ 46 | var rtv = _rtValue.objectReferenceValue; 47 | EditorGUILayout.BeginHorizontal(); { 48 | EditorGUILayout.LabelField(new GUIContent(ObjectNames.NicifyVariableName(_rtValue.name), _rtValue.tooltip), GUILayout.Width(EditorGUIUtility.labelWidth)); 49 | if (GUILayout.Button(rtv.name)){ 50 | EditorGUIUtility.PingObject(rtv); 51 | } 52 | } EditorGUILayout.EndHorizontal(); 53 | EditorGUILayout.HelpBox("Scene GameObjects cannot be serialized in ScriptableObjects.\nThis is only cosmetic - the reference still exists in code.", MessageType.Warning); 54 | } else { 55 | EditorGUILayout.BeginHorizontal(); { 56 | EditorGUILayout.PropertyField(_rtValue, true); 57 | if (GUILayout.Button("Save", EditorStyles.miniButton, GUILayout.Width(40))){ 58 | var val = target.GetType().GetFieldPrivate("_runtimeValue", BindingFlags.Instance).GetValue(target); 59 | target.GetType().GetFieldPrivate("_value", BindingFlags.Instance).SetValue(target, val); 60 | serializedObject.UpdateIfRequiredOrScript(); 61 | serializedObject.ApplyModifiedProperties(); 62 | } 63 | } EditorGUILayout.EndHorizontal(); 64 | } 65 | 66 | if (EditorGUI.EndChangeCheck()){ 67 | serializedObject.ApplyModifiedProperties(); 68 | _updateRtValue.Invoke(target, null); 69 | } 70 | GUI.changed = guiChanged; 71 | } 72 | 73 | DrawEventDetails(); 74 | 75 | DrawDecorators("Decorators modify SmartData behaviour at runtime, in order from top to bottom."); 76 | 77 | DrawMultiDecoratorDetails(); 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /Editor/Inspectors/SmartVarEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccdcf65053a64994e893b0706db752f5 3 | timeCreated: 1534268251 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5a53f73421afaa4c91bbc33204f65ce 3 | folderAsset: yes 4 | timeCreated: 1534888407 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartDataRefPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d007b411000d34b4e94aa85f3c77b1fa 3 | timeCreated: 1526727864 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartEventRefPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using SmartData.SmartEvent; 6 | 7 | namespace SmartData.Editors { 8 | [CustomPropertyDrawer(typeof(EventListener), true)] 9 | public class SmartEventRefPropertyDrawer : SmartRefPropertyDrawerBase { 10 | GUIContent _multiBtn = new GUIContent("M", "Using SmartEventMulti"); 11 | GUIContent _eventBtn = new GUIContent("E", "Using SmartEvent"); 12 | protected override bool _isEventable {get {return true;}} 13 | protected override void DrawGUI(Rect position, SerializedProperty property, GUIContent label, Vector2 min, Vector2 max){ 14 | bool forceHide = IsForceHideEvent(property, fieldInfo); 15 | bool forceShow = false; 16 | if (!forceHide){ 17 | bool allowLocal; 18 | IsForceEventable(property, fieldInfo, out forceShow, out allowLocal); 19 | } 20 | Rect fieldPos = DrawLabel(position, property, label, !forceHide, forceShow); 21 | 22 | var useMultiProp = property.FindPropertyRelative("_useMulti"); 23 | bool useMulti = (bool)useMultiProp.boolValue; 24 | 25 | Rect ldRect, btnRect; 26 | GetSmartFieldRects(property, label, max, ref fieldPos, out ldRect, out btnRect, false, true); 27 | 28 | GUI.enabled = !Application.isPlaying; 29 | if (GUI.Button(btnRect, (useMulti ? _multiBtn : _eventBtn))){ 30 | useMulti = !useMulti; 31 | useMultiProp.boolValue = useMulti; 32 | property.serializedObject.ApplyModifiedProperties(); 33 | } 34 | GUI.enabled = true; 35 | 36 | DrawReadWriteLabel(ldRect, property, fieldInfo, "L", "D", "Listen/Dispatch", "Listen-only"); 37 | 38 | if (useMulti){ 39 | DrawMultiProperty(fieldPos, property, min, max); 40 | } else { 41 | DrawSmart(fieldPos, property.FindPropertyRelative("_smartEvent"), property, min, max, true); 42 | } 43 | 44 | if (forceHide) return; 45 | DrawEvent(property, fieldPos, min, max, forceShow); 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartEventRefPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c932e46ffda03834882d0575c974eaa6 3 | timeCreated: 1526823264 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartMultiRefPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using SmartData.Abstract; 6 | using System.Reflection; 7 | using System.Linq; 8 | 9 | namespace SmartData.Editors { 10 | [CustomPropertyDrawer(typeof(SmartRefMultiableBase), true)] 11 | public class SmartMultiRefPropertyDrawer : SmartRefPropertyDrawerBase { 12 | protected override bool _isEventable {get {return true;}} 13 | protected override void DrawGUI(Rect position, SerializedProperty property, GUIContent label, Vector2 min, Vector2 max){ 14 | position.height = BasePropertyHeight(property, label); 15 | position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label); 16 | 17 | DrawMultiProperty(position, property, min, max); 18 | if (IsForceHideEvent(property, fieldInfo)) return; 19 | bool forceExpand, allowLocal; 20 | IsForceEventable(property, fieldInfo, out forceExpand, out allowLocal); 21 | DrawEvent(property, position, min, max, forceExpand); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartMultiRefPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bad595d55d4c3c7488f189a300e9aa6e 3 | timeCreated: 1527502483 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartRefPropertyDrawerBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17e35a17ae15de94a9b0da23016e930e 3 | timeCreated: 1526820640 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartSetRefPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using SmartData.Abstract; 6 | using System.Reflection; 7 | using System.Linq; 8 | 9 | namespace SmartData.Editors { 10 | [CustomPropertyDrawer(typeof(SmartSetRefBase), true)] 11 | public class SmartSetRefPropertyDrawer : SmartRefPropertyDrawerBase { 12 | bool _useList; 13 | bool _forceEventable; 14 | string _listProp {get {return Application.isPlaying ? "_runtimeList" : "_list";}} 15 | const string SMART_PROP = "_smartSet"; 16 | 17 | public override float GetPropertyHeight(SerializedProperty property, GUIContent label){ 18 | if (_useList && !_forceEventable){ 19 | var p = property.FindPropertyRelative(_listProp); 20 | string listPath = p.propertyPath; 21 | float h = 0; 22 | p.Next(true); 23 | bool expand = true; 24 | do { 25 | // Stop when we iterate past list 26 | if (!p.propertyPath.StartsWith(listPath)) break; 27 | 28 | h += BasePropertyHeight(p, GUIContent.none); 29 | h += EditorGUIUtility.standardVerticalSpacing; 30 | expand = p.isExpanded; 31 | } while (p.NextVisible(expand)); 32 | 33 | return h; 34 | } 35 | return base.GetPropertyHeight(property, label); 36 | } 37 | protected override void DrawGUI(Rect position, SerializedProperty property, GUIContent label, Vector2 min, Vector2 max){ 38 | position.height = BasePropertyHeight(property, label); 39 | position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label); 40 | 41 | Rect fieldPos = position; 42 | Rect btnPos, rwPos; 43 | GetSmartFieldRects(property, label, max, ref fieldPos, out rwPos, out btnPos, false, !_forceEventable); 44 | 45 | bool forceExpand, allowLocal; 46 | _forceEventable = IsForceEventable(property, fieldInfo, out forceExpand, out allowLocal); 47 | if (_forceEventable){ 48 | _isEventable = true; 49 | GUI.enabled = !Application.isPlaying; 50 | EditorGUI.PropertyField(fieldPos, property.FindPropertyRelative(SMART_PROP), GUIContent.none); 51 | DrawReadWriteLabel(rwPos, property, fieldInfo); 52 | } else { 53 | var useListProp = property.FindPropertyRelative("_useList"); 54 | _useList = useListProp.boolValue; 55 | _isEventable = !_useList; 56 | 57 | GUI.enabled = !Application.isPlaying; 58 | if (GUI.Button(btnPos, new GUIContent(_useList ? "L" : "S", _useList ? "Using local set" : "Using SmartSet"))){ 59 | _useList = !_useList; 60 | useListProp.boolValue = _useList; 61 | } 62 | 63 | DrawReadWriteLabel(rwPos, property, fieldInfo); 64 | 65 | if (_useList){ 66 | GUI.enabled = true; 67 | fieldPos.xMin += 15; 68 | fieldPos.xMax = max.x; 69 | 70 | var lProp = property.FindPropertyRelative(_listProp); 71 | string listPath = lProp.propertyPath; 72 | lProp.Next(true); 73 | EditorGUI.PropertyField(fieldPos, lProp, new GUIContent("Local Set"), true); 74 | } else { 75 | DrawSmart(fieldPos, property.FindPropertyRelative(SMART_PROP), property, min, max, true); 76 | } 77 | } 78 | GUI.enabled = true; 79 | 80 | if ((_forceEventable || !_useList) && !IsForceHideEvent(property, fieldInfo)){ 81 | DrawEvent(property, position, min, max, forceExpand); 82 | } 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /Editor/PropertyDrawers/SmartSetRefPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abd3a42816fc49f4da08ba8bf7c04252 3 | timeCreated: 1527502483 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6be9423b49ed78f4c822d8e10625cad3 3 | folderAsset: yes 4 | timeCreated: 1526530515 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Resources/GUI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 113368fb586f34e7f8355e255953ae9e 3 | folderAsset: yes 4 | timeCreated: 1531061556 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconConst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconConst.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconConst.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 516b998b00589374e996bb48213cce2d 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconConstHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconConstHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconConstHalf.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39ec3adf75728764abc0301880b99e76 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEvent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconEvent.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEvent.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46b5c23670525b14584aeb822b15e103 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEventHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconEventHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEventHalf.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 403f003703488f946a4e95530066ff2a 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEventMulti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconEventMulti.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEventMulti.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc58eedb28e2fa249bf8a8af0b08f74b 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconEventMultiHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconEventMultiHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconMulti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconMulti.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconMulti.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10557a33531cc934bb6dcbc76e9de8e8 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconMultiHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconMultiHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconMultiHalf.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 320237742ff4e7f40aef98bb855dff8c 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconRead.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconRead.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconRead.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ce560e8aa8325d46847c66e4f11af1c 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconReadHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconReadHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconReadHalf.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b3dbb3d06bbae946beada21a2227f73 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconRef.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconRef.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconRef.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9aad7bda9bed7834a98aba201f48af80 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconRefHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconRefHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconSet.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconSet.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eab015da54d27804dbe38c3e57c46d1e 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconSetHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconSetHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconVar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconVar.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconVar.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35aa7aa869cc07b479d7feaaaf636e26 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconVarHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconVarHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconWrite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconWrite.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconWrite.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a72e45ef804d89b42a45afaa51900143 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/IconWriteHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/IconWriteHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce8a74f081a50b942b57fb8a78d1d393 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconConst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconConst.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconConstHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconConstHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconEvent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconEvent.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconEventHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconEventHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconEventMulti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconEventMulti.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconEventMultiHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconEventMultiHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconMulti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconMulti.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconMultiHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconMultiHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconRef.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconRef.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconRefHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconRefHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconSet.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconSetHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconSetHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconVar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconVar.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/Themed/IconVarHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/Themed/IconVarHalf.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/chevron_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/chevron_down.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/chevron_down.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2254fd49b6fa4aa5b4a0c684aa86d04 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 32 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 32 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 32 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 32 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/chevron_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/chevron_up.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/chevron_up.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bca6ff1fc428246e187d9e794f276aa9 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 32 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 32 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: Android 85 | maxTextureSize: 32 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: WebGL 96 | maxTextureSize: 32 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | spriteSheet: 106 | serializedVersion: 2 107 | sprites: [] 108 | outline: [] 109 | physicsShape: [] 110 | bones: [] 111 | spriteID: 112 | vertices: [] 113 | indices: 114 | edges: [] 115 | weights: [] 116 | spritePackingTag: 117 | pSDRemoveMatte: 0 118 | pSDShowRemoveMatteOption: 0 119 | userData: 120 | assetBundleName: 121 | assetBundleVariant: 122 | -------------------------------------------------------------------------------- /Editor/Resources/GUI/dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigtrapgames/SmartData/cea15a15d0b80d5b1b2d079255b9cb1c1e9ea13a/Editor/Resources/GUI/dash.png -------------------------------------------------------------------------------- /Editor/Resources/GUI/dash.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41d0bf0dda433894081d4f0c07cd894b 3 | timeCreated: 1534247765 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 1 52 | spriteTessellationDetail: -1 53 | textureType: 0 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 0 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | androidETC2FallbackOverride: 0 69 | - buildTarget: Standalone 70 | maxTextureSize: 2048 71 | resizeAlgorithm: 0 72 | textureFormat: -1 73 | textureCompression: 0 74 | compressionQuality: 50 75 | crunchedCompression: 0 76 | allowsAlphaSplitting: 0 77 | overridden: 0 78 | androidETC2FallbackOverride: 0 79 | - buildTarget: Android 80 | maxTextureSize: 2048 81 | resizeAlgorithm: 0 82 | textureFormat: -1 83 | textureCompression: 0 84 | compressionQuality: 50 85 | crunchedCompression: 0 86 | allowsAlphaSplitting: 0 87 | overridden: 0 88 | androidETC2FallbackOverride: 0 89 | spriteSheet: 90 | serializedVersion: 2 91 | sprites: [] 92 | outline: [] 93 | physicsShape: [] 94 | spritePackingTag: 95 | userData: 96 | assetBundleName: 97 | assetBundleVariant: 98 | -------------------------------------------------------------------------------- /Editor/Resources/ReadSmartSetTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | 6 | namespace SmartData.Smart{1}.Components {{ 7 | /// 8 | /// Automatically listens to a Smart{1}Set and fires a UnityEvent<{0}> when data changes. 9 | /// 10 | [AddComponentMenu("SmartData/{2}/Read Smart {2} Set", 2)] 11 | public class ReadSmart{1}Set : ReadSmartBase<{1}SetReader> {{}} 12 | }} -------------------------------------------------------------------------------- /Editor/Resources/ReadSmartSetTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e936bc6d9b17d90429e6d8b0790e3a58 3 | timeCreated: 1534883996 4 | licenseType: Pro 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Resources/ReadSmartVarTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | 6 | namespace SmartData.Smart{1}.Components {{ 7 | /// 8 | /// Automatically listens to a Smart{1} and fires a UnityEvent<{0}> when data changes. 9 | /// 10 | [AddComponentMenu("SmartData/{2}/Read Smart {2}", 0)] 11 | public class ReadSmart{1} : ReadSmartBase<{1}Reader> {{}} 12 | }} -------------------------------------------------------------------------------- /Editor/Resources/ReadSmartVarTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 456b5a112670c3d469b4eb1156a701a1 3 | timeCreated: 1534883996 4 | licenseType: Pro 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Resources/SmartConstTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | using SmartData.Interfaces; 6 | 7 | namespace SmartData.Smart{1}.Data {{ 8 | /// 9 | /// ScriptableObject constant {0}. 10 | /// 11 | [CreateAssetMenu(menuName="SmartData/{2}/{2} Const", order=3)] 12 | public class {1}Const : SmartConst<{0}>, ISmartConst<{0}> {{ 13 | #if UNITY_EDITOR 14 | const string VALUETYPE = "{0}"; 15 | const string DISPLAYTYPE = "{2} Const"; 16 | #endif 17 | }} 18 | }} -------------------------------------------------------------------------------- /Editor/Resources/SmartConstTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3821f69263227324cbaacbc84d6d13ca 3 | timeCreated: 1526727659 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/SmartMultiTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Smart{1}.Data; 5 | using SmartData.Abstract; 6 | using SmartData.Interfaces; 7 | using Sigtrap.Relays; 8 | 9 | namespace SmartData.Smart{1}.Data {{ 10 | /// 11 | /// Dynamic collection of {1}Var assets. 12 | /// 13 | [CreateAssetMenu(menuName="SmartData/{2}/{2} Multi", order=1)] 14 | public class {1}Multi: SmartMulti<{0}, {1}Var>, ISmartMulti<{0}, {1}Var> {{ 15 | #if UNITY_EDITOR 16 | const string VALUETYPE = "{0}"; 17 | const string DISPLAYTYPE = "{2} Multi"; 18 | #endif 19 | }} 20 | }} 21 | 22 | namespace SmartData.Smart{1} {{ 23 | /// 24 | /// Indexed reference into a {1}Multi (read-only access). 25 | /// For write access make a reference to {1}MultiRefWriter. 26 | /// 27 | [System.Serializable] 28 | public class {1}MultiReader : SmartDataMultiRef<{1}Multi, {0}, {1}Var> {{ 29 | public static implicit operator {0}({1}MultiReader r){{ 30 | return r.value; 31 | }} 32 | 33 | [SerializeField] 34 | Data.{1}Var.{1}Event _onUpdate = null; 35 | 36 | protected override System.Action<{0}> GetUnityEventInvoke(){{ 37 | return _onUpdate.Invoke; 38 | }} 39 | }} 40 | /// 41 | /// Indexed reference into a {1}Multi, with a built-in UnityEvent. 42 | /// For read-only access make a reference to {1}MultiRef. 43 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 44 | /// 45 | [System.Serializable] 46 | public class {1}MultiWriter : SmartDataMultiRefWriter<{1}Multi, {0}, {1}Var> {{ 47 | public static implicit operator {0}({1}MultiWriter r){{ 48 | return r.value; 49 | }} 50 | 51 | [SerializeField] 52 | Data.{1}Var.{1}Event _onUpdate = null; 53 | 54 | protected override System.Action<{0}> GetUnityEventInvoke(){{ 55 | return _onUpdate.Invoke; 56 | }} 57 | protected sealed override void InvokeUnityEvent({0} value){{ 58 | _onUpdate.Invoke(value); 59 | }} 60 | }} 61 | }} -------------------------------------------------------------------------------- /Editor/Resources/SmartMultiTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ed33d9b552d8f14d844badba3c33892 3 | timeCreated: 1527502490 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/SmartSetTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Events; 5 | using SmartData.Smart{1}.Data; 6 | using SmartData.Abstract; 7 | using SmartData.Interfaces; 8 | using Sigtrap.Relays; 9 | 10 | namespace SmartData.Smart{1}.Data {{ 11 | /// 12 | /// ScriptableObject data set which fires a Relay on data addition/removal. 13 | /// 14 | [CreateAssetMenu(menuName="SmartData/{2}/{2} Set", order=2)] 15 | public class {1}Set : SmartSet<{0}>, ISmartDataSet<{0}> {{ 16 | #if UNITY_EDITOR 17 | const string VALUETYPE = "{0}"; 18 | const string DISPLAYTYPE = "{2} Set"; 19 | #endif 20 | }} 21 | }} 22 | 23 | namespace SmartData.Smart{1} {{ 24 | /// 25 | /// Read-only access to {1}Set or List<0>, with built-in UnityEvent. 26 | /// For write access make a {1}SetWriter reference. 27 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 28 | /// 29 | [System.Serializable] 30 | public class {1}SetReader : SmartSetRefBase<{0}, {1}Set>, ISmartSetRefReader<{0}> {{ 31 | [SerializeField] 32 | Data.{1}Var.{1}Event _onAdd = null; 33 | [SerializeField] 34 | Data.{1}Var.{1}Event _onRemove = null; 35 | [SerializeField] 36 | Data.{1}Var.{1}Event _onChange = null; 37 | 38 | protected override System.Action> GetUnityEventInvoke(){{ 39 | return (d)=>{{ 40 | switch (d.operation){{ 41 | case SetOperation.ADDED: 42 | _onAdd.Invoke(d.value); 43 | break; 44 | case SetOperation.REMOVED: 45 | _onRemove.Invoke(d.value); 46 | break; 47 | case SetOperation.CHANGED: 48 | _onChange.Invoke(d.value); 49 | break; 50 | }} 51 | }}; 52 | }} 53 | }} 54 | /// 55 | /// Write access to {1}Set or List<{0}>, with built-in UnityEvent. 56 | /// For read-only access make a {1}SetRef reference. 57 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 58 | /// 59 | [System.Serializable] 60 | public class {1}SetWriter : SmartSetRefWriterBase<{0}, {1}Set>, ISmartSetRefReader<{0}> {{ 61 | [SerializeField] 62 | Data.{1}Var.{1}Event _onAdd = null; 63 | [SerializeField] 64 | Data.{1}Var.{1}Event _onRemove = null; 65 | [SerializeField] 66 | Data.{1}Var.{1}Event _onChange = null; 67 | 68 | protected override System.Action> GetUnityEventInvoke(){{ 69 | return InvokeUnityEvent; 70 | }} 71 | 72 | protected sealed override void InvokeUnityEvent(SetEventData<{0}> d){{ 73 | switch (d.operation){{ 74 | case SetOperation.ADDED: 75 | _onAdd.Invoke(d.value); 76 | break; 77 | case SetOperation.REMOVED: 78 | _onRemove.Invoke(d.value); 79 | break; 80 | case SetOperation.CHANGED: 81 | _onChange.Invoke(d.value); 82 | break; 83 | }} 84 | }} 85 | 86 | }} 87 | }} -------------------------------------------------------------------------------- /Editor/Resources/SmartSetTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5be74aa31a94e324eab3df491942a46d 3 | timeCreated: 1527334847 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/SmartVarTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Events; 5 | using SmartData.Smart{1}.Data; 6 | using SmartData.Abstract; 7 | using SmartData.Interfaces; 8 | using Sigtrap.Relays; 9 | 10 | namespace SmartData.Smart{1}.Data {{ 11 | /// 12 | /// ScriptableObject data which fires a Relay on data change. 13 | /// 14 | [CreateAssetMenu(menuName="SmartData/{2}/{2} Variable", order=0)] 15 | public partial class {1}Var : SmartVar<{0}>, ISmartVar<{0}> {{ // partial to allow overrides that don't get overwritten on regeneration 16 | #if UNITY_EDITOR 17 | const string VALUETYPE = "{0}"; 18 | const string DISPLAYTYPE = "{2}"; 19 | #endif 20 | 21 | [System.Serializable] 22 | public class {1}Event : UnityEvent<{0}>{{}} 23 | }} 24 | }} 25 | 26 | namespace SmartData.Smart{1} {{ 27 | /// 28 | /// Read-only access to Smart{1} or {0}, with built-in UnityEvent. 29 | /// For write access make a {1}RefWriter reference. 30 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 31 | /// 32 | [System.Serializable] 33 | public class {1}Reader : SmartDataRefBase<{0}, {1}Var, {1}Const, {1}Multi> {{ 34 | [SerializeField] 35 | Data.{1}Var.{1}Event _onUpdate = null; 36 | 37 | protected sealed override System.Action<{0}> GetUnityEventInvoke(){{ 38 | return _onUpdate.Invoke; 39 | }} 40 | }} 41 | /// 42 | /// Write access to Smart{1}Writer or {0}, with built-in UnityEvent. 43 | /// For read-only access make a {1}Ref reference. 44 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 45 | /// 46 | [System.Serializable] 47 | public class {1}Writer : SmartDataRefWriter<{0}, {1}Var, {1}Const, {1}Multi> {{ 48 | [SerializeField] 49 | Data.{1}Var.{1}Event _onUpdate = null; 50 | 51 | protected sealed override System.Action<{0}> GetUnityEventInvoke(){{ 52 | return _onUpdate.Invoke; 53 | }} 54 | protected sealed override void InvokeUnityEvent({0} value){{ 55 | _onUpdate.Invoke(value); 56 | }} 57 | }} 58 | }} -------------------------------------------------------------------------------- /Editor/Resources/SmartVarTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2031d6eb35614ae46b5a12b1c88f0467 3 | timeCreated: 1534267638 4 | licenseType: Pro 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Resources/WriteSmartSetTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | 6 | namespace SmartData.Smart{1}.Components {{ 7 | /// 8 | /// Serialised write access to a Smart{1}Set. 9 | /// 10 | [AddComponentMenu("SmartData/{2}/Write Smart {2} Set", 3)] 11 | public class WriteSmart{1}Set : WriteSetBase<{0}, {1}SetWriter> {{}} 12 | }} -------------------------------------------------------------------------------- /Editor/Resources/WriteSmartSetTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 008751a929ed074489233dfce6d55afd 3 | timeCreated: 1534883996 4 | licenseType: Pro 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Resources/WriteSmartVarTemplate.txt: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | 6 | namespace SmartData.Smart{1}.Components {{ 7 | /// 8 | /// Serialised write access to a Smart{1}. 9 | /// 10 | [AddComponentMenu("SmartData/{2}/Write Smart {2}", 1)] 11 | public class WriteSmart{1} : WriteSmartBase<{0}, {1}Writer> {{}} 12 | }} -------------------------------------------------------------------------------- /Editor/Resources/WriteSmartVarTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb002cd5050a9dd439e0b38d7cbceefd 3 | timeCreated: 1534883996 4 | licenseType: Pro 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/SmartDataTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: beebf958c0c9bc64db28b7783075e2e1 3 | timeCreated: 1534284684 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/SmartEditorUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5caf0b8c68b8444c198d3e8e4749ac34 3 | timeCreated: 1531066617 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27fdfc33fdafe494ab9467d2cd0fc480 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 673c745b2caa2404db48f4bde78840d8 3 | folderAsset: yes 4 | timeCreated: 1499875042 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/EdgeGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2985f4fac86ecd34eb637f29891d75d2 3 | timeCreated: 1500022382 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/EdgeTriggersTracker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEditor.Graphs; 4 | using UnityEngine; 5 | using UnityEngine.Events; 6 | 7 | namespace SmartData.Graph 8 | { 9 | public static class EdgeTriggersTracker 10 | { 11 | public class EdgeTrigger 12 | { 13 | public Edge edge; 14 | public bool direction; 15 | public float triggeredTime; 16 | } 17 | 18 | private readonly static float TimeToLive = 1f; 19 | private static List triggers = new List(); 20 | private static List timings = new List(); 21 | public static void RegisterTrigger(Edge edge, bool dir) 22 | { 23 | triggers.Add(new EdgeTrigger() { edge = edge, triggeredTime = Time.unscaledTime , direction = dir}); 24 | } 25 | 26 | 27 | public static List GetTimings(Edge edge) 28 | { 29 | float now = Time.unscaledTime; 30 | List acceptedTriggers = triggers.FindAll(t => t.edge == edge); 31 | 32 | timings.Clear(); 33 | foreach (EdgeTrigger t in acceptedTriggers) 34 | { 35 | float delay = !t.direction ? TimeToLive : 0; 36 | 37 | float time = Mathf.Abs((t.triggeredTime - now)) / TimeToLive; 38 | time = time - delay; 39 | if (time <= 1f && time >= 0f) 40 | { 41 | timings.Add(t.direction? time : 1-time); 42 | } 43 | if(time > 1f) 44 | { 45 | triggers.Remove(t); 46 | } 47 | } 48 | return timings; 49 | } 50 | 51 | public static void CleanObsolete() 52 | { 53 | float now = Time.unscaledTime; 54 | triggers.RemoveAll(trigger => Mathf.Abs(now - trigger.triggeredTime) > TimeToLive); 55 | } 56 | 57 | public static bool HasData() 58 | { 59 | return triggers.Count > 0; 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/EdgeTriggersTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f19a182d61c68542a747db2ee20d0d5 3 | timeCreated: 1512134666 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/EditorZoomArea.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace SmartData.Graph 4 | { 5 | public class EditorZoomArea 6 | { 7 | private const float kEditorWindowTabHeight = 21.0f; 8 | private static Matrix4x4 _prevGuiMatrix; 9 | 10 | public static Rect Begin(float zoomScale, Rect screenCoordsArea) 11 | { 12 | GUI.EndGroup(); // End the group Unity begins automatically for an EditorWindow to clip out the window tab. This allows us to draw outside of the size of the EditorWindow. 13 | 14 | Rect clippedArea = screenCoordsArea.ScaleSizeBy(1.0f / zoomScale, screenCoordsArea.TopLeft()); 15 | clippedArea.y += kEditorWindowTabHeight; 16 | GUI.BeginGroup(clippedArea); 17 | 18 | _prevGuiMatrix = GUI.matrix; 19 | Matrix4x4 translation = Matrix4x4.TRS(clippedArea.TopLeft(), Quaternion.identity, Vector3.one); 20 | Matrix4x4 scale = Matrix4x4.Scale(new Vector3(zoomScale, zoomScale, 1.0f)); 21 | GUI.matrix = translation * scale * translation.inverse * GUI.matrix; 22 | 23 | return clippedArea; 24 | } 25 | 26 | public static void End() 27 | { 28 | GUI.matrix = _prevGuiMatrix; 29 | GUI.EndGroup(); 30 | GUI.BeginGroup(new Rect(0.0f, kEditorWindowTabHeight, Screen.width, Screen.height)); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/EditorZoomArea.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df84caadb31f9df48b22ab5d59ac9d5f 3 | timeCreated: 1504788847 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/FindInGraphButton.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace SmartData.Graph 5 | { 6 | public static class FindInGraphButton 7 | { 8 | [MenuItem("GameObject/Smart Graph/Find this", false, 0)] 9 | static void FindEvents() 10 | { 11 | SmartGraphWindow window = EditorWindow.GetWindow(); 12 | if(window != null) 13 | { 14 | window.OverrideSelection(Selection.activeInstanceID); 15 | } 16 | } 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/FindInGraphButton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2dfbd442ff101084f9021be4d99f48b3 3 | timeCreated: 1500029743 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/NodeGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24ae9b60aa42dfc4ba3dca7eb88a614d 3 | timeCreated: 1499939700 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/RectExtensions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace SmartData.Graph 4 | { 5 | 6 | public static class RectExtensions 7 | { 8 | public static Vector2 TopLeft(this Rect rect) 9 | { 10 | return new Vector2(rect.xMin, rect.yMin); 11 | } 12 | public static Rect ScaleSizeBy(this Rect rect, float scale) 13 | { 14 | return rect.ScaleSizeBy(scale, rect.center); 15 | } 16 | public static Rect ScaleSizeBy(this Rect rect, float scale, Vector2 pivotPoint) 17 | { 18 | Rect result = rect; 19 | result.x -= pivotPoint.x; 20 | result.y -= pivotPoint.y; 21 | result.xMin *= scale; 22 | result.xMax *= scale; 23 | result.yMin *= scale; 24 | result.yMax *= scale; 25 | result.x += pivotPoint.x; 26 | result.y += pivotPoint.y; 27 | return result; 28 | } 29 | public static Rect ScaleSizeBy(this Rect rect, Vector2 scale) 30 | { 31 | return rect.ScaleSizeBy(scale, rect.center); 32 | } 33 | public static Rect ScaleSizeBy(this Rect rect, Vector2 scale, Vector2 pivotPoint) 34 | { 35 | Rect result = rect; 36 | result.x -= pivotPoint.x; 37 | result.y -= pivotPoint.y; 38 | result.xMin *= scale.x; 39 | result.xMax *= scale.x; 40 | result.yMin *= scale.y; 41 | result.yMax *= scale.y; 42 | result.x += pivotPoint.x; 43 | result.y += pivotPoint.y; 44 | return result; 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/RectExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d731028bb06536145af5d62304d3edcf 3 | timeCreated: 1504789257 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/SmartGraph.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8f9efaa5424bdf4ebdd9d4af48ca877 3 | timeCreated: 1499875263 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/SmartGraphGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41d6ec2bce82c7c449da384062936274 3 | timeCreated: 1499875263 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/SmartGraphPopulator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48826a5b6d060a148b50a6670ba6d2a4 3 | timeCreated: 1499869669 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/Editor/SmartGraphWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 190ddcd99b7cc1b48af8d612a8aea744 3 | timeCreated: 1499938262 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/NodeData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace SmartData.Graph 5 | { 6 | [System.Serializable] 7 | public class NodeData 8 | { 9 | public enum NodeType 10 | { 11 | Default, 12 | SmartData, 13 | SmartEvent 14 | } 15 | 16 | public Object Entity { get; private set; } 17 | public string EntityType {get; private set;} 18 | public bool IsSmartObject {get; private set;} 19 | 20 | public NodeType Behaviour { get; private set; } 21 | 22 | public string Name 23 | { 24 | get 25 | { 26 | return Entity != null ? Entity.name : ""; 27 | } 28 | } 29 | 30 | public List Outputs { get; private set; } 31 | public List Inputs { get; private set; } 32 | 33 | 34 | public NodeData(Object entity, NodeType type) 35 | { 36 | Entity = entity; 37 | Behaviour = type; 38 | Outputs = new List(); 39 | Inputs = new List(); 40 | EntityType = Entity.GetType().Name; 41 | System.Type tData; 42 | IsSmartObject = Editors.SmartEditorUtils.GetSmartObjectType(Entity.GetType(), out tData) != Editors.SmartEditorUtils.SmartObjectType.NONE; 43 | } 44 | 45 | 46 | #region registry 47 | 48 | 49 | [SerializeField] 50 | private static Dictionary nodes = new Dictionary(); 51 | 52 | public static ICollection Nodes 53 | { 54 | get 55 | { 56 | return nodes != null ? nodes.Values : null; 57 | } 58 | } 59 | 60 | public static void ClearAll() 61 | { 62 | nodes.Clear(); 63 | } 64 | 65 | public static void RegisterEvent(SmartGraphConnection eventCall) 66 | { 67 | CreateNode(eventCall.Sender); 68 | CreateNode(eventCall.Receiver); 69 | 70 | nodes[eventCall.Sender.GetInstanceID()].Outputs.Add(eventCall); 71 | nodes[eventCall.Receiver.GetInstanceID()].Inputs.Add(eventCall); 72 | } 73 | 74 | 75 | private static void CreateNode(Object entity) 76 | { 77 | int id = entity.GetInstanceID(); 78 | 79 | if (!nodes.ContainsKey(id)) 80 | { 81 | nodes.Add(id, new NodeData(entity, NodeTypeForObject(entity))); 82 | } 83 | } 84 | 85 | private static NodeType NodeTypeForObject(Object obj) 86 | { 87 | if (obj is SmartData.SmartEvent.Data.EventVar) 88 | { 89 | return NodeType.SmartEvent; 90 | } 91 | if (obj is SmartData.Abstract.SmartBase) 92 | { 93 | return NodeType.SmartData; 94 | } 95 | return NodeType.Default; 96 | } 97 | #endregion 98 | } 99 | 100 | } -------------------------------------------------------------------------------- /Editor/SmartGraph/NodeData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70667cf59022c0a42a20bae166613703 3 | timeCreated: 1499875742 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartGraph/SmartGraphConnection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 146bf08e47e9cb646bc3fdb8a2bc2c6c 3 | timeCreated: 1499941586 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/SmartTypeCreator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e023de64d3b40f54c9deddef94ddd2b8 3 | timeCreated: 1534263152 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/SmartTypeCreatorSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af7c9a972b9c7304195fa25e06912964 3 | timeCreated: 1534263152 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Event.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e39fb513a404ba41adbe5e10a1d55c2 3 | folderAsset: yes 4 | timeCreated: 1534888242 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Event/DispatchSmartEvent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.SmartEvent.Data; 5 | 6 | namespace SmartData.SmartEvent.Components { 7 | /// 8 | /// Serialised access to a SmartEventDispatcher. 9 | /// 10 | [AddComponentMenu("SmartData/Dispatch Smart Event", 101)] 11 | public class DispatchSmartEvent : MonoBehaviour { 12 | [SerializeField][ForceNoAutoListen(hide=true)][ForceHideEvent] 13 | EventDispatcher _event = null; 14 | 15 | /// Dispatch the SmartEvent. 16 | public void Dispatch(){ 17 | _event.Dispatch(); 18 | } 19 | /// Dispatch a SmartEvent specified by the caller. 20 | public void DispatchEvent(EventVar e){ 21 | e.Dispatch(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Event/DispatchSmartEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 528ac100cce1e9c439ebe7aec017c0f0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 941e1764a841cc645b030c415de734a0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Event/EventMulti.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Events; 5 | using SmartData.Abstract; 6 | using Sigtrap.Relays; 7 | using SmartData.SmartEvent.Data; 8 | using SmartData.Interfaces; 9 | 10 | namespace SmartData.SmartEvent.Data { 11 | /// 12 | /// Dynamic collection of SmartEvents. 13 | /// 14 | [CreateAssetMenu(menuName = "SmartData/Event Multi", order=5)] 15 | public class EventMulti : SmartMulti { 16 | #if UNITY_EDITOR 17 | const string VALUETYPE = "void"; 18 | const string DISPLAYTYPE = "Event Multi"; 19 | #endif 20 | 21 | /// 22 | /// Bind an event listener to indexed SmartVar which passes current value. 23 | /// IRelayBinding for easy enabling/disabling, or null if failed. 24 | public IRelayBinding BindListener(System.Action listener, int index){ 25 | return this[index].BindListener(listener); 26 | } 27 | } 28 | } 29 | 30 | namespace SmartData.SmartEvent { 31 | /// 32 | /// Indexed reference into an EventMulti (read-only access). 33 | /// For write access make a reference to EventMultiDispatcher. 34 | /// 35 | [System.Serializable] 36 | public class EventMultiListener : SmartMultiRef { 37 | #if UNITY_EDITOR || DEVELOPMENT_BUILD 38 | protected sealed override SmartBase _EDITOR_GetSmartObject(out bool useMultiIndex){ 39 | useMultiIndex = true; 40 | return _multi; 41 | } 42 | #endif 43 | 44 | [SerializeField] 45 | UnityEvent _onEvent = null; 46 | 47 | protected override IRelayBinding BindUnityEvent(){ 48 | return _event.relay.BindListener(_onEvent.Invoke); 49 | } 50 | protected EventVar _event { 51 | get {return _multi[index];} 52 | } 53 | /// 54 | /// Bind an event listener to SmartData[index]. 55 | /// IRelayBinding for easy enabling/disabling, or null if failed. 56 | public IRelayBinding BindListener(System.Action listener){ 57 | return _event.BindListener(listener); 58 | } 59 | protected void InvokeUnityEvent(){{ 60 | _onEvent.Invoke(); 61 | }} 62 | } 63 | /// 64 | /// Indexed reference into an EventMulti (dispatch access). 65 | /// For read-only access make a reference to EventMultiListener. 66 | /// 67 | [System.Serializable] 68 | public class EventMultiDispatcher : EventMultiListener { 69 | public void Dispatch(){ 70 | var b = _event.Dispatch(); 71 | if (!unityEventOnReceive && !b.Contains(BlockFlags.DISPATCH)){ 72 | InvokeUnityEvent(); 73 | } 74 | #if UNITY_EDITOR && !SMARTDATA_NO_GRAPH_HOOKS 75 | Editors.SmartDataRegistry.OnRefCallToSmart(this, _multi, _event); 76 | #endif 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /Event/EventMulti.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 102ec26fd271d2449b0b1411f7626e02 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: ce6fca9a63727714f821afb1a5d3c6df, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Event/EventVar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b3a67f8ea85f1a41abb26c03a218953 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 941e1764a841cc645b030c415de734a0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Event/ListenSmartEvent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Events; 5 | using Sigtrap.Relays; 6 | using SmartData.Abstract; 7 | using SmartData.SmartEvent; 8 | using SmartData.Interfaces; 9 | 10 | namespace SmartData.SmartEvent.Components { 11 | [AddComponentMenu("SmartData/Listen Smart Event", 100)] 12 | public class ListenSmartEvent : ReadSmartBase {} 13 | } -------------------------------------------------------------------------------- /Event/ListenSmartEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93f1e525436345d4897593aa0ab32e26 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 941e1764a841cc645b030c415de734a0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95827ac75d663c042bddc6e975f3224d 3 | folderAsset: yes 4 | timeCreated: 1527503826 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Generated/Bool.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5915cfba8db66624db39b652e30cb146 3 | folderAsset: yes 4 | timeCreated: 1532274367 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Generated/Bool/BoolConst.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE SmartConstTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | using SmartData.Interfaces; 10 | 11 | namespace SmartData.SmartBool.Data { 12 | /// 13 | /// ScriptableObject constant bool. 14 | /// 15 | [CreateAssetMenu(menuName="SmartData/Bool/Bool Const", order=3)] 16 | public class BoolConst : SmartConst, ISmartConst { 17 | #if UNITY_EDITOR 18 | const string VALUETYPE = "bool"; 19 | const string DISPLAYTYPE = "Bool Const"; 20 | #endif 21 | } 22 | } -------------------------------------------------------------------------------- /Generated/Bool/BoolConst.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 151f007be23891646bfa266b26a3b119 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: 54cf31b5ad47dc548b0bedde5db96184, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/BoolMulti.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE SmartMultiTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.SmartBool.Data; 9 | using SmartData.Abstract; 10 | using SmartData.Interfaces; 11 | using Sigtrap.Relays; 12 | 13 | namespace SmartData.SmartBool.Data { 14 | /// 15 | /// Dynamic collection of BoolVar assets. 16 | /// 17 | [CreateAssetMenu(menuName="SmartData/Bool/Bool Multi", order=1)] 18 | public class BoolMulti: SmartMulti, ISmartMulti { 19 | #if UNITY_EDITOR 20 | const string VALUETYPE = "bool"; 21 | const string DISPLAYTYPE = "Bool Multi"; 22 | #endif 23 | } 24 | } 25 | 26 | namespace SmartData.SmartBool { 27 | /// 28 | /// Indexed reference into a BoolMulti (read-only access). 29 | /// For write access make a reference to BoolMultiRefWriter. 30 | /// 31 | [System.Serializable] 32 | public class BoolMultiReader : SmartDataMultiRef { 33 | public static implicit operator bool(BoolMultiReader r){ 34 | return r.value; 35 | } 36 | 37 | [SerializeField] 38 | Data.BoolVar.BoolEvent _onUpdate = null; 39 | 40 | protected override System.Action GetUnityEventInvoke(){ 41 | return _onUpdate.Invoke; 42 | } 43 | } 44 | /// 45 | /// Indexed reference into a BoolMulti, with a built-in UnityEvent. 46 | /// For read-only access make a reference to BoolMultiRef. 47 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 48 | /// 49 | [System.Serializable] 50 | public class BoolMultiWriter : SmartDataMultiRefWriter { 51 | public static implicit operator bool(BoolMultiWriter r){ 52 | return r.value; 53 | } 54 | 55 | [SerializeField] 56 | Data.BoolVar.BoolEvent _onUpdate = null; 57 | 58 | protected override System.Action GetUnityEventInvoke(){ 59 | return _onUpdate.Invoke; 60 | } 61 | protected sealed override void InvokeUnityEvent(bool value){ 62 | _onUpdate.Invoke(value); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Generated/Bool/BoolMulti.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25e04e822edc36648ba1378c65728705 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: f1debf63a4e54b145881eb3824b83305, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/BoolSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE SmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartBool.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartBool.Data { 15 | /// 16 | /// ScriptableObject data set which fires a Relay on data addition/removal. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Bool/Bool Set", order=2)] 19 | public class BoolSet : SmartSet, ISmartDataSet { 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "bool"; 22 | const string DISPLAYTYPE = "Bool Set"; 23 | #endif 24 | } 25 | } 26 | 27 | namespace SmartData.SmartBool { 28 | /// 29 | /// Read-only access to BoolSet or List<0>, with built-in UnityEvent. 30 | /// For write access make a BoolSetWriter reference. 31 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 32 | /// 33 | [System.Serializable] 34 | public class BoolSetReader : SmartSetRefBase, ISmartSetRefReader { 35 | [SerializeField] 36 | Data.BoolVar.BoolEvent _onAdd = null; 37 | [SerializeField] 38 | Data.BoolVar.BoolEvent _onRemove = null; 39 | [SerializeField] 40 | Data.BoolVar.BoolEvent _onChange = null; 41 | 42 | protected override System.Action> GetUnityEventInvoke(){ 43 | return (d)=>{ 44 | switch (d.operation){ 45 | case SetOperation.ADDED: 46 | _onAdd.Invoke(d.value); 47 | break; 48 | case SetOperation.REMOVED: 49 | _onRemove.Invoke(d.value); 50 | break; 51 | case SetOperation.CHANGED: 52 | _onChange.Invoke(d.value); 53 | break; 54 | } 55 | }; 56 | } 57 | } 58 | /// 59 | /// Write access to BoolSet or List, with built-in UnityEvent. 60 | /// For read-only access make a BoolSetRef reference. 61 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 62 | /// 63 | [System.Serializable] 64 | public class BoolSetWriter : SmartSetRefWriterBase, ISmartSetRefReader { 65 | [SerializeField] 66 | Data.BoolVar.BoolEvent _onAdd = null; 67 | [SerializeField] 68 | Data.BoolVar.BoolEvent _onRemove = null; 69 | [SerializeField] 70 | Data.BoolVar.BoolEvent _onChange = null; 71 | 72 | protected override System.Action> GetUnityEventInvoke(){ 73 | return InvokeUnityEvent; 74 | } 75 | 76 | protected sealed override void InvokeUnityEvent(SetEventData d){ 77 | switch (d.operation){ 78 | case SetOperation.ADDED: 79 | _onAdd.Invoke(d.value); 80 | break; 81 | case SetOperation.REMOVED: 82 | _onRemove.Invoke(d.value); 83 | break; 84 | case SetOperation.CHANGED: 85 | _onChange.Invoke(d.value); 86 | break; 87 | } 88 | } 89 | 90 | } 91 | } -------------------------------------------------------------------------------- /Generated/Bool/BoolSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9029d8bfee3211243b4c1bacd52ffbae 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/BoolVar.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE SmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartBool.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartBool.Data { 15 | /// 16 | /// ScriptableObject data which fires a Relay on data change. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Bool/Bool Variable", order=0)] 19 | public partial class BoolVar : SmartVar, ISmartVar { // partial to allow overrides that don't get overwritten on regeneration 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "bool"; 22 | const string DISPLAYTYPE = "Bool"; 23 | #endif 24 | 25 | [System.Serializable] 26 | public class BoolEvent : UnityEvent{} 27 | } 28 | } 29 | 30 | namespace SmartData.SmartBool { 31 | /// 32 | /// Read-only access to SmartBool or bool, with built-in UnityEvent. 33 | /// For write access make a BoolRefWriter reference. 34 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 35 | /// 36 | [System.Serializable] 37 | public class BoolReader : SmartDataRefBase { 38 | [SerializeField] 39 | Data.BoolVar.BoolEvent _onUpdate = null; 40 | 41 | protected sealed override System.Action GetUnityEventInvoke(){ 42 | return _onUpdate.Invoke; 43 | } 44 | } 45 | /// 46 | /// Write access to SmartBoolWriter or bool, with built-in UnityEvent. 47 | /// For read-only access make a BoolRef reference. 48 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 49 | /// 50 | [System.Serializable] 51 | public class BoolWriter : SmartDataRefWriter { 52 | [SerializeField] 53 | Data.BoolVar.BoolEvent _onUpdate = null; 54 | 55 | protected sealed override System.Action GetUnityEventInvoke(){ 56 | return _onUpdate.Invoke; 57 | } 58 | protected sealed override void InvokeUnityEvent(bool value){ 59 | _onUpdate.Invoke(value); 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Generated/Bool/BoolVar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 501ffc808958ad84dae6b3351b03a902 3 | timeCreated: 1534280145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/ReadSmartBool.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE ReadSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartBool.Components { 11 | /// 12 | /// Automatically listens to a SmartBool and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Bool/Read Smart Bool", 0)] 15 | public class ReadSmartBool : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Bool/ReadSmartBool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77d41c0f21c9a8b4db4809d8f34f03f2 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/ReadSmartBoolSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE ReadSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartBool.Components { 11 | /// 12 | /// Automatically listens to a SmartBoolSet and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Bool/Read Smart Bool Set", 2)] 15 | public class ReadSmartBoolSet : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Bool/ReadSmartBoolSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3312f677d5e06f84d8941ab05647ab76 3 | timeCreated: 1534884100 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/WriteSmartBool.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE WriteSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartBool.Components { 11 | /// 12 | /// Serialised write access to a SmartBool. 13 | /// 14 | [AddComponentMenu("SmartData/Bool/Write Smart Bool", 1)] 15 | public class WriteSmartBool : WriteSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Bool/WriteSmartBool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e6cdd1e768faf04e9ce96eeef4cba02 3 | timeCreated: 1534884100 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Bool/WriteSmartBoolSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE bool 2 | // SMARTTEMPLATE WriteSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartBool.Components { 11 | /// 12 | /// Serialised write access to a SmartBoolSet. 13 | /// 14 | [AddComponentMenu("SmartData/Bool/Write Smart Bool Set", 3)] 15 | public class WriteSmartBoolSet : WriteSetBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Bool/WriteSmartBoolSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8983646436ae5e4cafe18008e66b611 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd69a88c59a5adb4992581d1605c218d 3 | folderAsset: yes 4 | timeCreated: 1532274367 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Generated/Float/FloatConst.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE SmartConstTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | using SmartData.Interfaces; 10 | 11 | namespace SmartData.SmartFloat.Data { 12 | /// 13 | /// ScriptableObject constant float. 14 | /// 15 | [CreateAssetMenu(menuName="SmartData/Float/Float Const", order=3)] 16 | public class FloatConst : SmartConst, ISmartConst { 17 | #if UNITY_EDITOR 18 | const string VALUETYPE = "float"; 19 | const string DISPLAYTYPE = "Float Const"; 20 | #endif 21 | } 22 | } -------------------------------------------------------------------------------- /Generated/Float/FloatConst.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58ae6172fc83af549aa5d6f68c1547be 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: 54cf31b5ad47dc548b0bedde5db96184, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/FloatMulti.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE SmartMultiTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.SmartFloat.Data; 9 | using SmartData.Abstract; 10 | using SmartData.Interfaces; 11 | using Sigtrap.Relays; 12 | 13 | namespace SmartData.SmartFloat.Data { 14 | /// 15 | /// Dynamic collection of FloatVar assets. 16 | /// 17 | [CreateAssetMenu(menuName="SmartData/Float/Float Multi", order=1)] 18 | public class FloatMulti: SmartMulti, ISmartMulti { 19 | #if UNITY_EDITOR 20 | const string VALUETYPE = "float"; 21 | const string DISPLAYTYPE = "Float Multi"; 22 | #endif 23 | } 24 | } 25 | 26 | namespace SmartData.SmartFloat { 27 | /// 28 | /// Indexed reference into a FloatMulti (read-only access). 29 | /// For write access make a reference to FloatMultiRefWriter. 30 | /// 31 | [System.Serializable] 32 | public class FloatMultiReader : SmartDataMultiRef { 33 | public static implicit operator float(FloatMultiReader r){ 34 | return r.value; 35 | } 36 | 37 | [SerializeField] 38 | Data.FloatVar.FloatEvent _onUpdate = null; 39 | 40 | protected override System.Action GetUnityEventInvoke(){ 41 | return _onUpdate.Invoke; 42 | } 43 | } 44 | /// 45 | /// Indexed reference into a FloatMulti, with a built-in UnityEvent. 46 | /// For read-only access make a reference to FloatMultiRef. 47 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 48 | /// 49 | [System.Serializable] 50 | public class FloatMultiWriter : SmartDataMultiRefWriter { 51 | public static implicit operator float(FloatMultiWriter r){ 52 | return r.value; 53 | } 54 | 55 | [SerializeField] 56 | Data.FloatVar.FloatEvent _onUpdate = null; 57 | 58 | protected override System.Action GetUnityEventInvoke(){ 59 | return _onUpdate.Invoke; 60 | } 61 | protected sealed override void InvokeUnityEvent(float value){ 62 | _onUpdate.Invoke(value); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Generated/Float/FloatMulti.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2e33ed6846010f48936e9d38ceaa312 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: f1debf63a4e54b145881eb3824b83305, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/FloatSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE SmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartFloat.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartFloat.Data { 15 | /// 16 | /// ScriptableObject data set which fires a Relay on data addition/removal. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Float/Float Set", order=2)] 19 | public class FloatSet : SmartSet, ISmartDataSet { 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "float"; 22 | const string DISPLAYTYPE = "Float Set"; 23 | #endif 24 | } 25 | } 26 | 27 | namespace SmartData.SmartFloat { 28 | /// 29 | /// Read-only access to FloatSet or List<0>, with built-in UnityEvent. 30 | /// For write access make a FloatSetWriter reference. 31 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 32 | /// 33 | [System.Serializable] 34 | public class FloatSetReader : SmartSetRefBase, ISmartSetRefReader { 35 | [SerializeField] 36 | Data.FloatVar.FloatEvent _onAdd = null; 37 | [SerializeField] 38 | Data.FloatVar.FloatEvent _onRemove = null; 39 | [SerializeField] 40 | Data.FloatVar.FloatEvent _onChange = null; 41 | 42 | protected override System.Action> GetUnityEventInvoke(){ 43 | return (d)=>{ 44 | switch (d.operation){ 45 | case SetOperation.ADDED: 46 | _onAdd.Invoke(d.value); 47 | break; 48 | case SetOperation.REMOVED: 49 | _onRemove.Invoke(d.value); 50 | break; 51 | case SetOperation.CHANGED: 52 | _onChange.Invoke(d.value); 53 | break; 54 | } 55 | }; 56 | } 57 | } 58 | /// 59 | /// Write access to FloatSet or List, with built-in UnityEvent. 60 | /// For read-only access make a FloatSetRef reference. 61 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 62 | /// 63 | [System.Serializable] 64 | public class FloatSetWriter : SmartSetRefWriterBase, ISmartSetRefReader { 65 | [SerializeField] 66 | Data.FloatVar.FloatEvent _onAdd = null; 67 | [SerializeField] 68 | Data.FloatVar.FloatEvent _onRemove = null; 69 | [SerializeField] 70 | Data.FloatVar.FloatEvent _onChange = null; 71 | 72 | protected override System.Action> GetUnityEventInvoke(){ 73 | return InvokeUnityEvent; 74 | } 75 | 76 | protected sealed override void InvokeUnityEvent(SetEventData d){ 77 | switch (d.operation){ 78 | case SetOperation.ADDED: 79 | _onAdd.Invoke(d.value); 80 | break; 81 | case SetOperation.REMOVED: 82 | _onRemove.Invoke(d.value); 83 | break; 84 | case SetOperation.CHANGED: 85 | _onChange.Invoke(d.value); 86 | break; 87 | } 88 | } 89 | 90 | } 91 | } -------------------------------------------------------------------------------- /Generated/Float/FloatSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e94bc6c175a4366408317c0a8b65b3bd 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/FloatVar.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE SmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartFloat.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartFloat.Data { 15 | /// 16 | /// ScriptableObject data which fires a Relay on data change. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Float/Float Variable", order=0)] 19 | public partial class FloatVar : SmartVar, ISmartVar { // partial to allow overrides that don't get overwritten on regeneration 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "float"; 22 | const string DISPLAYTYPE = "Float"; 23 | #endif 24 | 25 | [System.Serializable] 26 | public class FloatEvent : UnityEvent{} 27 | } 28 | } 29 | 30 | namespace SmartData.SmartFloat { 31 | /// 32 | /// Read-only access to SmartFloat or float, with built-in UnityEvent. 33 | /// For write access make a FloatRefWriter reference. 34 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 35 | /// 36 | [System.Serializable] 37 | public class FloatReader : SmartDataRefBase { 38 | [SerializeField] 39 | Data.FloatVar.FloatEvent _onUpdate = null; 40 | 41 | protected sealed override System.Action GetUnityEventInvoke(){ 42 | return _onUpdate.Invoke; 43 | } 44 | } 45 | /// 46 | /// Write access to SmartFloatWriter or float, with built-in UnityEvent. 47 | /// For read-only access make a FloatRef reference. 48 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 49 | /// 50 | [System.Serializable] 51 | public class FloatWriter : SmartDataRefWriter { 52 | [SerializeField] 53 | Data.FloatVar.FloatEvent _onUpdate = null; 54 | 55 | protected sealed override System.Action GetUnityEventInvoke(){ 56 | return _onUpdate.Invoke; 57 | } 58 | protected sealed override void InvokeUnityEvent(float value){ 59 | _onUpdate.Invoke(value); 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Generated/Float/FloatVar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ebac7b00c67842f44814b064e063ba30 3 | timeCreated: 1534280145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/ReadSmartFloat.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE ReadSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartFloat.Components { 11 | /// 12 | /// Automatically listens to a SmartFloat and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Float/Read Smart Float", 0)] 15 | public class ReadSmartFloat : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Float/ReadSmartFloat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22ae980355dcfd44b95144f627d7c9ad 3 | timeCreated: 1534884100 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/ReadSmartFloatSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE ReadSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartFloat.Components { 11 | /// 12 | /// Automatically listens to a SmartFloatSet and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Float/Read Smart Float Set", 2)] 15 | public class ReadSmartFloatSet : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Float/ReadSmartFloatSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9a09497b37786d46956370d4cdb09a4 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/WriteSmartFloat.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE WriteSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartFloat.Components { 11 | /// 12 | /// Serialised write access to a SmartFloat. 13 | /// 14 | [AddComponentMenu("SmartData/Float/Write Smart Float", 1)] 15 | public class WriteSmartFloat : WriteSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Float/WriteSmartFloat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4f6d66281df4434b9fff7cff3380e75 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Float/WriteSmartFloatSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE float 2 | // SMARTTEMPLATE WriteSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartFloat.Components { 11 | /// 12 | /// Serialised write access to a SmartFloatSet. 13 | /// 14 | [AddComponentMenu("SmartData/Float/Write Smart Float Set", 3)] 15 | public class WriteSmartFloatSet : WriteSetBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Float/WriteSmartFloatSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3b91092d275bfc4f965691a76351e2a 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7fb95b91ab1d0ab40840f4d8a7ecb270 3 | folderAsset: yes 4 | timeCreated: 1532274367 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Generated/Int/IntConst.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE SmartConstTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | using SmartData.Interfaces; 10 | 11 | namespace SmartData.SmartInt.Data { 12 | /// 13 | /// ScriptableObject constant int. 14 | /// 15 | [CreateAssetMenu(menuName="SmartData/Int/Int Const", order=3)] 16 | public class IntConst : SmartConst, ISmartConst { 17 | #if UNITY_EDITOR 18 | const string VALUETYPE = "int"; 19 | const string DISPLAYTYPE = "Int Const"; 20 | #endif 21 | } 22 | } -------------------------------------------------------------------------------- /Generated/Int/IntConst.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c155816e57864148a32de1cc34f8069 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: 54cf31b5ad47dc548b0bedde5db96184, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/IntMulti.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE SmartMultiTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.SmartInt.Data; 9 | using SmartData.Abstract; 10 | using SmartData.Interfaces; 11 | using Sigtrap.Relays; 12 | 13 | namespace SmartData.SmartInt.Data { 14 | /// 15 | /// Dynamic collection of IntVar assets. 16 | /// 17 | [CreateAssetMenu(menuName="SmartData/Int/Int Multi", order=1)] 18 | public class IntMulti: SmartMulti, ISmartMulti { 19 | #if UNITY_EDITOR 20 | const string VALUETYPE = "int"; 21 | const string DISPLAYTYPE = "Int Multi"; 22 | #endif 23 | } 24 | } 25 | 26 | namespace SmartData.SmartInt { 27 | /// 28 | /// Indexed reference into a IntMulti (read-only access). 29 | /// For write access make a reference to IntMultiRefWriter. 30 | /// 31 | [System.Serializable] 32 | public class IntMultiReader : SmartDataMultiRef { 33 | public static implicit operator int(IntMultiReader r){ 34 | return r.value; 35 | } 36 | 37 | [SerializeField] 38 | Data.IntVar.IntEvent _onUpdate = null; 39 | 40 | protected override System.Action GetUnityEventInvoke(){ 41 | return _onUpdate.Invoke; 42 | } 43 | } 44 | /// 45 | /// Indexed reference into a IntMulti, with a built-in UnityEvent. 46 | /// For read-only access make a reference to IntMultiRef. 47 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 48 | /// 49 | [System.Serializable] 50 | public class IntMultiWriter : SmartDataMultiRefWriter { 51 | public static implicit operator int(IntMultiWriter r){ 52 | return r.value; 53 | } 54 | 55 | [SerializeField] 56 | Data.IntVar.IntEvent _onUpdate = null; 57 | 58 | protected override System.Action GetUnityEventInvoke(){ 59 | return _onUpdate.Invoke; 60 | } 61 | protected sealed override void InvokeUnityEvent(int value){ 62 | _onUpdate.Invoke(value); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Generated/Int/IntMulti.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffd57de2ac01a904ba65fc8ffc6ab4fc 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: f1debf63a4e54b145881eb3824b83305, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/IntSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE SmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartInt.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartInt.Data { 15 | /// 16 | /// ScriptableObject data set which fires a Relay on data addition/removal. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Int/Int Set", order=2)] 19 | public class IntSet : SmartSet, ISmartDataSet { 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "int"; 22 | const string DISPLAYTYPE = "Int Set"; 23 | #endif 24 | } 25 | } 26 | 27 | namespace SmartData.SmartInt { 28 | /// 29 | /// Read-only access to IntSet or List<0>, with built-in UnityEvent. 30 | /// For write access make a IntSetWriter reference. 31 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 32 | /// 33 | [System.Serializable] 34 | public class IntSetReader : SmartSetRefBase, ISmartSetRefReader { 35 | [SerializeField] 36 | Data.IntVar.IntEvent _onAdd = null; 37 | [SerializeField] 38 | Data.IntVar.IntEvent _onRemove = null; 39 | [SerializeField] 40 | Data.IntVar.IntEvent _onChange = null; 41 | 42 | protected override System.Action> GetUnityEventInvoke(){ 43 | return (d)=>{ 44 | switch (d.operation){ 45 | case SetOperation.ADDED: 46 | _onAdd.Invoke(d.value); 47 | break; 48 | case SetOperation.REMOVED: 49 | _onRemove.Invoke(d.value); 50 | break; 51 | case SetOperation.CHANGED: 52 | _onChange.Invoke(d.value); 53 | break; 54 | } 55 | }; 56 | } 57 | } 58 | /// 59 | /// Write access to IntSet or List, with built-in UnityEvent. 60 | /// For read-only access make a IntSetRef reference. 61 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 62 | /// 63 | [System.Serializable] 64 | public class IntSetWriter : SmartSetRefWriterBase, ISmartSetRefReader { 65 | [SerializeField] 66 | Data.IntVar.IntEvent _onAdd = null; 67 | [SerializeField] 68 | Data.IntVar.IntEvent _onRemove = null; 69 | [SerializeField] 70 | Data.IntVar.IntEvent _onChange = null; 71 | 72 | protected override System.Action> GetUnityEventInvoke(){ 73 | return InvokeUnityEvent; 74 | } 75 | 76 | protected sealed override void InvokeUnityEvent(SetEventData d){ 77 | switch (d.operation){ 78 | case SetOperation.ADDED: 79 | _onAdd.Invoke(d.value); 80 | break; 81 | case SetOperation.REMOVED: 82 | _onRemove.Invoke(d.value); 83 | break; 84 | case SetOperation.CHANGED: 85 | _onChange.Invoke(d.value); 86 | break; 87 | } 88 | } 89 | 90 | } 91 | } -------------------------------------------------------------------------------- /Generated/Int/IntSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 936edda07dd019d49bce37daf4135d90 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/IntVar.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE SmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartInt.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartInt.Data { 15 | /// 16 | /// ScriptableObject data which fires a Relay on data change. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Int/Int Variable", order=0)] 19 | public partial class IntVar : SmartVar, ISmartVar { // partial to allow overrides that don't get overwritten on regeneration 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "int"; 22 | const string DISPLAYTYPE = "Int"; 23 | #endif 24 | 25 | [System.Serializable] 26 | public class IntEvent : UnityEvent{} 27 | } 28 | } 29 | 30 | namespace SmartData.SmartInt { 31 | /// 32 | /// Read-only access to SmartInt or int, with built-in UnityEvent. 33 | /// For write access make a IntRefWriter reference. 34 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 35 | /// 36 | [System.Serializable] 37 | public class IntReader : SmartDataRefBase { 38 | [SerializeField] 39 | Data.IntVar.IntEvent _onUpdate = null; 40 | 41 | protected sealed override System.Action GetUnityEventInvoke(){ 42 | return _onUpdate.Invoke; 43 | } 44 | } 45 | /// 46 | /// Write access to SmartIntWriter or int, with built-in UnityEvent. 47 | /// For read-only access make a IntRef reference. 48 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 49 | /// 50 | [System.Serializable] 51 | public class IntWriter : SmartDataRefWriter { 52 | [SerializeField] 53 | Data.IntVar.IntEvent _onUpdate = null; 54 | 55 | protected sealed override System.Action GetUnityEventInvoke(){ 56 | return _onUpdate.Invoke; 57 | } 58 | protected sealed override void InvokeUnityEvent(int value){ 59 | _onUpdate.Invoke(value); 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Generated/Int/IntVar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ade39c96d6897a74b8a1742e28a56c98 3 | timeCreated: 1534280145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/ReadSmartInt.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE ReadSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartInt.Components { 11 | /// 12 | /// Automatically listens to a SmartInt and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Int/Read Smart Int", 0)] 15 | public class ReadSmartInt : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Int/ReadSmartInt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a0c4cca9c4749146aa611ea6b351e4e 3 | timeCreated: 1534884100 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/ReadSmartIntSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE ReadSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartInt.Components { 11 | /// 12 | /// Automatically listens to a SmartIntSet and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Int/Read Smart Int Set", 2)] 15 | public class ReadSmartIntSet : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Int/ReadSmartIntSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3679b7f04e4ed241aac9666f7e602f7 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/WriteSmartInt.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE WriteSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartInt.Components { 11 | /// 12 | /// Serialised write access to a SmartInt. 13 | /// 14 | [AddComponentMenu("SmartData/Int/Write Smart Int", 1)] 15 | public class WriteSmartInt : WriteSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Int/WriteSmartInt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9717c459cedb65b45a745ce80ff84b6c 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Int/WriteSmartIntSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE int 2 | // SMARTTEMPLATE WriteSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartInt.Components { 11 | /// 12 | /// Serialised write access to a SmartIntSet. 13 | /// 14 | [AddComponentMenu("SmartData/Int/Write Smart Int Set", 3)] 15 | public class WriteSmartIntSet : WriteSetBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Int/WriteSmartIntSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1a1447015f3b304995576b6fa0bf420 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6fff16ce5c96284fa47427c93a7f929 3 | folderAsset: yes 4 | timeCreated: 1532274367 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Generated/String/ReadSmartString.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE ReadSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartString.Components { 11 | /// 12 | /// Automatically listens to a SmartString and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/String/Read Smart String", 0)] 15 | public class ReadSmartString : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/String/ReadSmartString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fcb4fbeb6b8a1734486d25c739727456 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/ReadSmartStringSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE ReadSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartString.Components { 11 | /// 12 | /// Automatically listens to a SmartStringSet and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/String/Read Smart String Set", 2)] 15 | public class ReadSmartStringSet : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/String/ReadSmartStringSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8071278ce88193b41bab65d980964137 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/StringConst.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE SmartConstTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | using SmartData.Interfaces; 10 | 11 | namespace SmartData.SmartString.Data { 12 | /// 13 | /// ScriptableObject constant string. 14 | /// 15 | [CreateAssetMenu(menuName="SmartData/String/String Const", order=3)] 16 | public class StringConst : SmartConst, ISmartConst { 17 | #if UNITY_EDITOR 18 | const string VALUETYPE = "string"; 19 | const string DISPLAYTYPE = "String Const"; 20 | #endif 21 | } 22 | } -------------------------------------------------------------------------------- /Generated/String/StringConst.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 290c6495f811a444e9d0e64b3cd6ac9b 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: 54cf31b5ad47dc548b0bedde5db96184, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/StringMulti.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE SmartMultiTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.SmartString.Data; 9 | using SmartData.Abstract; 10 | using SmartData.Interfaces; 11 | using Sigtrap.Relays; 12 | 13 | namespace SmartData.SmartString.Data { 14 | /// 15 | /// Dynamic collection of StringVar assets. 16 | /// 17 | [CreateAssetMenu(menuName="SmartData/String/String Multi", order=1)] 18 | public class StringMulti: SmartMulti, ISmartMulti { 19 | #if UNITY_EDITOR 20 | const string VALUETYPE = "string"; 21 | const string DISPLAYTYPE = "String Multi"; 22 | #endif 23 | } 24 | } 25 | 26 | namespace SmartData.SmartString { 27 | /// 28 | /// Indexed reference into a StringMulti (read-only access). 29 | /// For write access make a reference to StringMultiRefWriter. 30 | /// 31 | [System.Serializable] 32 | public class StringMultiReader : SmartDataMultiRef { 33 | public static implicit operator string(StringMultiReader r){ 34 | return r.value; 35 | } 36 | 37 | [SerializeField] 38 | Data.StringVar.StringEvent _onUpdate = null; 39 | 40 | protected override System.Action GetUnityEventInvoke(){ 41 | return _onUpdate.Invoke; 42 | } 43 | } 44 | /// 45 | /// Indexed reference into a StringMulti, with a built-in UnityEvent. 46 | /// For read-only access make a reference to StringMultiRef. 47 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 48 | /// 49 | [System.Serializable] 50 | public class StringMultiWriter : SmartDataMultiRefWriter { 51 | public static implicit operator string(StringMultiWriter r){ 52 | return r.value; 53 | } 54 | 55 | [SerializeField] 56 | Data.StringVar.StringEvent _onUpdate = null; 57 | 58 | protected override System.Action GetUnityEventInvoke(){ 59 | return _onUpdate.Invoke; 60 | } 61 | protected sealed override void InvokeUnityEvent(string value){ 62 | _onUpdate.Invoke(value); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Generated/String/StringMulti.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 411339bdd5dce254096a024f9b6e4131 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: f1debf63a4e54b145881eb3824b83305, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/StringSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE SmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartString.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartString.Data { 15 | /// 16 | /// ScriptableObject data set which fires a Relay on data addition/removal. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/String/String Set", order=2)] 19 | public class StringSet : SmartSet, ISmartDataSet { 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "string"; 22 | const string DISPLAYTYPE = "String Set"; 23 | #endif 24 | } 25 | } 26 | 27 | namespace SmartData.SmartString { 28 | /// 29 | /// Read-only access to StringSet or List<0>, with built-in UnityEvent. 30 | /// For write access make a StringSetWriter reference. 31 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 32 | /// 33 | [System.Serializable] 34 | public class StringSetReader : SmartSetRefBase, ISmartSetRefReader { 35 | [SerializeField] 36 | Data.StringVar.StringEvent _onAdd = null; 37 | [SerializeField] 38 | Data.StringVar.StringEvent _onRemove = null; 39 | [SerializeField] 40 | Data.StringVar.StringEvent _onChange = null; 41 | 42 | protected override System.Action> GetUnityEventInvoke(){ 43 | return (d)=>{ 44 | switch (d.operation){ 45 | case SetOperation.ADDED: 46 | _onAdd.Invoke(d.value); 47 | break; 48 | case SetOperation.REMOVED: 49 | _onRemove.Invoke(d.value); 50 | break; 51 | case SetOperation.CHANGED: 52 | _onChange.Invoke(d.value); 53 | break; 54 | } 55 | }; 56 | } 57 | } 58 | /// 59 | /// Write access to StringSet or List, with built-in UnityEvent. 60 | /// For read-only access make a StringSetRef reference. 61 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 62 | /// 63 | [System.Serializable] 64 | public class StringSetWriter : SmartSetRefWriterBase, ISmartSetRefReader { 65 | [SerializeField] 66 | Data.StringVar.StringEvent _onAdd = null; 67 | [SerializeField] 68 | Data.StringVar.StringEvent _onRemove = null; 69 | [SerializeField] 70 | Data.StringVar.StringEvent _onChange = null; 71 | 72 | protected override System.Action> GetUnityEventInvoke(){ 73 | return InvokeUnityEvent; 74 | } 75 | 76 | protected sealed override void InvokeUnityEvent(SetEventData d){ 77 | switch (d.operation){ 78 | case SetOperation.ADDED: 79 | _onAdd.Invoke(d.value); 80 | break; 81 | case SetOperation.REMOVED: 82 | _onRemove.Invoke(d.value); 83 | break; 84 | case SetOperation.CHANGED: 85 | _onChange.Invoke(d.value); 86 | break; 87 | } 88 | } 89 | 90 | } 91 | } -------------------------------------------------------------------------------- /Generated/String/StringSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43b0b27a3af621645ae24ad9f5c28fc2 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/StringVar.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE SmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartString.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartString.Data { 15 | /// 16 | /// ScriptableObject data which fires a Relay on data change. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/String/String Variable", order=0)] 19 | public partial class StringVar : SmartVar, ISmartVar { // partial to allow overrides that don't get overwritten on regeneration 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "string"; 22 | const string DISPLAYTYPE = "String"; 23 | #endif 24 | 25 | [System.Serializable] 26 | public class StringEvent : UnityEvent{} 27 | } 28 | } 29 | 30 | namespace SmartData.SmartString { 31 | /// 32 | /// Read-only access to SmartString or string, with built-in UnityEvent. 33 | /// For write access make a StringRefWriter reference. 34 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 35 | /// 36 | [System.Serializable] 37 | public class StringReader : SmartDataRefBase { 38 | [SerializeField] 39 | Data.StringVar.StringEvent _onUpdate = null; 40 | 41 | protected sealed override System.Action GetUnityEventInvoke(){ 42 | return _onUpdate.Invoke; 43 | } 44 | } 45 | /// 46 | /// Write access to SmartStringWriter or string, with built-in UnityEvent. 47 | /// For read-only access make a StringRef reference. 48 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 49 | /// 50 | [System.Serializable] 51 | public class StringWriter : SmartDataRefWriter { 52 | [SerializeField] 53 | Data.StringVar.StringEvent _onUpdate = null; 54 | 55 | protected sealed override System.Action GetUnityEventInvoke(){ 56 | return _onUpdate.Invoke; 57 | } 58 | protected sealed override void InvokeUnityEvent(string value){ 59 | _onUpdate.Invoke(value); 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Generated/String/StringVar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33a3dd55369521943875e825d784448b 3 | timeCreated: 1534280145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/WriteSmartString.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE WriteSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartString.Components { 11 | /// 12 | /// Serialised write access to a SmartString. 13 | /// 14 | [AddComponentMenu("SmartData/String/Write Smart String", 1)] 15 | public class WriteSmartString : WriteSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/String/WriteSmartString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33b77cae8c9c46c4f984a74f978e6b90 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/String/WriteSmartStringSet.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE string 2 | // SMARTTEMPLATE WriteSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartString.Components { 11 | /// 12 | /// Serialised write access to a SmartStringSet. 13 | /// 14 | [AddComponentMenu("SmartData/String/Write Smart String Set", 3)] 15 | public class WriteSmartStringSet : WriteSetBase {} 16 | } -------------------------------------------------------------------------------- /Generated/String/WriteSmartStringSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee54a35a8e6c2944c9241af6b27707c0 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc2b61475efc28740ade34c77afa4537 3 | folderAsset: yes 4 | timeCreated: 1532274367 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Generated/Vector3/ReadSmartVector3.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE ReadSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartVector3.Components { 11 | /// 12 | /// Automatically listens to a SmartVector3 and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Vector3/Read Smart Vector3", 0)] 15 | public class ReadSmartVector3 : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Vector3/ReadSmartVector3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ae680a6aa0d413439bdfec708780883 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/ReadSmartVector3Set.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE ReadSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartVector3.Components { 11 | /// 12 | /// Automatically listens to a SmartVector3Set and fires a UnityEvent when data changes. 13 | /// 14 | [AddComponentMenu("SmartData/Vector3/Read Smart Vector3 Set", 2)] 15 | public class ReadSmartVector3Set : ReadSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Vector3/ReadSmartVector3Set.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a9e2776a475cb44d8dc08281e6da7b7 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Const.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE SmartConstTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | using SmartData.Interfaces; 10 | 11 | namespace SmartData.SmartVector3.Data { 12 | /// 13 | /// ScriptableObject constant Vector3. 14 | /// 15 | [CreateAssetMenu(menuName="SmartData/Vector3/Vector3 Const", order=3)] 16 | public class Vector3Const : SmartConst, ISmartConst { 17 | #if UNITY_EDITOR 18 | const string VALUETYPE = "Vector3"; 19 | const string DISPLAYTYPE = "Vector3 Const"; 20 | #endif 21 | } 22 | } -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Const.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd9d9d2687ad54343b61e9237dd7c75a 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: 54cf31b5ad47dc548b0bedde5db96184, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Multi.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE SmartMultiTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.SmartVector3.Data; 9 | using SmartData.Abstract; 10 | using SmartData.Interfaces; 11 | using Sigtrap.Relays; 12 | 13 | namespace SmartData.SmartVector3.Data { 14 | /// 15 | /// Dynamic collection of Vector3Var assets. 16 | /// 17 | [CreateAssetMenu(menuName="SmartData/Vector3/Vector3 Multi", order=1)] 18 | public class Vector3Multi: SmartMulti, ISmartMulti { 19 | #if UNITY_EDITOR 20 | const string VALUETYPE = "Vector3"; 21 | const string DISPLAYTYPE = "Vector3 Multi"; 22 | #endif 23 | } 24 | } 25 | 26 | namespace SmartData.SmartVector3 { 27 | /// 28 | /// Indexed reference into a Vector3Multi (read-only access). 29 | /// For write access make a reference to Vector3MultiRefWriter. 30 | /// 31 | [System.Serializable] 32 | public class Vector3MultiReader : SmartDataMultiRef { 33 | public static implicit operator Vector3(Vector3MultiReader r){ 34 | return r.value; 35 | } 36 | 37 | [SerializeField] 38 | Data.Vector3Var.Vector3Event _onUpdate = null; 39 | 40 | protected override System.Action GetUnityEventInvoke(){ 41 | return _onUpdate.Invoke; 42 | } 43 | } 44 | /// 45 | /// Indexed reference into a Vector3Multi, with a built-in UnityEvent. 46 | /// For read-only access make a reference to Vector3MultiRef. 47 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 48 | /// 49 | [System.Serializable] 50 | public class Vector3MultiWriter : SmartDataMultiRefWriter { 51 | public static implicit operator Vector3(Vector3MultiWriter r){ 52 | return r.value; 53 | } 54 | 55 | [SerializeField] 56 | Data.Vector3Var.Vector3Event _onUpdate = null; 57 | 58 | protected override System.Action GetUnityEventInvoke(){ 59 | return _onUpdate.Invoke; 60 | } 61 | protected sealed override void InvokeUnityEvent(Vector3 value){ 62 | _onUpdate.Invoke(value); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Multi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e464716543e88c478cf6c87c3f575ef 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: f1debf63a4e54b145881eb3824b83305, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Set.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE SmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartVector3.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartVector3.Data { 15 | /// 16 | /// ScriptableObject data set which fires a Relay on data addition/removal. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Vector3/Vector3 Set", order=2)] 19 | public class Vector3Set : SmartSet, ISmartDataSet { 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "Vector3"; 22 | const string DISPLAYTYPE = "Vector3 Set"; 23 | #endif 24 | } 25 | } 26 | 27 | namespace SmartData.SmartVector3 { 28 | /// 29 | /// Read-only access to Vector3Set or List<0>, with built-in UnityEvent. 30 | /// For write access make a Vector3SetWriter reference. 31 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 32 | /// 33 | [System.Serializable] 34 | public class Vector3SetReader : SmartSetRefBase, ISmartSetRefReader { 35 | [SerializeField] 36 | Data.Vector3Var.Vector3Event _onAdd = null; 37 | [SerializeField] 38 | Data.Vector3Var.Vector3Event _onRemove = null; 39 | [SerializeField] 40 | Data.Vector3Var.Vector3Event _onChange = null; 41 | 42 | protected override System.Action> GetUnityEventInvoke(){ 43 | return (d)=>{ 44 | switch (d.operation){ 45 | case SetOperation.ADDED: 46 | _onAdd.Invoke(d.value); 47 | break; 48 | case SetOperation.REMOVED: 49 | _onRemove.Invoke(d.value); 50 | break; 51 | case SetOperation.CHANGED: 52 | _onChange.Invoke(d.value); 53 | break; 54 | } 55 | }; 56 | } 57 | } 58 | /// 59 | /// Write access to Vector3Set or List, with built-in UnityEvent. 60 | /// For read-only access make a Vector3SetRef reference. 61 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 62 | /// 63 | [System.Serializable] 64 | public class Vector3SetWriter : SmartSetRefWriterBase, ISmartSetRefReader { 65 | [SerializeField] 66 | Data.Vector3Var.Vector3Event _onAdd = null; 67 | [SerializeField] 68 | Data.Vector3Var.Vector3Event _onRemove = null; 69 | [SerializeField] 70 | Data.Vector3Var.Vector3Event _onChange = null; 71 | 72 | protected override System.Action> GetUnityEventInvoke(){ 73 | return InvokeUnityEvent; 74 | } 75 | 76 | protected sealed override void InvokeUnityEvent(SetEventData d){ 77 | switch (d.operation){ 78 | case SetOperation.ADDED: 79 | _onAdd.Invoke(d.value); 80 | break; 81 | case SetOperation.REMOVED: 82 | _onRemove.Invoke(d.value); 83 | break; 84 | case SetOperation.CHANGED: 85 | _onChange.Invoke(d.value); 86 | break; 87 | } 88 | } 89 | 90 | } 91 | } -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Set.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9923d79710eaaa47be7a292db4ade37 3 | timeCreated: 1534280267 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Var.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE SmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | using SmartData.SmartVector3.Data; 10 | using SmartData.Abstract; 11 | using SmartData.Interfaces; 12 | using Sigtrap.Relays; 13 | 14 | namespace SmartData.SmartVector3.Data { 15 | /// 16 | /// ScriptableObject data which fires a Relay on data change. 17 | /// 18 | [CreateAssetMenu(menuName="SmartData/Vector3/Vector3 Variable", order=0)] 19 | public partial class Vector3Var : SmartVar, ISmartVar { // partial to allow overrides that don't get overwritten on regeneration 20 | #if UNITY_EDITOR 21 | const string VALUETYPE = "Vector3"; 22 | const string DISPLAYTYPE = "Vector3"; 23 | #endif 24 | 25 | [System.Serializable] 26 | public class Vector3Event : UnityEvent{} 27 | } 28 | } 29 | 30 | namespace SmartData.SmartVector3 { 31 | /// 32 | /// Read-only access to SmartVector3 or Vector3, with built-in UnityEvent. 33 | /// For write access make a Vector3RefWriter reference. 34 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 35 | /// 36 | [System.Serializable] 37 | public class Vector3Reader : SmartDataRefBase { 38 | [SerializeField] 39 | Data.Vector3Var.Vector3Event _onUpdate = null; 40 | 41 | protected sealed override System.Action GetUnityEventInvoke(){ 42 | return _onUpdate.Invoke; 43 | } 44 | } 45 | /// 46 | /// Write access to SmartVector3Writer or Vector3, with built-in UnityEvent. 47 | /// For read-only access make a Vector3Ref reference. 48 | /// UnityEvent disabled by default. If enabled, remember to disable at end of life. 49 | /// 50 | [System.Serializable] 51 | public class Vector3Writer : SmartDataRefWriter { 52 | [SerializeField] 53 | Data.Vector3Var.Vector3Event _onUpdate = null; 54 | 55 | protected sealed override System.Action GetUnityEventInvoke(){ 56 | return _onUpdate.Invoke; 57 | } 58 | protected sealed override void InvokeUnityEvent(Vector3 value){ 59 | _onUpdate.Invoke(value); 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Generated/Vector3/Vector3Var.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07c280f26f69af346963733f01c68cb0 3 | timeCreated: 1534280145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/WriteSmartVector3.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE WriteSmartVarTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartVector3.Components { 11 | /// 12 | /// Serialised write access to a SmartVector3. 13 | /// 14 | [AddComponentMenu("SmartData/Vector3/Write Smart Vector3", 1)] 15 | public class WriteSmartVector3 : WriteSmartBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Vector3/WriteSmartVector3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a99d77b6d083d03419a878b1bdd8d397 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: b2a2037bd26d65242bf2cd0a7879b060, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Generated/Vector3/WriteSmartVector3Set.cs: -------------------------------------------------------------------------------- 1 | // SMARTTYPE Vector3 2 | // SMARTTEMPLATE WriteSmartSetTemplate 3 | // Do not move or delete the above lines 4 | 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using UnityEngine; 8 | using SmartData.Abstract; 9 | 10 | namespace SmartData.SmartVector3.Components { 11 | /// 12 | /// Serialised write access to a SmartVector3Set. 13 | /// 14 | [AddComponentMenu("SmartData/Vector3/Write Smart Vector3 Set", 3)] 15 | public class WriteSmartVector3Set : WriteSetBase {} 16 | } -------------------------------------------------------------------------------- /Generated/Vector3/WriteSmartVector3Set.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bbafaf00c060fdf4abea72b176f128a8 3 | timeCreated: 1534884101 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {fileID: 2800000, guid: dd7c93d5cb4e49b4fa5922af4faa0a8e, type: 3} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 SIGTRAP 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the Software), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, andor sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2060dfef8cbfe7944a34c9df735ab4fa 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff76cf7b0f256db4ca12790e2fa54c2d 3 | timeCreated: 1527427442 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Utilities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e494f0e65ef2f38408533a1ffa6a2235 3 | folderAsset: yes 4 | timeCreated: 1534888906 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Utilities/Ext_Type.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace System.Reflection { 4 | public static class Ext_Type { 5 | public static FieldInfo GetFieldPrivate(this Type t, string fieldName, BindingFlags flags){ 6 | flags |= BindingFlags.NonPublic; 7 | FieldInfo result = null; 8 | Type type = t; 9 | Type bt = typeof(object); 10 | while (type != bt){ 11 | result = type.GetField(fieldName, flags); 12 | if (result != null) break; 13 | type = type.BaseType; 14 | } 15 | return result; 16 | } 17 | public static PropertyInfo GetPropertyPrivate(this Type t, string propName, BindingFlags flags){ 18 | flags |= BindingFlags.NonPublic; 19 | PropertyInfo result = null; 20 | Type type = t; 21 | Type bt = typeof(object); 22 | while (type != bt){ 23 | result = type.GetProperty(propName, flags); 24 | if (result != null) break; 25 | type = type.BaseType; 26 | } 27 | return result; 28 | } 29 | public static MethodInfo GetMethodPrivate(this Type t, string methodName, BindingFlags flags){ 30 | flags |= BindingFlags.NonPublic; 31 | MethodInfo result = null; 32 | Type type = t; 33 | Type bt = typeof(object); 34 | while (type != bt){ 35 | result = type.GetMethod(methodName, flags); 36 | if (result != null) break; 37 | type = type.BaseType; 38 | } 39 | return result; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Utilities/Ext_Type.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11b1b75e558b76c44ab53633f4f168ae 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Utilities/SmartDataRegistry.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using SmartData.Abstract; 5 | using Sigtrap.Relays; 6 | 7 | namespace SmartData.Editors { 8 | public class SmartDataRegistry : MonoBehaviour { 9 | static Dictionary _refs = new Dictionary(); 10 | static Dictionary _smart = new Dictionary(); 11 | 12 | public static Dictionary GetSmartReferences(){ 13 | return new Dictionary(_refs); 14 | } 15 | public static Dictionary GetSmartDatas(){ 16 | return new Dictionary(_smart); 17 | } 18 | public static void RegisterReference(SmartRefBase r){ 19 | _refs.Add(new WeakReference(r), r.GetType()); 20 | } 21 | public static void UnregisterReference(WeakReference r){ 22 | _refs.Remove(r); 23 | } 24 | public static void RegisterSmart(SmartBase s){ 25 | _smart[s] = s.GetType(); 26 | } 27 | public static void UnregisterSmart(SmartBase s){ 28 | _smart.Remove(s); 29 | } 30 | 31 | #if UNITY_EDITOR && !SMARTDATA_NO_GRAPH_HOOKS 32 | /// 33 | /// If false, SmartRef calls will not be intercepted. 34 | /// 35 | public static bool graphIsOpen = false; 36 | /// 37 | /// Dispatched when a SmartRef->SmartObject call is intercepted. 38 | /// First arg is caller. Second is direct callee - this may be a Multi. 39 | /// Third is final callee. If direct is Multi, this is the Var it passes through to. 40 | /// 41 | public static IRelayLink onRefCallToSmart {get {return _onRefCallToSmart.link;}} 42 | static Relay _onRefCallToSmart = new Relay(); 43 | /// 44 | /// Intercepts SmartRef calls to SmartObjects to animate graph. 45 | /// 46 | /// Writer ref caller. 47 | /// Direct callee. May be a Multi. 48 | /// Final callee. If Multi, this will be the Var element. 49 | public static void OnRefCallToSmart(SmartRefBase r, SmartBindableBase smart, SmartBindableBase leaf=null){ 50 | if (graphIsOpen){ 51 | _onRefCallToSmart.Dispatch(r, smart, leaf); 52 | } 53 | } 54 | #endif 55 | } 56 | } -------------------------------------------------------------------------------- /Utilities/SmartDataRegistry.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1beb3976d40fa0a40b0c863dbe091f92 3 | timeCreated: 1529240226 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Utilities/SmartEventOnLifecycle.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace SmartData.SmartEvent.Components { 6 | [AddComponentMenu("SmartData/Smart Event On Lifecycle", 103)] 7 | public class SmartEventOnLifecycle : MonoBehaviour { 8 | [SerializeField][ForceEventable][ForceNoAutoListen(hide=true)] 9 | EventDispatcher _onAwake = null; 10 | [SerializeField][ForceEventable][ForceNoAutoListen(hide=true)] 11 | EventDispatcher _onStart = null; 12 | [SerializeField][ForceEventable][ForceNoAutoListen(hide=true)] 13 | EventDispatcher _onEnable = null; 14 | [SerializeField][ForceEventable][ForceNoAutoListen(hide=true)] 15 | EventDispatcher _onDisable = null; 16 | [SerializeField][ForceEventable][ForceNoAutoListen(hide=true)] 17 | EventDispatcher _onDestroy = null; 18 | 19 | void Awake(){ 20 | SetReceive(true, _onAwake, _onStart, _onEnable, _onDisable, _onDestroy); 21 | Dispatch(_onAwake); 22 | } 23 | void Start () { 24 | Dispatch(_onStart); 25 | } 26 | void OnEnable(){ 27 | Dispatch(_onEnable); 28 | } 29 | void OnDisable(){ 30 | Dispatch(_onDisable); 31 | } 32 | void OnDestroy(){ 33 | Dispatch(_onDestroy); 34 | SetReceive(false, _onAwake, _onStart, _onEnable, _onDisable, _onDestroy); 35 | } 36 | 37 | void SetReceive(bool enable, params EventDispatcher[] es){ 38 | foreach (var e in es){ 39 | if (e.isValid){ 40 | e.unityEventOnReceive = enable; 41 | } 42 | } 43 | } 44 | void Dispatch(EventDispatcher e){ 45 | if (e.isValid){ 46 | e.Dispatch(); 47 | } 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Utilities/SmartEventOnLifecycle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04cae09d0230f4ae9ab31ae41969f15c 3 | timeCreated: 1530282213 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Utilities/SmartRefUnbinder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5277cadc37fb64973b7d276ba20cd438 3 | timeCreated: 1529994947 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | --------------------------------------------------------------------------------