Ejemplo n.º 1
0
 public void Init(Vector2 positionInGrid, BoardManager board)
 {
     m_GridPosition = positionInGrid;
     m_BoardManager = board;
     OnMouseOver.AddListener(() => IsMouseOver = true);
     OnMouseOver.AddListener(() => m_BoardManager.OnTileSelected(this));
     OnMouseExit.AddListener(() => IsMouseOver = false);
     OnMouseExit.AddListener(() => m_BoardManager.OnTileDeselected(this));
 }
        public void setup(ManeuverNode node, ManeuverGizmo gizmo, int i, bool replace, bool lines, bool stickyFlight)
        {
            if (node == null)
            {
                return;
            }

            _node         = node;
            _gizmo        = gizmo;
            _index        = i;
            _showLines    = lines;
            _stickyFlight = stickyFlight;

            if (replace)
            {
                _progradeIncrement = _persProgradeIncrement;
                _normalIncrement   = _persNormalIncrement;
                _radialIncrement   = _persRadialIncrement;
            }

            if (_inputButton == null)
            {
                _inputButton = Instantiate <Button>(gizmo.minusOrbitbtn);
            }

            _inputButton.transform.SetParent(gizmo.minusOrbitbtn.transform.parent);

            _buttonRect = _inputButton.GetComponent <RectTransform>();

            RectTransform oldRect = gizmo.minusOrbitbtn.GetComponent <RectTransform>();

            _buttonRect.anchoredPosition3D = oldRect.anchoredPosition3D;
            _buttonRect.position           = oldRect.position;
            _buttonRect.localScale         = oldRect.localScale;
            _buttonRect.rotation           = oldRect.rotation;
            _buttonRect.localRotation      = oldRect.localRotation;

            _inputButton.navigation = new Navigation()
            {
                mode = Navigation.Mode.None
            };

            _inputButton.onClick.RemoveAllListeners();
            _inputButton.onClick.AddListener(new UnityAction(ToggleUI));
            _inputButton.interactable = true;

            EventTrigger events = _inputButton.gameObject.AddComponent <EventTrigger>();

            events.triggers = new System.Collections.Generic.List <EventTrigger.Entry>();

            events.triggers.Add(new EventTrigger.Entry()
            {
                eventID  = EventTriggerType.PointerEnter,
                callback = MouseEnter
            });

            events.triggers.Add(new EventTrigger.Entry()
            {
                eventID  = EventTriggerType.PointerExit,
                callback = MouseExit
            });

            MouseEnter.AddListener(new UnityAction <UnityEngine.EventSystems.BaseEventData>(TriggerOnMouseEnter));
            MouseExit.AddListener(new UnityAction <UnityEngine.EventSystems.BaseEventData>(TriggerOnMouseExit));

            Selectable inputSelect = _inputButton.GetComponent <Selectable>();

            inputSelect.image.sprite = ManeuverLoader.InputButtonNormal;

            SpriteState state = inputSelect.spriteState;

            state.highlightedSprite = ManeuverLoader.InputButtonHighlight;
            state.pressedSprite     = ManeuverLoader.InputButtonActive;
            state.disabledSprite    = ManeuverLoader.InputButtonActive;
            inputSelect.spriteState = state;

            gizmo.minusOrbitbtn.onClick.RemoveAllListeners();
            oldRect.localScale = new Vector3(0.000001f, 0.000001f, 0.000001f);

            if (_pointer != null)
            {
                _pointer.worldTransform = _buttonRect;
            }
        }