Added Error Reporting & Updated The Submodules & Bug Fixes
This commit is contained in:
		@@ -24,7 +24,7 @@ namespace Syntriax.Modules.Movement
 | 
				
			|||||||
                _canTakeOver = value;
 | 
					                _canTakeOver = value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (isNewValue)
 | 
					                if (isNewValue)
 | 
				
			||||||
                    OnTakeOverStateChanged.Invoke(value);
 | 
					                    OnTakeOverStateChanged?.Invoke(value);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,8 +24,8 @@ namespace Syntriax.Modules.Movement
 | 
				
			|||||||
                _activeMovement = value;
 | 
					                _activeMovement = value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (oldMovement != null)
 | 
					                if (oldMovement != null)
 | 
				
			||||||
                    OnMovementDeactivated.Invoke(oldMovement);
 | 
					                    OnMovementDeactivated?.Invoke(oldMovement);
 | 
				
			||||||
                OnMovementActivated.Invoke(value);
 | 
					                OnMovementActivated?.Invoke(value);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -34,38 +34,38 @@ namespace Syntriax.Modules.Movement
 | 
				
			|||||||
        protected IToggleState toggleState = null;
 | 
					        protected IToggleState toggleState = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual void Awake()
 | 
					        protected virtual void Awake()
 | 
				
			||||||
        {
 | 
					            => Movements = new List<IMovement>(32);
 | 
				
			||||||
            Movements = new List<IMovement>(32);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual void Start()
 | 
					        protected virtual void Start()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            toggleState = GetComponent<IToggleState>();
 | 
					 | 
				
			||||||
            RecacheMovements();
 | 
					            RecacheMovements();
 | 
				
			||||||
 | 
					            toggleState = GetComponent<IToggleState>();
 | 
				
			||||||
 | 
					            if (toggleState == null)
 | 
				
			||||||
 | 
					                Debug.LogError("Movement Controller component needs one Monobehaviour attached that implements IToggleState interface", this);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual void FixedUpdate()
 | 
					        protected virtual void FixedUpdate()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (!toggleState.Toggled)
 | 
					            if (!toggleState.IsToggledNullChecked())
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            ActiveMovement.ApplyMovement();
 | 
					            ActiveMovement?.ApplyMovement();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public virtual void RecacheMovements()
 | 
					        public virtual void RecacheMovements()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            foreach (IMovement movement in Movements)
 | 
					            foreach (IMovement movement in Movements)
 | 
				
			||||||
                movement.OnTakeOverStateChanged -= OnTakeOverListener;
 | 
					                movement.OnTakeOverStateChanged -= OnTakeOver;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Movements.Clear();
 | 
					            Movements.Clear();
 | 
				
			||||||
            GetComponents<IMovement>(Movements);
 | 
					            GetComponents<IMovement>(Movements);
 | 
				
			||||||
            UpdateActiveMovement();
 | 
					            UpdateActiveMovement();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            foreach (IMovement movement in Movements)
 | 
					            foreach (IMovement movement in Movements)
 | 
				
			||||||
                movement.OnTakeOverStateChanged += OnTakeOverListener;
 | 
					                movement.OnTakeOverStateChanged += OnTakeOver;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void OnTakeOverListener(bool arg0) => UpdateActiveMovement();
 | 
					        private void OnTakeOver(bool arg0) => UpdateActiveMovement();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual void UpdateActiveMovement()
 | 
					        protected virtual void UpdateActiveMovement()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -76,7 +76,8 @@ namespace Syntriax.Modules.Movement
 | 
				
			|||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            ActiveMovement = Movements[Movements.Count - 1];
 | 
					            try { ActiveMovement = Movements[Movements.Count - 1]; }
 | 
				
			||||||
 | 
					            catch (System.Exception) { Debug.LogError("Movement Controller component needs at least one Monobehaviour attached that implements IMovement interface", this); }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule ToggleState updated: 7574769637...463182ab43
									
								
							
							
								
								
									
										2
									
								
								Trigger
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								Trigger
									
									
									
									
									
								
							 Submodule Trigger updated: 4f2217bb63...330a41a87f
									
								
							
		Reference in New Issue
	
	Block a user