private void LoadNewItem(QuickSlotInventory.ID newId) { //get item var index = _player.QuickslotInventory.ConvertQuickSlotIDToIndex(newId); var currentItem = _player.QuickslotInventory.GetInventoryItem(index); // destroy old if (_holdItem != null) { var obj = _holdItem; _holdItem.GetComponent <Animator>().SetTrigger("Destroy"); Game.Async.WaitForSeconds(1.0f, () => { Destroy(obj); }); } // create new if (currentItem != null && currentItem.HoldItem != null) { _holdItem = Instantiate(currentItem.HoldItem); } else { _holdItem = Instantiate(_defaultItem); } // set transform _holdItem.transform.SetParent(transform, false); _holdItem.transform.localPosition = Vector3.zero; _holdItem.transform.localRotation = Quaternion.identity; foreach (Transform t in _holdItem.transform.GetComponent <Transform>()) { t.gameObject.layer = gameObject.layer; } }
private void FireOnInputChange(QuickSlotInventory.ID id) { if (OnInputChanged != null) { OnInputChanged(id); } }
// ******************************** protected override void OnPresent() { base.OnPresent(); Game.Area.LoadedPlayer.QuickSlot.OnInputChanged += (newID) => { _id = newID; }; }
private void Update() { if (Input.GetKeyDown(_topKey)) { AddInput(_topKey); } if (Input.GetKeyDown(_rightKey)) { AddInput(_rightKey); } if (Input.GetKeyDown(_bottomKey)) { AddInput(_bottomKey); } if (Input.GetKeyDown(_leftKey)) { AddInput(_leftKey); } if (Input.GetKeyUp(_topKey)) { RemoveInput(_topKey); } if (Input.GetKeyUp(_rightKey)) { RemoveInput(_rightKey); } if (Input.GetKeyUp(_bottomKey)) { RemoveInput(_bottomKey); } if (Input.GetKeyUp(_leftKey)) { RemoveInput(_leftKey); } var newID = GetID(); if (_id != newID) { _id = newID; FireOnInputChange(_id); } }