Example #1
0
//----------------------------------------------------------------------------
void ProjTree::_AddObject(Object *obj)
{
	Actor *actor = DynamicCast<Actor>(obj);
	Movable *move = DynamicCast<Movable>(obj);
	EffectModule *eftModule = DynamicCast<EffectModule>(obj);

	if (move)
	{
		Node *parNode = DynamicCast<Node>(move->GetParent());
		ProjTreeItem *item = GetItem(parNode);

		if (parNode && item)
		{
			ProjTreeLevel treeLevel = mTreeLevel;

			UIFrame *uiFrame = DynamicCast<UIFrame>(parNode);
			if (uiFrame)
			{
				if (treeLevel == PTL_GENERAL)
					treeLevel = PTL_CHILDREN;
			}

			item->AddChild(move, 0, treeLevel, mIsShowHelpNode);
			Expand(item->GetItemID());
		}
	}
	else if (eftModule)
	{
		EffectableController *eftableCtrl = DynamicCast<EffectableController>(
			eftModule->GetEffectableController());
		ProjTreeItem *item = GetItem(eftableCtrl);
		if (eftableCtrl && item)
		{
			item->AddChild(eftModule, 0, mTreeLevel, mIsShowHelpNode);
			Expand(item->GetItemID());
		}
	}
}
Example #2
0
//----------------------------------------------------------------------------
void ProjTree::_AddObject(Object *obj)
{
	Actor *actor = DynamicCast<Actor>(obj);
	Movable *move = DynamicCast<Movable>(obj);
	EffectModule *eftModule = DynamicCast<EffectModule>(obj);

	if (actor)
	{
		if (actor->IsDerived(CameraActor::TYPE))
		{
			mItemCameras->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else if (actor->IsDerived(Character::TYPE))
		{
			mItemCharacters->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else if (actor->IsDerived(EffectActor::TYPE))
		{
			mItemEffects->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else if (actor->IsDerived(TriggerActor::TYPE) &&
			!actor->IsDerived(AmbientRegionActor::TYPE))
		{
			mItemTriggers->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else if (actor->IsDerived(AmbientRegionActor::TYPE))
		{
			mItemAmbientRegions->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else if (actor->IsDerived(SkyActor::TYPE))
		{
			mItemSky->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else if (actor->IsDerived(TerrainActor::TYPE))
		{
			mItemTerrain->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
		else
		{
			mItemObjects->AddChild(obj, 0, mTreeLevel, mIsShowHelpNode);
		}
	}
	else if (move)
	{
		Node *parNode = DynamicCast<Node>(move->GetParent());
		ProjTreeItem *item = GetItem(parNode);

		if (parNode && item)
		{
			ProjTreeLevel treeLevel = mTreeLevel;

			UIFrame *uiFrame = DynamicCast<UIFrame>(parNode);
			if (uiFrame)
			{
				if (treeLevel == PTL_GENERAL)
					treeLevel = PTL_CHILDREN;
			}

			item->AddChild(move, 0, treeLevel, mIsShowHelpNode);
			Expand(item->GetItemID());
		}
	}
	else if (eftModule)
	{
		EffectableController *eftableCtrl = DynamicCast<EffectableController>(
			eftModule->GetEffectableController());
		ProjTreeItem *item = GetItem(eftableCtrl);
		if (eftableCtrl && item)
		{
			item->AddChild(eftModule, 0, mTreeLevel, mIsShowHelpNode);
			Expand(item->GetItemID());
		}
	}
}