Ejemplo n.º 1
0
            public static void Toggle(Cpu.Pin pin, ToggleHandler callback, bool fire = true)
            {
                var btn = new InterruptPort(pin, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeBoth);

                btn.OnInterrupt += (s, e, t) => callback(!btn.Read());
                buttons.Add(btn);
                if (fire)
                {
                    callback(!btn.Read());
                }
            }
Ejemplo n.º 2
0
    public GameObject CreateToggleButton(string deviceId, ToggleDescriptor descriptor)
    {
        var toggle = Instantiate(toggleTemplate);

        toggle.transform.position = new Vector3(0, 0, 2);

        var toggleComponent = toggle.GetComponent <InteractiveToggle>();

        var toggleHandler = new ToggleHandler();

        toggleHandler.Initialize(deviceId, descriptor, toggleComponent);

        return(toggle);
    }
Ejemplo n.º 3
0
        // Initialize all the components of the main UI
        private void Start()
        {
            buttonHandler = new ButtonHandler(
                ButtonHandler.newKeyValuePair(createPaintButton, OnCreatePaintClicked)
                );

            toggleHandler = new ToggleHandler(
                ToggleHandler.newKeyValuePair(toggleShowActuators, OnShowActuatorsClicked)
                );

            buttonHandler.RegisterActions();
            toggleHandler.RegisterActions();

            head      = transform.Find("Tutorial").Find("Controller Button").GetComponent <Text>();
            head.text = ResourcesManager.Get(Strings.DEF_HEAD);
            desc      = transform.Find("Tutorial").Find("Description").GetComponent <Text>();
            desc.text = ResourcesManager.Get(Strings.DEF_TXT);

            StartCoroutine(InitMenu());
        }
Ejemplo n.º 4
0
        protected override void Awake()
        {
            base.Awake();

            paintMode.pattern.StrokeAdded   += OnStrokeAdded;
            paintMode.pattern.StrokeRemoved += OnStrokeRemoved;

            player = paintMode.player;

            buttonHandler = new ButtonHandler(
                ButtonHandler.newKeyValuePair(btnSpeed, OnSpeedClicked),
                ButtonHandler.newKeyValuePair(btnTime, OnTimeClicked)
                );

            toggleHandler = new ToggleHandler(
                ToggleHandler.newKeyValuePair(togglePlay, OnPlayClicked),
                ToggleHandler.newKeyValuePair(toggleLoop, OnLoopClicked),
                ToggleHandler.newKeyValuePair(toggleRecord, OnRecordClicked)
                );
        }
