// Public public RangedAbility(GameObject user, InputKeyStatus key, RangedPreset preset) : base(user, key, preset) { // Copy presets this.preset = preset; // Setup states rangedState.OnEnter += LaunchProjectile; // Setup state machine stateMachine.OnMachineEnter += () => anim.SetBool(rangedParameterHash, true); stateMachine.OnMachineExit += () => anim.SetBool(rangedParameterHash, false); stateMachine.SetRoot(rangedState); }
protected int meleeParameterHash = Animator.StringToHash("Melee"); // Bool public MeleeAbility(GameObject user, InputKeyStatus key, MeleePreset preset) : base(user, key, preset) { // Reference preset this.preset = preset; // Setup states meleeState.OnEnter += SetupHitbox; meleeState.OnEnterAndUpdate += PassTime; meleeState.OnExit += RemoveHitbox; // Setup state machine stateMachine.OnMachineEnter += () => anim.SetBool(meleeParameterHash, true); stateMachine.OnMachineExit += () => anim.SetBool(meleeParameterHash, false); stateMachine.SetRoot(meleeState); }
public CharacterAbility(GameObject user, InputKeyStatus key, AbilityPreset preset) { // Reset state Reset(); // Get dependents this.user = user; this.key = key; anim = user.GetComponent <Animator>(); // Reference preset this.preset = preset; // Setup base machine behaviour stateMachine.OnMachineExit += Reset; }
protected readonly int laserParameterHash = Animator.StringToHash("Laser"); // Bool // Public public LaserAbility(GameObject user, InputKeyStatus key, LaserPreset preset) : base(user, key, preset) { // Setup dependents input = user.GetComponent <CharacterInput>(); // Reference preset this.preset = preset; // Setup states chargeState.OnEnterAndUpdate += ChargeLaser; fireState.OnEnter += SetupHitbox; fireState.OnEnterAndUpdate += FireLaser; // Setup state machine stateMachine.OnMachineEnter += () => anim.SetBool(laserParameterHash, true); stateMachine.OnMachineExit += () => anim.SetBool(laserParameterHash, false); stateMachine.SetRoot(chargeState); }
protected readonly int snareParameterHash = Animator.StringToHash("Snare"); // bool public SnareAbility(GameObject user, InputKeyStatus key, SnarePreset preset) : base(user, key, preset) { // Set preset this.preset = preset; // Setup dependents input = user.GetComponent <CharacterInput>(); // Setup states chargeState.OnEnter += SetupLaunchArc; chargeState.OnEnterAndUpdate += UpdateLaunchArc; chargeState.OnExit += RemoveLaunchArc; chargeState.OnExit += LaunchSnare; // Setup state machine stateMachine.OnMachineEnter += () => anim.SetBool(snareParameterHash, true); stateMachine.OnMachineExit += () => anim.SetBool(snareParameterHash, false); stateMachine.SetRoot(chargeState); }
public override CharacterAbility Generate(GameObject user, InputKeyStatus key) { return(new SnareAbility(user, key, this)); }
public abstract CharacterAbility Generate(GameObject user, InputKeyStatus key);
public AimedRangedAbility(GameObject user, InputKeyStatus key, AimedRangedPreset preset) : base(user, key, preset) { // Reference preset this.preset = preset; }