Example #1
0
File: main.c Project: rokn/Helsys3
void Unload()
{
	BattleEntityDestroy(&entity);
	BattleEntityDestroy(&entity2);
	BattleEntityDestroy(&e3);
	BattleEnd();
}
Example #2
0
void Battlefield::Update(uint32 uiDiff)
{
    if(m_battleInProgress)
    {
        if(m_battleDurationTimer <= uiDiff)
        {
            BattleEnd();
            m_battleInProgress = false;
        }
        else
            m_battleDurationTimer -= uiDiff;
    }
    else
    {
        if(m_nextBattleTimer <= uiDiff)
        {
            BattleStart();
            m_battleInProgress = true;
        }
        else 
            m_nextBattleTimer -= uiDiff;

        if(m_preBattleTimer <= uiDiff && !m_invitationSent)
        {
            sBattlefieldMgr.ChangeState(this);

            sLog.outDebug("Inviting players in queue to battle");

            WorldPacket send_data(SMSG_BATTLEFIELD_MGR_ENTRY_INVITE,13);

            uint8 guidMask[] = { 5, 3, 7, 2, 6, 1, 0, 4 };
            uint8 guidBytes[] = { 1, 2, 5, 4, 7, 0, 3, 6 };

            send_data.WriteGuidMask(getGuid(),guidMask,8);
            send_data.FlushBits();

            send_data.WriteGuidBytes(getGuid(),guidBytes,2,0);
            send_data << uint32(time(NULL) + 20); // unk1
            send_data.WriteGuidBytes(getGuid(),guidBytes,6,2);

            BattlefieldQueue * queue = sBattlefieldMgr.GetQueueForBattlefield(getGuid());
            for(PlayerQueue::iterator itr = queue->m_inQueue.begin(); itr != queue->m_inQueue.end(); ++itr)
            {
                (*itr)->GetSession()->SendPacket(&send_data);
            }
            m_invitationSent = true;
        }
        else
            m_preBattleTimer -= uiDiff;
    }

    OnUpdate(uiDiff);
}
Example #3
0
//===============================================
//シーンの描画
//===============================================
void CSceneManager::DrawScene(eSceneType type)
{
	m_CurrentScene = type;
	
	switch(m_CurrentScene)
	{
		/*初期化画面*/
		case SCENE_INIT:
		{
			Initialize();
			break;
		}
		
		/*AI待ち画面*/
		case SCENE_WAIT:
		{
			obj[SCENE_WAIT].DoAllTasks();
			WaitAI();
			break;
		}
		
		case SCENE_CHOOSESPECIAL:
		{
			obj[SCENE_CHOOSESPECIAL].DoAllTasks();
			ChooseSpecial();
			break;
		}
		
		case SCENE_CHOOSECHARA:
		{
			obj[SCENE_CHOOSECHARA].DoAllTasks();
			ChooseChara();
			break;
		}
		
		/*メイン画面*/
		case SCENE_MAIN:
		{
			obj[SCENE_MAIN].DoAllTasks();
			GameMain();
			break;
		}
		
		/*戦闘画面*/
		case SCENE_BATTLE:
		{
			obj[SCENE_BATTLE].DoAllTasks();
			Battle();
			break;
		}
		
		/*戦闘終了画面*/
		case SCENE_BATTLEEND:
		{
			BattleEnd();
			break;
		}
		
		/*終了処理画面*/
		case SCENE_FINAL:
		{
			Finalize();
			break;
		}
	}
}