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()); } }
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); }
// 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()); }
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) ); }
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); } }
/// <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); }
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 { } }
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); }