예제 #1
0
    private void Rearrange()
    {
        if (!core.GetIsInteracting())
        {
            core.cursave.abilityHotkeys = visibleAbilityOrder;
        }


        int i    = 0;
        var list = visibleAbilityOrder.GetList((int)currentVisibles);

        while (i < list.Count)
        {
            string key = ConvertObjectToString(list, i);

            if (!betterBGboxArray.ContainsKey(key))
            {
                list.RemoveAt(i);
            }
            else
            {
                i++;
            }
        }

        foreach (var key in betterBGboxArray.Keys)
        {
            if (currentVisibles == AbilityTypes.Spawns)
            {
                if (!list.Contains(key))
                {
                    list.Add(key);
                }
            }
            else
            {
                if (!list.Contains((AbilityID)int.Parse(key)))
                {
                    list.Add((AbilityID)int.Parse(key));
                }
            }
        }


        for (i = 0; i < list.Count; i++)
        {
            instance.betterBGboxArray[ConvertObjectToString(list, i)].transform.position = new Vector3(GetAbilityPos(i),
                                                                                                       tileSpacing * 0.8F, this.transform.position.z);
            // instance.betterBGboxArray[ConvertObjectToString(list, i)].ReflectHotkey(currentVisibles != AbilityTypes.Passive && i < 9? keybindList[i] : null);
        }
    }
예제 #2
0
    // adjusts the FRONT END ARRANGEMENT based on the SAVE DATA of abilities
    private void Rearrange()
    {
        if (!core.GetIsInteracting())
        {
            core.cursave.abilityHotkeys = visibleAbilityOrder;
        }


        int i    = 0;
        var list = visibleAbilityOrder.GetList((int)currentVisibles);

        // get rid of abilities not in the front end
        while (i < list.Count)
        {
            string key = ConvertObjectToString(list, i);

            if (!betterBGboxArray.ContainsKey(key))
            {
                list.RemoveAt(i);
            }
            else
            {
                i++;
            }
        }

        foreach (var key in betterBGboxArray.Keys)
        {
            if (currentVisibles == AbilityTypes.Spawns)
            {
                if (!list.Contains(key))
                {
                    list.Add(key);
                }
            }
            else
            {
                if (!list.Contains((AbilityID)int.Parse(key)))
                {
                    list.Add((AbilityID)int.Parse(key));
                }
            }
        }

        ReorientAbilityBoxes();
    }
예제 #3
0
 // Update is called once per frame
 protected override void Update()
 {
     if (InputManager.GetKeyDown(KeyName.StatusMenu) && !player.GetIsInteracting())
     {
         toggle = !toggle;
         if (toggle)
         {
             Initialize();
         }
         else
         {
             AudioManager.PlayClipByID("clip_back");
         }
         for (int i = 0; i < transform.childCount; i++)
         {
             transform.GetChild(0).gameObject.SetActive(toggle);
         }
     }
     base.Update();
 }
예제 #4
0
    void focus()
    {
        if (Time.timeScale == 0)
        {
            return;
        }

        if (player != null)
        {
            if (player.GetIsInteracting() || closest == null || closest.Equals(null) || (closest.GetTransform().position - player.transform.position).sqrMagnitude >= 100)
            {
                interactIndicator.localScale = new Vector3(1, 0, 1);
                interactIndicator.gameObject.SetActive(false);
                return;
            }
            else
            {
                // interact indicator image and animation
                interactIndicator.gameObject.SetActive(true);
                var y = interactIndicator.localScale.y;
                if (lastInteractable != closest)
                {
                    lastInteractable             = closest;
                    interactIndicator.localScale = new Vector3(1, 0, 1);
                }

                if (y < 1)
                {
                    interactIndicator.localScale = new Vector3(1, Mathf.Min(1, y + 0.1F), 1);
                }

                interactIndicator.anchoredPosition = Camera.main.WorldToScreenPoint(closest.GetTransform().position) + new Vector3(0, 50);
                if (InputManager.GetKeyUp(KeyName.Interact) && !PlayerViewScript.GetIsWindowActive())
                {
                    ActivateInteraction(closest); // key received; activate interaction
                }
            }
        }
    }