Unity Package Structure
This commit is contained in:
15
Runtime/IToggleState.cs
Normal file
15
Runtime/IToggleState.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
|
||||
namespace Syntriax.Modules.ToggleState
|
||||
{
|
||||
public interface IToggleState
|
||||
{
|
||||
/// <summary>
|
||||
/// Called everytime the IsToggled field is changed
|
||||
/// </summary>
|
||||
/// <value>The new value of IsToggled</value>
|
||||
Action<bool> OnToggleStateChanged { get; set; }
|
||||
|
||||
bool IsToggled { get; set; }
|
||||
}
|
||||
}
|
11
Runtime/IToggleState.cs.meta
Normal file
11
Runtime/IToggleState.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 174255e0fce0b3a4e8b5e34afa96ffd3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
14
Runtime/IToggleStateExtensions.cs
Normal file
14
Runtime/IToggleStateExtensions.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace Syntriax.Modules.ToggleState
|
||||
{
|
||||
public static class IToggleStateExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Checks if the provided parameter IToggleState is toggled, if the parameter is null returns the nullValue parameter
|
||||
/// </summary>
|
||||
/// <param name="toggleState">IToggleState to be checked if toggled or not</param>
|
||||
/// <param name="nullValue">The value that will be returned if toggleState is null. Default value: true</param>
|
||||
/// <returns>IToggleState's toggle value, or if null return nullValue parameter</returns>
|
||||
public static bool IsToggledNullChecked(this IToggleState toggleState, bool nullValue = true)
|
||||
=> toggleState == null ? nullValue : toggleState.IsToggled;
|
||||
}
|
||||
}
|
11
Runtime/IToggleStateExtensions.cs.meta
Normal file
11
Runtime/IToggleStateExtensions.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d321123fb56053e49b20da45bfda3a65
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
3
Runtime/Syntriax.Modules.ToggleState.asmdef
Normal file
3
Runtime/Syntriax.Modules.ToggleState.asmdef
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "Syntriax.Modules.ToggleState"
|
||||
}
|
7
Runtime/Syntriax.Modules.ToggleState.asmdef.meta
Normal file
7
Runtime/Syntriax.Modules.ToggleState.asmdef.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efa9a9bc94c60c74684aafb7428fbf61
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
27
Runtime/ToggleStateMember.cs
Normal file
27
Runtime/ToggleStateMember.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
|
||||
namespace Syntriax.Modules.ToggleState
|
||||
{
|
||||
public class ToggleStateMember : IToggleState
|
||||
{
|
||||
private bool _isToggled = true;
|
||||
|
||||
public ToggleStateMember() { }
|
||||
public ToggleStateMember(bool isToggled) => IsToggled = isToggled;
|
||||
|
||||
public bool IsToggled
|
||||
{
|
||||
get => _isToggled;
|
||||
set
|
||||
{
|
||||
if (value == _isToggled)
|
||||
return;
|
||||
|
||||
_isToggled = value;
|
||||
OnToggleStateChanged?.Invoke(value);
|
||||
}
|
||||
}
|
||||
|
||||
public Action<bool> OnToggleStateChanged { get; set; } = null;
|
||||
}
|
||||
}
|
11
Runtime/ToggleStateMember.cs.meta
Normal file
11
Runtime/ToggleStateMember.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5be36869d5a2d95418a7db5213b80ccf
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
24
Runtime/ToggleStateMonoBehaviour.cs
Normal file
24
Runtime/ToggleStateMonoBehaviour.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Syntriax.Modules.ToggleState
|
||||
{
|
||||
public class ToggleStateMonoBehaviour : MonoBehaviour, IToggleState
|
||||
{
|
||||
private bool _isToggled = true;
|
||||
public bool IsToggled
|
||||
{
|
||||
get => _isToggled;
|
||||
set
|
||||
{
|
||||
if (value == _isToggled)
|
||||
return;
|
||||
|
||||
_isToggled = value;
|
||||
OnToggleStateChanged?.Invoke(value);
|
||||
}
|
||||
}
|
||||
|
||||
public Action<bool> OnToggleStateChanged { get; set; } = null;
|
||||
}
|
||||
}
|
11
Runtime/ToggleStateMonoBehaviour.cs.meta
Normal file
11
Runtime/ToggleStateMonoBehaviour.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d603bc1aca0fb74498aaa2270e82135b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user