Ejemplo n.º 5
0
        public static void SetToggle(BlockBehaviour block, BlockType blockType, string key, string displayName, ToggleHandler toggleHandler)
        {
            if (block.GetBlockID() != (int)blockType)
            {
                return;
            }
            var result = block.Toggles.Find(match => match.Key == key);

            if (result == null)
            {
                result = new MToggle(displayName, key, Controller.Instance.GetBool(block, key));
                if (toggleHandler != null)
                {
                    result.Toggled += toggleHandler;
                }
                var currentMapperTypes = block.MapperTypes;
                currentMapperTypes.Add(result);
                _MapperTypes.SetValue(block, currentMapperTypes);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="block"></param>
        /// <param name="key"></param>
        /// <param name="displayName"></param>
        /// <param name="toggleHandler"></param>
        /// <returns></returns>
        public static MToggle AddToggle(BlockBehaviour block, string key, string displayName, ToggleHandler toggleHandler)
        {
            MToggle result = CallPrivateFunc <MToggle>(block, "AddToggle",
                                                       new Type[] { typeof(string), typeof(string), typeof(bool) },
                                                       new object[] { displayName, key, Controller.Instance.GetBool(block, key) }
                                                       );

            result.Toggled += toggleHandler;
            return(result);
        }
Ejemplo n.º 7
0
        void ToggleActiveOldMethod(bool enabled)
        {
            try
            {
                // If the item has fallen under the detection range of the game's built in garbage collector,
                // teleport that item manually to the landfill.
                if (!firstLoad)
                {
                    if (transform.position.y < -100 && transform.position.x != 0 && transform.position.z != 0)
                    {
                        transform.position = WorldManager.instance.GetLostSpawner().position;
                    }

                    firstLoad = true;
                }

                if (!WorldManager.instance.IsItemInitializationDone())
                {
                    if (transform.root != Satsuma.instance.transform)
                    {
                        transform.position = position;
                    }
                }

                if (MopSettings.RemoveEmptyItems && this.gameObject.name == "empty(itemx)" && this.gameObject.transform.parent.gameObject.name != "ItemPivot")
                {
                    enabled = !MopSettings.IsModActive;
                }

                if (rb == null || rb.useGravity == enabled)
                {
                    return;
                }

                if (this.gameObject.name == "wheel_regula")
                {
                    Transform root = this.gameObject.transform.parent;
                    if (root != null && root.gameObject.name == "pivot_wheel_standard")
                    {
                        return;
                    }
                }

                // Fix for batteries popping out of the car.
                if (this.gameObject.name == "battery(Clone)" && this.gameObject.transform.parent.gameObject.name == "pivot_battery")
                {
                    return;
                }

                // Check if item is in CarryMore inventory.
                // If so, ignore that item.
                if (CompatibilityManager.CarryMore && transform.position.y < -900)
                {
                    return;
                }

                // CD Player Enhanced mod
                if (this.gameObject.name.StartsWith("cd") && this.transform.parent != null)
                {
                    // Prevent CDs to clip through CD Case
                    if (this.gameObject.name.StartsWith("cd(item") && this.transform.parent.name == "PivotCD")
                    {
                        return;
                    }

                    // Prevent CDs from clipping through the Radio
                    if (this.gameObject.name.StartsWith("cd(item") && this.transform.parent.name == "cd_sled_pivot")
                    {
                        return;
                    }

                    // Prevents CD cases from clipping through the CD rack
                    if (this.gameObject.name.StartsWith("cd case") && this.transform.parent.name.StartsWith("cd_trigger"))
                    {
                        return;
                    }
                }

                if (enabled && this.gameObject.name == "battery(Clone)" && !batteryOnCharged.Value)
                {
                    Toggle = ToggleActive;
                }

                rb.detectCollisions = enabled;
                rb.isKinematic      = !enabled;
                rb.useGravity       = enabled;

                if (gameObject.name != "lottery ticket(xxxxx)")
                {
                    if (enabled)
                    {
                        transform.position = position;
                        rb.velocity        = Vector3.zero;
                    }
                    else
                    {
                        position = transform.position;
                    }
                }

                // Disable object's renderer on distance
                if (renderer != null)
                {
                    renderer.enabled = enabled;
                }
            }
            catch { }
        }
Ejemplo n.º 8
0
            public MyCell(ToggleHandler Toggle)
            {
                //アイコン
                var icon = new Image();

                icon.WidthRequest    = icon.HeightRequest = 50; //アイコンのサイズ
                icon.VerticalOptions = LayoutOptions.Start;     //アイコンを行の上に詰めて表示
                icon.SetBinding(Image.SourceProperty, "Icon");

                //名前
                var name = new Label {
                    Font      = Font.SystemFontOfSize(_fontSizeName),
                    TextColor = Color.Black
                };

                name.SetBinding(Label.TextProperty, "Name");

                //アカウント名
                var screenName = new Label {
                    Font      = Font.SystemFontOfSize(_fontSizeScreenName),
                    TextColor = Color.Black
                };

                screenName.SetBinding(Label.TextProperty, "ScreenName");

                //作成日時
                var createAt = new Label {
                    Font      = Font.SystemFontOfSize(_fontSizeCreateAt),
                    TextColor = Color.Gray,
                };

                createAt.SetBinding(Label.TextProperty, "CreatedAt");

                //メッセージ本文
                var text = new Label {
                    Font      = Font.SystemFontOfSize(_fontSizeText),
                    TextColor = Color.Black
                };

                text.SetBinding(Label.TextProperty, "Text");


                ////ID(デバッグ用)
                //var id = new Label
                //{
                //    Font = Font.SystemFontOfSize(10),
                //    TextColor = Color.Red
                //};
                //id.SetBinding(Label.TextProperty, "Id");



                //名前行
                var layoutName = new StackLayout {
                    Orientation = StackOrientation.Horizontal, //横に並べる
                    Children    = { name, screenName } //名前とアカウント名を横に並べる
                };

                //サブレイアウト
                var layoutSub = new StackLayout {
                    Spacing = 0, //スペースなし
                    //Children = {layoutName, createAt, text,id} //名前行、作成日時、メッセージを縦に並べる
                    Children = { layoutName, createAt, text } //名前行、作成日時、メッセージを縦に並べる
                };

                View = new StackLayout {
                    //Padding = new Thickness(5),
                    Orientation = StackOrientation.Horizontal, //横に並べる
                    //BackgroundColor = Color.FromRgba(255, 255, 255, 80),
                    Children = { icon, layoutSub } //アイコンとサブレイアウトを横に並べる
                };

                var menuItem = new MenuItem
                {
                    Text    = "Convert",
                    Command = new Command(p => { //コンテキストメニュー
                        if (Toggle != null)
                        {
                            Toggle((Item)p);
                        }
                    }),
                    IsDestructive = true, //背景赤色
                };

                menuItem.SetBinding(MenuItem.CommandParameterProperty, new Binding("."));//コマンド実行時のパラメータに表示テキストを使用する
                ContextActions.Add(menuItem);
            }