slimecing

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 004262146d03c1f079c7c195b4de259d0f08650b
parent 001d74fe85ddbff7dc79d3969d0f002c51d1c944
Author: PlutoTank <qwolkensperg@gmail.com>
Date:   Sun, 19 Apr 2020 21:11:27 -0400

triggers now handle returning themselves

Diffstat:
MAssets/Prefabs/Camera.prefab | 57---------------------------------------------------------
MAssets/Scripts/Slimecing/Abilities/Ability.cs | 14+++++++-------
MAssets/Scripts/Slimecing/Abilities/UseAbilities/JumpAbility.cs | 2+-
MAssets/Scripts/Slimecing/Characters/CharacterMovementController.cs | 7+------
MAssets/Scripts/Slimecing/Swords/Orbitals/OrbitalLogicScripts/InputOrbitalLogic.cs | 8++++----
MAssets/Scripts/Slimecing/Triggers/Trigger.cs | 16++++------------
MAssets/Scripts/Slimecing/Triggers/TriggerLogic/InputTriggerPolling.cs | 5+----
7 files changed, 18 insertions(+), 91 deletions(-)

diff --git a/Assets/Prefabs/Camera.prefab b/Assets/Prefabs/Camera.prefab @@ -14,8 +14,6 @@ GameObject: - component: {fileID: 114368316905943310} - component: {fileID: 1472157838} - component: {fileID: 1472157839} - - component: {fileID: 619456893} - - component: {fileID: 619456894} m_Layer: 0 m_Name: Camera m_TagString: MainCamera @@ -105,7 +103,6 @@ MonoBehaviour: minZoom: 40 maxZoom: 15 maxDistanceFromOtherPlayers: 70 - visibleThings: [] offset: {x: 0, y: 70, z: -50} --- !u!114 &1472157838 MonoBehaviour: @@ -161,57 +158,3 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 ---- !u!114 &619456893 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1915431236944600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f7862acd69d43259782a7a9472c703f, type: 3} - m_Name: - m_EditorClassIdentifier: - gameEvent: {fileID: 11400000, guid: 08cea5bd86af3294baed5c8f7308ae0f, type: 2} - unityEventResponse: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114368316905943310} - m_MethodName: AddToCameraList - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &619456894 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1915431236944600} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f7862acd69d43259782a7a9472c703f, type: 3} - m_Name: - m_EditorClassIdentifier: - gameEvent: {fileID: 11400000, guid: 35a079d68f29c7d4f9b18d8f39634803, type: 2} - unityEventResponse: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114368316905943310} - m_MethodName: RemoveFromCameraList - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 diff --git a/Assets/Scripts/Slimecing/Abilities/Ability.cs b/Assets/Scripts/Slimecing/Abilities/Ability.cs @@ -13,13 +13,13 @@ namespace Slimecing.Abilities [SerializeField] protected AudioClip abilitySound; [SerializeField] private Trigger abilityTrigger; - public Trigger currentAbilityTrigger { get; set; } + public Trigger runtimeAbilityTrigger { get; set; } public virtual void CheckActivation(AbilityUser aUser, TriggerState state) { - if (currentAbilityTrigger == null) return; + if (runtimeAbilityTrigger == null) return; if (state != TriggerState.Performed) return; - currentAbilityTrigger.currentTriggerState = TriggerState.Canceled; + runtimeAbilityTrigger.currentTriggerState = TriggerState.Canceled; StartAbility(aUser); } @@ -27,11 +27,11 @@ namespace Slimecing.Abilities public virtual void Initialize(AbilityUser aUser) { - currentAbilityTrigger = Instantiate(abilityTrigger); - currentAbilityTrigger.EnableTrigger(aUser.gameObject); + runtimeAbilityTrigger = abilityTrigger.GetTrigger(); + runtimeAbilityTrigger.EnableTrigger(aUser.gameObject); if (abilitySound == null) abilitySound = AudioClip.Create("void", 1, 1, 1000, false); - currentAbilityTrigger.TriggerStateChange += ctx => CheckActivation(aUser, ctx); + runtimeAbilityTrigger.TriggerStateChange += ctx => CheckActivation(aUser, ctx); } public void StartAbility(AbilityUser aUser) @@ -74,7 +74,7 @@ namespace Slimecing.Abilities private void EndAbility() { - currentAbilityTrigger.currentTriggerState = TriggerState.Canceled; + runtimeAbilityTrigger.currentTriggerState = TriggerState.Canceled; } } } diff --git a/Assets/Scripts/Slimecing/Abilities/UseAbilities/JumpAbility.cs b/Assets/Scripts/Slimecing/Abilities/UseAbilities/JumpAbility.cs @@ -51,7 +51,7 @@ namespace Slimecing.Abilities.UseAbilities public override void CheckActivation(AbilityUser aUser, TriggerState state) { - if (currentAbilityTrigger == null) return; + if (runtimeAbilityTrigger == null) return; switch (state) { case TriggerState.Started: diff --git a/Assets/Scripts/Slimecing/Characters/CharacterMovementController.cs b/Assets/Scripts/Slimecing/Characters/CharacterMovementController.cs @@ -299,12 +299,7 @@ namespace Slimecing.Characters private bool CheckIfValidCollider(Collider col) { - if (col != playerCollider && col != null) - { - return true; - } - - return false; + return col != playerCollider && col != null; } } diff --git a/Assets/Scripts/Slimecing/Swords/Orbitals/OrbitalLogicScripts/InputOrbitalLogic.cs b/Assets/Scripts/Slimecing/Swords/Orbitals/OrbitalLogicScripts/InputOrbitalLogic.cs @@ -9,7 +9,7 @@ namespace Slimecing.Swords.Orbitals.OrbitalLogicScripts { [SerializeField] private Trigger orbitalInputTrigger; - private Trigger operatingOrbitalInputTrigger { get; set; } + private Trigger runtimeOrbitalInputTrigger { get; set; } public override OrbitalLogic GetOrbital() { @@ -18,9 +18,9 @@ namespace Slimecing.Swords.Orbitals.OrbitalLogicScripts public override void Initialize(Orbital orbital) { - operatingOrbitalInputTrigger = Instantiate(orbitalInputTrigger); + runtimeOrbitalInputTrigger = orbitalInputTrigger.GetTrigger(); GetInput(orbital, Vector2.up); - operatingOrbitalInputTrigger.EnableTrigger(orbital.ownerObject); + runtimeOrbitalInputTrigger.EnableTrigger(orbital.ownerObject); } public override void Tick(Orbital orbital) @@ -60,7 +60,7 @@ namespace Slimecing.Swords.Orbitals.OrbitalLogicScripts public void TickUpdate(Orbital orbital) { - InputAction action = operatingOrbitalInputTrigger.ReadCurrentValue<InputAction>(); + var action = runtimeOrbitalInputTrigger.ReadCurrentValue<InputAction>(); if (action == null) return; if (!action.triggered) return; if (action.activeControl != null && action.activeControl?.device.name == "Mouse") diff --git a/Assets/Scripts/Slimecing/Triggers/Trigger.cs b/Assets/Scripts/Slimecing/Triggers/Trigger.cs @@ -8,19 +8,11 @@ namespace Slimecing.Triggers public TriggerState currentTriggerState { get; set; } public event Action<TriggerState> TriggerStateChange; - public abstract void EnableTrigger(GameObject target); - protected static T CheckRequestedValue<T>(object obj) - { - var result = default(T); - if (obj is T) - { - result = (T) Convert.ChangeType(obj, typeof(T)); - } - return result; - } - public virtual T ReadCurrentValue<T>() => CheckRequestedValue<T>(currentTriggerState); - protected virtual void OnTriggerStateChange(TriggerState state) + public Trigger GetTrigger() => Instantiate(this); + public abstract void EnableTrigger(GameObject target); + public virtual T ReadCurrentValue<T>() => (T) Convert.ChangeType(currentTriggerState, typeof(T)); + protected void OnTriggerStateChange(TriggerState state) { TriggerStateChange?.Invoke(state); } diff --git a/Assets/Scripts/Slimecing/Triggers/TriggerLogic/InputTriggerPolling.cs b/Assets/Scripts/Slimecing/Triggers/TriggerLogic/InputTriggerPolling.cs @@ -31,10 +31,7 @@ namespace Slimecing.Triggers.TriggerLogic } - public override T ReadCurrentValue<T>() - { - return (T) Convert.ChangeType(action, typeof(T)); - } + public override T ReadCurrentValue<T>() => (T) Convert.ChangeType(action, typeof(T)); } }