Inheritance: MonoBehaviour
Esempio n. 1
0
 void Start()
 {
     camera        = GameObject.Find("Main Camera Right");
     captionEl     = GetComponent <TextMesh> ();
     analytics     = GameObject.Find("Analytics").GetComponent <Analytics>();
     panelRenderer = GameObject.Find("Root").GetComponent <PanelRenderer> ();
 }
Esempio n. 2
0
 void Start()
 {
     camera = GameObject.Find ("Main Camera Right");
     captionEl = GetComponent<TextMesh> ();
     analytics = GameObject.Find ("Analytics").GetComponent<Analytics>();
     panelRenderer = GameObject.Find ("Root").GetComponent<PanelRenderer> ();
 }
Esempio n. 3
0
        // Start is called before the first frame update
        public void RunModule(JSFileObject root, PanelRenderer renderer = null, string[] modulesToReload = null)
        {
            Assert.IsNotNull(root, "Root can't be null'");
            Assert.IsFalse(string.IsNullOrWhiteSpace(root.Code), "Code inside root js file can't be null or empty'");
            Assert.IsFalse(string.IsNullOrWhiteSpace(root.Path), "Root path is null. Try to reimport the root file");

            try
            {
                Globals.Set(renderer);

                loader.LoadModule(root, modulesToReload);
            }
            catch (JavaScriptScriptException e)
            {
                e.Error.PrintJavaScriptError();
            }
            catch (JavaScriptFatalException e)
            {
                Debug.LogError(e);
            }
            catch (Exception e)
            {
                Debug.LogError(e);
            }
        }
Esempio n. 4
0
 private void Start()
 {
     panelRenderer        = GetComponent <PanelRenderer>();
     amountCollected      = panelRenderer.visualTree.Query <Label>(name: "AmountCollected");
     amountCollected.text = AmountCollectedText;
     timerLabel           = panelRenderer.visualTree.Query <Label>(name: "Timer");
     GameplayManager.Instance.PlayerData.AmountCollectedChanged += OnAmountCollectedChanged;
     Logger.Log($"{GameplayManager.Instance.GameplaySettings.Difficulty}");
 }
Esempio n. 5
0
    void Start()
    {
        FAVORITES_FILE = Application.persistentDataPath + Path.DirectorySeparatorChar + "Favorites";

        camera = GameObject.Find ("Main Camera Right");
        captionEl = GetComponent<TextMesh> ();
        analytics = GameObject.Find ("Analytics").GetComponent<Analytics>();
        panelRenderer = GameObject.Find ("Root").GetComponent<PanelRenderer> ();
    }
Esempio n. 6
0
    void Start()
    {
        FAVORITES_FILE = Application.persistentDataPath + Path.DirectorySeparatorChar + "Favorites";

        camera        = GameObject.Find("Main Camera Right");
        captionEl     = GetComponent <TextMesh> ();
        analytics     = GameObject.Find("Analytics").GetComponent <Analytics>();
        panelRenderer = GameObject.Find("Root").GetComponent <PanelRenderer> ();
    }
Esempio n. 7
0
            public PanelUpdater(Action <IRenderContext> renderAction,
                                OpenGLRenderKit kit, PanelRenderer renderer,
                                TaskScheduler taskScheduler)
            {
                _renderAction = renderAction;
                _kit          = kit;
                _renderer     = renderer;

                Task.Factory.StartNew(GameOverload, CancellationToken.None,
                                      TaskCreationOptions.LongRunning, taskScheduler);
            }
Esempio n. 8
0
        public OpenGLPanel(IVisualElement view,
                           IStyleContext styleContext)
            : base(view, styleContext)
        {
            var bldr    = new GLWindowBuilder("OpenGLSurface");
            var boot    = new GLBootStrapper(bldr);
            var context = boot.GetContext(this);

            var fontProvider = GLBootStrapper.GetFontProvider(context);
            var kit          = new OpenGLRenderKit(fontProvider, context, styleContext, new GLImageProvider());

            var renderer = new PanelRenderer(this, context);
            var _        = new PanelUpdater(Render, kit, renderer, boot.Scheduler);
        }
