Exemple #1
0
// ----------------------------------------------------------------------------
void Editor::initAfterDataDirKnown()
{
    m_rcs = RoadCrossSectionWndw::get();

    // fonts
    IGUISkin* skin = m_gui_env->getSkin();
    m_font = m_gui_env->getFont(m_data_loc + L"editor/font/font.xml");
    skin->setFont(m_font);

    // removing gui transparency
    for (s32 i = 0; i < EGDC_COUNT; ++i)
    {
        video::SColor col = skin->getColor((EGUI_DEFAULT_COLOR)i);
        col.setAlpha(255);
        skin->setColor((EGUI_DEFAULT_COLOR)i, col);
    }

    // free camera
    ICameraSceneNode* cam;
    cam = m_scene_manager->addCameraSceneNodeMaya();
    cam->setID(1);
    cam->setFarValue(20000.f);
    cam->setTarget(vector3df(0, 0, 0));
    cam->setInputReceiverEnabled(false);

    // viewport init
    ICameraSceneNode* norm_cam;
    norm_cam = m_scene_manager->addCameraSceneNode(0, vector3df(25, 50, 30),
        vector3df(5, 10, 6));
    norm_cam->setID(2);
    m_viewport = Viewport::get(norm_cam, &m_mouse, &m_keys);
    m_viewport->setFreeCamera(cam);
    m_indicator = m_viewport->getIndicator();
    m_scene_manager->setActiveCamera(norm_cam);

    m_msg_wndw = MsgWndw::get();

    m_toolbar = ToolBar::getToolBar();
    m_new_dialog_wndw = NewDialogWndw::get();
    m_new_dialog_wndw->hide();
    m_welcome_screen = WelcomeScreen::get();
} // initAfterDataDirKnown
Exemple #2
0
/* ----------------------------------------------------------------------------
set the font used by the GUI
*/
void DLL_EXPORT IrrGUISetColor( EGUI_DEFAULT_COLOR element, s32 red, s32 green, s32 blue, s32 alpha )
{
	IGUISkin* skin = guienv->getSkin();
	skin->setColor(element, video::SColor(alpha, red, green, blue ));
}
Exemple #3
0
//第一次初始化执行
void main_init_on_login(IrrlichtDevice* device)
{
    guienv = device->getGUIEnvironment();
    guiroot = guienv->addStaticText(L"",
                                    core::rect<s32>(0, 0, 10000, 10000));
    
    the_device = device;
    the_smgr = device->getSceneManager();
    the_driver = device->getVideoDriver();
    
	porting::signal_handler_init();
	porting::initializePaths();
    
	// Create user data directory
	fs::CreateDir(porting::path_user);

    // Initialize default settings
	set_default_settings(g_settings);
	
	// Initialize sockets
	sockets_init();
	atexit(sockets_cleanup);
    
    std::vector<std::string> filenames;
    filenames.push_back(porting::path_user +
                        DIR_DELIM + "settings.conf");
#if RUN_IN_PLACE
    // Try also from a lower level (to aid having the same configuration
    // for many RUN_IN_PLACE installs)
    filenames.push_back(porting::path_user +
                        DIR_DELIM + ".." + DIR_DELIM + ".." + DIR_DELIM + "settings.conf");
#endif
    
    for(u32 i=0; i<filenames.size(); i++)
    {
        bool r = g_settings->readConfigFile(filenames[i].c_str());
        if(r)
        {
            g_settings_configpath = filenames[i];
            break;
        }
    }
    
    // If no path found, use the first one (menu creates the file)
    if(g_settings_configpath == "")
        g_settings_configpath = filenames[0];
    
    // Initialize random seed
	srand(time(0));
	mysrand(time(0));
    
    my_event_receiver.init();
    g_timegetter = new IrrlichtTimeGetter(device);
	
	// Create game callback for menus
	g_gamecallback = new MainGameCallback(device);
    
    bool random_input = false;//g_settings->getBool("random_input");
    
//	if(random_input)
//		input = new RandomInputHandler();
//	else
    {
        touchscreengui = new TouchScreenGUI(device);
        input = touchscreengui;
    }

    
	scene::ISceneManager* smgr = device->getSceneManager();
    //这里保存下原有的skin。从游戏内返回的时候需要重新加载
    IGUISkin* skin = guienv->getSkin();
    //设定一下一些控件的大小
    skin->setSize(EGDS_SCROLLBAR_SIZE, device->getVideoDriver()->getScreenSize().Width * 0.06);
    skin->setSize(EGDS_CHECK_BOX_WIDTH, device->getVideoDriver()->getScreenSize().Width * 0.03);
    skin->setSize(EGDS_BUTTON_WIDTH, device->getVideoDriver()->getScreenSize().Width * 0.1);
    skin->setSize(EGDS_BUTTON_HEIGHT, device->getVideoDriver()->getScreenSize().Width * 0.03);
    skin->setSize(EGDS_WINDOW_BUTTON_WIDTH, device->getVideoDriver()->getScreenSize().Width * 0.05);
    font = skin->getFont();
	if(font)
		skin->setFont(font);
	else
		errorstream<<"WARNING: Font file was not found."
        " Using default font."<<std::endl;
	// If font was not found, this will get us one
    //	font = skin->getFont();
	assert(font);
    
	//skin->setColor(gui::EGDC_BUTTON_TEXT, video::SColor(255,0,0,0));
	skin->setColor(gui::EGDC_BUTTON_TEXT, video::SColor(255,255,255,255));
	//skin->setColor(gui::EGDC_3D_HIGH_LIGHT, video::SColor(0,0,0,0));
	//skin->setColor(gui::EGDC_3D_SHADOW, video::SColor(0,0,0,0));
    //	skin->setColor(gui::EGDC_3D_HIGH_LIGHT, video::SColor(255,0,0,0));
    skin->setColor(gui::EGDC_3D_HIGH_LIGHT, video::SColor(255,52,55,64));
	skin->setColor(gui::EGDC_3D_SHADOW, video::SColor(255,0,0,0));
    
    //	skin->setColor(gui::EGDC_HIGH_LIGHT, video::SColor(255,70,100,50));
    skin->setColor(gui::EGDC_HIGH_LIGHT, video::SColor(255,  161 , 164 , 179));
	skin->setColor(gui::EGDC_HIGH_LIGHT_TEXT, video::SColor(255,255,255,255));
    
#if (IRRLICHT_VERSION_MAJOR >= 1 && IRRLICHT_VERSION_MINOR >= 8) || IRRLICHT_VERSION_MAJOR >= 2
	// Irrlicht 1.8 input colours
	skin->setColor(gui::EGDC_EDITABLE, video::SColor(255,128,128,128));
	skin->setColor(gui::EGDC_FOCUSED_EDITABLE, video::SColor(255,96,134,49));
#endif

    
    if (!g_menucloudsmgr)
		g_menucloudsmgr = smgr->createNewSceneManager();
	if (!g_menuclouds)
		g_menuclouds = new Clouds(g_menucloudsmgr->getRootSceneNode(),
                                  g_menucloudsmgr, -1, rand(), 100);
	g_menuclouds->update(v2f(0, 0), video::SColor(255,200,200,255));
	scene::ICameraSceneNode* camera;
	camera = g_menucloudsmgr->addCameraSceneNode(0,
                                                 v3f(0,0,0), v3f(0, 60, 100));
	camera->setFarValue(10000);
    
    
    guienv->clear();
    guiroot = guienv->addStaticText(L"",
                                   core::rect<s32>(0, 0, 10000, 10000));
}