当前位置: 首页>>代码示例>>C++>>正文


C++ UIWindow::SetShow方法代码示例

本文整理汇总了C++中UIWindow::SetShow方法的典型用法代码示例。如果您正苦于以下问题:C++ UIWindow::SetShow方法的具体用法?C++ UIWindow::SetShow怎么用?C++ UIWindow::SetShow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UIWindow的用法示例。


在下文中一共展示了UIWindow::SetShow方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: UnSelectCreature

void CreatureManager::UnSelectCreature()
{
	if (m_nSelectNum >= 0)
	{
		int nLastSelect = m_nSelectNum;
		if (g_getRButtonState(App::sInstance().GetHGE()) == eRButtonState_Up)
		{
			Character* lastChar = GetCreature(nLastSelect);
			if(lastChar!=NULL && lastChar->GetCamp()==eCamp_Friend && !(lastChar->GetFinish()))
			{
				//返回至原位置
				eActionStage stage = lastChar->GetActionStage();
				if(stage == eActionStage_HandleStage)
				{
					lastChar->SetActionStage(eActionStage_MoveStage);
					lastChar->CancelMove();
					//关闭操作界面
					UIWindow* commandWindow = UISystem::sInstance().GetWindow(eWindowID_Command);
					if(commandWindow)
					{
						commandWindow->SetShow(false);
					}
				}
				//攻击阶段、技能阶段、使用物品阶段可以返回至操作阶段
				else if(stage == eActionStage_AttackStage || stage == eActionStage_GoodStage || stage == eActionStage_SkillStage)
				{
					lastChar->SetActionStage(eActionStage_HandleStage);
					//打开操作界面
					UIWindow* commandWindow = UISystem::sInstance().GetWindow(eWindowID_Command);
					if(commandWindow)
					{
						commandWindow->SetShow(true);
						commandWindow->SetBindChar(lastChar);
					}
				}
				//右键取消选中的友方,需要重置行动阶段,处于移动中的单位不可以当时取消
				else if(stage == eActionStage_MoveStage && lastChar->GetCharacterState()==eCharacterState_Stand)	
				{
					lastChar->SetActionStage(eActionStage_WaitStage);
					m_nSelectNum = -1;
				}
			}
			else
				m_nSelectNum = -1;
		}
	}
}
开发者ID:chen3286822,项目名称:chen-MagicTower,代码行数:47,代码来源:CreatureManager.cpp

示例2: SelectCreature

void CreatureManager::SelectCreature()
{
	//友方回合才可以进行选择操作,包括查看敌方行动范围
	if (m_eCampTurn == eCampTurn_Friend)
	{
		Block mouseBlock = App::sInstance().GetMouseBlock();
		Character* selectChar = NULL;
		if (mouseBlock.xpos!=-1 && mouseBlock.ypos!=-1)
		{
			selectChar = GetCreature(mouseBlock.xpos,mouseBlock.ypos);
			//选中单位
			if(selectChar!=NULL)
			{
				//需要拦截点击操作界面的消息
				if (g_getLButtonState(App::sInstance().GetHGE()) == eLButtonState_Up && !(UISystem::sInstance().GetWindow(eWindowID_Command)->IsOnControl()))
				{
					int nLastSelect = m_nSelectNum;
					if (selectChar->GetCamp() == eCamp_Friend )
					{
						//上次没有选择单位
						if(nLastSelect == -1)
						{
							//选中的未行动友方进入移动阶段
							if(!selectChar->GetFinish())
							{
								m_nSelectNum = selectChar->GetNum();
								selectChar->SetActionStage(eActionStage_MoveStage);
							}
						}
						//连续两次点击同一友方单位
						else if(nLastSelect == selectChar->GetNum())
						{
							if(!selectChar->GetFinish())
							{
								//跳过移动阶段,进入操作阶段
								selectChar->SetActionStage(eActionStage_HandleStage);
								//打开操作界面
								UIWindow* commandWindow = UISystem::sInstance().GetWindow(eWindowID_Command);
								if(commandWindow)
								{
									commandWindow->SetShow(true);
									commandWindow->SetBindChar(selectChar);
								}
							}
						}
						//其他情况
						else
						{
							Character* lastChar = GetCreature(nLastSelect);
							if(lastChar != NULL)
							{
								//上次点的是别的友方
								if(lastChar->GetCamp() == eCamp_Friend)
								{
									if(lastChar->GetFinish() && !selectChar->GetFinish())
									{
										m_nSelectNum = selectChar->GetNum();
										selectChar->SetActionStage(eActionStage_MoveStage);
									}
// 									//上次的友方返回至待命阶段
// 									lastChar->SetActionStage(eActionStage_WaitStage);
// 									selectChar->SetActionStage(eActionStage_MoveStage);
								}
								else if(lastChar->GetCamp() == eCamp_Enemy)
								{
									if(!selectChar->GetFinish())
									{
										m_nSelectNum = selectChar->GetNum();
										selectChar->SetActionStage(eActionStage_MoveStage);
									}
								}
							}
							else 
								//这里是错误分支,不可以运行到这里
								return;
						}
					}
					else if (selectChar->GetCamp() == eCamp_Enemy)
					{
						Character* lastChar = GetCreature(nLastSelect);
						if(lastChar!=NULL) 
						{
							if(lastChar->GetCamp()==eCamp_Friend)
							{
								if(lastChar->GetActionStage() == eActionStage_AttackStage)
								{
									//判断是否可以攻击到选中单位
									if(lastChar->CanHitTarget(selectChar))
									{
										lastChar->SetTarget(selectChar->GetNum());
										lastChar->GeginHit();
										m_nSelectNum = -1;
										return;
									}
								}
							}
							else if (lastChar->GetCamp() == eCamp_Enemy)
							{
								m_nSelectNum = selectChar->GetNum();
							}
//.........这里部分代码省略.........
开发者ID:chen3286822,项目名称:chen-MagicTower,代码行数:101,代码来源:CreatureManager.cpp


注:本文中的UIWindow::SetShow方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。