/// <summary> /// Adds the collider to the ability. /// </summary> /// <param name="itemPullbackAbility">The ability to add the collider to.</param> /// <param name="parent">The parent of the item pullback ability.</param> private void AddCollider(ItemPullback itemPullbackAbility, GameObject parent) { // Position the collider under the Colliders GameObject if it exists. Transform collidersTransform; if ((collidersTransform = parent.transform.Find("Colliders"))) { parent = collidersTransform.gameObject; } var itemPullbackCollider = new GameObject("Item Pullback Collider"); itemPullbackCollider.layer = LayerManager.SubCharacter; itemPullbackCollider.transform.SetParentOrigin(parent.transform); itemPullbackCollider.transform.localPosition = new Vector3(0, 1.5f, 0.65f); var itemPullbackCapsuleCollider = itemPullbackCollider.AddComponent <CapsuleCollider>(); itemPullbackCapsuleCollider.radius = 0.25f; itemPullbackCapsuleCollider.height = 1; itemPullbackAbility.Collider = itemPullbackCapsuleCollider; itemPullbackCollider.AddComponent <ItemPullbackCollider>(); }
/// <summary> /// Removes the collider from the ability. /// </summary> /// <param name="itemPullbackAbility">The ability to remove the collider from.</param> /// <param name="parent">The parent of the item pullback ability.</param> private void RemoveCollider(ItemPullback itemPullbackAbility, GameObject parent) { UnityEngine.Object.DestroyImmediate(itemPullbackAbility.Collider.gameObject, true); itemPullbackAbility.Collider = null; }