void Update() { if (ReadyAgain) { Rand = Random.Range(triggerMin, triggerMax); if (Rand == 1) { IRSceneShiftTrigger temp = Instantiate(SkySceneTrigger, this.transform.position, Quaternion.identity) as IRSceneShiftTrigger; GameObject currentPowerUp = GameObject.FindGameObjectWithTag("PowerUp"); if (currentPowerUp != null) { if (Vector3.Distance(currentPowerUp.transform.position, temp.gameObject.transform.position) < 3) { Destroy(currentPowerUp); } } temp.targetScene = IRSceneShiftTrigger.IRScene.SKY; temp.lifeSpan = Random.Range(minTime, maxTime); } else if (Rand == 2) { if ((groundParallex.currentPatching == 0 && groundParallex.temp == 0)) { IRSceneShiftTrigger temp = Instantiate(WaterSceneTrigger, groundParallex._clone.transform.position, Quaternion.identity) as IRSceneShiftTrigger; temp.targetScene = IRSceneShiftTrigger.IRScene.WATER; temp.lifeSpan = Random.Range(minTime, maxTime); Invoke("ShiftToLandFromWater", temp.lifeSpan + 3.6f); RefreshTime = temp.lifeSpan + 18; } } ReadyAgain = false; StartCoroutine("SetReadyAgain"); } }
void OnTriggerEnter2D(Collider2D col) { if (col.gameObject.CompareTag("Hurdle")) { col.enabled = false; if (!QuestCompleted) { _animController.PlayAnimation("Hurt"); TogglePlayerHit(); } Handheld.Vibrate(); } if (col.gameObject.CompareTag("PowerUp")) { if (ArabicSupport.ArabicFixer.Fix(GameManager.Instance.CurrentQuest.getNextLearningItem().letter, true, true).Equals(col.gameObject.GetComponent <PowerUp>().Text.text)) { TogglePlayerCollectPowerUp(); } SoundManager.Instance.PlaySoundOneShot(col.gameObject.GetComponent <PowerUp>().SoundName); Destroy(col.gameObject); } if (col.gameObject.CompareTag("QuestItem")) { PlayerCollectetQuestItem++; if (!GameManager.Instance.CurrentQuest.QuestItemCollected) { MainUIManager.Instance.inventoryController.Activate(); MainUIManager.Instance.inventoryController.Populate(col.gameObject.GetComponent <SpriteRenderer> ().sprite, PlayerCollectetQuestItem); } ToggleQuestItemCollect(); SoundManager.Instance.PlaySoundOneShot("QuestItemCollect"); Destroy(col.gameObject); } if (col.gameObject.CompareTag("SceneTrigger")) { if (!QuestCompleted) { IRSceneShiftTrigger trigger = col.gameObject.GetComponent <IRSceneShiftTrigger> (); _rigidbody.isKinematic = true; _rigidbody.velocity = Vector2.zero; if (trigger.targetScene == IRSceneShiftTrigger.IRScene.SKY) { currentWorld = 1; isChangingWorld = true; RunToFly(); _rigidbody.velocity = Vector3.zero; currentLane = "AirLane2"; _moveAction = () => transform.position = Vector3.MoveTowards(transform.position, AirLane2.position, laneChangeSpeed * Time.deltaTime); Destroy(col.gameObject); } else if (trigger.targetScene == IRSceneShiftTrigger.IRScene.WATER) { _animController.CancelAnimationTrigger("Swim2Run"); currentWorld = -1; isChangingWorld = true; LandtoWater(); currentLane = "WaterLane2"; _moveAction = () => transform.position = Vector3.MoveTowards(transform.position, WaterLane2.position, laneChangeSpeed * Time.deltaTime); middleCollider.SetActive(false); _rigidbody.velocity = Vector3.zero; _rigidbody.gravityScale = 0; Destroy(col.gameObject, 2); } TogglePlayerCollectSceneTrigger(trigger.lifeSpan); SoundManager.Instance.PlaySoundOneShot("TriggerCollect"); } else { Destroy(col.gameObject); } } if (col.gameObject.CompareTag("ShiftToLand")) { WaterToLand(); _animController.CancelAnimationTrigger("RunToSwin"); } if (col.gameObject.CompareTag("DisableSpawner")) { } if (col.gameObject.CompareTag("ApplyJumpForceTrigger")) { _animController.PlayAnimation("RunToSwin"); } if (col.gameObject.CompareTag("ToLand")) { disableJump = false; groundParallex.ResetAllPosition(); Invoke("EnableGroundParallex", 3f); } if (col.gameObject.CompareTag("ToWater")) { GameObject.FindObjectOfType <IRTriggerSpawner>().DisbaleGroundParallex(); } }