void OnCollisionEnter(Collision col) { if (col.gameObject.tag != "Player" && col.gameObject.layer != 13) { if (myBody) { //myBody.isKinematic = true; GameObject go = new GameObject(); go.transform.position = this.transform.position; go.transform.parent = col.transform; FollowPoint _fp = this.GetComponent <FollowPoint>(); _fp.FollowTransform = go.transform; _fp.enabled = true; Physics.IgnoreCollision(this.GetComponent <Collider>(), col.collider, true); Destroy(myBody); Destroy(this.GetComponent <Assets.Scripts.Util.VelocityInfo>()); SphereCollider myCollider = this.transform.GetComponent <SphereCollider>(); myCollider.radius = 0.5f; //this.transform.parent = go.transform; } } if (col.gameObject.layer == 13) { bubbleBurstSystem.Play(); GetComponent <MeshRenderer>().enabled = false; GetComponent <SphereCollider>().enabled = false; StartCoroutine(WaitToDestroy(1.0f)); } }
public void Defollow() { if (null != mTarget) { FollowPoint.DestroyFollowTrans(mTarget); } }
void Follow(Transform target, float height = 0f) { Defollow(); if (null != target) { mTarget = FollowPoint.CreateFollowTrans(target, height); mSmoothFollower.Update(mTarget.position, Time.deltaTime, true); } else { mTarget = null; } }
public static Transform CreateFollowTrans(Transform target, float height = 0f) { FollowPoint[] fpArray = target.GetComponentsInChildren <FollowPoint>(true); int followIndex = fpArray.Length; GameObject followObj = new GameObject("FollowPoint", typeof(FollowPoint)); followObj.transform.parent = target; followObj.transform.localRotation = Quaternion.identity; followObj.transform.localScale = Vector3.one; followObj.transform.localPosition = GetLocalPos(followIndex) + Vector3.up * height; FollowPoint fp = followObj.GetComponent <FollowPoint>(); fp.mHeight = height; return(followObj.transform); }
void Start() { follow = GetComponent <FollowPoint>(); charge = GetComponent <CoilCharge>(); launch = GetComponent <CoilLaunch>(); }