Пример #1
0
    // 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);
    }
Пример #2
0
    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);
    }
Пример #3
0
    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;
    }
Пример #4
0
    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);
    }
Пример #5
0
    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);
    }
Пример #6
0
 public override CharacterAbility Generate(GameObject user, InputKeyStatus key)
 {
     return(new SnareAbility(user, key, this));
 }
Пример #7
0
 public abstract CharacterAbility Generate(GameObject user, InputKeyStatus key);
Пример #8
0
 public AimedRangedAbility(GameObject user, InputKeyStatus key, AimedRangedPreset preset) : base(user, key, preset)
 {
     // Reference preset
     this.preset = preset;
 }