Rewrite
- Movement & Controller - Special Actions - ToggleState - ColliderChecker - and 2D Implementations
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public class DefaulVariableMovementAsset : IVariableMovementAsset
|
||||
{
|
||||
public static DefaulVariableMovementAsset _instance = new DefaulVariableMovementAsset();
|
||||
public static DefaulVariableMovementAsset Instance => _instance;
|
||||
|
||||
public string MovementName => "Default Movement";
|
||||
|
||||
public float MovementMultiplier { get; } = 1f;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 51c6b19fd2c0c9f4e9a0b28528c875dd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb29c5d8308d0b5469f8761266612fe5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,7 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public class VariableMovementAssetFactory : TypeFactoryBaseMonoBehaviour<VariableMovementAssetFactory, IVariableMovementAsset>
|
||||
{
|
||||
protected override int InitialCapacity => 8;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca4cae9b447933d4380cb3664509b0dd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,7 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public class VariableMovementCollectionFactory : TypeFactoryBaseMonoBehaviour<VariableMovementCollectionFactory, IVariableMovementCollection>
|
||||
{
|
||||
protected override int InitialCapacity => 8;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bfc49ded5329db443b2ae57e61ad77a4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,7 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public class VariableMovementControllerFactory : TypeFactoryBaseMonoBehaviour<VariableMovementControllerFactory, IVariableMovementController>
|
||||
{
|
||||
protected override int InitialCapacity => 8;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a76af33a21338f49bec92f17a6d6aca
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,7 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public class VariableMovementFactory : TypeFactoryBaseMonoBehaviour<VariableMovementFactory, IVariableMovement>
|
||||
{
|
||||
protected override int InitialCapacity => 8;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c96b25d959676ca4f9246e903fd2a928
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,7 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public interface IVariableMovement : IState
|
||||
{
|
||||
IVariableMovementAsset VariableMovementAsset { get; set; }
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f5b11f55ed07dd9428e35c40af90714d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,8 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public interface IVariableMovementAsset
|
||||
{
|
||||
string MovementName { get; }
|
||||
float MovementMultiplier { get; }
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 18c50e4da3596b64d9cd3a01ab22a2ca
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,10 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public interface IVariableMovementCollection
|
||||
{
|
||||
IVariableMovementAsset DefaultVariableMovementsAsset { get; }
|
||||
List<IVariableMovementAsset> VariableMovementsAssets { get; }
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47411e74f07b72041a17185dd8483dfc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,11 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public interface IVariableMovementController : IState
|
||||
{
|
||||
List<IVariableMovement> VariableMovements { get; }
|
||||
IVariableMovementCollection VariableMovementCollection { get; set; }
|
||||
IVariableMovement CurrentVariableMovement { get; }
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a04461d521f1e754f85154d2548da368
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc3b3517b04c51746a6f678728212d27
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,23 +0,0 @@
|
||||
namespace Syntriax.Modules.Movement.VariableMovement.SimpleImplementation
|
||||
{
|
||||
public class SimpleVariableMovement : IVariableMovement
|
||||
{
|
||||
protected IVariableMovementAsset _variableMovementAsset = null;
|
||||
|
||||
public IVariableMovementAsset VariableMovementAsset
|
||||
{
|
||||
get => _variableMovementAsset;
|
||||
set
|
||||
{
|
||||
_variableMovementAsset = value;
|
||||
StateEnabled = false;
|
||||
}
|
||||
}
|
||||
public bool StateEnabled { get; set; } = false;
|
||||
|
||||
public SimpleVariableMovement() { }
|
||||
|
||||
public SimpleVariableMovement(IVariableMovementAsset variableMovementAsset)
|
||||
=> VariableMovementAsset = variableMovementAsset;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 05bc4dd9eef91cf4b82018ce47c7b9c9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,13 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0b94067bad67de4689a6a41749e1b1b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,15 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement.SimpleImplementation
|
||||
{
|
||||
[CreateAssetMenu(fileName = "Simple VM Asset Collection", menuName = "Syntriax/Modules/Movement/VariableMovement/Simple VM Asset Collection", order = 0)]
|
||||
public class SimpleVariableMovementCollection : ScriptableObject, IVariableMovementCollection
|
||||
{
|
||||
[SerializeField] protected SimpleVariableMovementAsset defaultVariableMovementsAsset = null;
|
||||
[SerializeField] protected List<SimpleVariableMovementAsset> variableMovementsAssets = new List<SimpleVariableMovementAsset>();
|
||||
|
||||
public IVariableMovementAsset DefaultVariableMovementsAsset => defaultVariableMovementsAsset;
|
||||
public List<IVariableMovementAsset> VariableMovementsAssets => variableMovementsAssets.ConvertAll<IVariableMovementAsset>(simple => (IVariableMovementAsset)simple);
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5cee6b82ee9d68c4eb38ce2e693515d4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,50 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement.SimpleImplementation
|
||||
{
|
||||
public class SimpleVariableMovementController : MonoBehaviour, IVariableMovementController
|
||||
{
|
||||
protected IVariableMovement _defaultVariableMovement = new SimpleVariableMovement();
|
||||
protected IVariableMovementCollection _variableMovementCollection = null;
|
||||
|
||||
public bool StateEnabled { get; set; } = false;
|
||||
|
||||
public List<IVariableMovement> VariableMovements { get; protected set; } = new List<IVariableMovement>();
|
||||
|
||||
public IVariableMovementCollection VariableMovementCollection
|
||||
{
|
||||
get => _variableMovementCollection;
|
||||
set
|
||||
{
|
||||
_variableMovementCollection = value;
|
||||
|
||||
VariableMovements.Clear();
|
||||
|
||||
_defaultVariableMovement.VariableMovementAsset = value.DefaultVariableMovementsAsset;
|
||||
_defaultVariableMovement.StateEnabled = true;
|
||||
|
||||
if (VariableMovements.Capacity < value.VariableMovementsAssets.Count)
|
||||
VariableMovements.Capacity = value.VariableMovementsAssets.Count;
|
||||
|
||||
foreach (var asset in value.VariableMovementsAssets)
|
||||
VariableMovements.Add(new SimpleVariableMovement(asset));
|
||||
}
|
||||
}
|
||||
|
||||
public IVariableMovement CurrentVariableMovement
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!StateEnabled)
|
||||
return _defaultVariableMovement;
|
||||
|
||||
foreach (IVariableMovement variableMovement in VariableMovements)
|
||||
if (variableMovement.StateEnabled)
|
||||
return variableMovement;
|
||||
|
||||
return _defaultVariableMovement;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 580058b11e72667419d381dbffba60e8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -1,24 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Syntriax.Modules.Movement.VariableMovement
|
||||
{
|
||||
public class VariableMovementBehaviourApplier : MonoBehaviour
|
||||
{
|
||||
private List<IMovement> movements = new List<IMovement>();
|
||||
private IVariableMovementController variableMovementController = null;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
movements = GetComponents<IMovement>().ToList();
|
||||
variableMovementController = GetComponent<IVariableMovementController>();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
foreach (var movement in movements)
|
||||
movement.MovementMultiplier = variableMovementController.CurrentVariableMovement.VariableMovementAsset.MovementMultiplier;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47f9c34946b1c4a4d9b31dc2f1a6e315
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user