//---------------------------------------------------------------------------- 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()); } } }
//---------------------------------------------------------------------------- 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()); } } }