Most_Throw is a control system for throwing calculations, it comes with an aim drawer like aim ray on shooting with all modifiers like max height, max distance, dynamic height, dynamic distance, delay system, event call system, and animation controls.
This System requires an Input Controller to receive commands (MOST Controller or any other input system) and all examples in MOST IN ONE use MOST Controller.
it's much better this way to be easier to modify and if you want to use another Input system instead of MOST Controller.
you will find the "Input Getter" section inside the .cs file contains all functions that receive input commands for this system, Check API.
This System simulates the projectile path and target point + Draw it, The helper class for projectile spawning and moving is optional and you don't have to use it.
This System Contains an Event system CalledOnReleaseData() This system triggers inside OnInputReleased()and sends the Throw data on release
as ... OnRelease Data(Hit Point, distance (scaled (0,1)), Height)
Check API...
__________ * API * __________
// All attributes are set and get so you can modify or call
// Next to each line shows the return and set data Type
// Functions
// main behavior enable and disable controller
Most_Throw.EnableState(bool Enable);
// on Start Aiming // On Touch Began // On JoyStick Touched
// On Exeed JoyStick Min Active Range // or Whatever (call it on start drawing)
Most_Throw.OnExeedMinRange(Vector2 direction)
// Controller direction updated
// Call it every time updating the controller direction
Most_Throw.OnRawValueUpdated(Vector2 direction)
// On release to stop aiming
// bool exceed value control if the method applies a certain command
// like spawn projectile or just stop Aimming
// the default value for exceed = false
Most_Throw.OnInputReleased([Optional] bool exceed)
// also this method contains an event invoke for
// OnReleaseData(Hit Point, distance scaled (0,1), Height)
//_______________________________________________________________//
// ReadOnly variable... return bool if the Throw system is active or not
Most_Throw.Enable; return bool
// The starting point of throwing and drawing
Most_Throw.StartTransform; return or set Transform
// The max distance between the start point and max point to reach
// Height not considerable
Most_Throw.MaxDistance; return or set float
// The height of the target point from the ground
Most_Throw.TargetInYAxis; return or set float
// the max height of throwing in Y axis // starting from "StartTransform" position
Most_Throw.MaxHight; return or set float
// boolean: if the highest point "MaxHight" is constant or variable
// depending on how far the target point is
Most_Throw.DynamicHight; return or set bool
// the delay before calling OnReleaseData() event
Most_Throw.DelayBeforeCall; return or set float
Static Height example: as shown the max height is constant for all target points
Note that the joystick controller uses "Min Active Range" so that the drawer doesn't appears when the Knob is close to center
Dynamic Height example: the height changes depending on the target point distance
Note that the joystick controller uses "Min Active Range" so that the drawer doesn't appear when the Knob is close to center
instead, it returns to idle and prevents throwing