Esempio n. 1
0
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);
		}
	}
}
Esempio n. 2
0
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());
}
Esempio n. 4
0
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;
}
Esempio n. 5
0
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);
}
Esempio n. 6
0
void PassPage::OnMaterialSelected(wxCommandEvent& event)
{
	MaterialController* mc = getMaterial();
	if(mc != NULL)
		populateTechniques(mc->getTechniqueControllers());
}
Esempio n. 7
0
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
	}

}