damagereact.cpp

来自「C人工智能游戏开发的一些实例源代码 C Game development in 」· C++ 代码 · 共 70 行

CPP
70
字号

#include "character.h"
#include "DamageReact.h"
#include "gametime.h"
#include "util.h"

DamageReact::DamageReact()
{
    m_name      = "DamageReact"; // must match class name
    m_owner     = NULL;
}

void DamageReact::init   ( IEOwner * owner )
{
    m_owner = dynamic_cast<Character *> (owner);
}

bool DamageReact::start ()
{
    m_state = Go;

  
    const char * desc = m_owner->getDamageReact ( m_time );
	printf ( "%s %s\n", m_owner->getName(), desc );

    m_clock = 0.0f;

    return false;
}

bool DamageReact::update () 
{
    switch ( m_state )
    {

    case Go:

        m_clock += GameTime::dt;

		if ( m_clock >= m_time )
		{
			m_state = Done;
			m_owner->setDone ( true );
		}
        break;

	case Done:
		break;

    }

    return true;
}

bool DamageReact::finish ()
{
    return true;
}

IEOwner * DamageReact::getOwner ()
{
    return m_owner;
}

const char * DamageReact::getName()
{
    return m_name.c_str();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?