#include "CS_QuoteAir.h"
#include "CS_Quote.h"
const int CS_QuoteSTATENAME_AIR = ++entityStateID;
CS_QuoteAir::CS_QuoteAir()
{
	stateID = CS_QuoteSTATENAME_AIR;
}

void CS_QuoteAir::SetAir(int index)
{
	auto we = e.lock();
	if (!we)
		return;

	//ÉèÖÃ¶¯»­
	const wchar_t* jump = L"";
	if (we->ud == -1)
		jump = we->lr == 0 ? L"mc_quote_jump_lu" : L"mc_quote_jump_ru";
	else if (we->ud == 0)
		jump = we->lr == 0 ? L"mc_quote_jump_l" : L"mc_quote_jump_r";
	else if (we->ud == 1)
		jump = we->lr == 0 ? L"mc_quote_jump_ld" : L"mc_quote_jump_rd";
	we->ani.sprite_index = jump;
	we->ani.image_index = index;
}

void CS_QuoteAir::State()
{
	auto we = e.lock();
	if (!we)
		return;

	auto mychar = std::static_pointer_cast<CS_Quote>(we);
	if (mychar->fishState)
	{
		const wchar_t* move = L"";
		if (we->ud == -1)
			move = we->lr == 0 ? L"mc_quotefish_swim_lu" : L"mc_quotefish_swim_ru";
		else if (we->ud == 0)
			move = we->lr == 0 ? L"mc_quotefish_swim_l" : L"mc_quotefish_swim_r";
		else if (we->ud == 1)
			move = we->lr == 0 ? L"mc_quotefish_swim_ld" : L"mc_quotefish_swim_rd";
		we->ani.sprite_index = move;
	}
	else
	{
		if (we->vy < 0)
			SetAir(0);
		else
			SetAir(1);
	}
}

void CS_QuoteAir::ChangeStateMsg(int stateID)
{
	if (stateID == GetStateID())
		enable = true;
	else
		enable = false;
}
