示例#1
0
    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;
        }
    }
示例#2
0
 private void FireOnInputChange(QuickSlotInventory.ID id)
 {
     if (OnInputChanged != null)
     {
         OnInputChanged(id);
     }
 }
示例#3
0
        // ********************************

        protected override void OnPresent()
        {
            base.OnPresent();

            Game.Area.LoadedPlayer.QuickSlot.OnInputChanged += (newID) => {
                _id = newID;
            };
        }
示例#4
0
    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);
        }
    }