// Use this for initialization void Start() { player = GameObject.FindWithTag("Player"); player.GetComponent <PlayerMovement>(); cometJumpable = true; CometScript = gameObject.GetComponent <CometScript>(); playerScript = gameObject.GetComponent <PlayerMovement>(); }
void SpawnComet(Transform cometModel, Vector3 position, Vector3 velocity, float rotationSpeed, bool shouldRemove = true) { Transform t = Instantiate(cometModel, position, Quaternion.identity) as Transform; CometScript comet = t.GetComponent <CometScript> (); comet.rotationSpeed = rotationSpeed; comet.velocity = velocity; if (shouldRemove == true) { comet.MarkForEventualDestruction(); } }
void OnCollisionEnter2D(Collision2D c) { if (this.isInSpace() == false) { return; } Vector2 hitPoint = c.contacts[0].point; this.ownRigidbody.drag = dragOnComets; cometJoint = gameObject.AddComponent <SpringJoint2D> () as SpringJoint2D; cometJoint.enableCollision = true; cometJoint.frequency = springForce; cometJoint.dampingRatio = damper; cometJoint.anchor = gameObject.transform.InverseTransformPoint(hitPoint); cometJoint.connectedBody = c.rigidbody; cometJoint.connectedAnchor = c.gameObject.transform.InverseTransformPoint(hitPoint); cometJoint.distance = distanceFromComet; this.timeOnComet = 0; this.scoredOnCurrentComet = false; this.attachedComet = cometJoint.connectedBody.GetComponent <CometScript> (); int layer = LayerMask.NameToLayer("LinkedCharacter"); gameObject.layer = layer; this.attachedComet.gameObject.layer = layer; this.canReleaseFromComet = false; Hashtable h = new Hashtable(); h.Add("from", cometReleaseCooldown); h.Add("to", cometReleaseCooldown); h.Add("time", cometReleaseCooldown); h.Add("onupdate", "OnTweenUpdateCometReleaseCooldown"); h.Add("oncomplete", "OnTweenCompleteCometReleaseCooldown"); iTween.ValueTo(gameObject, h); if (OnLandedOntoComet != null) { OnLandedOntoComet(this); } }
void LaunchIntoSpace() { Destroy(cometJoint); int layer = LayerMask.NameToLayer("Default"); gameObject.layer = layer; this.attachedComet.gameObject.layer = layer; this.attachedComet.disableCollisionBriefly(); this.attachedComet = null; this.ownRigidbody.drag = 0; timeInSpace = 0; if (OnWentIntoSpace != null) { OnWentIntoSpace(this); } }