Esempio n. 1
0
    public IEnumerator UpdateView()
    {
        while (true)
        {
            AbilityWrapper wrapper = m_entity.m_abilities.Find(a => a.HotkeySlot == m_hotkey);

            if (wrapper != null && (m_wrapper == null || wrapper.AbilityName != m_wrapper.AbilityName))
            {
                m_wrapper = wrapper;

                m_icon.enabled           = true;
                m_backgroundIcon.enabled = true;
                m_icon.sprite            = wrapper.GetAbility().m_icon;
                m_backgroundIcon.sprite  = wrapper.GetAbility().m_icon;
            }
            else if (wrapper == null)
            {
                m_wrapper = null;

                m_icon.enabled           = false;
                m_backgroundIcon.enabled = false;
            }

            string hotkeyText = "";

            if (m_entity is Player)
            {
                Rewired.Player     player     = ((Player)m_entity).m_rewiredPlayer;
                Rewired.Controller lastActive = player.controllers.GetLastActiveController();

                if (lastActive != null && lastActive.type == Rewired.ControllerType.Mouse)
                {
                    lastActive = player.controllers.Keyboard;
                }

                Rewired.ActionElementMap elementMap = player.controllers.maps.GetFirstElementMapWithAction(
                    lastActive, "Hotkey " + m_hotkey, false);

                if (elementMap != null)
                {
                    hotkeyText = elementMap.elementIdentifierName;
                }
                else
                {
                    elementMap = player.controllers.maps.GetFirstElementMapWithAction("Hotkey " + m_hotkey, false);

                    if (elementMap != null)
                    {
                        hotkeyText = elementMap.elementIdentifierName;
                    }
                }
            }

            m_hotkeyText.text = hotkeyText;

            yield return(new WaitForSeconds(Constants.ABILITY_VIEW_REFRESH));
        }
    }
Esempio n. 2
0
 /**
  * Initialises the controller.
  */
 public Controller(RewiredController controller)
 {
     m_controller = controller;
 }