Ejemplo n.º 1
0
//-------------------------------------------------------------------------------------
void ClientObject::gameTick()
{
    if(pServerChannel()->pEndPoint())
    {
        pServerChannel()->processPackets(NULL);
    }
    else
    {
        if(connectedGateway_)
        {
            EventData_ServerCloased eventdata;
            eventHandler_.fire(&eventdata);
            connectedGateway_ = false;
            canReset_ = true;
            state_ = C_STATE_INIT;

            DEBUG_MSG(fmt::format("ClientObject({})::tickSend: serverCloased! name({})!\n",
                                  this->appID(), this->name()));
        }
    }

    if(locktime() > 0 && timestamp() < locktime())
    {
        return;
    }

    switch(state_)
    {
    case C_STATE_INIT:

        state_ = C_STATE_PLAY;

        if(!initCreate())
            return;

        break;
    case C_STATE_CREATE:

        state_ = C_STATE_PLAY;

        if(!createAccount())
            return;

        break;
    case C_STATE_LOGIN:

        state_ = C_STATE_PLAY;

        if(!login())
            return;

        break;
    case C_STATE_LOGIN_GATEWAY_CREATE:

        state_ = C_STATE_PLAY;

        if(!initLoginGateWay())
            return;

        break;
    case C_STATE_LOGIN_GATEWAY:

        state_ = C_STATE_PLAY;

        if(!loginGateWay())
            return;

        break;
    case C_STATE_PLAY:
        break;
    default:
        KBE_ASSERT(false);
        break;
    };

    tickSend();
}
Ejemplo n.º 2
0
//-------------------------------------------------------------------------------------
void ClientObject::gameTick()
{
	if(pServerChannel()->endpoint())
	{
		pServerChannel()->processPackets(NULL);
	}
	else
	{
		if(connectedGateway_)
		{
			EventData_ServerCloased eventdata;
			eventHandler_.fire(&eventdata);
			connectedGateway_ = false;
			canReset_ = true;
		}
	}

	switch(state_)
	{
		case C_STATE_INIT:

			state_ = C_STATE_PLAY;

			if(!initCreate())
				return;

			break;
		case C_STATE_CREATE:

			state_ = C_STATE_PLAY;

			if(!createAccount())
				return;

			break;
		case C_STATE_LOGIN:

			state_ = C_STATE_PLAY;

			if(!login())
				return;

			break;
		case C_STATE_LOGIN_GATEWAY_CREATE:

			state_ = C_STATE_PLAY;

			if(!initLoginGateWay())
				return;

			break;
		case C_STATE_LOGIN_GATEWAY:

			state_ = C_STATE_PLAY;

			if(!loginGateWay())
				return;

			break;
		case C_STATE_PLAY:
			break;
		default:
			KBE_ASSERT(false);
			break;
	};

	tickSend();
}