public virtual void PickUp() { if (itemAround) { pickUpItem = itemAround; weaponIKIsActive = true; pickUpItem.transform.parent = gameObject.transform; WeaponMeta meta = GetComponentInChildren <WeaponMeta>(); if (meta != null) { pickUpItem.transform.localPosition = meta.weaponOffset; } pickUpItem.transform.rotation = gameObject.transform.rotation; Rigidbody itemRigidbody = pickUpItem.GetComponent <Rigidbody>(); BoxCollider itemCollider = pickUpItem.GetComponent <BoxCollider>(); if (itemRigidbody && itemCollider) { itemRigidbody.useGravity = false; itemRigidbody.isKinematic = true; itemCollider.enabled = false; } } }
// Меняем оружие public void ChangeWeapon(int index) { // Ищем мету оружиея по его типу foreach (var weapon in gameManager.WeaponsMeta.WeaponMetas) { if (weapon.WeaponType == (WeaponType)index) { weaponMeta = weapon; break; } } }
bool isDead; // true - снаряд "мёртв", т.е. может наносить только переодический урон // Инициализируем снаряд игрока public void Init(WeaponMeta _weaponMeta) { weaponMeta = _weaponMeta; Init(true, weaponMeta.ImpactDamage); }