コード例 #1
0
 // Use this for initialization
 void Start()
 {
     player = GameObject.FindWithTag("Player");
     player.GetComponent <PlayerMovement>();
     cometJumpable = true;
     CometScript   = gameObject.GetComponent <CometScript>();
     playerScript  = gameObject.GetComponent <PlayerMovement>();
 }
コード例 #2
0
    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();
        }
    }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    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);
        }
    }