/// <summary> /// Creates a button. /// </summary> /// <param name="style">The style.</param> /// <param name="displaySetup"></param> /// <param name="behavior">The behavior. Pass null to use the form default action. If you need to add additional JavaScript action statements to any /// behavior besides <see cref="CustomButtonBehavior"/>, we recommend using the jQuery document ready event to add an additional click handler to the /// appropriate button element(s), which you can select using a class if there is no simpler way.</param> /// <param name="classes">The classes on the button.</param> public EwfButton(ButtonStyle style, DisplaySetup displaySetup = null, ButtonBehavior behavior = null, ElementClassSet classes = null) { behavior = behavior ?? new FormActionBehavior(FormState.Current.DefaultAction); var elementChildren = style.GetChildren(); var elementEtherealChildren = behavior.GetEtherealChildren(); children = new DisplayableElement( context => { behavior.AddPostBack(); return(new DisplayableElementData( displaySetup, () => new DisplayableElementLocalData( "button", new FocusabilityCondition(true), isFocused => { var attributes = new List <Tuple <string, string> > { Tuple.Create("type", "button") }; attributes.AddRange(behavior.GetAttributes()); if (isFocused) { attributes.Add(Tuple.Create("autofocus", "autofocus")); } return new DisplayableElementFocusDependentData( attributes: attributes, includeIdAttribute: behavior.IncludesIdAttribute(), jsInitStatements: behavior.GetJsInitStatements(context.Id) + style.GetJsInitStatements(context.Id)); }), classes: style.GetClasses().Add(classes ?? ElementClassSet.Empty), children: elementChildren, etherealChildren: elementEtherealChildren)); }).ToCollection(); }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { enemyScript.CardMoveTest(); } if (updateMousePos) { selectedCard.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 140)); //Don't use constant for z but it's f****d up. } Hover(Input.mousePosition); if (Input.GetMouseButtonDown(0) && !updateMousePos) { Click(Input.mousePosition); } if (Input.GetMouseButtonUp(0)) { if (selectedButton != null) { selectedButton.Select(false); selectedButton = null; EndTurn(); } } if (Input.GetMouseButtonUp(0) && updateMousePos) { updateMousePos = false; if (selectedButton != null) { selectedButton.Select(false); selectedButton = null; //PlayCard(); } if (selectedCard != null && !selectedCard.GetInPlayArea()) { //selectedCard.transform.localPosition = oldCardPosition; selectedCard.Reset(); //selectedCard.Select(false); selectedCard = null; //PlayCard(); } else if (selectedCard != null && selectedCard.GetInPlayArea()) { if (playAreaCard != null) { playAreaCard.Reset(); } selectedCard.SetAreaParent(); playAreaCard = selectedCard; } } }
//private MeshRenderer[] myTileMeshes; //private Board board; // Use this for initialization void Start() { Board board = GameObject.Find("Board").GetComponent <Board>(); buttonBehavior = GameObject.Find("Button Behavior").GetComponent <ButtonBehavior>(); while (gameObject.transform.childCount < 1) { board.PopulateBoard((Board.TerrainTilesEnum)Random.Range(0, 6), transform); } }
private ElementActivationBehavior(ButtonBehavior buttonBehavior) { Classes = ActivatableClass; AttributeGetter = () => buttonBehavior.GetAttributes().Materialize(); IncludesIdAttribute = buttonBehavior.IncludesIdAttribute; EtherealChildren = buttonBehavior.GetEtherealChildren(); JsInitStatementGetter = buttonBehavior.GetJsInitStatements; IsFocusable = true; PostBackAdder = buttonBehavior.AddPostBack; }
public static void OnGirlHeadPressed(ButtonBehavior b) { tooltip.Hide(); Game.Manager.Audio.Play(AudioCategory.SOUND, click, Game.Session.gameCanvas.cellphone.pauseBehavior.pauseDefinition); currentGirl = Game.Data.Girls.Get(Game.Session.gameCanvas.cellphone.GetCellFlag("profile_girl_id")); UiCellphoneAppPairs p = (Game.Session.gameCanvas.cellphone.appPrefabs.FirstOrDefault((UiCellphoneApp a) => a is UiCellphoneAppPairs) as UiCellphoneAppPairs); Game.Session.gameCanvas.cellphone.LoadApp(Game.Session.gameCanvas.cellphone.appPrefabs.IndexOf(p)); }
public void highlight() { _highlighted = true; _wasActiveLastFrame = true; for (int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; button.changeState(ButtonBehavior.State.HIGHLIGHT); } }
// Use this for initialization void Start() { plane = GameObject.Find("plane"); livesHandler = GameObject.Find("heartContainer").gameObject.GetComponent <HeartsBehavior>(); scoreHandler = GameObject.Find("scoreContainer").gameObject.GetComponent <ScoreBehavior>(); buttonHandler = Resources.FindObjectsOfTypeAll <ButtonBehavior>().First(); buttonHandler.buttonClicked += () => { SceneManager.LoadScene("Level1"); }; GenerateSpawnTime(); }
void spawnLevel(ButtonBehavior button) { if (_childLevel != null) { clearChild(); } _childLevel = Instantiate(button._nextLinkage, new Vector3(_maxX, gameObject.transform.position.y, gameObject.transform.position.z), Quaternion.identity) as GameObject; _childLevel.layer = 8; _spawnedChildOrigin = button; }
void YellowView_Loaded(object sender, RoutedEventArgs e) { IList <Button> btnList = VisualElementHepler.FindVisualChild <Button>(this); foreach (var btn in btnList) { ButtonBehavior bb1 = new ButtonBehavior(); ButtonBehavior bb2 = new ButtonBehavior(); bb2.OutputFormat = "{0}.{1} click record."; bb1.Attach(btn); bb2.Attach(btn); } }
public Button(Vector2 position, Point size, Texture2D bt, Texture2D btHover) : base(position, bt, size) { this.position = position; this.size = size; this.bt = bt; this.btHover = btHover; btBehavior = new ButtonBehavior(); displayer = new InfoDisplayer(SceneManager.content.Load<SpriteFont>("Fonts//font_01"), new Vector2(base.position.X, base.position.Y + base.size.Y + 24), Color.Black);//, "Vitor", 76, 76, 45, 100); }
public void clearSelf(ButtonBehavior delayedDestory = null) { _cleared = true; clearChild(); for (int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; Destroy(button.gameObject, ((button == delayedDestory) ? 1.5f : 0.0f)); } Destroy(gameObject, 1.5f); }
/// <summary> /// Creates a button setup object. /// </summary> /// <param name="text">Do not pass null or the empty string.</param> /// <param name="displaySetup"></param> /// <param name="behavior">The behavior. Pass null to use the form default action.</param> /// <param name="icon">The icon.</param> public ButtonSetup(string text, DisplaySetup displaySetup = null, ButtonBehavior behavior = null, ActionComponentIcon icon = null) { behavior = behavior ?? new FormActionBehavior(FormState.Current.DefaultAction); DisplaySetup = displaySetup; buttonGetter = (enableSubmitButton, buttonStyleSelector) => { var postBack = !enableSubmitButton ? null : behavior is FormActionBehavior formActionBehavior ? (formActionBehavior.Action as PostBackFormAction)?.PostBack : behavior is PostBackBehavior postBackBehavior ? postBackBehavior.PostBackAction.PostBack : null; return(postBack != null ? (PhrasingComponent) new SubmitButton(buttonStyleSelector(text, icon), postBack: postBack) : new EwfButton(buttonStyleSelector(text, icon), behavior: behavior)); }; }
private static ButtonBehavior GetOrCreateBehavior(DependencyObject dependencyObject) { var button = (Button)dependencyObject; var behavior = button.GetValue(BehaviorProperty) as ButtonBehavior; if (behavior == null) { behavior = new ButtonBehavior(button); button.SetValue(BehaviorProperty, behavior); } return behavior; }
public void clearChild() { if (_childLevel != null) { LevelBehavior child = (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior); if (child != null && child.cleared != true) { child.clearSelf(); } _childLevel = null; _spawnedChildOrigin = null; } }
void Hover(Vector3 mposition) { RaycastHit hit; Ray ray = camera.ScreenPointToRay(mposition); if (Physics.Raycast(ray, out hit)) { Transform objectHit = hit.transform; if (objectHit.tag == "Card") { if (highlightedCard != null) { highlightedCard.Highlight(false); } highlightedCard = objectHit.gameObject.GetComponent <CardBehavior>(); highlightedCard.Highlight(true); } else if (objectHit.tag == "Button") { highlightedButton = objectHit.gameObject.GetComponent <ButtonBehavior>(); highlightedButton.Highlight(true); } else if (objectHit.tag == "Combatant") { highlightedCombatant = objectHit.gameObject.GetComponent <CombatantBehavior>(); highlightedCombatant.Highlight(true); } else { if (highlightedCard != null) { highlightedCard.Highlight(false); highlightedCard = null; } if (highlightedButton != null) { highlightedButton.Highlight(false); highlightedButton = null; } if (highlightedCombatant != null) { highlightedCombatant.Highlight(false); highlightedCombatant = null; } } } }
// Update is called once per frame /// <summary> /// Function that constructs a ray from the current mouse position. /// Checks to see if the ray hits an object, if it does then create a ButtonBehavior object and get the ButtonBehavior component /// If the object has been created then call MouseOver function /// </summary> void Update() { RaycastHit hitInfo; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hitInfo)) { ButtonBehavior buttonControl = hitInfo.collider.GetComponent<ButtonBehavior>(); if (buttonControl != null) buttonControl.MouseOver(); if (Input.GetMouseButtonDown(0)) buttonControl.LeftButtonDown(); if (Input.GetMouseButtonUp(0)) buttonControl.LeftButtonUp(); } }
/// <summary> /// Creates a button. /// </summary> /// <param name="style">The style.</param> /// <param name="displaySetup"></param> /// <param name="behavior">The behavior. Pass null to use the form default action.</param> /// <param name="classes">The classes on the button.</param> public EwfButton(ButtonStyle style, DisplaySetup displaySetup = null, ButtonBehavior behavior = null, ElementClassSet classes = null) { behavior = behavior ?? new FormActionBehavior(FormState.Current.DefaultAction); var elementChildren = style.GetChildren(); var elementEtherealChildren = behavior.GetEtherealChildren(); children = new DisplayableElement( context => { behavior.AddPostBack(); return(new DisplayableElementData( displaySetup, () => new DisplayableElementLocalData( "button", attributes: Tuple.Create("type", "button").ToCollection().Concat(behavior.GetAttributes()), includeIdAttribute: behavior.IncludesIdAttribute(), jsInitStatements: behavior.GetJsInitStatements(context.Id) + style.GetJsInitStatements(context.Id)), classes: style.GetClasses().Add(classes ?? ElementClassSet.Empty), children: elementChildren, etherealChildren: elementEtherealChildren)); }).ToCollection(); }
private FormItem getPasswordFormItem( IEnumerable <UpdateRegionSet> updateRegionSets, AutofocusCondition autofocusCondition, DataValue <string> password, ButtonBehavior sendCodeButtonBehavior) { var control = password.ToTextControl( false, setup: TextControlSetup.CreateObscured(classes: passwordClass, autoFillTokens: "current-password"), value: ""); return(new FlowAutofocusRegion( autofocusCondition, new GenericFlowContainer( control.PageComponent.Append <FlowComponent>( new GenericFlowContainer( new GenericPhrasingContainer("or".ToComponents()).Append <PhrasingComponent>( new EwfButton(new StandardButtonStyle("Email Login Code"), behavior: sendCodeButtonBehavior, classes: loginCodeButtonClass)) .Materialize())) .Materialize(), classes: passwordContainerClass).ToCollection()).ToFormItem( setup: new FormItemSetup(updateRegionSets: updateRegionSets), label: control.Labeler.CreateLabel("Password".ToComponents()), validation: control.Validation)); }
public static MvcHtmlString Button(this HtmlHelper htmlHelper, string innerHtml, string url, ButtonBehavior type, object htmlAttributes) { return(htmlHelper.Button(innerHtml, url, type, null, null, (IDictionary <string, object>)HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes))); }
public static MvcHtmlString Button(this HtmlHelper htmlHelper, string innerHtml, string url = null, ButtonBehavior type = ButtonBehavior.Submit, string name = null, string value = null, object htmlAttributes = null) { return(htmlHelper.Button(innerHtml, url, type, name, value, (IDictionary <string, object>)HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes))); }
public TControl Behavior(ButtonBehavior newValue) { Context.Behavior = newValue; return((TControl)this); }
public bool PreBuild(MapAsset asset) { if (!asset.type.StartsWith("util-vent")) { return(true); } UtilData utilData = AssetDB.utils[asset.type]; // Object GameObject obj = new GameObject(asset.type); // Sprite Renderer SpriteRenderer spriteRenderer = obj.AddComponent <SpriteRenderer>(); spriteRenderer.sprite = utilData.SpriteRenderer.sprite; spriteRenderer.material = utilData.SpriteRenderer.material; obj.layer = (int)Layer.ShortObjects; // Animator (If Applicable) if (asset.type == "util-vent1") { SpriteAnim spriteAnimClone = utilData.GameObj.GetComponent <SpriteAnim>(); SpriteAnim spriteAnim = obj.AddComponent <SpriteAnim>(); spriteAnim.Play(spriteAnimClone.m_defaultAnim, spriteAnimClone.Speed); //spriteAnim.m_clipPairList = spriteAnimClone.m_clipPairList; } // Vent Vent ventData = utilData.GameObj.GetComponent <Vent>(); Vent vent = obj.AddComponent <Vent>(); vent.EnterVentAnim = ventData.EnterVentAnim; vent.ExitVentAnim = ventData.ExitVentAnim; vent.spreadAmount = ventData.spreadAmount; vent.spreadShift = ventData.spreadShift; vent.Offset = ventData.Offset; vent.myRend = spriteRenderer; vent.Buttons = new UnhollowerBaseLib.Il2CppReferenceArray <ButtonBehavior>(0); vent.Id = this.id; this.id++; // Arrow Buttons GameObject arrowClone = utilData.GameObj.transform.FindChild("Arrow").gameObject; SpriteRenderer arrowCloneSprite = arrowClone.GetComponent <SpriteRenderer>(); BoxCollider2D arrowCloneBox = arrowClone.GetComponent <BoxCollider2D>(); for (int i = 0; i < asset.targetIds.Length && i < 3; i++) { long targetId = asset.targetIds[i]; if (targetId < 0) { continue; } if (MapHandler.GetById(targetId) == null) { continue; } GameObject arrowObj = new GameObject("Arrow" + targetId); // Sprite SpriteRenderer arrowSprite = arrowObj.AddComponent <SpriteRenderer>(); arrowSprite.sprite = arrowCloneSprite.sprite; arrowSprite.material = arrowCloneSprite.material; arrowObj.layer = (int)Layer.UI; // Box Collider BoxCollider2D arrowBox = arrowObj.AddComponent <BoxCollider2D>(); arrowBox.size = arrowCloneBox.size; arrowBox.offset = arrowCloneBox.offset; arrowBox.isTrigger = true; // Button ButtonBehavior arrowBtn = arrowObj.AddComponent <ButtonBehavior>(); arrowBtn.OnMouseOver = new UnityEvent(); arrowBtn.OnMouseOut = new UnityEvent(); Action action; if (i == 0) { action = vent.ClickRight; } else if (i == 1) { action = vent.ClickLeft; } else { action = vent.ClickCenter; } arrowBtn.OnClick.AddListener(action); // Transform vent.Buttons = AssetHelper.AddToArr(vent.Buttons, arrowBtn); arrowObj.transform.SetParent(obj.transform); arrowObj.transform.localScale = new Vector3(0.4f, 0.4f, 1.0f); arrowObj.active = false; } // Box Collider BoxCollider2D origBox = utilData.GameObj.GetComponent <BoxCollider2D>(); BoxCollider2D box = obj.AddComponent <BoxCollider2D>(); box.size = origBox.size; box.offset = origBox.offset; box.isTrigger = true; // Colliders AssetHelper.BuildColliders(asset, obj); // Polus ventDb.Add(asset.id, vent); targetDb.Add(asset.id, asset.targetIds); polus.shipStatus.AllVents = AssetHelper.AddToArr(polus.shipStatus.AllVents, vent); polus.Add(obj, asset); // Sounds if (!hasSounds) { polus.shipStatus.VentEnterSound = AssetDB.ss["ss-skeld"].ShipStatus.VentEnterSound; polus.shipStatus.VentMoveSounds = AssetDB.ss["ss-skeld"].ShipStatus.VentMoveSounds; hasSounds = true; } return(true); }
// Update is called once per frame void Update() { if (_childLevel != null) //The child menu has deactivated itself. Bubble up. { LevelBehavior child = (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior); if (child == null || child.cleared == true) { _childLevel = null; clearSelf(); return; } } if (_leapManager.pointerPositionScreenToWorld.x >= _minX && _leapManager.pointerPositionScreenToWorld.x <= _maxX) { _wasActiveLastFrame = true; if (_childLevel != null) { (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior).clearChild(); } for (int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; button.changeState(ButtonBehavior.State.NORMAL); if (button.selected) { if (button._nextLinkage != null && button._selectionAction == "") { _lastSelectedOptionButton = null; if (button != _spawnedChildOrigin) { spawnLevel(button); } else { (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior).highlight(); } } else if (button._selectionAction != "" && button._nextLinkage == null) { clearChild(); _lastSelectedOptionButton = button; } } } } else if (_wasActiveLastFrame) { if (_highlighted) { _highlighted = false; } else { _wasActiveLastFrame = false; if (_lastSelectedOptionButton != null && _leapManager.pointerPositionScreenToWorld.x > _maxX) { //Send button action up to a static listener: //... //Then do this: _lastSelectedOptionButton.changeState(ButtonBehavior.State.SELECTED); clearSelf(_lastSelectedOptionButton); } else { for (int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; if (button == _spawnedChildOrigin) { button.changeState(ButtonBehavior.State.SELECTED_PATH); } else { button.changeState(ButtonBehavior.State.DISABLED); } } } } } }
/// <summary> /// Creates button behavior. EnduraCode goal 2450 will add a JavaScript predicate parameter to this method. /// </summary> /// <param name="buttonBehavior">The behavior. Pass null to use the form default action.</param> public static ElementActivationBehavior CreateButton(ButtonBehavior buttonBehavior = null) => new ElementActivationBehavior(buttonBehavior ?? new FormActionBehavior(FormState.Current.DefaultAction));
private void DrawSabotage(MapAsset asset) { if (!SabBuilder.SAB_SYSTEMS.ContainsKey(asset.type)) { return; } if (addedIds.Contains(asset.id)) { return; } addedIds.Add(asset.id); // System SystemTypes sys = SabBuilder.SAB_SYSTEMS[asset.type]; MapRoom mapRoom = GetRoom(sys); // GameObject GameObject button = new GameObject(asset.name); button.transform.SetParent(mapRoom.gameObject.transform); button.transform.localPosition = new Vector3(asset.x * MinimapGenerator.MAP_SCALE * 1.25f, -asset.y * MinimapGenerator.MAP_SCALE * 1.25f, -25.0f); // Sprite Renderer SpriteRenderer spriteRenderer = button.AddComponent <SpriteRenderer>(); spriteRenderer.material = commsBackup.GetComponent <SpriteRenderer>().material; button.layer = (int)Layer.UI; mapRoom.special = spriteRenderer; // Collider CircleCollider2D colliderClone = commsBackup.GetComponent <CircleCollider2D>(); CircleCollider2D collider = button.AddComponent <CircleCollider2D>(); collider.radius = colliderClone.radius; collider.offset = colliderClone.offset; collider.isTrigger = true; // Sabotage Type ButtonBehavior behaviour; switch (asset.type) { case "sab-electric": spriteRenderer.sprite = lightsBackup.GetComponent <SpriteRenderer>().sprite; behaviour = lightsBackup.GetComponent <ButtonBehavior>(); break; case "sab-reactorleft": spriteRenderer.sprite = reactorBackup.GetComponent <SpriteRenderer>().sprite; behaviour = reactorBackup.GetComponent <ButtonBehavior>(); break; case "sab-comms": spriteRenderer.sprite = commsBackup.GetComponent <SpriteRenderer>().sprite; behaviour = commsBackup.GetComponent <ButtonBehavior>(); break; case "sab-doors": spriteRenderer.sprite = doorsBackup.gameObject.GetComponent <SpriteRenderer>().sprite; behaviour = doorsBackup.GetComponent <ButtonBehavior>(); break; default: return; } // Button Behaviour ButtonBehavior btnBehaviour = button.AddComponent <ButtonBehavior>(); btnBehaviour.OnClick = behaviour.OnClick; btnBehaviour.OnClick.m_PersistentCalls.m_Calls[0].m_Target = mapRoom; btnBehaviour.colliders = new UnhollowerBaseLib.Il2CppReferenceArray <Collider2D>(1); btnBehaviour.colliders[0] = collider; overlay.allButtons = AssetHelper.AddToArr(overlay.allButtons, btnBehaviour); }
public void clearSelf(ButtonBehavior delayedDestory = null) { _cleared = true; clearChild(); for(int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; Destroy(button.gameObject, ((button == delayedDestory) ? 1.5f : 0.0f)); } Destroy(gameObject, 1.5f); }
public static MvcHtmlString Button(this HtmlHelper htmlHelper, string innerHtml, string url, ButtonBehavior type, string name, IDictionary <string, object> htmlAttributes) { return(htmlHelper.Button(innerHtml, url, type, name, null, htmlAttributes)); }
void Click(Vector3 mposition) { RaycastHit hit; Ray ray = camera.ScreenPointToRay(mposition); if (Physics.Raycast(ray, out hit)) { Transform objectHit = hit.transform; if (objectHit.tag == "Card") { updateMousePos = true; if (selectedCard != null) { selectedCard.Select(false); } selectedCard = objectHit.gameObject.GetComponent <CardBehavior>(); selectedCard.Select(true); oldCardPosition = selectedCard.transform.localPosition; } else if (objectHit.tag == "Button") { selectedButton = objectHit.gameObject.GetComponent <ButtonBehavior>(); selectedButton.Select(true); } else if (objectHit.tag == "Combatant") { if (selectedCombatant != null) { selectedCombatant.Select(false); } selectedCombatant = objectHit.gameObject.GetComponent <CombatantBehavior>(); selectedCombatant.Select(true); if (playAreaCard != null) { PlayCard(); } } else if (objectHit.tag == "PlayArea") { if (playAreaCard != null) { playAreaCard.Reset(); playAreaCard = null; } } else { if (selectedCard != null) { selectedCard.Select(false); selectedCard = null; } if (selectedCombatant != null) { selectedCombatant.Select(false); selectedCombatant = null; } } } }
public void clearChild() { if(_childLevel != null) { LevelBehavior child = (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior); if(child != null && child.cleared != true) { child.clearSelf(); } _childLevel = null; _spawnedChildOrigin = null; } }
void spawnLevel(ButtonBehavior button) { if(_childLevel != null) { clearChild(); } _childLevel = Instantiate(button._nextLinkage, new Vector3(_maxX, gameObject.transform.position.y, gameObject.transform.position.z), Quaternion.identity) as GameObject; _childLevel.layer = 8; _spawnedChildOrigin = button; }
public static MvcHtmlString Button(this HtmlHelper htmlHelper, string innerHtml, string url, ButtonBehavior type, string name, string value, IDictionary <string, object> htmlAttributes) { if (!string.IsNullOrWhiteSpace(name)) { name = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name); } var tag = new TagBuilder("button") { InnerHtml = innerHtml, }; if (type != ButtonBehavior.Automatic) { tag.Attributes.Add("type", type.ToString().ToLowerInvariant()); } else if (url == null) { tag.Attributes.Add("type", "submit"); } else { tag.Attributes.Add("type", "button"); } tag.MergeNotNullAttribute("name", name); tag.MergeNotNullAttribute("value", value); string id = TagBuilder.CreateSanitizedId(name); tag.MergeNotNullAttribute("id", id); tag.MergeNotNullAttribute("onclick", "javascript: location.href='" + url + "'"); tag.MergeAttributes(htmlAttributes, true); return(new MvcHtmlString(tag.ToString())); }
// Update is called once per frame void Update () { if(_childLevel != null) //The child menu has deactivated itself. Bubble up. { LevelBehavior child = (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior); if(child == null || child.cleared == true) { _childLevel = null; clearSelf(); return; } } if(_leapManager.pointerPositionScreenToWorld.x >= _minX && _leapManager.pointerPositionScreenToWorld.x <= _maxX) { _wasActiveLastFrame = true; if(_childLevel != null) { (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior).clearChild(); } for(int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; button.changeState(ButtonBehavior.State.NORMAL); if(button.selected) { if(button._nextLinkage != null && button._selectionAction == "") { _lastSelectedOptionButton = null; if(button != _spawnedChildOrigin) { spawnLevel(button); } else { (_childLevel.GetComponent(typeof(LevelBehavior)) as LevelBehavior).highlight(); } } else if(button._selectionAction != "" && button._nextLinkage == null) { clearChild(); _lastSelectedOptionButton = button; } } } } else if(_wasActiveLastFrame) { if(_highlighted) { _highlighted = false; } else { _wasActiveLastFrame = false; if(_lastSelectedOptionButton != null && _leapManager.pointerPositionScreenToWorld.x > _maxX) { //Send button action up to a static listener: //... //Then do this: _lastSelectedOptionButton.changeState(ButtonBehavior.State.SELECTED); clearSelf(_lastSelectedOptionButton); } else { for(int i = 0; i < gameObject.transform.childCount; i++) { ButtonBehavior button = gameObject.transform.GetChild(i).GetComponent(typeof(ButtonBehavior)) as ButtonBehavior; if(button == _spawnedChildOrigin) { button.changeState(ButtonBehavior.State.SELECTED_PATH); } else { button.changeState(ButtonBehavior.State.DISABLED); } } } } } }