Skip to content
Snippets Groups Projects
Commit 5179d881 authored by michael's avatar michael
Browse files

Added scriptable vars shared code and removed meta-less readme.

parent cb0baf02
No related branches found
No related tags found
No related merge requests found
Pipeline #1962 canceled
Showing
with 276 additions and 0 deletions
using UnityEngine;
namespace Shared.ScriptableVariables {
// A string value to share across components, scenes, and prefabs
[CreateAssetMenu(menuName = "Scriptable Objects/Variables/String")]
public class StringVariable : ScriptableVariable<string> {
//---------------------------------------------------------------------------
[ContextMenu("Reset To Default Value")]
public void ContextMenuReset() {
Reset();
}
}
#if UNITY_EDITOR
//-----------------------------------------------------------------------------
[UnityEditor.CustomEditor(typeof(StringVariable))]
[UnityEditor.CanEditMultipleObjects]
public class StringScriptableVariableEditor : StringVariable.BaseScriptableVariableEditor {
}
#endif
}
fileFormatVersion: 2
guid: d0b3993ca7cbd0e459f217e13ea06b66
timeCreated: 1510599427
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ddca758e9621a174280f922c14a157f7
folderAsset: yes
timeCreated: 1510599733
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: fff3d06e72902f446817e50679685a41
folderAsset: yes
timeCreated: 1510600555
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using UnityEditor;
namespace Shared.ScriptableVariables {
// A custom Inspector Editor for ReferenceBooleanVariables
[CustomEditor(typeof(ReferenceBooleanVariable))]
[CanEditMultipleObjects]
public class ReferenceBooleanVariableInspector : ReferenceScriptableVariableInspector {
}
}
fileFormatVersion: 2
guid: 46ec3998332a3a84682c6040a4185138
timeCreated: 1510601506
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEditor;
namespace Shared.ScriptableVariables {
// A custom Inspector Editor for ReferenceFloatVariables
[CustomEditor(typeof(ReferenceFloatVariable))]
[CanEditMultipleObjects]
public class ReferenceFloatVariableInspector : ReferenceScriptableVariableInspector {
}
}
fileFormatVersion: 2
guid: fe01a7488e400f7439f0a7c65d6b1726
timeCreated: 1510601506
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEditor;
namespace Shared.ScriptableVariables {
// A custom Inspector Editor for ReferenceIntVariables
[CustomEditor(typeof(ReferenceIntVariable))]
[CanEditMultipleObjects]
public class ReferenceIntVariableInspector : ReferenceScriptableVariableInspector {
}
}
fileFormatVersion: 2
guid: cc52a5deb1a87ce41a657ab42cd21cca
timeCreated: 1510601506
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEditor;
using UnityEngine;
namespace Shared.ScriptableVariables {
// A custom Inspector Editor for ReferenceStringVariables
public class ReferenceScriptableVariableInspector : Editor {
SerializedProperty useConstant;
SerializedProperty constantValue;
SerializedProperty referenceValue;
// ---------------------------------------------------------------------------
void OnEnable() {
useConstant = serializedObject.FindProperty("useConstant");
constantValue = serializedObject.FindProperty("constantValue");
referenceValue = serializedObject.FindProperty("referenceValue");
}
// ---------------------------------------------------------------------------
public override void OnInspectorGUI() {
serializedObject.Update();
// Show the currently active value type (constant or reference)
if (useConstant.boolValue) {
EditorGUILayout.PropertyField(constantValue);
}
else {
EditorGUILayout.PropertyField(referenceValue);
}
// Setup right click to switch between the active value type
var labelRect = GUILayoutUtility.GetLastRect();
if (GUI.Button(labelRect, GUIContent.none, GUIStyle.none) && Event.current.button == 1) {
var menu = new GenericMenu();
if (useConstant.boolValue) {
menu.AddItem(new GUIContent("Use Reference Value"), false, UseReferenceValue);
}
else {
menu.AddItem(new GUIContent("Use Constant Value"), false, UseConstantValue);
}
menu.ShowAsContext();
}
serializedObject.ApplyModifiedProperties();
}
//---------------------------------------------------------------------------
private void UseReferenceValue() {
useConstant.boolValue = false;
serializedObject.ApplyModifiedProperties();
}
//---------------------------------------------------------------------------
private void UseConstantValue() {
useConstant.boolValue = true;
serializedObject.ApplyModifiedProperties();
}
}
}
fileFormatVersion: 2
guid: 8a0379305c24f1f4fba92dd1faee66af
timeCreated: 1510601506
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEditor;
namespace Shared.ScriptableVariables {
// A custom Inspector Editor for ReferenceStringVariables
[CustomEditor(typeof(ReferenceStringVariable))]
[CanEditMultipleObjects]
public class ReferenceStringVariableInspector : ReferenceScriptableVariableInspector {
}
}
fileFormatVersion: 2
guid: b640fb82fd6813e40b5d8ed19aa1e9f6
timeCreated: 1510601506
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
namespace Shared.ScriptableVariables {
// A reference to a boolean value to share across components, scenes, and prefabs that can be overridden to a constant different value
[CreateAssetMenu(menuName = "Scriptable Objects/Variables/Reference/Boolean")]
public class ReferenceBooleanVariable : ReferenceScriptableVariable<BooleanVariable, bool> {
}
}
fileFormatVersion: 2
guid: dc11cb8fa12bce349a901887a47e3cd1
timeCreated: 1510599427
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
namespace Shared.ScriptableVariables {
// A reference to a float value to share across components, scenes, and prefabs that can be overridden to a constant different value
[CreateAssetMenu(menuName = "Scriptable Objects/Variables/Reference/Float")]
public class ReferenceFloatVariable : ReferenceScriptableVariable<FloatVariable, float> {
}
}
fileFormatVersion: 2
guid: 0684b8ae3b58fd446b31ca3f0369dd7c
timeCreated: 1510599427
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
namespace Shared.ScriptableVariables {
// A reference to an int value to share across components, scenes, and prefabs that can be overridden to a constant different value
[CreateAssetMenu(menuName = "Scriptable Objects/Variables/Reference/Int")]
public class ReferenceIntVariable : ReferenceScriptableVariable<IntVariable, int> {
}
}
fileFormatVersion: 2
guid: 62673a73de96a294cb4c8729f0a38d22
timeCreated: 1510599427
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment