예제 #1
0
 void Start()
 {
     if (tabSelector == null)
     {
         tabSelector = GetComponent <UITabSelector>();
     }
 }
예제 #2
0
    public UIMain(string savePath)
    {
        UITranslator.filePath = savePath + @"\Translation.json";
        UITranslator.LoadCurrent();

        string[] tabNames = typeof(Tabs).GetEnumNames();
        for (int i = 0, iend = tabNames.Length; i < iend; i++)
        {
            tabNames[i] = UITranslator.TranslateCurrent(tabNames[i]);
        }
        TabSelector = new UITabSelector(tabNames);
        TabSelector.OnSelectionChange += OnTabSelectionChange;
        currentTab = TabSelector.CurrentSelection;

        Desks = new UICardDesk[3];
        Desks[(int)Tabs.Calculator] = NewCalculatorDesk(out calculatorInputCard, out calculatorOutputCard);
        Desks[(int)Tabs.Calculator].onEndEditCard += OnEndEditCalulatorInputCard;

        databaseSavePath = savePath + @"\Database.json";
        Database currentDatabase = DatapackSerializer.Deserialize(databaseSavePath);

        Desks[(int)Tabs.Database] = NewDatabaseDesk(currentDatabase, out databaseCard);
        Desks[(int)Tabs.Database].onEndEditCard   += OnEndEditDatabaseCard;
        DatabaseReferenceAttribute.CurrentDatabase = currentDatabase;

        calculator = new Calculator();
    }
예제 #3
0
 public static bool HasTabName(this UITabSelector tabUi, string name)
 {
     if (name == null)
     {
         return(false);
     }
     return(tabUi.GetTabNames().Any((n) => n.Equals(name)));
 }
예제 #4
0
 public override void OnUnSelected(UITabSelector selector)
 {
     if (hasBeenSelected)
     {
         ResetButtonColor();
     }
     hasBeenSelected = false;
 }
예제 #5
0
 public override bool OnActived(UITabSelector selector)
 {
     Debug.Log("UITabSelectButton: triggering click action for " + button.name);
     if (disableOnEnter)
     {
         hasBeenSelected = false;
     }
     ResetButtonColor();
     GetButton().onClick.Invoke();
     return(disableOnEnter);
 }
예제 #6
0
    public override void Start()
    {
        base.Start();
        canvus       = gameObject.GetComponent <Canvas>();
        menuSelector = gameObject.GetComponent <UITabSelector>();

        worldObject.SetActive(false);
        restartButton.SetActive(false);
        resumeButton.SetActive(false);

        ButtonReturnMain();
    }
    public void SetAsPrimarySelector()
    {
        Debug.Log("UITabSelector: Making '" + this + "' as primary selector");

        //Disable last selector
        if (currentSelector != null)
        {
            currentSelector.DisableSelector();
        }

        //Enable selft
        EnableSelector();

        //Set current
        currentSelector = this;
    }
예제 #8
0
        public static IEnumerable <string> GetTabNames(this UITabSelector tabUi)
        {
            var tabContainer = tabUi?.transform?.Find("ToggleContainer");

            if (tabContainer == null)
            {
                yield break;
            }

            for (var i = 0; i < tabContainer.childCount; i++)
            {
                var tab = tabContainer.GetChild(i) as RectTransform;
                if (tab != null)
                {
                    yield return(tab.name);
                }
            }
        }
예제 #9
0
    public override bool OnSelected(UITabSelector selector, bool forward)
    {
        //Enable selector
        tabSelector.SetAsPrimarySelector();

        //Have it select next element, if it defaults to no selection
        if (tabSelector.resetPositionWhenEnabled)
        {
            if (forward)
            {
                tabSelector.SelectElement(0, 0, true);
            }
            else
            {
                tabSelector.SelectElement(tabSelector.MaxRows() - 2, tabSelector.MaxColumns() - 1, false);
            }
        }

        //Return true to disable previous selector
        return(true);
    }
 public override bool OnSelected(UITabSelector selector, bool forward)
 {
     inputField.Select();
     inputField.ActivateInputField();
     return(false);
 }
예제 #11
0
 public override bool OnSelected(UITabSelector selector, bool forward)
 {
     hasBeenSelected = true;
     GetButton().SetButtonNormalColor(selectionColor);
     return(false);
 }
예제 #12
0
 public override void OnSelectorEnabled(UITabSelector selector, bool enabled)
 {
     ResetButtonColor();
 }
예제 #13
0
 /**
  * Called when selector moves to object.
  * Can disable if another selector needs to run
  *
  * @param forward - was the object selected in a forward motion
  *
  * @return true if should disable selector
  */
 public virtual bool OnSelected(UITabSelector selector, bool forward) //TODO replace forward with more detailed data once arrow keys are implemented
 {
     return(false);
 }
 public override void OnSelectorEnabled(UITabSelector selector, bool enabled)
 {
     inputField.DeactivateInputField();
     inputField.OnDeselect(new BaseEventData(EventSystem.current));
     EventSystem.current.SetSelectedGameObject(null);
 }
 public override bool OnActived(UITabSelector selector)
 {
     toggle.isOn = !toggle.isOn;
     return(false);
 }
 public void Build(UITabSelector tabSelector)
 {
     CurrentSelector = tabSelector;
     SetTexts();
 }
예제 #17
0
 /**
  * Called when the selector is enabled/disabled to allow reseting state
  */
 public virtual void OnSelectorEnabled(UITabSelector selector, bool enabled)
 {
 }
예제 #18
0
 public virtual bool CanBeSelected(UITabSelector selector)
 {
     return(gameObject.activeSelf && gameObject.activeInHierarchy);
 }
예제 #19
0
 /**
  * Called when selector activates the object
  * Can disable if selector should not run. Can be used
  * when entering a menu.
  *
  * @return true if should disable selector
  */
 public virtual bool OnActived(UITabSelector selector)
 {
     return(false);
 }
예제 #20
0
 /**
  * Called when selector moves to another object from this one.
  *
  */
 public virtual void OnUnSelected(UITabSelector selector)
 {
 }