Esempio n. 9
0
        public static void Set(PanelRenderer renderer = null)
        {
            Native.JsGetGlobalObject(out var globalObject);
            globalObject.SetProperty(JavaScriptPropertyId.FromString("global"), globalObject, true);

            SetConsoleLogObject(globalObject);

            if (renderer != null)
            {
                globalObject.SetProperty(
                    JavaScriptPropertyId.FromString("__HOSTCONFIG__"),
                    HostConfig.Create(),
                    true);

                globalObject.SetProperty(
                    JavaScriptPropertyId.FromString("__CONTAINER__"),
                    renderer.visualTree.ToJavaScriptValue(),
                    true);
            }

            var customFunctions = AppDomain.CurrentDomain.GetAssemblies()
                                  .Where(e => e.GetName().Name == "ReactUIElements" ||
                                         e.GetReferencedAssemblies().Any(a => a.Name == "ReactUIElements"))
                                  .SelectMany(e => e.DefinedTypes)
                                  .SelectMany(e => e.GetMethods())
                                  .Where(e => e.GetCustomAttribute <GlobalFunctionAttribute>() != null)
                                  .Select(e => new
            {
                attribute = e.GetCustomAttribute <GlobalFunctionAttribute>(),
                method    = e
            })
                                  .ToList();

            foreach (var customFunction in customFunctions)
            {
                if (!ValidateFunctionMethod(customFunction.method))
                {
                    Debug.Log("Custom global method must have the following signature static JavaScriptValue Function(JavaScriptValue callee, bool isconstructcall, JavaScriptValue[] arguments, ushort argumentcount, IntPtr callbackdata)");
                    continue;
                }

                var function = JavaScriptValue.CreateFunction(customFunction.attribute.Name, (JavaScriptNativeFunction)customFunction.method.CreateDelegate(typeof(JavaScriptNativeFunction)));

                globalObject.SetProperty(
                    JavaScriptPropertyId.FromString(customFunction.attribute.Name),
                    function,
                    true);
            }
        }
