private void LinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         OnSelected?.Invoke(this, EventArgs.Empty);
     }
 }
コード例 #2
0
        private void Select()
        {
            _buyable.Select();
            SetItemState(ShopItemState.Selected);

            OnSelected?.Invoke(this);
        }
コード例 #3
0
        public Tag Add(AddRequest req)
        {
            // None of the requests should have the same ID
            foreach (var _tag in Tags)
            {
                if (_tag.ID == req.id)
                {
                    return(null);
                }
            }

            // None of the requests should have the same ID as an existing tag
            if (Tags.Where(x => x.ID == req.id).Count() > 0)
            {
                Debug.Log("Tags IDs should be unique");
                return(null);
            }

            var tag = InstantiateTag(req);

            Tags.Add(tag);
            tag.OnSelected += () => {
                SelectTag(tag);
                OnSelected?.Invoke(tag);
            };
            return(tag);
        }
コード例 #4
0
    void Awake()
    {
        renderer        = GetComponent <Renderer>();
        defaultMaterial = renderer.material;

        initialScale    = transform.localScale;
        initialPosition = transform.localPosition;

        parentPlanetManager = GetComponentInParent <Planet>();

        OnSelected.AddListener(() =>
        {
            renderer.material = selectedMaterial;
            ScaleRegion(scaleRegion);
            ContinentDirection direction = GetComponent <ContinentDirection>();
            if (direction != null)
            {
                transform.localPosition += direction.getWorldDirection().normalized *(-ZoneDisplacement);
            }
            else
            {
                Debug.Log("Zone does not have Continent Direction Attached");
            }
        });
        OnDeselected.AddListener(() =>
        {
            renderer.material       = defaultMaterial;
            transform.localPosition = initialPosition;
            transform.localScale    = initialScale;
        });
    }
コード例 #5
0
    public void TankSelected()
    {
        if (_cantBeHeld)
        {
            return;
        }

        if (_isPlaced)
        {
            OnSelected?.Invoke(this.transform);
        }
        else
        {
            transform.position = _towerHolder.position;
            _isheld            = !_isheld;
            if (_isheld)
            {
                _image.raycastTarget = false;
                OnHeld(true);
                OnSelectRingReset?.Invoke(false);
            }
            else
            {
                _image.raycastTarget = true;
            }
        }
    }
コード例 #6
0
    private void Select(List <ISelectable> selectables)
    {
        Deselect();

        if (selectables.Count == 0)
        {
            return;
        }

        if (selectables[0] is Unit)
        {
            selection.Set(SelectionType.Unit, selectables);
        }
        else if (selectables[0] is Structure)
        {
            selection.Set(SelectionType.Structure, selectables);
            OnStructuresSelected?.Invoke(selectables.Select(selectable => selectable as Structure).ToList());
        }
        else if (selectables[0] is IHarvestable)
        {
            selection.Set(SelectionType.Harvestable, selectables);
        }

        foreach (var selectable in selectables)
        {
            selectable.Select();
        }
        OnSelected?.Invoke(selectables);
    }
コード例 #7
0
    void Update()
    {
#if UNITY_EDITOR
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            Debug.DrawRay(ray.origin, ray.direction);
            if (Physics.Raycast(ray, out hit, float.PositiveInfinity))
            {
                OnSelected.Dispatch(hit.collider.gameObject);
            }
        }
#else
        if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved)
        {
            // Get movement of the finger since last frame
            Touch      touch = Input.GetTouch(0);
            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(touch.position);
            Debug.DrawRay(ray.origin, ray.direction);
            if (Physics.Raycast(ray, out hit, float.PositiveInfinity))
            {
                OnSelected.Dispatch(hit.collider.gameObject);
            }
        }
#endif
    }
コード例 #8
0
 void IMixedRealityPointerHandler.OnPointerClicked(MixedRealityPointerEventData eventData)
 {
     if ((eventData.MixedRealityInputAction == selectAction) && IsLookedAt)
     {
         OnSelected.Invoke();
     }
 }
コード例 #9
0
        public void SetItem(BountyInfo info)
        {
            BountyInfo = info;

            var displayName = GetDisplayName();
            var canUse      = BountyInfo.State == BountyState.Available || BountyInfo.State == BountyState.Complete;

            NameText.text  = displayName;
            NameText.color = canUse ? Color.white : Color.gray;

            RewardTextIron.text = BountyInfo.RewardIron.ToString();
            RewardTextIron.transform.parent.gameObject.SetActive(BountyInfo.RewardIron > 0);
            RewardTextGold.text = BountyInfo.RewardGold.ToString();
            RewardTextGold.transform.parent.gameObject.SetActive(BountyInfo.RewardGold > 0);
            RewardTextCoin.text = BountyInfo.RewardCoins.ToString();
            RewardTextCoin.transform.parent.gameObject.SetActive(BountyInfo.RewardCoins > 0);

            Icon.sprite = AdventureDataManager.GetTrophyIconForMonster(BountyInfo.Target.MonsterID, BountyInfo.RewardGold > 0);
            Icon.color  = canUse ? Color.white : new Color(1.0f, 0.0f, 1.0f, 0.0f);

            RewardLabel.SetActive(BountyInfo.State == BountyState.Available);
            InProgressLabel.SetActive(BountyInfo.State == BountyState.InProgress);
            CompleteLabel.SetActive(BountyInfo.State == BountyState.Complete);

            Button.onClick.RemoveAllListeners();
            Button.onClick.AddListener(() => OnSelected?.Invoke(BountyInfo));

            if (Tooltip != null)
            {
                Tooltip.m_topic = displayName;
                Tooltip.m_text  = Localization.instance.Localize(GetTooltip());
            }
        }
コード例 #10
0
        public void Populate()
        {
            m_hasCalledPopulate = true;
            state = FadeShowDestroy.Hidden;
            m_secondsSincePrevState = 0;
            m_doUpdate = false;

            if (m_canvGroup == null)
            {
                m_canvGroup = GetComponent <CanvasGroup>();
            }
            if (m_canvGroup)
            {
                m_canvGroup.alpha = 0;
            }


            m_layoutElem = GetComponent <LayoutElement>();

            if (m_layoutElem)
            {
                m_startPrefHeight = m_layoutElem.preferredHeight;
            }

            OnSelected.AddListener(() => state = FadeShowDestroy.FadeOut);
        }
コード例 #11
0
 private void SelectChange(UIElement source, EventArgs <bool> e)
 {
     if (e.Value)
     {
         UIRadioButton radio = (UIRadioButton)source;
         selected.Add(radio);
         OnSelected?.Invoke(this, new UIRadioButtonEventArgs(radio));
         if (!Multiselect)
         {
             for (int i = 0; i < selected.Count; i++)
             {
                 if (selected[i] != radio)
                 {
                     selected[i].Selected = false;
                 }
             }
         }
     }
     else
     {
         UIRadioButton radio = (UIRadioButton)source;
         selected.Remove(radio);
         OnDeselected?.Invoke(this, new UIRadioButtonEventArgs(radio));
         if (AlwaysSelected && selected.Count < 1)
         {
             radio.Selected = true;
             e.Value        = true;
         }
     }
 }
コード例 #12
0
        public void SetItem(TreasureMapItemInfo itemInfo, int currentCoins)
        {
            ItemInfo         = itemInfo;
            CanAfford        = Price <= currentCoins;
            AlreadyPurchased = itemInfo.AlreadyPurchased;

            var displayName = Localization.instance.Localize("$mod_epicloot_treasuremap_name", $"$biome_{Biome.ToString().ToLower()}", (itemInfo.Interval + 1).ToString());

            Icon.color     = (CanAfford && !AlreadyPurchased) ? Color.white : new Color(1.0f, 0.0f, 1.0f, 0.0f);
            NameText.text  = Localization.instance.Localize(displayName);
            NameText.color = (CanAfford && !AlreadyPurchased) ? Color.white : Color.gray;
            PriceContainer.SetActive(!AlreadyPurchased);
            PurchasedLabel.SetActive(AlreadyPurchased);

            CoinsCostText.text = Price.ToString();
            CoinsCostText.transform.parent.gameObject.SetActive(Price > 0);
            if (!CanAfford)
            {
                CoinsCostText.color = Color.grey;
            }

            Button.onClick.RemoveAllListeners();
            Button.onClick.AddListener(() => OnSelected?.Invoke(ItemInfo));

            Tooltip.m_topic = Localization.instance.Localize(displayName);
            Tooltip.m_text  = Localization.instance.Localize(GetTooltip());
        }
コード例 #13
0
 public void Popup(int selected, string[] items, OnSelected onSelected)
 {
     this.items      = items;
     this.selected   = selected;
     this.onSelected = onSelected;
     this.Show();
 }
コード例 #14
0
        public override void OnSelect(BaseEventData eventData)
        {
            base.OnSelect(eventData);

            _isSelectable = true;
            OnSelected?.Invoke();
        }
コード例 #15
0
ファイル: RadioButton.cs プロジェクト: dubit/unity-forms
 protected void NotifySelected()
 {
     if (OnSelected != null)
     {
         OnSelected.Invoke();
     }
 }
コード例 #16
0
ファイル: PlaceSearchHelper.cs プロジェクト: yomtej/Tiro_App
        private void SearchEntry_SelectedItemChanged(object sender, SelectedItemChangedEventArgs e)
        {
            var    placeId = placeList[(string)e.SelectedItem];
            string url     = "https://maps.googleapis.com/maps/api/place/details/xml?placeid={0}&key=AIzaSyCEIQNsuPwizWAWUuC68d1RJNONXXFAQlI";

            url = string.Format(url, placeId);
            System.Net.HttpWebRequest request = System.Net.HttpWebRequest.CreateHttp(url);
            request.BeginGetResponse((iar) =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    this.searchEntry.ShowHideListbox(false);
                    this.searchEntry.ForceLayout();
                });
                System.Net.WebResponse response = ((System.Net.HttpWebRequest)iar.AsyncState).EndGetResponse(iar);
                var xmlDoc  = System.Xml.Linq.XDocument.Load(response.GetResponseStream());
                var xmlRoot = (System.Xml.Linq.XElement)xmlDoc.FirstNode;
                if (xmlRoot.Element("status").Value.Equals("OK"))
                {
                    var loc  = xmlRoot.Element("result").Element("geometry").Element("location");
                    Location = new GeoCoordinate(double.Parse(loc.Element("lat").Value, Utils.EnCulture), double.Parse(loc.Element("lng").Value, Utils.EnCulture));
                    OnSelected?.Invoke(this, Location);
                }
            }, request);
            this.searchEntry.ForceLayout();
        }
コード例 #17
0
 private void Title_MouseDown(object sender, MouseButtonEventArgs e)
 {
     if (OnSelected != null)
     {
         OnSelected.Invoke(this, this.Path);
     }
 }
コード例 #18
0
 private void OnClick()
 {
     if (WasMarked)
     {
         return;
     }
     OnSelected.Invoke(this);
 }
コード例 #19
0
 public void OnCancel()
 {
     Adapter = new ArrayAdapter <string>(Context, Resource.Layout.spinner_text_view, new string[] { Label });
     if (selected.Length > 0)
     {
         OnSelected?.Invoke(this, selected);
     }
 }
コード例 #20
0
        public void SetSelectedSphere(Sphere sphere)
        {
            SelectedSphere = sphere;
            OnSelected?.Invoke(sphere);

            SceneLoader.Load(SceneLoader.THIRD_SCENE);
            SceneLoader.MoveGameObjectToScene(sphere.transform.root.gameObject, SceneLoader.THIRD_SCENE);
        }
コード例 #21
0
 public void Select()
 {
     Selected   = true;
     CaretIndex = GetCaretIndexFromScreenPos(PlayerInput.MousePosition);
     ClearSelection();
     GUI.KeyboardDispatcher.Subscriber = this;
     OnSelected?.Invoke(this, Keys.None);
 }
コード例 #22
0
 public void OnPointerEnter(PointerEventData eventData)
 {
     if (InputManager.Instance.CurrentInputDevice != InputManager.GameInputDevice.KeyboardAndMouse)
     {
         gameObject.GetComponent <Toggle>().isOn = true;
         OnSelected?.Invoke(this);
     }
 }
コード例 #23
0
 void IMixedRealityPointerHandler.OnPointerClicked(MixedRealityPointerEventData eventData)
 {
     if ((eventData.MixedRealityInputAction == selectAction) && IsLookedAt && ((DateTime.UtcNow - lastTimeClicked).TotalMilliseconds > minTimeoutBetweenClicksInMs))
     {
         lastTimeClicked = DateTime.UtcNow;
         EyeTrackingTarget.SelectedTarget = this.gameObject;
         OnSelected.Invoke();
     }
 }
