Пример #1
0
    public void EquipItem(EquippedSlot slot)
    {
        currentPlayerSlot = slot;
        currentState      = ItemState.Equipped;

        playerController.equippedLimbs.Add(this);

        // physical placement in game world
        transform.parent = playerObject.transform;

        if (slot == EquippedSlot.RightHand)
        {
            transform.position = playerController.rightLimbPosition.position;
        }
        if (slot == EquippedSlot.Head)
        {
            headDamageCollider.Reset();
            transform.position = playerController.headPosition.position;
        }
        if (slot == EquippedSlot.LeftHand)
        {
            transform.position = playerController.leftLimbPosition.position;
        }
        if (slot == EquippedSlot.LeftLeg)
        {
            transform.position = playerController.leftLegPosition.position;
        }
        if (slot == EquippedSlot.RightLeg)
        {
            transform.position = playerController.rightLegPosition.position;
        }
        transform.localEulerAngles = Vector3.zero;

        if (!playerController.isFacingRight)
        {
            transform.localScale = new Vector3(-1, 1, 1);
        }

        if (gameObject.GetComponent <Rigidbody2D>() != null)
        {
            Rigidbody2D rigidbody = gameObject.GetComponent <Rigidbody2D>();
            rigidbody.isKinematic    = true;
            rigidbody.velocity       = Vector3.zero;
            rigidbody.freezeRotation = true;
            rigidbody.rotation       = 0f;
            gameObject.GetComponent <CircleCollider2D>().enabled = false;
        }
        DisableChildrenAndColliders(false);
    }
Пример #2
0
 public Armor(EquippedSlot slot)
 {
     Type = slot;
 }
Пример #3
0
 public Armor(int slot)
 {
     Type = new EquippedSlot(slot);
 }