initial commit

This commit is contained in:
Jo 2025-01-07 02:06:59 +01:00
parent 6715289efe
commit 788c3389af
37645 changed files with 2526849 additions and 80 deletions

View file

@ -0,0 +1,11 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class Actuator : MonoBehaviour
{
#if UNITY_EDITOR
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 103725e64f1526047893799e875e35ef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,18 @@
using SLZ.Marrow.Warehouse;
using SLZ.Marrow.Zones;
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class ActuatorSocketDecorator : ExternalActuator, ISpawnListenable
{
[SerializeField]
protected CrateSpawner _crateSpawner;
#if UNITY_EDITOR
protected void Reset()
{
_crateSpawner = GetComponent<CrateSpawner>();
}
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2c77b77e7dae82a478ce46d90f17f904
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,26 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Nodes/Add Node")]
public class AddCircuit : Circuit
{
[Tooltip("The listed Input circuits that will be added together by this node")]
[SerializeField]
private Circuit[] _input;
public Circuit[] input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.AddCircuit.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.AddCircuit.input");
throw new System.NotImplementedException();
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5b3166ff9e8f0114cb90855ecb0f5792
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,19 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class ButtonController : CircuitSocket
{
[SerializeField]
private ButtonMode _buttonMode = ButtonMode.ClickUp;
public enum ButtonMode
{
ClickUp,
ClickDown,
Toggle,
ContinuousDown,
ContinuousFloat
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 933edb0b2b09a744c866950ad65b273d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,21 @@
using SLZ.Marrow.Warehouse;
using SLZ.Marrow.Zones;
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Decorators/Button Decorator")]
public class ButtonDecorator : ExternalCircuit, ISpawnListenable
{
[Min(0)]
public ButtonController.ButtonMode buttonMode = ButtonController.ButtonMode.ClickUp;
[SerializeField]
protected CrateSpawner _crateSpawner;
#if UNITY_EDITOR
protected void Reset()
{
_crateSpawner = GetComponent<CrateSpawner>();
}
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 72562a404d8b1c847bd715a9f3b1d4df
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,11 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class Circuit : MonoBehaviour
{
#if UNITY_EDITOR
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5f99898e688bf5347abf33f06696e7b1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,8 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class CircuitSocket : Circuit
{
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cca12a0fc28b24a4c91c265a5090eaca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,51 @@
using UnityEngine;
using UltEvents;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Actuators/Event Actuator")]
public class EventActuator : Actuator
{
[Tooltip("The circuit supplying the input that will activate events.")]
[SerializeField]
private Circuit _input;
[Tooltip("The input threshold required to trigger Input Fell events.")]
[SerializeField]
private float lowThreshold = 0.05f;
[Tooltip("The input threshold required to trigger Input Rose, Input Held and Input Rose OneShot events.")]
[SerializeField]
private float highThreshold = 0.95f;
[Header("Events")]
[Tooltip("When the input value changes (EXPENSIVE, runs all callbacks on every value update)")]
public UltEvent<float> InputUpdated;
[Tooltip("When the input value rises above the high threshold")]
public UltEvent<float> InputRose;
[Tooltip("When the input value holds above the high threshold")]
public UltEvent<float> InputHeld;
[Tooltip("When the input value lowers beneath the low threshold")]
public UltEvent<float> InputFell;
[Tooltip("When the input value rises above the high threshold (for the first time only)")]
public UltEvent<float> InputRoseOneShot;
private float _priorValue;
private bool _isHigh;
private bool _hasBeenHigh;
public Circuit input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.EventActuator.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.EventActuator.input");
throw new System.NotImplementedException();
}
}
private void Reset()
{
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d6b92b6406865ed4aaa57b5170fdd21d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,26 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class ExternalActuator : Actuator
{
[SerializeField]
private Circuit _input;
public Circuit input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.ExternalActuator.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.ExternalActuator.input");
throw new System.NotImplementedException();
}
}
public delegate void ActuateDelegate(double fixedTime, bool isInitializing);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7a0a9072bab6efa4d98bb12b075f81cc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,28 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
public class ExternalCircuit : Circuit
{
[SerializeField]
private Circuit _input;
public Circuit input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.ExternalCircuit.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.ExternalCircuit.input");
throw new System.NotImplementedException();
}
}
public delegate float InitializeDelegate();
public delegate float ReadSensorDelegate(double fixedTime, float lastSensorValue);
public delegate float InlineCalculateDelegate(float sensorValue);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 034ecec47ee9f6f45a3acbde5d23dcdd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,50 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Nodes/FlipFlop Node")]
public class FlipflopCircuit : Circuit
{
[Tooltip("If the Set Input reaches the Set Threshold, the FlipFlop Node will output a value of 1")]
[SerializeField]
private Circuit _setInput;
[Tooltip("If the Reset Input reaches the Reset Threshold, the FlipFlop Node will output a value of 0")]
[SerializeField]
private Circuit _resetInput;
[Tooltip("The required threshold to trigger an output of 1")]
[SerializeField]
private float setThreshold = 1f;
[Tooltip("The required threshold to trigger an output of 0")]
[SerializeField]
private float resetThreshold = 1f;
public Circuit setInput
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.FlipflopCircuit.setInput");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.FlipflopCircuit.setInput");
throw new System.NotImplementedException();
}
}
public Circuit resetInput
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.FlipflopCircuit.resetInput");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.FlipflopCircuit.resetInput");
throw new System.NotImplementedException();
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f671e5978ee9ccd46943d6258133ac8e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,71 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Actuators/Material Switch Actuator")]
public class MaterialSwitchActuator : Actuator
{
[Tooltip("The circuit supplying the input that will change the listed Renderer materials when the Low or High threshold is reached.")]
[SerializeField]
private Circuit _input;
[Tooltip("Renderers that will have their materials switched")]
[SerializeField]
private Renderer[] _renderers;
[Tooltip("If the Renderer has multiple materials, the Material Index list allows specific materials to be targeted for switching based on their material index.")]
[SerializeField]
private int[] _materialIndex;
[Tooltip("The material to switch to when the Low threshold is reached.")]
[SerializeField]
private Material _offMat;
[Tooltip("The material to switch to when the High threshold is reached.")]
[SerializeField]
private Material _onMat;
[Tooltip("The input threshold value required to trigger a switch to the Off Material.")]
[SerializeField]
private float lowThreshold = 0.05f;
[Tooltip("The input threshold value required to trigger a switch to the On Material.")]
[SerializeField]
private float highThreshold = 0.95f;
private float _priorValue;
private bool _isHigh;
public Circuit input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.MaterialSwitchActuator.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.MaterialSwitchActuator.input");
throw new System.NotImplementedException();
}
}
private void Reset()
{
var renderer = GetComponent<Renderer>();
if (renderer)
{
_renderers = new[]
{
renderer
};
_materialIndex = new[]
{
0
};
}
else
{
_materialIndex = new[]
{
0
};
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 274993d2d1c025d44a99a89b0dc09e65
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,26 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Nodes/Multiply Node")]
public class MultiplyCircuit : Circuit
{
[Tooltip("The values of the listed Input circuits will be multiplied by this node. The Multiply Node can be used as the Input circuit for a target circuit or actuator and the multipled total input will be supplied to the target. The target's threshold values should be adjsuted for the appropriate total input.")]
[SerializeField]
private Circuit[] _input;
public Circuit[] input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.MultiplyCircuit.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.MultiplyCircuit.input");
throw new System.NotImplementedException();
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5d0eadf1410f286479ab133022919f5f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,29 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Nodes/Remap Node")]
public class RemapCircuit : Circuit
{
[Tooltip("The Input circuit's values will be remapped to the curve")]
[SerializeField]
private Circuit _input;
[Tooltip("Keys can be added to the curve to sculpt complex shapes.")]
[SerializeField]
private AnimationCurve _remapCurve = new AnimationCurve(new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f));
public Circuit input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.RemapCircuit.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.RemapCircuit.input");
throw new System.NotImplementedException();
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4caeba7454a058b4eb696c50ba11c852
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,19 @@
using SLZ.Marrow.Warehouse;
using SLZ.Marrow.Zones;
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Decorators/Switch Decorator")]
public class SwitchDecorator : ExternalCircuit, ISpawnListenable
{
[SerializeField]
protected CrateSpawner _crateSpawner;
#if UNITY_EDITOR
protected void Reset()
{
_crateSpawner = GetComponent<CrateSpawner>();
}
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 758fa0104d95a08499ca0acab5eedfdc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,23 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Nodes/Value Node")]
public class ValueCircuit : Circuit
{
[Tooltip("The Value Node outputs the specified constant value")]
[SerializeField]
private float _value = 1f;
public float Value
{
get => _value;
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.ValueCircuit.Value");
throw new System.NotImplementedException();
}
}
#if UNITY_EDITOR
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 611e46d63a211284692f5910298d88a9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,26 @@
using UnityEngine;
namespace SLZ.Marrow.Circuits
{
[AddComponentMenu("MarrowSDK/Circuits/Nodes/Xor Node")]
public class XorCircuit : Circuit
{
[Tooltip("The Xor Node will only activate when an odd number of its inputs are active.")]
[SerializeField]
private Circuit[] _input;
public Circuit[] input
{
get
{
UnityEngine.Debug.Log("Hollowed Property Getter: SLZ.Marrow.Circuits.XorCircuit.input");
throw new System.NotImplementedException();
}
set
{
UnityEngine.Debug.Log("Hollowed Property Setter: SLZ.Marrow.Circuits.XorCircuit.input");
throw new System.NotImplementedException();
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 58014dc9f35fb1f47b026a34396c70ee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: