本文整理汇总了C++中TSharedPtr::ClearChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ TSharedPtr::ClearChildren方法的具体用法?C++ TSharedPtr::ClearChildren怎么用?C++ TSharedPtr::ClearChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TSharedPtr
的用法示例。
在下文中一共展示了TSharedPtr::ClearChildren方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update
void SAnimMontageSectionsPanel::Update()
{
int32 ColorIdx=0;
FLinearColor Colors[] = { FLinearColor(0.9f, 0.9f, 0.9f, 0.9f), FLinearColor(0.5f, 0.5f, 0.5f) };
FLinearColor NodeColor = FLinearColor(0.f, 0.5f, 0.0f, 0.5f);
FLinearColor SelectedColor = FLinearColor(1.0f,0.65,0.0f);
FLinearColor LoopColor = FLinearColor(0.0f, 0.25f, 0.25f, 0.5f);
if ( Montage != NULL )
{
TSharedPtr<STrack> Track;
TSharedPtr<SVerticalBox> MontageSlots;
PanelArea->SetContent(
SAssignNew( MontageSlots, SVerticalBox )
);
SectionMap.Empty();
TopSelectionSet.Empty();
SelectionSet.Empty();
MontageSlots->ClearChildren();
SMontageEditor * Editor = MontageEditor.Pin().Get();
TArray<bool> Used;
Used.AddZeroed(Montage->CompositeSections.Num());
int RowIdx=0;
/** Create Buttons for reseting/creating default section ordering */
MontageSlots->AddSlot()
.AutoHeight()
.VAlign(VAlign_Center)
.Padding( FMargin(0.5f, 0.5f) )
[
SNew(SHorizontalBox)
+ SHorizontalBox::Slot()
.AutoWidth()
.VAlign(VAlign_Center)
[
SNew(SButton)
.IsEnabled(!bChildAnimMontage)
.Visibility( EVisibility::Visible )
.Text( LOCTEXT("CreateDefault", "Create Default") )
.ToolTipText( LOCTEXT("CreateDefaultToolTip", "Reconstructs section ordering based on start time") )
.OnClicked(this, &SAnimMontageSectionsPanel::MakeDefaultSequence)
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
]
+ SHorizontalBox::Slot()
.AutoWidth()
.VAlign(VAlign_Center)
[
SNew(SButton)
.IsEnabled(!bChildAnimMontage)
.Visibility( EVisibility::Visible )
.Text( LOCTEXT("Clear", "Clear") )
.ToolTipText( LOCTEXT("ClearToolTip", "Resets section orderings") )
.OnClicked(this, &SAnimMontageSectionsPanel::ClearSequence)
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
]
];
/** Create top track of section nodes */
MontageSlots->AddSlot()
.AutoHeight()
.VAlign(VAlign_Center)
.Padding( FMargin(0.5f, 20.0f) )
[
SAssignNew(Track, STrack)
.IsEnabled(!bChildAnimMontage)
.ViewInputMin(0)
.ViewInputMax(100)
.TrackColor( FLinearColor(0.0f, 0.0f, 0.0f, 0.0f))
.TrackMaxValue(100)
];
for(int32 SectionIdx=0; SectionIdx < Montage->CompositeSections.Num(); SectionIdx++)
{
const float NodeLength = 100.f / static_cast<float>(Montage->CompositeSections.Num()+1);
const float NodeSpacing = 100.f / static_cast<float>(Montage->CompositeSections.Num());
Track->AddTrackNode(
SNew(STrackNode)
.ViewInputMax(100)
.ViewInputMin(0)
.NodeColor(NodeColor)
.SelectedNodeColor(SelectedColor)
.DataLength(NodeLength)
.DataStartPos(NodeSpacing * SectionIdx)
.NodeName(Montage->CompositeSections[SectionIdx].SectionName.ToString())
.NodeSelectionSet(&TopSelectionSet)
.OnTrackNodeClicked( this, &SAnimMontageSectionsPanel::TopSectionClicked, SectionIdx)
.AllowDrag(false)
);
}
//.........这里部分代码省略.........