#include "StdAfx.h" #include "PythonPlayer.h" #include "InstanceBase.h" void CPythonPlayer::SetAttackKeyState(bool isPress) { if (isPress) { CInstanceBase* pkInstMain = NEW_GetMainActorPtr(); if (pkInstMain) if (pkInstMain->IsFishingMode()) { NEW_Fishing(); return; } } m_isAtkKey=isPress; } void CPythonPlayer::NEW_SetSingleDIKKeyState(int eDIKKey, bool isPress) { if (NEW_CancelFishing()) return; switch (eDIKKey) { case DIK_UP: NEW_SetSingleDirKeyState(DIR_UP, isPress); break; case DIK_DOWN: NEW_SetSingleDirKeyState(DIR_DOWN, isPress); break; case DIK_LEFT: NEW_SetSingleDirKeyState(DIR_LEFT, isPress); break; case DIK_RIGHT: NEW_SetSingleDirKeyState(DIR_RIGHT, isPress); break; } } void CPythonPlayer::NEW_SetSingleDirKeyState(int eDirKey, bool isPress) { switch (eDirKey) { case DIR_UP: m_isUp=isPress; break; case DIR_DOWN: m_isDown=isPress; break; case DIR_LEFT: m_isLeft=isPress; break; case DIR_RIGHT: m_isRight=isPress; break; } m_isDirKey=(m_isUp || m_isDown || m_isLeft || m_isRight); NEW_SetMultiDirKeyState(m_isLeft, m_isRight, m_isUp, m_isDown); } void CPythonPlayer::NEW_SetMultiDirKeyState(bool isLeft, bool isRight, bool isUp, bool isDown) { if (!__CanMove()) return; bool isAny=(isLeft || isRight || isUp || isDown); if (isAny) { float fDirRot=0.0f; NEW_GetMultiKeyDirRotation(isLeft, isRight, isUp, isDown, &fDirRot); if (!NEW_MoveToDirection(fDirRot)) { Tracen("CPythonPlayer::NEW_SetMultiKeyState - NEW_Move -> ERROR"); return; } } else { NEW_Stop(); } } float CPythonPlayer::GetDegreeFromDirection(int iUD, int iLR) { switch(iUD) { case KEYBOARD_UD_UP: if (KEYBOARD_LR_LEFT == iLR) { return +45.0f; } else if (KEYBOARD_LR_RIGHT == iLR) { return -45.0f; } return 0.0f; break; case KEYBOARD_UD_DOWN: if (KEYBOARD_LR_LEFT == iLR) { return +135.0f; } else if (KEYBOARD_LR_RIGHT == iLR) { return -135.0f; } return +180.0f; break; case KEYBOARD_UD_NONE: if (KEYBOARD_LR_LEFT == iLR) { return +90.0f; } else if (KEYBOARD_LR_RIGHT == iLR) { return -90.0f; } break; } return 0.0f; }