Variable Movement Added
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement.SimpleImplementation
|
||||
{
|
||||
public class SimpleVariableMovement : IVariableMovement
|
||||
{
|
||||
public IVariableMovementAsset VariableMovementAsset { get; protected set; } = null;
|
||||
public bool StateEnabled { get; set; } = false;
|
||||
|
||||
public SimpleVariableMovement(IVariableMovementAsset variableMovementAsset)
|
||||
=> VariableMovementAsset = variableMovementAsset;
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 05bc4dd9eef91cf4b82018ce47c7b9c9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement.SimpleImplementation
|
||||
{
|
||||
[CreateAssetMenu(fileName = "Simple Variable Movement Asset", menuName = "Syntriax/Modules/Movement/VariableMovement/Simple Variable Movement Asset", order = 0)]
|
||||
public class SimpleVariableMovementAsset : ScriptableObject, IVariableMovementAsset
|
||||
{
|
||||
[SerializeField] protected float movementMultiplier = 1f;
|
||||
|
||||
public string MovementName => this.name;
|
||||
public float MovementMultiplier => movementMultiplier;
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0b94067bad67de4689a6a41749e1b1b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,28 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement.SimpleImplementation
|
||||
{
|
||||
public class SimpleVariableMovementController : MonoBehaviour, IVariableMovementController
|
||||
{
|
||||
private static IVariableMovement DefaultVariableMovement = new SimpleVariableMovement(new DefaulVariableMovementAsset());
|
||||
|
||||
public bool StateEnabled { get; set; } = false;
|
||||
|
||||
public List<IVariableMovement> VariableMovements { get; protected set; } = new List<IVariableMovement>();
|
||||
public IVariableMovement CurrentVariableMovement
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!StateEnabled)
|
||||
return DefaultVariableMovement;
|
||||
|
||||
foreach (IVariableMovement variableMovement in VariableMovements)
|
||||
if (variableMovement.StateEnabled)
|
||||
return variableMovement;
|
||||
|
||||
return DefaultVariableMovement;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 580058b11e72667419d381dbffba60e8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user