void CPortraitsDlg::FillLists() { m_lbLarge.ResetContent(); m_bwLarge.SetBitmap(NULL); GetResourceList(m_lbLarge,'M',110,170); GetPortraitList(m_lbLarge,'L',110,170); m_lbSmall.ResetContent(); m_bwSmall.SetBitmap(NULL); GetResourceList(m_lbSmall,'S',38,60); GetPortraitList(m_lbSmall,'S',38,60); }
void CEditAnimationDialog::OnSelectFile(wxCommandEvent& event) { if (event.GetId() == ID_BUTTON_SELECTANIDIR) { m_pAnimitionListBox->Clear(); GetResourceList(CResourcePathManager::GetInstance()->GetResourcePath(CResourcePathManager::eRPT_Animation)); } else if (event.GetId() == ID_BUTTON_SELECTSKEDIR) { m_pSkeSelectButton->SetLabel(CLanguageManager::GetInstance()->GetText(eL_SelectAll)); SetAllSkeletonAndBoneVisible(); m_pSkeletonListBox->Clear(); m_pSkeletonChoice->Clear(); GetResourceList(CResourcePathManager::GetInstance()->GetResourcePath(CResourcePathManager::eRPT_Skeleton)); } else if (event.GetId() == ID_BUTTON_SELECTSKIDIR) { m_pSkinListBox->Clear(); GetResourceList(CResourcePathManager::GetInstance()->GetResourcePath(CResourcePathManager::eRPT_Skin)); } }
void FRenderResource::InitResource() { check(IsInRenderingThread()); if(!bInitialized) { ResourceLink = TLinkedList<FRenderResource*>(this); ResourceLink.Link(GetResourceList()); if(GIsRHIInitialized) { InitDynamicRHI(); InitRHI(); } FPlatformMisc::MemoryBarrier(); // there are some multithreaded reads of bInitialized bInitialized = true; } }
/******************** HasResourceAvailable *************************/ bool UStorageMap::HasResourceAvailable(TArray<FString> ResourceIds) { TArray<UResource*> ResourceList = GetResourceList(); for (auto& Resource : ResourceList) { if (Resource) { if (ResourceIds.Contains(Resource->ResourceId)) { ResourceIds.RemoveSingle(Resource->ResourceId); if (ResourceIds.Num() == 0) { return true; } } } } return (ResourceIds.Num() <= 0); }
CEditAnimationDialog::CEditAnimationDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos, const wxSize &size, long style, const wxString &name) : CEditDialogBase(parent, id, title, pos, size, style, name) , m_bAnimation(false) , m_bSkeleton(false) , m_bSkin(false) , m_bIsLoop(false) , m_bIsVisibleBone(false) , m_bIsVisibleCoordinate(false) , m_bIsSelectAll(false) , m_bISLanguageSwitch(false) { m_Manager.SetManagedWindow(this); wxToolTip::Enable(true); wxSize ButtonSize(60,0); wxSize DefaultButtonSize(DEFAULT_PGBUTTONWIDTH, DEFAULT_PGBUTTONWIDTH); wxSize client_size = GetClientSize(); wxBoxSizer* pModelTreeSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pTopRightSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pTopRightTopSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pTopRightCenterSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pTopRightBottomSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pLogPanelSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pTimeBarPanelSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pTimeBarPanelTopSizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* pTopRightTopBottomSizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* pTopRightCenterBottomSizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* pTopRightBottomBottomSizer = new wxBoxSizer(wxHORIZONTAL); wxPanel* pLogPanel = new wxPanel(this); wxPanel* pTimeBarPanel = new wxPanel(this); wxPanel* pTopRightPanel = new wxPanel(this); wxPanel* pModelTreePanel = new wxPanel(this); wxTextCtrl* pTextCtrl = new wxTextCtrl(pLogPanel, wxID_ANY, _T(""), wxPoint(0,0), client_size, wxNO_BORDER | wxTE_MULTILINE); wxButton* pButton = new wxButton(pLogPanel, ID_BUTTON_CLEANLOG, _T("X"), wxDefaultPosition, DefaultButtonSize); wxImageList *pFileIconImages = new wxImageList(15, 15, true); wxIcon fileIcons[eTCIT_Count]; wxSize iconSize(15, 15); fileIcons[eTCIT_File] = wxArtProvider::GetIcon(wxART_NORMAL_FILE, wxART_LIST, iconSize); fileIcons[eTCIT_FileSelected] = wxArtProvider::GetIcon(wxART_FILE_OPEN, wxART_LIST, iconSize); fileIcons[eTCIT_Folder] = wxArtProvider::GetIcon(wxART_FOLDER, wxART_LIST, iconSize); fileIcons[eTCIT_FolderSelected] = wxArtProvider::GetIcon(wxART_FOLDER, wxART_LIST, iconSize); fileIcons[eTCIT_FolderOpened] = wxArtProvider::GetIcon(wxART_FOLDER_OPEN, wxART_LIST, iconSize); for (size_t i = 0; i < eTCIT_Count; ++i) { pFileIconImages->Add(fileIcons[i]); } m_pModelTreeMenu = new wxMenu; m_pModelTree = new wxTreeCtrl(pModelTreePanel, ID_TREECTRL_MODELS, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE | wxTR_NO_LINES | wxTR_EDIT_LABELS | wxSUNKEN_BORDER); m_pTimeBar = new CTimeBarFrame(pTimeBarPanel); m_pAnimitionListBox = new wxListBox(pTopRightPanel, ID_LISTBOX_ANIMATION); m_pSkeletonListBox = new wxListBox(pTopRightPanel, ID_LISTBOX_SKELETON, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_MULTIPLE); m_pSkinListBox = new wxListBox(pTopRightPanel, ID_LISTBOX_SKIN); m_pSkeletonChoice = new wxChoice(pTopRightPanel, ID_CHOICE_SKELETON); m_pButtonPlay = new wxButton(pTimeBarPanel, ID_BUTTON_PLAY, _T("|>"), wxDefaultPosition, DefaultButtonSize); m_pButtonPause = new wxButton(pTimeBarPanel, ID_BUTTON_PAUSE, _T("||"), wxDefaultPosition, DefaultButtonSize); m_pButtonStop = new wxButton(pTimeBarPanel, ID_BUTTON_STOP, _T("[]"), wxDefaultPosition, DefaultButtonSize); m_pLoopCheckBox = new wxCheckBox(pTimeBarPanel, ID_CHECKBOX_LOOP, _("Loop")); m_pButtonSkin = new wxButton(pTopRightPanel, ID_BUTTON_SELECTSKIDIR, _T("Skin")); m_pButtonAnimaton = new wxButton(pTopRightPanel, ID_BUTTON_SELECTANIDIR, _T("Animation")); m_pSKECheckBox = new wxCheckBox(pTopRightPanel, ID_CHECKBOX_SKELETONVISIBLE, _T("SKE")); m_pSKEBCheckBox = new wxCheckBox(pTopRightPanel, ID_CHECKBOX_SKELETONBONEVISIBLE, _T("SKEB")); m_pSkeSelectButton = new wxButton(pTopRightPanel, ID_BUTTON_SELECT, _T("SelectAll"), wxDefaultPosition, ButtonSize); m_pButtonSkeleton = new wxButton(pTopRightPanel, ID_BUTTON_SELECTSKEDIR, _T("Skeleton"), wxDefaultPosition, ButtonSize); m_pSkeletonCheckBox = new wxCheckBox(pTopRightPanel, wxID_ANY, _T("")); m_pSkinCheckBox = new wxCheckBox(pTopRightPanel, wxID_ANY, _T("")); m_pAnimationCheckBox = new wxCheckBox(pTopRightPanel, wxID_ANY, _T("")); m_pAnimationGLWindow = new CAnimationGLWindow(this, static_cast<CEngineEditor*>(wxApp::GetInstance())->GetGLContext()); static_cast<CEngineEditor*>(wxApp::GetInstance())->GetMainFrame()->RegisterUpdateWindow(m_pAnimationGLWindow); m_pAnimationCheckBox->Disable(); m_pSkeletonCheckBox->Disable(); m_pSkinCheckBox->Disable(); pLogPanel->SetSizer(pLogPanelSizer); pTimeBarPanel->SetSizer(pTimeBarPanelSizer); pTopRightPanel->SetSizer(pTopRightSizer); pModelTreePanel->SetSizer(pModelTreeSizer); m_pButtonPlay->SetToolTip(_T("Play")); m_pButtonPause->SetToolTip(_T("Pause")); m_pButtonStop->SetToolTip(_T("Stop")); pButton->SetToolTip(_T("clean log")); m_pModelTree->AssignImageList(pFileIconImages); m_pModelTree->AddRoot(_T("Models"), eTCIT_Folder); m_pModelTreeMenu->Append(ID_MENU_CREATE, _T("Create")); m_pModelTreeMenu->Append(ID_MENU_COPY, _T("Copy")); m_pModelTreeMenu->Append(ID_MENU_PAST, _T("Paste")); m_pModelTreeMenu->Append(ID_MENU_DELETE, _T("Delete")); m_pTimeBar->SetFrameWindow(this); pTextCtrl->SetEditable(false); wxLog::DisableTimestamp(); m_pLogOld = wxLog::SetActiveTarget(new wxLogTextCtrl(pTextCtrl)); m_pLog = pTextCtrl; pModelTreeSizer->Add(m_pModelTree, 1, wxGROW|wxALL, 0); pLogPanelSizer->Add(pButton, 0, wxALIGN_RIGHT|wxALL, 0); pLogPanelSizer->Add(new wxStaticLine(pLogPanel, wxLI_HORIZONTAL), 0, wxGROW|wxALL, 0); pLogPanelSizer->Add(m_pLog, 1, wxGROW|wxALL, 0); pTimeBarPanelSizer->Add(pTimeBarPanelTopSizer, 0, wxGROW|wxALL, 0); pTimeBarPanelSizer->Add(m_pTimeBar, 1, wxGROW|wxALL, 0); pTimeBarPanelTopSizer->Add(m_pButtonPlay, 0, wxALIGN_RIGHT|wxALL, 0); pTimeBarPanelTopSizer->Add(m_pButtonPause, 0, wxALIGN_RIGHT|wxALL, 0); pTimeBarPanelTopSizer->Add(m_pButtonStop, 0, wxALIGN_RIGHT|wxALL, 0); pTimeBarPanelTopSizer->Add(m_pLoopCheckBox, 0, wxALIGN_RIGHT|wxALL, 0); pTopRightSizer->Add(pTopRightTopSizer, 1, wxGROW|wxALL, 5); pTopRightSizer->Add(new wxStaticLine(pTopRightPanel, wxLI_HORIZONTAL), 0, wxGROW|wxALL, 5); pTopRightSizer->Add(pTopRightCenterSizer, 1, wxGROW|wxALL, 5); pTopRightSizer->Add(new wxStaticLine(pTopRightPanel, wxLI_HORIZONTAL), 0, wxGROW|wxALL, 5); pTopRightSizer->Add(pTopRightBottomSizer, 1, wxGROW|wxALL, 5); pTopRightTopSizer->Add(m_pAnimitionListBox, 1, wxGROW|wxALL, 0); pTopRightTopSizer->Add(pTopRightTopBottomSizer, 0, wxGROW|wxALL, 0); pTopRightCenterSizer->Add(m_pSkeletonChoice, 0, wxGROW|wxALL, 0); pTopRightCenterSizer->Add(m_pSkeletonListBox, 1, wxGROW|wxALL, 1); pTopRightCenterSizer->Add(pTopRightCenterBottomSizer, 0, wxGROW|wxALL, 0); pTopRightBottomSizer->Add(m_pSkinListBox, 1, wxGROW|wxALL, 0); pTopRightBottomSizer->Add(pTopRightBottomBottomSizer, 0, wxGROW|wxALL, 0); pTopRightTopBottomSizer->AddStretchSpacer(); pTopRightTopBottomSizer->Add(m_pAnimationCheckBox, 0, wxGROW|wxALL, 5); pTopRightTopBottomSizer->Add(m_pButtonAnimaton, 0, wxGROW|wxALL, 0); pTopRightTopBottomSizer->AddStretchSpacer(); pTopRightCenterBottomSizer->Add(m_pSKECheckBox, 0, wxGROW|wxALL, 0); pTopRightCenterBottomSizer->Add(m_pSKEBCheckBox, 0, wxGROW|wxALL, 0); pTopRightCenterBottomSizer->AddStretchSpacer(); pTopRightCenterBottomSizer->Add(m_pSkeletonCheckBox, 0, wxGROW|wxALL, 5); pTopRightCenterBottomSizer->Add(m_pButtonSkeleton, 0, wxGROW|wxALL, 0); pTopRightCenterBottomSizer->Add(m_pSkeSelectButton, 0, wxGROW|wxALL, 0); pTopRightCenterBottomSizer->AddStretchSpacer(); pTopRightBottomBottomSizer->AddStretchSpacer(); pTopRightBottomBottomSizer->Add(m_pSkinCheckBox, 0, wxGROW|wxALL, 5); pTopRightBottomBottomSizer->Add(m_pButtonSkin, 0, wxGROW|wxALL, 0); pTopRightBottomBottomSizer->AddStretchSpacer(); m_Manager.AddPane(pModelTreePanel, wxAuiPaneInfo().MinSize(260,100).CenterPane(). Name(wxT("Model")). Left()); m_Manager.AddPane(m_pAnimationGLWindow, wxAuiPaneInfo().CenterPane(). Name(wxT("GLWindow")). Center()); m_Manager.AddPane(pTopRightPanel, wxAuiPaneInfo().MinSize(260,0).CenterPane(). Name(wxT("Right")). Right()); m_Manager.AddPane(pTimeBarPanel, wxAuiPaneInfo().MinSize(100,200).CenterPane(). Name(wxT("Timebar")). Bottom()); m_Manager.AddPane(pLogPanel, wxAuiPaneInfo().CenterPane(). Name(wxT("Log")). Bottom()); GetResourceList(CResourcePathManager::GetInstance()->GetResourcePath(CResourcePathManager::eRPT_Animation)); GetResourceList(CResourcePathManager::GetInstance()->GetResourcePath(CResourcePathManager::eRPT_Skeleton)); GetResourceList(CResourcePathManager::GetInstance()->GetResourcePath(CResourcePathManager::eRPT_Skin)); wxLogMessage(wxT("This is edit log.")); m_Manager.Update(); }