private void OnTriggerEnter2D(Collider2D other) { if (!other.CompareTag("Player")) { return; } if (state == State.ready) { if (current) { current.ChangeToReached(); } current = this; state = State.current; PlayerScript.collectedAllies.Clear(); foreach (string unitName in PlayerScript.collectedAlliesCurrent) { PlayerScript.collectedAllies.Add(unitName); } CheckpointReached.Invoke(); StartCoroutine(ChangeCheckpoint()); menu.UpdateExercise(id_number); } }
void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "EnemyAttack" || other.gameObject.name.Contains("LevelTwoWitchProjectile")) { } else if (other.gameObject.tag == "Explosion") { if (playerState != "dashing") { previousHealth = health; health -= 20; sprite.color = new Color(255, 0, 0); damageTime = Time.time + .5f; damaged = true; lerpTime = 0; } } else if (other.gameObject.tag == "Checkpoint") { if (currentCheckpoint != other.gameObject.GetComponent <CheckpointScript>()) { currentCheckpoint = other.gameObject.GetComponent <CheckpointScript>(); } } else if (other.gameObject.tag == "Death") { health = 0; lerpTime = 0; } else if (other.gameObject.tag == "Water") { health = 0; lerpTime = 0; fadeScreen.fadeOut = true; respawnTime = Time.time + 1f; myAnim.SetBool("Dead", true); splashSound.Play(); bodyCollider.enabled = false; groundCollider.enabled = false; myRigidbody.gravityScale = 0; moonlight.depleting = false; dashOnCooldown = false; lightMask.SetActive(false); damaged = false; sprite.color = Color.white; myRigidbody.velocity = Vector3.zero; playerState = "respawning"; GameObject newSplash = Instantiate(waterSplash, new Vector3(transform.position.x, -7.9f, 0f), Quaternion.identity); } else if (other.gameObject.tag == "Fire") { if (playerState != "dashing") { previousHealth = health; health -= 100; sprite.color = new Color(255, 0, 0); damageTime = Time.time + .5f; damaged = true; lerpTime = 0; } } }
// Start is called before the first frame update void Start() { checkpointSpriteRenderer = GetComponent <SpriteRenderer>(); checkpointScript = checkpointMaster.GetComponent <CheckpointScript>(); }
void OnCollisionEnter2D(Collision2D collision) { bool hell = false; //collision with ff FerrofluidScript goo = collision.gameObject.GetComponent <FerrofluidScript> (); HealthScript playerHealth = GetComponent <HealthScript> (); FloorScript floor = collision.gameObject.GetComponent <FloorScript> (); PopUpScript popUp = collision.gameObject.GetComponent <PopUpScript> (); BossFight boss = collision.gameObject.GetComponent <BossFight> (); ShieldScript shield = collision.gameObject.GetComponent <ShieldScript> (); ShieldNumber shieldnumber = collision.gameObject.GetComponent <ShieldNumber> (); FfScript ffBottle = collision.gameObject.GetComponent <FfScript> (); WingsCounter wings = collision.gameObject.GetComponent <WingsCounter> (); RobotArm robot = GetComponent <RobotArm> (); OrangeCell orangeCell = collision.gameObject.GetComponent <OrangeCell>(); RedCell redCell = collision.gameObject.GetComponent <RedCell>(); BlueCell blueCell = collision.gameObject.GetComponent <BlueCell>(); MetalCell metalCell = collision.gameObject.GetComponent <MetalCell>(); MazePlatform maze = collision.gameObject.GetComponent <MazePlatform>(); //BridgePlatformScript bridge = GetComponent<BridgePlatformScript> (); if (collision.gameObject.tag == "orange") { // damagePlayer = true; // Debug.Log("shield not hit"); // if(playerHealth != null) // playerHealth.Damage(orangeCell.damage,respawnPosX,respawnPosY,false); if (shieldGO.activeSelf == true) { damagePlayer = false; shieldHits--; metalCell.hitByShield = true; Debug.Log("shield hit"); //orangeCell = null; if (playerHealth != null) { playerHealth.Damage(orangeCell.damage, respawnPosX, respawnPosY, true); } } else { damagePlayer = true; Debug.Log("shield not hit"); if (playerHealth != null) { playerHealth.Damage(orangeCell.damage, respawnPosX, respawnPosY, false); } } } if (collision.gameObject.tag == "red") { damagePlayer = true; Debug.Log("shield not hit"); if (playerHealth != null) { playerHealth.Damage(redCell.damage, respawnPosX, respawnPosY, false); } } if (collision.gameObject.tag == "blue") { damagePlayer = true; Debug.Log("shield not hit"); if (playerHealth != null) { playerHealth.Damage(blueCell.damage, respawnPosX, respawnPosY, false); } } if (collision.gameObject.tag == "metal") { // damagePlayer = true; // Debug.Log("shield not hit"); // if(playerHealth != null) // playerHealth.Damage(orangeCell.damage,respawnPosX,respawnPosY,false); if (shieldGO.activeSelf == true) { damagePlayer = false; shieldHits--; metalCell.hitByShield = true; Debug.Log("shield hit"); } else { damagePlayer = true; Debug.Log("shield not hit"); if (playerHealth != null) { playerHealth.Damage(orangeCell.damage, respawnPosX, respawnPosY, false); } } } if (floor != null) { damagePlayer = true; hell = true; } if (hell) { if (playerHealth != null) { playerHealth.Damage(floor.damage, respawnPosX, respawnPosY, false); } } if (collision.gameObject.name == "Checkpoint1") { CheckpointScript checkpoint = collision.gameObject.GetComponent <CheckpointScript>(); respawnPosX = checkpoint.posX; respawnPosY = checkpoint.posY; Destroy(collision.gameObject.GetComponent <Collider2D>()); } if (collision.gameObject.name == "Checkpoint2") { CheckpointScript checkpoint = collision.gameObject.GetComponent <CheckpointScript>(); respawnPosX = checkpoint.posX; respawnPosY = checkpoint.posY; Destroy(collision.gameObject.GetComponent <Collider2D>()); } if (collision.gameObject.name == "Checkpoint3") { CheckpointScript checkpoint = collision.gameObject.GetComponent <CheckpointScript>(); respawnPosX = checkpoint.posX; respawnPosY = checkpoint.posY; Destroy(collision.gameObject.GetComponent <Collider2D>()); } if (collision.gameObject.name == "Checkpoint4") { CheckpointScript checkpoint = collision.gameObject.GetComponent <CheckpointScript>(); respawnPosX = checkpoint.posX; respawnPosY = checkpoint.posY; Destroy(collision.gameObject.GetComponent <Collider2D>()); } // if (collision.gameObject.name == "atomo") { // popUp.showPopUp = true; // popUp.gameObject.GetComponent<Renderer>().enabled = false; // Destroy(popUp.gameObject.GetComponent<Collider2D>()); // } if (collision.gameObject.tag == "MovingPlatform") { this.transform.parent = collision.transform; } // if (collision.gameObject.tag == "lever"){ // RobotArm.move = true; // } // // if (collision.gameObject.tag == "lever1") { // RobotArm.move1 = true; // } if (collision.gameObject.tag == "Boss") { boss.gameObject.GetComponent <Renderer>().enabled = true; showPopUp = true; maxSpeed = 0; if (i == 5) { maxSpeed = 25; Destroy(boss.gameObject); boss.gameObject.GetComponent <Renderer>().enabled = false; } } if (collision.gameObject.tag == "Door") { Application.LoadLevel("Hidrofobia"); } if (wings != null) { wings.GetComponent <Renderer>().enabled = false; wings.GetComponent <PolygonCollider2D>().enabled = false; wingsCounter = 7; } if (collision.gameObject.tag == "shield") { ShieldCounterManager.AddShield(shieldnumber.shieldNumber); Destroy(shieldnumber.gameObject); shieldFlag = true; Debug.Log("Shield available"); } if (collision.gameObject.tag == "ffbottle") { FfCounterManager.AddFF(ffBottle.ffNumber); gunFlag = true; Destroy(ffBottle.gameObject); } //platform activator if (collision.gameObject.tag == "ActivatePlatform") { collision.gameObject.GetComponent <Animator>().enabled = true; } if (collision.gameObject.tag == "Boots") { collision.gameObject.GetComponent <Renderer>().enabled = false; collision.gameObject.GetComponent <PolygonCollider2D>().enabled = false; time = 5; } if (collision.gameObject.tag == "box") { bool founded = false; BoxController box = collision.gameObject.GetComponent <BoxController>(); box.Founded(true); Destroy(collision.gameObject); } if (collision.gameObject.tag == "Bridge1") { BridgePlatformScript.bridge1 = true; } if (collision.gameObject.tag == "Bridge2") { BridgePlatformScript.bridge2 = true; } if (collision.gameObject.tag == "Bridge3") { BridgePlatformScript.bridge3 = true; } if (collision.gameObject.tag == "Bridge4") { BridgePlatformScript.bridge4 = true; } if (collision.gameObject.tag == "Bridge5") { BridgePlatformScript.bridge5 = true; } if (collision.gameObject.tag == "Bridge6") { BridgePlatformScript.bridge6 = true; } if (collision.gameObject.tag == "Bridge7") { BridgePlatformScript.bridge7 = true; } if (collision.gameObject.name == "MetallicFloorFerroFluidMAP 159") { MazePlatform.ground = true; transform.parent = collision.transform; } }
void Start() { // call in Start() to guarantee the GameObject is on scene cameraManager.virtualCamera.Follow = player.transform; checkpointScript = player.GetComponent <CheckpointScript>(); }
//load game public void Load() { if (File.Exists(saveLoad.savePath)) { //I/O FileStream file = File.Open(saveLoad.savePath, FileMode.Open); //load part PlayerData playerData = (PlayerData)saveLoad.bf.Deserialize(file); file.Close(); MapName savedMap = (MapName)playerData.map; //don't load if the data is for a different map if (savedMap == 0 || savedMap.Equals(mapName)) { score = playerData.score; PlayerPrefs.SetInt("CurrentScore", score); float[] c = playerData.coords; coords = new Vector3(c[0], c[1], c[2]); player.transform.position = coords; var playerMove = player.GetComponent <PlayerMovement>(); AbilityProcessor.Fetch((PlayerAbilities)playerData.abilityType, playerMove); ProjectileProcessor.SetProjectileName((PlayerProjectiles)playerData.projectileType); /* * Sample Hierarchy of GameObject Tile * to change the checkpoint image * Tile * -> Obstacles * -> Checkpoint1 * -> CheckpointScript * * Process: * - Find the child gameobject using the name * - Call the ChangeState() of the child script */ //name of the loaded checkpoint checkpointTag = playerData.checkpointTag; //gets the list its children Transform[] childrenObj = tileObject.GetComponentsInChildren <Transform>(); foreach (Transform obj in childrenObj) { //if name matches with checkpointTag, change the state if (obj.name == checkpointTag) { CheckpointScript objScript = obj.GetComponent <CheckpointScript>(); objScript.ChangeState(); break; } } } else { Debug.Log("Data is for the different map. Data is not loaded"); } } }