add escape button (changed a61)
This commit is contained in:
@@ -500,6 +500,7 @@ namespace BrewMonster
|
||||
case int value when value == EC_MsgDef.MSG_PM_PLAYERGATHER: OnMsgPlayerGather(Msg); break;
|
||||
case int value when value == EC_MsgDef.MSG_HST_COOLTIMEDATA: OnMsgHstCoolTimeData(Msg); break;
|
||||
case int value when value == EC_MsgDef.MSG_HST_SETCOOLTIME: OnMsgHstSetCoolTime(Msg); break;
|
||||
case int value when value == EC_MsgDef.MSG_HST_PRESSCANCEL: OnMsgHstPressCancel(Msg); break;
|
||||
}
|
||||
|
||||
|
||||
@@ -6110,5 +6111,99 @@ namespace BrewMonster
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMsgHstPressCancel(ECMSG Msg)
|
||||
{
|
||||
CECHPWork pCurWork = null;
|
||||
pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_TRACEOBJECT);
|
||||
if (pCurWork is CECHPWorkTrace workTrace)
|
||||
{
|
||||
workTrace.PressCancel();
|
||||
return;
|
||||
}
|
||||
|
||||
pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_HACKOBJECT);
|
||||
if (pCurWork != null)
|
||||
{
|
||||
UnityGameSession.c2s_CmdCancelAction();
|
||||
return;
|
||||
}
|
||||
|
||||
pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_USEITEM);
|
||||
if (pCurWork != null)
|
||||
{
|
||||
UnityGameSession.c2s_CmdCancelAction();
|
||||
return;
|
||||
}
|
||||
|
||||
pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_SPELLOBJECT);
|
||||
if (pCurWork != null)
|
||||
{
|
||||
int iState = ((CECHPWorkSpell)pCurWork).GetState();
|
||||
if (iState == CECHPWorkSpell.Spell_magic_state.ST_INCANT)
|
||||
{
|
||||
UnityGameSession.c2s_CmdCancelAction();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_PICKUP);
|
||||
if (pCurWork != null)
|
||||
{
|
||||
if (((EC_HPWorkPick)pCurWork).IsGather())
|
||||
{
|
||||
UnityGameSession.c2s_CmdCancelAction();
|
||||
return;
|
||||
}
|
||||
}
|
||||
//todo: handle this part
|
||||
// pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_CONCENTRATE);
|
||||
// if (pCurWork !=null){
|
||||
// if (IsOperatingPet()){
|
||||
// UnityGameSession.c2s_CmdCancelAction();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_CONGREGATE);
|
||||
// if (pCurWork !=null){
|
||||
// if (IsCongregating()){
|
||||
// UnityGameSession.c2s_CmdCancelAction();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
if (m_bUsingTrashBox || DoingSessionPose())
|
||||
{
|
||||
UnityGameSession.c2s_CmdCancelAction();
|
||||
return;
|
||||
}
|
||||
|
||||
// Cancel current selection
|
||||
if (m_idSelTarget >0)
|
||||
{
|
||||
SelectTarget(0);
|
||||
return;
|
||||
}
|
||||
|
||||
// Some work have lower priority
|
||||
pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_MOVETOPOS);
|
||||
if (pCurWork != null)
|
||||
{
|
||||
((CECHPWorkMove)pCurWork).PressCancel();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Is doing session pose ?
|
||||
private bool DoingSessionPose()
|
||||
{
|
||||
var pCurWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_STAND);
|
||||
if (pCurWork !=null){
|
||||
if (((CECHPWorkStand)pCurWork).DoingSessionPose()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user