コード例 #24
0
        public override void OnSelect(BaseEventData eventData)
        {
            base.OnSelect(eventData);

            if (OnSelected != null)
            {
                OnSelected.Invoke();
            }
        }
コード例 #25
0
ファイル: UISelectable.cs プロジェクト: BlackLambert/knowdes
 void SelectorSelectable.Select()
 {
     if (Selected)
     {
         throw new InvalidOperationException();
     }
     Selected = true;
     OnSelected?.Invoke();
 }
コード例 #26
0
ファイル: ResumeGameControl.cs プロジェクト: PhilMoc/Wiggles
 public ResumeGameControl(Game game)
     : base(game)
 {
     Text = "Resume Game";
     OnSelected = new OnSelected(
     () =>
     {
         ScreenManager.Manager.Pop();
     });
 }
コード例 #27
0
 public void HandleSelection()
 {
     IsSelected = true;
     m_Fill.gameObject.SetActive(true);
     if (!isSilent)
     {
         OnSelected?.Invoke();
         onSelected?.Invoke();
     }
 }
コード例 #28
0
ファイル: QuitGameControl.cs プロジェクト: PhilMoc/Wiggles
        public QuitGameControl(Game game)
            : base(game)
        {
            Text = "Quit Game";

            OnSelected = new OnSelected(() =>
            {
                TowerAssault.GameInstance.Exit();
            });
        }
コード例 #29
0
 public ChangeMusicVolumeControl(Game game)
     : base(game)
 {
     Text = "Music Volume";
     //hackpology: just testing mouse driven behavior
     OnSelected = new OnSelected(() =>
         {
             ;
         });
 }
コード例 #30
0
 public ChangeMusicVolumeControl(Game game)
     : base(game)
 {
     Text = "Music Volume";
     //hackpology: just testing mouse driven behavior
     OnSelected = new OnSelected(() =>
     {
         ;
     });
 }
コード例 #31
0
ファイル: QuitGameControl.cs プロジェクト: PhilMoc/Wiggles
        public QuitGameControl(Game game)
            : base(game)
        {
            Text = "Quit Game";

            OnSelected = new OnSelected(() =>
                    {
                        TowerAssault.GameInstance.Exit();
                    });
        }
コード例 #32
0
 private void Awake()
 {
     _toggle.onValueChanged.AddListener(check =>
     {
         if (check)
         {
             OnSelected?.Invoke(_index);
         }
     });
 }
コード例 #33
0
ファイル: StartGameControl.cs プロジェクト: PhilMoc/Wiggles
 public StartGameControl(Game game)
     : base(game)
 {
     Text = "Start Game";
     OnSelected = new OnSelected(
     () =>
     {
         ScreenManager.Manager.Push(new BoilerScreen(game));
     });
 }
コード例 #34
0
ファイル: ResumeGameControl.cs プロジェクト: PhilMoc/Wiggles
 public ResumeGameControl(Game game)
     : base(game)
 {
     Text       = "Resume Game";
     OnSelected = new OnSelected(
         () =>
     {
         ScreenManager.Manager.Pop();
     });
 }
コード例 #35
0
ファイル: QuitGameControl.cs プロジェクト: PhilMoc/Wiggles
        public QuitGameControl(Game game, Vector2 position)
            : base(game, position)
        {
            Text = "Quit Game";
            Font = GameInstance.Content.Load<SpriteFont>("Fonts/MenuFont");

            OnSelected = new OnSelected(() =>
                    {
                        TowerAssault.GameInstance.Exit();
                    });
        }
コード例 #36
0
ファイル: AudioMenuControl.cs プロジェクト: PhilMoc/Wiggles
        public AudioMenuControl(Game game)
            : base(game)
        {
            Text = "Audio Options";
            Description = "Use <- and -> to control volume";

            OnSelected = new OnSelected(
            () => {
                ScreenManager.Manager.Push(new AudioMenu(game));
            });
        }
コード例 #37
0
        public PreviousMenuControl(Game game)
            : base(game)
        {
            Text = "Back";

            OnSelected = new OnSelected(() =>
                {
                    //remove the parent screen from the stack; returning
                    //player to previous game screen
                    ScreenManager.Manager.Pop();
                });
        }
コード例 #38
0
ファイル: MenuItem.cs プロジェクト: Tzbob/TakGu
 public MenuItem(string text, OnSelected onSelected)
 {
     this.text = text;
     this.onSelected = onSelected;
 }