Example #1
0
    void OnTriggerEnter2D(Collider2D col)
    {
        //we hit a smol rock, destroy it
        if (col.tag == "Debris")
        {
            Destroy(this.gameObject);
        }
        //we hit the player, hurt it
        if (col.tag == "Player")
        {
            player.takeDamage(damage);
            player.ActivatePlayerShield(true); //< true because damage was dealt
            Destroy(this.gameObject);
        }
        if (col.tag == "medium" || col.tag == "large")
        {
            Destroy(this.gameObject);
        }

        if (col.gameObject.tag == "TetheredPart")
        {
            TetheredObject tetherObject = col.gameObject.GetComponent <TetheredObject>();
            tetherObject.HandleImpact();
        }
    }
 // Use this for initialization
 void Start()
 {
     _triggeredOnce        = false;
     _shipPart             = GameObject.FindGameObjectWithTag("TetheredPart");
     theTextBox            = FindObjectOfType <TextBoxManager>();
     _tetheredObjectScript = _shipPart.GetComponent <TetheredObject> ();
 }
Example #3
0
 public void setPullPosition(RaycastHit _hit)
 {
     amPulling      = true;
     tetheredObject = new TetheredObject()
     {
         attachedTo = _hit.collider.gameObject, relativeHitPoint = _hit.point - _hit.collider.gameObject.transform.position
     };
 }
Example #4
0
 public void setTetherPosition(RaycastHit _hit)
 {
     amTethered     = true;
     tetheredObject = new TetheredObject()
     {
         attachedTo = _hit.collider.gameObject, relativeHitPoint = _hit.point - _hit.collider.gameObject.transform.position
     };
     tetherLength = Vector3.Distance(tetheredObject.attachedTo.gameObject.transform.position + tetheredObject.relativeHitPoint, transform.position);
 }
Example #5
0
 void OnCollisionEnter2D(Collision2D col)
 {
     if (splitactivated)
     {
         Split();
     }
     //if this is a debris object and its colliding with player
     if (gameObject.tag == "Debris")
     {
         //handle player damage and knockback
         if (col.gameObject.tag == "Player")
         {
             Player playerObject = col.gameObject.GetComponent <Player>();
             //calculate damage to deal, knockback is true
             float damageAmount = CalculateAngularDamageAndKnockback(col, true);
             playerObject.takeDamage(damageAmount);
             if (damageAmount > 0)
             {
                 playerObject.ActivatePlayerShield(true);
             }                                         //< true since damage was dealt
             else
             {
                 playerObject.ActivatePlayerShield(false);
             }                                           //< false since no damage dealt
         }
         //handled enemy damage and knockback
         if (col.gameObject.tag == "Enemy")
         {
             EnemyCollision enemyObject;
             if (enemyObject = col.gameObject.GetComponent <EnemyCollision>())
             {
                 //calculate damage to deal, knockback is true
                 enemyObject.TakeDamage(CalculateAngularDamageAndKnockback(col, false));
             }
         }
         if (col.gameObject.tag == "TetheredPart")
         {
             TetheredObject tetherObject = col.gameObject.GetComponent <TetheredObject>();
             //calculate damage to deal, knockback is true
             float damageAmount = CalculateAngularDamageAndKnockback(col, false);
             //if the damage is over a limit, cause a hit to the tether object
             if (damageAmount > 10)
             {
                 tetherObject.HandleImpact();
             }
         }
     }
 }
Example #6
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "TetheredPart" && other.GetComponent <TetheredObject>().tetherOn&& !_wasTriggered)
     {
         //set triggered to true (to prevent multiple calls)
         _wasTriggered = true;
         TetheredObject tether = other.GetComponent <TetheredObject>();
         tether.tetherOn = false;
         tether.ShrinkAndDestroy();
         //disable collisions
         _player.GetComponent <CircleCollider2D>().enabled = false;
         //disable fuel loss
         _player.GetComponent <Player>().DisableFuelLoss();
         //disable camera follow and center camera
         //StartCoroutine(CenterCamera());
         BeginCutscene();
     }
 }