void WorkspacePanel::OnEdit(wxCommandEvent& event) { wxTreeItemId selId = mTreeCtrl->GetSelection(); if(isMaterial(selId)) { MaterialController* mc = getMaterial(selId); EditorManager* editorManager = EditorManager::getSingletonPtr(); Editor* editor = editorManager->findEditor(mc->getMaterial()->getName().c_str()); Editor* editorMat = editorManager->findEditor(Ogre::String(mc->getMaterial()->getName() + ".material").c_str()); if(editor != NULL) { editorManager->setActiveEditor(editor); } else if(editorMat != NULL) { editorManager->setActiveEditor(editorMat); } else { MaterialSerializer* ms = new MaterialSerializer(); ms->queueForExport(mc->getMaterial(), true); String script = ms->getQueuedAsString(); MaterialScriptEditor* materialEditor = new MaterialScriptEditor(editorManager->getEditorNotebook(), wxID_ANY); wxString name = mc->getMaterial()->getName().c_str(); name += wxT(".material"); materialEditor->setName(name); materialEditor->SetText(script); editorManager->openEditor(materialEditor); } } }
void WorkspacePanel::materialNameChanged(EventArgs& args) { MaterialEventArgs mea = dynamic_cast<MaterialEventArgs&>(args); MaterialController* mc = mea.getMaterialController(); wxTreeItemId materialId = mMaterialIdMap[mc]; mTreeCtrl->SetItemText(materialId, mc->getMaterial()->getName().c_str()); }
void TechniqueWizard::OnFinish(wxWizardEvent& event) { Project* project = mTechniquePage->getProject(); MaterialController* mc = mTechniquePage->getMaterial(); wxString name; mTechniquePage->getName(name); mc->createTechnique(name.c_str()); }
MaterialController* Project::getMaterialController(const String& name) { MaterialController* mc; MaterialControllerList::iterator it; for(it = mMaterialControllers.begin(); it != mMaterialControllers.end(); ++it) { mc = (*it); if(mc->getMaterial()->getName() == name) return mc; } return NULL; }
void WorkspacePanel::projectMaterialAdded(EventArgs& args) { ProjectEventArgs pea = dynamic_cast<ProjectEventArgs&>(args); Project* project = pea.getProject(); MaterialController* material = pea.getMaterial(); wxTreeItemId projectId = mProjectIdMap[project]; wxTreeItemId id = mTreeCtrl->AppendItem(projectId, material->getMaterial()->getName().c_str(), MATERIAL_IMAGE); mTreeCtrl->SelectItem(id, true); mMaterialIdMap[material] = id; subscribe(material); }
void PassPage::OnMaterialSelected(wxCommandEvent& event) { MaterialController* mc = getMaterial(); if(mc != NULL) populateTechniques(mc->getTechniqueControllers()); }
void MMoveCtrlServer::Run(int argc, _TCHAR** argv) { // init MaterialController MC; MC.PrintfInfo(); if (0 != MC.Init()) { cout<< "MCS Init failed." << endl; return; } LogS(10, LogType::Info, "MCS", "MCS Started."); //if(authsockcreated && intersockcreated) { // hook signals signal(SIGINT, _OnSignal); signal(SIGTERM, _OnSignal); signal(SIGABRT, _OnSignal); #ifdef _WIN32 signal(SIGBREAK, _OnSignal); #else signal(SIGHUP, _OnSignal); #endif // /* write pid file */ // FILE* fPid = fopen("logonserver.pid", "w"); // if(fPid) // { // uint32 pid; //#ifdef WIN32 // pid = GetCurrentProcessId(); //#else // pid = getpid(); //#endif // fprintf(fPid, "%u", (unsigned int)pid); // fclose(fPid); // } // uint32 loop_counter = 0; //ThreadPool.Gobble(); //sLog.outString("Success! Ready for connections"); while(g_Running.GetVal()) { //if(!(++loop_counter % 20)) // 20 seconds // CheckForDeadSockets(); //if(!(loop_counter % 300)) // 5mins // ThreadPool.IntegrityCheck(); //if(!(loop_counter % 5)) //{ // sInfoCore.TimeoutSockets(); // sSocketGarbageCollector.Update(); // CheckForDeadSockets(); // Flood Protection //UNIXTIME = time(NULL); //g_localTime = *localtime(&UNIXTIME); //} //PatchMgr::getSingleton().UpdateJobs(); //wprintf_s(L"MCS Running.\n"); MC.Check(); Sleep(200); } //sLog.outString("Shutting down..."); wprintf_s(L"Shutting down....\n"); signal(SIGINT, 0); signal(SIGTERM, 0); signal(SIGABRT, 0); #ifdef _WIN32 signal(SIGBREAK, 0); #else signal(SIGHUP, 0); #endif } }