1#include <game/bases/d_enemy.hpp>
3#include <game/bases/d_a_player_base.hpp>
4#include <game/bases/d_a_player_manager.hpp>
5#include <game/bases/d_actor_manager.hpp>
6#include <game/bases/d_effectmanager.hpp>
7#include <game/bases/d_enemy_manager.hpp>
8#include <game/bases/d_game_com.hpp>
9#include <game/bases/d_multi_manager.hpp>
10#include <game/bases/d_score_manager.hpp>
11#include <game/mLib/m_effect.hpp>
27void dEn_c::initializeState_Ice() {
36 mIceMng.mDestroyMode = dIceMng_c::DESTROY_BREAK;
41void dEn_c::finalizeState_Ice() {
45void dEn_c::executeState_Ice() {
47 case dIceMng_c::PROC_DEFAULT:
52 case dIceMng_c::PROC_MELT:
56 case dIceMng_c::PROC_FROZEN: {
58 if (destroyMode == dIceMng_c::DESTROY_NONE) {
63 dAudio::g_pSndObjMap->startSound(SE_OBJ_PNGN_ICE_BREAK,
mPos, 0);
64 switch (destroyMode) {
65 case dIceMng_c::DESTROY_BREAK:
66 setDeathInfo_IceBreak();
68 case dIceMng_c::DESTROY_VANISH:
69 setDeathInfo_IceVanish();
82bool dEn_c::createIceActor() {
83 dIceInfo iceInfo[] = {
87 mVec3_c(1.0f, 1.0f, 1.0f)
90 return mIceMng.createIce(iceInfo, ARRAY_SIZE(iceInfo));
93void dEn_c::setIceAnm() {}
95void dEn_c::returnAnm_Ice() {}
97void dEn_c::killIce() {
101void dEn_c::returnState_Ice() {
105void dEn_c::initializeState_HitSpin() {}
107void dEn_c::finalizeState_HitSpin() {}
109void dEn_c::executeState_HitSpin() {}
111void dEn_c::initializeState_EatIn() {}
113void dEn_c::finalizeState_EatIn() {}
115void dEn_c::executeState_EatIn() {
120 if (eatActor !=
nullptr) {
126void dEn_c::initializeState_EatNow() {}
128void dEn_c::finalizeState_EatNow() {}
130void dEn_c::executeState_EatNow() {}
132void dEn_c::initializeState_EatOut() {}
134void dEn_c::finalizeState_EatOut() {}
136void dEn_c::executeState_EatOut() {}
bool isState(const sStateIDIf_c &other) const
Checks if the actor is currently in the given state.
sFStateStateMgr_c< dActorMultiState_c, sStateMethodUsr_FI_c, sStateMethodUsr_FI_c > mStateMgr
The state manager.
fBaseID_e mEatenByID
The unique identifier of the eating actor.
virtual void reviveCc()
Enables the actor's collision.
dBc_c mBc
The actor-to-tile collision sensor.
u8 mEatState
The actor's eat state. Value is a EAT_STATE_e.
virtual void removeCc()
Disables the actor's collision.
@ EAT_STATE_EATEN
The actor has been successfully eaten.
dActor_c()
Constructs a new actor.
mVec3_c mPos
The actor's position.
An enemy actor. Note that the definition of "enemy" in this context is actually any interactible stag...
dIceMng_c mIceMng
The ice manager for this enemy.
virtual void changeState(const sStateIDIf_c &newState)
Changes the actor's state to the given state.
virtual void calcEatInScale(dActor_c *)
Adjusts the actor's scale while being eaten.
u32 mFlags
Flags for this actor. See FLAGS_e.
static fBase_c * searchBaseByID(fBaseID_e id)
Searches for a base with the given ID.
The interface for state IDs.
#define STATE_VIRTUAL_DEFINE(class, name)
Defines a virtual state.