SuperMarioOdysseyOnline/include/game/Player/Attacks/PlayerSpinCapAttack.h
2022-06-16 14:33:18 -07:00

47 lines
No EOL
2.1 KiB
C++

#pragma once
#include "sead/math/seadVector.h"
#include "al/sensor/HitSensor.h"
#include "game/Player/HackCap.h"
#include "game/Player/PlayerConst.h"
#include "game/Player/PlayerInput.h"
#include "game/Player/PlayerAnimator.h"
class PlayerTrigger;
class PlayerJudgePreInputCapThrow;
class PlayerCounterAfterCapCatch;
class PlayerSpinCapAttack {
public:
PlayerSpinCapAttack(HackCap *, const PlayerConst *, const PlayerTrigger *, const PlayerInput *, const PlayerCounterAfterCapCatch *, const PlayerJudgePreInputCapThrow *);
void clearAttackInfo(void);
void setupAttackInfo(void);
void startCapSpinAttack(PlayerAnimator *, PlayerInput const *);
void startCapSpinAttackAir(PlayerAnimator *, PlayerInput const *);
void startCapSpinAttackSwim(PlayerAnimator *, PlayerInput const *);
void startSpinSeparate(PlayerAnimator *, PlayerInput const *);
void startSpinSeparateSwim(PlayerAnimator *, PlayerInput const *);
void startSpinSeparateSwimSurface(PlayerAnimator *, PlayerInput const *);
void startCapThrow(sead::Vector3f const & front, sead::Vector3f const & up, float speed, bool, sead::Vector3f const& unused);
void attackSpinMsg(al::HitSensor *, al::HitSensor *);
bool tryCancelCapState(PlayerAnimator *);
bool tryStartCapSpinGroundMiss(PlayerAnimator *);
bool tryStartCapSpinAirMiss(PlayerAnimator *);
bool isCapSpinAttack(void) const;
bool isValidAttackSensor(const PlayerAnimator *) const;
bool isEnablePlaySpinCapMiss(const PlayerAnimator *) const;
bool isSeparateSingleSpin(void) const;
bool isThrowSwingRightDir(void) const;
int getThrowFrameGround(void) const;
int getThrowFrameAir(void) const;
int getThrowFrameSwim(void) const;
HackCap *mHackCap; // 0x0
PlayerConst *mPlayerConst; // 0x8
PlayerTrigger *mPlayerTrigger; // 0x10
PlayerInput *mPlayerInput; // 0x18
PlayerCounterAfterCapCatch *mCounterAfterCapCatch; // 0x20
PlayerJudgePreInputCapThrow *jPreInputCapThrow; // 0x28
};