示例#1
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Checkpoint")
     {
         Destroy(collision.gameObject);
         savepoint = true;
     }
     if (collision.gameObject.tag == "Trigger")
     {
         Destroy(collision.gameObject);
         UI.SetActive(true);
         wall.SetActive(true);
         CameraControl.CameraLock();
         BossController.bossFight = true;
     }
     if (collision.gameObject.tag == "Mud")
     {
         speed      = 3;
         jumpHeight = 9;
     }
     else
     {
         speed      = 6;
         jumpHeight = 10;
     }
     if (collision.gameObject.tag == "Health")
     {
         addHealth(5);
         Destroy(collision.gameObject);
     }
     if ((collision.gameObject.tag == "Rock" || collision.gameObject.tag == "Enemy" || collision.gameObject.tag == "Boss") && invisibilityFrame <= 0)
     {
         addScore(-50);
         health -= 10;
         Rigidbody2D.velocity = new Vector2(0, Rigidbody2D.velocity.y);
         move              = false;
         gameObject.layer  = 17;
         invisibilityFrame = 100;
     }
     if (collision.gameObject.tag == "EnemyWeapon" && invisibilityFrame <= 0)
     {
         addScore(-50);
         health -= 10;
         Rigidbody2D.velocity = new Vector2(0, Rigidbody2D.velocity.y);
         move = false;
         invisibilityFrame = 100;
     }
     else if (collision.gameObject.tag == "EnemyWeapon")
     {
         Rigidbody2D.velocity = new Vector2(0, Rigidbody2D.velocity.y);
     }
     if (collision.gameObject.tag == "Fall")
     {
         addScore(-100);
         health           -= 20;
         invisibilityFrame = 100;
         if (collision.gameObject.name == "Fallpoint1")
         {
             Rigidbody2D.position = checkpoint[0];
         }
         if (collision.gameObject.name == "Fallpoint2")
         {
             Rigidbody2D.position = checkpoint[1];
         }
         if (collision.gameObject.name == "Fallpoint3")
         {
             Rigidbody2D.position = checkpoint[2];
         }
         if (collision.gameObject.name == "Fallpoint4")
         {
             Rigidbody2D.position = checkpoint[3];
         }
         if (collision.gameObject.name == "Fallpoint5")
         {
             Rigidbody2D.position = checkpoint[4];
         }
     }
     if (collision.gameObject.tag == "Portal")
     {
         if (collision.gameObject.name == "Regular")
         {
             story_flag[4] = false;
             StartCoroutine(ShowStory(story5, "story5_content"));
             Invoke("nextScene", 13.5f);
         }
         if (collision.gameObject.name == "Regular2")
         {
             gamefinished  = true;
             story_flag[2] = false;
             //StartCoroutine(ShowStory(story3, "story3_content"));
             Invoke("mainmenu", 0f);
         }
     }
     if (collision.gameObject.tag == "story1")
     {
         if (collision.gameObject.name == "Story1" && story_flag[0])
         {
             story_flag[0] = false;
             StartCoroutine(ShowStory(story1, "story1_content"));
         }
         else if (collision.gameObject.name == "Story2" && story_flag[1])
         {
             story_flag[1] = false;
             StartCoroutine(ShowStory(story2, "story2_content"));
         }
         else if (collision.gameObject.name == "Story3" && story_flag[2])
         {
             story_flag[2] = false;
             StartCoroutine(ShowStory(story3, "story3_content"));
         }
         else if (collision.gameObject.name == "Story4" && story_flag[3])
         {
             story_flag[3] = false;
             StartCoroutine(ShowStory(story4, "story4_content"));
         }
     }
 }