示例#1
0
    public void Setup(UILayout mylayout)
    {
        UILayout pgtable = (UILayout)mylayout.GetWidget("pagetable");
        var      dest    = new AtomicEngine.Vector <AtomicEngine.UIWidget>();

        pgtable.SearchWidgetClass("TBButton", dest);
        for (var ii = 0; ii < dest.Size; ii++)    // set bulk event handlers on all buttons -- boom!
        {
            dest[ii].SubscribeToEvent <WidgetEvent> (dest [ii], HandleTableEvent);
        }
    }
示例#2
0
    public override void Start()
    {
        AtomicNET.GetSubsystem <Player> ().LoadScene("Scenes/Scene.scene");

        var ui = GetSubsystem <UI> ();

        ui.AddFont("Textures/BrokenGlass.ttf", "BrokenGlass"); // add a gooder font
        ui.LoadSkin("Textures/desktop.tb.txt");                // load in the app skin

        ResourceCache cache    = GetSubsystem <ResourceCache> ();
        Graphics      graphics = GetSubsystem <Graphics> ();

        graphics.SetWindowTitle("PeriodicApp");
        Image icon = cache.GetResource <Image> ("Textures/AtomicLogo32.png");

        graphics.SetWindowIcon(icon);

        myuivew  = new UIView();
        mylayout = new UILayout();                  // make the host widget for all visible ui
        mylayout.SetId("UIPeriodicTable");          // tag it, like a big game scientist
        mylayout.SetRect(myuivew.GetRect());        //size it to fill the screen area
        mylayout.SetLayoutConfig("YAGAC");          //all-in-one setting
        mylayout.SetSkinBg("background_solid");     // make it look gooder
        mylayout.Load("Scenes/main_layout.ui.txt"); // load the main layout
        myuivew.AddChild(mylayout);                 // And make it show up.

        UITabContainer maintb    = (UITabContainer)mylayout.GetWidget("maintabs");
        UITabContainer acttb     = (UITabContainer)mylayout.GetWidget("primarytabs");
        UITabContainer semitb    = (UITabContainer)mylayout.GetWidget("moretabs");
        UITabContainer viewtb    = (UITabContainer)mylayout.GetWidget("supporttabs");
        UITabContainer supporttb = (UITabContainer)mylayout.GetWidget("atomictabs");

        supporttb.SetCurrentPage(0);
        viewtb.SetCurrentPage(0);
        semitb.SetCurrentPage(0);
        acttb.SetCurrentPage(0);
        maintb.SetCurrentPage(0);  // do this or else the tab contents look like crap!
        mylog = (UITextField)mylayout.GetWidget("LogText");
        UIWidget ea = mylayout.GetWidget("exitapp");

        var cota = new code_table();

        cota.Setup(mylayout);
        var cobg = new code_uibargraph();

        cobg.Setup(mylayout.GetWidget("pageuibargraph"));
        var cobu = new code_uibutton();

        cobu.Setup(mylayout.GetWidget("pageuibutton"));
        var cocb = new code_uicheckbox();

        cocb.Setup(mylayout.GetWidget("pageuicheckbox"));
        var cocl = new code_uiclicklabel();

        cocl.Setup(mylayout.GetWidget("pageuiclicklabel"));
        var coch = new code_uicolorwheel();

        coch.Setup(mylayout.GetWidget("pageuicolorwheel"));
        var cocw = new code_uicolorwidget();

        cocw.Setup(mylayout.GetWidget("pageuicolorwidget"));
        var coco = new code_uicontainer();

        coco.Setup(mylayout.GetWidget("pageuicontainer"));
        var coef = new code_uieditfield();

        coef.Setup(mylayout.GetWidget("pageuieditfield"));
        var cofw = new code_uifinderwindow();

        cofw.Setup(mylayout.GetWidget("pageuifinderwindow"));
        var cofd = new code_uifontdescription();

        cofd.Setup(mylayout.GetWidget("pageuifontdescription"));
        var coiw = new code_uiimagewidget();

        coiw.Setup(mylayout.GetWidget("pageuiimagewidget"));
        var cois = new code_uiinlineselect();

        cois.Setup(mylayout.GetWidget("pageuiinlineselect"));
        var colo = new code_uilayout();

        colo.Setup(mylayout.GetWidget("pageuilayout"));
        var colp = new code_uilayoutparams();

        colp.Setup(mylayout.GetWidget("pageuilayoutparams"));
        var comi = new code_uimenuitem();

        comi.Setup(mylayout.GetWidget("pageuimenuitem"));
        var comw = new code_uimenuwindow();

        comw.Setup(mylayout.GetWidget("pageuimenuwindow"));
        var come = new code_uimessagewindow();

        come.Setup(mylayout.GetWidget("pageuimessagewindow"));
        var copw = new code_uipromptwindow();

        copw.Setup(mylayout.GetWidget("pageuipromptwindow"));
        var copd = new code_uipulldownmenu();

        copd.Setup(mylayout.GetWidget("pageuipulldownmenu"));
        var corb = new code_uiradiobutton();

        corb.Setup(mylayout.GetWidget("pageuiradiobutton"));
        var cosv = new code_uisceneview();

        cosv.Setup(mylayout.GetWidget("pageuisceneview"));
        var cosb = new code_uiscrollbar();

        cosb.Setup(mylayout.GetWidget("pageuiscrollbar"));
        var cosc = new code_uiscrollcontainer();

        cosc.Setup(mylayout.GetWidget("pageuiscrollcontainer"));
        var cose = new code_uisection();

        cose.Setup(mylayout.GetWidget("pageuisection"));
        var cosd = new code_uiselectdropdown();

        cosd.Setup(mylayout.GetWidget("pageuiselectdropdown"));
        var cosi = new code_uiselectitem();

        cosi.Setup(mylayout.GetWidget("pageuiselectitem"));
        var cosl = new code_uiselectlist();

        cosl.Setup(mylayout.GetWidget("pageuiselectlist"));
        var cosp = new code_uiseparator();

        cosp.Setup(mylayout.GetWidget("pageuiseparator"));
        var cosk = new code_uiskinimage();

        cosk.Setup(mylayout.GetWidget("pageuiskinimage"));
        var cosa = new code_uislider();

        cosa.Setup(mylayout.GetWidget("pageuislider"));
        var cotc = new code_uitabcontainer();

        cotc.Setup(mylayout.GetWidget("pageuitabcontainer"));
        var cotf = new code_uitextfield();

        cotf.Setup(mylayout.GetWidget("pageuitextfield"));
        var cotw = new code_uitexturewidget();

        cotw.Setup(mylayout.GetWidget("pageuitexturewidget"));
        var cowd = new code_uiwidget();

        cowd.Setup(mylayout.GetWidget("pageuiwidget"));
        var cowi = new code_uiwindow();

        cowi.Setup(mylayout.GetWidget("pageuiwindow"));

        SubscribeToEvent <WidgetEvent> (ea, ev => {
            if (ev.Type == UI_EVENT_TYPE.UI_EVENT_TYPE_CLICK)
            {
                GetSubsystem <Engine> ().Exit();
            }
        });

        SubscribeToEvent <KeyDownEvent> (e => {
            if (e.Key == Constants.KEY_ESCAPE)
            {
                GetSubsystem <Engine> ().Exit();
            }
        });
    }