private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == GameTags.Player.ToString() && FollowTarget == null) { switch (MyType) { case CollectibleType.GENERICKEY: case CollectibleType.SPECIALKEY: //This is commanding the Collectible To start its pickup animation and put itself relative to the parent... Subject to change #region Old /* * if (GetComponent<AnimController>() != null) * { * transform.parent.parent = collision.transform; * transform.parent.localPosition = new Vector2(0, 0.5f); * GetComponent<AnimController>().ForceTrigger(AnimTriggers.EXMovement); * } * //Then since you're a key, Toggle the Portal to turn on. * if (Portal != null)Portal.ToggleOn(); * else { Debug.LogWarning("This Key does not have a portal to target"); } * //Destruction is handled with the end of the animation. * //Destroy(this.gameObject); */ #endregion //So if the player collides with #region Tell the item what it's supposed to be following //FollowTarget = collision.gameObject; //collision.GetComponent<FollowManager>().AddObject(this.gameObject); //followDistance = collision.GetComponent<FollowManager>().GetFollowDistance(this.gameObject); FollMan = collision.GetComponent <FollowManager>(); FollMan.AddObject(this.gameObject); #endregion break; case CollectibleType.TEMPSHOT: AbilitySlot = Mathf.Clamp(AbilitySlot, 0, 2); AuxNumber = Mathf.Clamp(AuxNumber, 0, 200); collision.GetComponent <ActionInput>().SetTempAbility(AbilitySlot, MyAbility, AuxNumber); break; case CollectibleType.SHOTOVERRIDE: AbilitySlot = Mathf.Clamp(AbilitySlot, 0, 2); AuxNumber = Mathf.Clamp(AuxNumber, 0, 200); collision.GetComponent <ActionInput>().OverrideBaseShot(AbilitySlot, MyAbility, AuxNumber); break; case CollectibleType.POWERUP: break; case CollectibleType.COLLECTIBLE: //So if it's a collectible it needs to talk to the Game Manager and tell it to update the current stage. break; default: Debug.Log("What the heck?"); break; } } else if (FoundLock && collision.GetComponent <ToggleButton>()) { ToggleButton Butt = FollowTarget.GetComponent <ToggleButton>(); if (Butt.GetButtonType() == ButtonType.GenericLocked && MyType == CollectibleType.GENERICKEY) { Debug.Log("I've found a generic Lock"); Butt.Activate(); this.gameObject.SetActive(false); FollMan.RemoveObject(this.gameObject); } else if (Butt.GetButtonType() == ButtonType.SpecialLocked && MyType == CollectibleType.SPECIALKEY && TargetToToggle.gameObject == Butt.gameObject) { Debug.Log("I've found a Special Lock"); Butt.Activate(); this.gameObject.SetActive(false); FollMan.RemoveObject(this.gameObject); //Debug.Log("I've Found the specialized Lock"); } } }