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); }
public Armor(EquippedSlot slot) { Type = slot; }
public Armor(int slot) { Type = new EquippedSlot(slot); }