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); } }
// 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(); }
// 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(); }
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 } } } }