Esempio n. 1
0
void GTKWindow::DockCheck(void)
{
    if (!m_bIsDockWindow)
        return;

    gdk_threads_enter();
    Pos dock = GetFocusPos();
    gdk_threads_leave();

    if (dock.x == -1 && dock.y == -1)
        return;

    if (dock.x <= 0)
        dock.x = 1; 
    if (dock.y <= 0)
        dock.y = 1;

    dock.x += m_oDockPos.x;
    dock.y += m_oDockPos.y;

    if (dock.x != lastDockPos.x || dock.y != lastDockPos.y) 
    {
        if (dock.x > 0 && dock.y > 0) {
            gdk_threads_enter();
            gdk_window_move(mainWindow->window, dock.x, dock.y);
            gdk_window_raise(mainWindow->window);
            gdk_threads_leave();
            lastDockPos.x = dock.x;
            lastDockPos.y = dock.y;
        }
    } 
}
Esempio n. 2
0
bool Player::Action_in(Game_Manager* gm_)
{
	if(GetFocus()>0) //¹Ýµ¿ÀÌ ÁÙ¾îµë
	{
		UpDownFocus(-main_weapon->GetFocusCalm());
		if(GetFocus()<0)
			SetFocus(0);
	}
	{ //¿©±â¼­ ¿¡ÀÓÀ» ¸ÂÃá°÷À̳ª ±ÙÁ¢ÇÑ ÀûÀÇ Åõ¸íÀ» ŽÁöÇÑ´Ù.
		for(list<Unit*>::iterator it = gm_->unit_list.begin();it != gm_->unit_list.end();it++)
		{
			if(!(*it)->isPlayer())
				
				{
					if(distan_coord(GetPos(),(*it)->GetPos()) < 30.0f)		//±ÙÁ¢Å½Áö : 30  (³ªÁß¿¡ º¯¼ö·Î °íħ. ´É·ÂÀ» À§Çؼ­)				
					{
						(*it)->Insight(gm_, this, true);

					}
						
					if(distan_coord(GetFocusPos(),(*it)->GetPos()) < 20.0f ) //¿¡ÀÓÀ¸·Î ÀûÀ» ŽÁöÇÏ´Â ¹üÀ§ : 20. (³ªÁß¿¡ º¯¼ö·Î °íħ. ´É·ÂÀ» À§Çؼ­)
					{
						(*it)->Insight(gm_, this, false);
					}
			}
		}
	}

	for(list<Item*>::iterator it = gm_->item_list.begin();it != gm_->item_list.end();it++) //¾ÆÀÌÅÛÀ» Áݴ´Ù.
	{
		if((*it)->isValid() && (*it)->GetItemType() == IT_INSTANT)
		{
			if(collution((*it)->GetPos(), 10.0f))
			{
				(*it)->Effect(gm_, this);
				(*it)->Erase();
			}
		}
	}
	if(main_weapon) //ÇöÀç ÁÖ¾ÆÀÌÅÛÀÌ ÀÖ´Ù.
		main_weapon->Passive(gm_, this, (main_weapon == current_weapon));//¹ßÈֵǴ Æнúê È¿°ú		
	if(sub_weapon[0])//ÇöÀç º¸Á¶¾ÆÀÌÅÛÀÌ ÀÖ´Ù.
		sub_weapon[0]->Passive(gm_, this, (sub_weapon[0] == current_weapon));//¹ßÈֵǴ Æнúê È¿°ú		
	if(sub_weapon[1])//ÇöÀç º¸Á¶¾ÆÀÌÅÛÀÌ ÀÖ´Ù.
		sub_weapon[1]->Passive(gm_, this, (sub_weapon[1] == current_weapon));//¹ßÈֵǴ Æнúê È¿°ú		
	if(melee_weapon) //ÇöÀç ±ÙÁ¢¾ÆÀÌÅÛÀÌ ÀÖ´Ù.
		melee_weapon->Passive(gm_, this, (melee_weapon == current_weapon));//¹ßÈֵǴ Æнúê È¿°ú		

	for(vector<Ability*>::iterator it = abil_list.begin() ; it != abil_list.end() ; it++) //´É·ÂÀÌ »ç¿ëµÈ´Ù.
	{
		(*it)->Action(gm_, this);
	}
	
	if(temp_invisible_turn)
	{
		temp_invisible_turn--;
		if(temp_invisible_turn)
			SetInvisible(255);
		else
			SetInvisible(0);
	}

	//»óű׸®±â
	for(list<state_name>::iterator it = state_list.begin();it != state_list.end();)
	{
		if(it->turn>0)
		{
			it->turn--;
			it++;
		}
		else
		{
			list<state_name>::iterator temp = it;
			it++;
			state_list.erase(temp);
		}
	}




	if(speed_delay)
		speed_delay--;
	if(stamina_delay)  //½ºÅ׹̳ª°¡ ȸº¹ÇÏÁö¾Ê´Â µô·¹ÀÌ
		stamina_delay--;
	else  //½ºÅ׹̳ªÀÇ ÀÚ¿¬È¸º¹
	{
		stamina+=1.0f;
		if(stamina > max_stamina)
			stamina = max_stamina;

		if(remain_ability && !ability_select)
		{
			Ability::GetAbility(this, select_ability_num);
			StartAbility();
		}
	}

	CommonAction(gm_); //À¯´Ö °øÅëÀÇ Çൿµé
	return !isLive();
}