Esempio n. 10
0
    private void Awake()
    {
        // Panelrenderer cachen und Event binden
        _UIRenderer = GetComponent <PanelRenderer>();
        _UIRenderer.postUxmlReload = X_BindPanel;
        // GameManager diesen UI Handler zuweisen
        GameManager.Instance.MenuChanged += X_MenuChanged;
        GameManager.Instance.UIController = this;
        // Lightcalculator cachen
        _sunCalculator = FindObjectOfType <SunCalculator>();
#if UNITY_IOS
        // iOS: AR Session cachen
        _session = FindObjectOfType <ARSession>();
#endif
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////
        // Screen Transition Logic

        void SetScreenEnableState(PanelRenderer screen, bool state)
        {
            if (state)
            {
                screen.visualTree.style.display = DisplayStyle.Flex;
                screen.enabled = true;
                screen.gameObject.GetComponent <UIElementsEventSystem>().enabled = true;
            }
            else
            {
                screen.visualTree.style.display = DisplayStyle.None;
                screen.enabled = false;
                screen.gameObject.GetComponent <UIElementsEventSystem>().enabled = false;
            }
        }
Esempio n. 12
0
    public DialogueController(PanelRenderer UIRenderer, VisualTreeAsset ListItemTemplate)
    {
        this.DialogueRender = UIRenderer;

        DialogueRender.visualTree.style.display    = DisplayStyle.Flex;
        DialogueRender.visualTree.style.visibility = Visibility.Visible;
        DialogueRender.enabled = false;

        var ChoicePanel = UIRenderer.visualTree.Q <VisualElement>("choice-panel");
        // var ChoiceContainer = UIRenderer.visualTree.Q<VisualElement>("choice-container");
        var ChoiceList  = UIRenderer.visualTree.Q <ListView>("choice-list");
        var ChoiceLabel = UIRenderer.visualTree.Q <Label>("choice-preview");

        this.choice_controller = new ListController <int>(
            ChoicePanel,
            // ChoiceContainer,
            ChoiceList,
            ChoiceLabel,
            ListItemTemplate
            );
        var RecipePanel = UIRenderer.visualTree.Q <VisualElement>("recipe-panel");
        // var RecipeContainer = UIRenderer.visualTree.Q<VisualElement>("recipe-container");
        var RecipeList  = UIRenderer.visualTree.Q <ListView>("recipe-list");
        var RecipeLabel = UIRenderer.visualTree.Q <Label>("recipe-preview");

        this.recipe_controller = new ListController <RecipeInfo>(
            RecipePanel,
            // RecipeContainer,
            RecipeList,
            RecipeLabel,
            ListItemTemplate
            );

        DialoguePanel     = UIRenderer.visualTree.Q <VisualElement>("dialogue-panel");
        NameLabel         = UIRenderer.visualTree.Q <Label>("character-name");
        PortraitContainer = UIRenderer.visualTree.Q <VisualElement>("portrait-container");
        PortraitImage     = UIRenderer.visualTree.Q <VisualElement>("character-portrait");
        DialogueLabel     = UIRenderer.visualTree.Q <Label>("dialogue");

        this.choice_controller.Hide();
        this.recipe_controller.Hide();
        DialoguePanel.visible           = false;
        NameLabel.visible               = false;
        PortraitContainer.style.display = DisplayStyle.None;
        DialogueLabel.text              = "This is some basic dialogue text. It is nice to have, right?";
    }
Esempio n. 13
0
            private void LoadPanels(IMyTextPanel corner, Vector3I start, Vector3I xAxis, Vector3I yAxis, int width, int height)
            {
                for (int x = 0; x < width; x++)
                {
                    Vector3I v = start + (xAxis * x);
                    for (int y = 0; y < height; y++)
                    {
                        IMyTextPanel panel = GetPanel(corner, v);
                        if (panel != null && SameOrientation(corner, panel) && !panels.ContainsKey(panel))
                        {
                            Prep(panel);
                            Vector2 offset = (new Vector2(x, y) + GetOffset(panel)) * pixelDensity;

                            if (x == 0)
                            {
                                int i = 1;
                                while (GetPanel(panel, v - (xAxis * i)) == panel)
                                {
                                    i++;
                                }
                                offset.X -= pixelDensity * (i - 1);
                            }

                            if (y == 0)
                            {
                                int i = 1;
                                while (GetPanel(panel, v - (yAxis * i)) == panel)
                                {
                                    i++;
                                }
                                offset.Y -= pixelDensity * (i - 1);
                            }

                            Vector3 size = ((panel.Max - panel.Min) + Vector3I.One) * pixelDensity;
                            float   xDen = Math.Abs(ScalarProjection(size, xAxis)) / panel.TextureSize.X;
                            float   yDen = Math.Abs(ScalarProjection(size, yAxis)) / panel.TextureSize.Y;
                            Vector2 den  = new Vector2(xDen, yDen) * GetDensity(panel);
                            panel.WriteText($"Pos: {offset}\nSize:{size}\nDensity:{den}");
                            panels [panel] = new PanelRenderer(offset, den, globalSize);
                        }

                        v += yAxis;
                    }
                }
            }
Esempio n. 14
0
    public InventoryController(PanelRenderer inventory_renderer, VisualTreeAsset item_template)
    {
        this.inventory_renderer = inventory_renderer;
        this.inventory_renderer.visualTree.style.display    = DisplayStyle.Flex;
        this.inventory_renderer.visualTree.style.visibility = Visibility.Visible;
        this.inventory_renderer.enabled = false;

        var inventory_panel = this.inventory_renderer.visualTree.Q <VisualElement>("inventory-panel");
        var inventory_list  = this.inventory_renderer.visualTree.Q <ListView>("inventory-list");
        var item_preview    = this.inventory_renderer.visualTree.Q <Label>("item-preview");

        this.inventory_controller = new ListController <ItemInfo>(
            inventory_panel,
            inventory_list,
            item_preview,
            item_template,
            0
            );

        this.inventory_controller.Hide();
    }
        IEnumerator TransitionScreens(PanelRenderer from, PanelRenderer to)
        {
            from.visualTree.style.display = DisplayStyle.None;
            from.gameObject.GetComponent <UIElementsEventSystem>().enabled = false;

            to.enabled = true;

            yield return(null);

            yield return(null);

            yield return(null);

            to.visualTree.style.display    = DisplayStyle.Flex;
            to.visualTree.style.visibility = Visibility.Hidden;
            to.gameObject.GetComponent <UIElementsEventSystem>().enabled = true;

            yield return(null);

            yield return(null);

            yield return(null);

            to.visualTree.style.visibility = Visibility.Visible;

            yield return(null);

            yield return(null);

            yield return(null);

            yield return(null);

            yield return(null);

            from.enabled = false;
        }
Esempio n. 16
0
 public UiState()
 {
     PanelRenderer = new PanelRenderer();
     TextRenderer  = new TextRenderer();
 }
Esempio n. 17
0
 private void Awake()
 {
     SceneManager.sceneLoaded += OnSceneLoaded;
     panelRenderer             = GetComponent <PanelRenderer>();
 }