private IEnumerator Dash() { if (!StaticToolMethods.GetAnimatorStateInfo(0, playerAnimatorManager.animatorPlayer).IsName("Dashing")) { playerAnimatorManager.PlayDashAnimation(); } playerParticleSystemManager.PlayDashAnimation(); playerTideComboManager.StartCombo(); PlayerResourcesManager.Dashes -= 1; dashesImages[(int)PlayerResourcesManager.Dashes].SetActive(false); playerPhysicsModule.moveForce = dashForce; playerPhysicsModule.speedLimit = dashLimit; playerPhysicsModule.maxInput = 1f; yield return(new WaitForSeconds(0.15f)); playerPhysicsModule.moveForce = playerPhysicsModule.defaultMoveForce; while (playerPhysicsModule.speedLimit > playerPhysicsModule.runLimit + 0.2f) { playerPhysicsModule.speedLimit = Mathf.Lerp(playerPhysicsModule.speedLimit, playerPhysicsModule.runLimit, Time.deltaTime * 10); playerPhysicsModule.maxInput = Mathf.Lerp(playerPhysicsModule.maxInput, 0.5f, Time.deltaTime * 5f); yield return(new WaitForSeconds(0.03f)); } yield break; }
private IEnumerator SpawnProjectile() { Debug.Log("Fired"); if (agentAnimatorManager.Active == false) { agentAnimatorManager.Active = true; } yield return(new WaitUntil(() => StaticToolMethods.GetAnimatorStateInfo(0, agentAnimatorManager.agentAnimator).IsName("Idle"))); GameObject target = new GameObject(); float predictionOffesetX = Random.Range(playerRigidBody.velocity.x * -0.2f, playerRigidBody.velocity.x * 0.2f); float predictionOffesetY = Random.Range(playerRigidBody.velocity.y * -0.2f, playerRigidBody.velocity.y * 0.2f); float predictionOffesetZ = Random.Range(playerRigidBody.velocity.z * -0.2f, playerRigidBody.velocity.z * 0.2f); Vector3 preditcionOffset = new Vector3(predictionOffesetX, predictionOffesetY, predictionOffesetZ); Vector3 midCenterOffset = new Vector3(0, 0.4f, 0); target.transform.position = player.transform.position + midCenterOffset + preditcionOffset; positionToSpawn.LookAt(target.transform); agentAnimatorManager.PlayAttackAnimation(); yield return(new WaitForSeconds(0.2f)); GameObject spawnObject = Instantiate(objectToSpawn, positionToSpawn.position, positionToSpawn.transform.rotation); spawnObject.GetComponent <Rigidbody>().AddForce(positionToSpawn.transform.forward * velocityProjectile, ForceMode.Impulse); yield return(new WaitUntil(() => !StaticToolMethods.GetAnimatorStateInfo(0, agentAnimatorManager.agentAnimator).IsName("Attacking"))); yield break; }
public void TrackTargetEnemyStatus(string name, Slider[] healthbars, Slider[] armorbars) { texts[3].text = name; texts[3].gameObject.SetActive(true); //statusSliders = null ? Array.Clear(targetStatusSliders, 0, targetStatusSliders.Length); healthbars.CopyTo(targetStatusSliders, 0); armorbars.CopyTo(targetStatusSliders, healthbars.Length); int j = 0; for (int i = 3; i < 7; i++) { sliders[i].gameObject.SetActive(true); sliders[i].maxValue = targetStatusSliders[j].maxValue; sliders[i].value = targetStatusSliders[j].value; displayStatusSliders[j] = sliders[i]; j++; } if (statusbarVisibilityCoroutine != null) { StopCoroutine(statusbarVisibilityCoroutine); } statusbarVisibilityCoroutine = StaticToolMethods.DisplaySliderBars(displayStatusSliders, 6, false); StartCoroutine(statusbarVisibilityCoroutine); tracking = true; }
public void StopTrackingStatus() { tracking = false; if (statusbarVisibilityCoroutine != null) { StopCoroutine(statusbarVisibilityCoroutine); } statusbarVisibilityCoroutine = StaticToolMethods.DisplaySliderBars(displayStatusSliders, 0, false); StartCoroutine(statusbarVisibilityCoroutine); Array.Clear(targetStatusSliders, 0, targetStatusSliders.Length); texts[3].gameObject.SetActive(false); }
private IEnumerator DetermineCurrentAttack() { RefreshMoveContionCoroutines(); foreach (IEnumerator moveCondition in moveConditions) { yield return(StartCoroutine(moveCondition)); } if (availableAttackMoves.Count != 0) { yield return(StartCoroutine(availableAttackMoves[StaticToolMethods.GenerateARandomNumber(availableAttackMoves.Count)])); availableAttackMoves.Clear(); } yield break; }
private IEnumerator HeadSlam() { agent.speed = 0; attacking = true; yiAgentAnimatorManager.Moving = false; yiAgentAnimatorManager.PlayHeadSlamAnimation(); StartCoroutine(yiHitBoxManager.HeadSlamHitBoxAnimation()); yield return(new WaitForSeconds(0.6f)); attacking = false; yield return(new WaitUntil(() => !StaticToolMethods.GetAnimatorStateInfo(0, agentAnimatorManager.agentAnimator).IsName("HeadSlam"))); agent.speed = standardSpeed; yiAgentAnimatorManager.Moving = true; yield break; }
protected override void Initialize() { base.Initialize(); Transform UiTransform = GameObject.Find("UI").transform; healthBars[0] = UiTransform.Find("BossHealthBar").GetComponent <Slider>(); healthBars[1] = UiTransform.Find("BossHealthBarBackground").GetComponent <Slider>(); text = UiTransform.Find("BossName").GetComponent <Text>(); text.text = gameObject.name; text.gameObject.SetActive(true); for (int i = 0; i < healthBars.Length; i++) { healthBars[i].gameObject.SetActive(true); healthBars[i].maxValue = maxHealth; healthBars[i].value = 0; } StartCoroutine(StaticToolMethods.LerpSliderBarValue(healthBars, healthBars[0].maxValue, 0.15f, 0.2f, 0.01f)); }
protected override void Initialize() { base.Initialize(); uiCanvas = GetComponentInChildren <Canvas>(); playerUi = GameObject.Find("UI").GetComponent <Ui>(); healthBars[0] = uiCanvas.transform.Find("HealthBar").gameObject.GetComponent <Slider>(); healthBars[1] = uiCanvas.transform.Find("HealthBarBackGround").gameObject.GetComponent <Slider>(); armorBars[0] = uiCanvas.transform.Find("ArmorBar").gameObject.GetComponent <Slider>(); armorBars[1] = uiCanvas.transform.Find("ArmorBarBackGround").gameObject.GetComponent <Slider>(); for (int i = 0; i < healthBars.Length; i++) { healthBars[i].maxValue = maxHealth; healthBars[i].value = maxHealth; armorBars[i].maxValue = maxArmor; armorBars[i].value = maxArmor; } armorhBarVisibilityCoroutine = StaticToolMethods.DisplaySliderBars(armorBars, 0, false); healthBarVisibilityCoroutine = StaticToolMethods.DisplaySliderBars(healthBars, 0, false); StartCoroutine(armorhBarVisibilityCoroutine); StartCoroutine(healthBarVisibilityCoroutine); }
private IEnumerator SpearCharge() { agentAnimatorManager.Moving = false; agent.updateRotation = false; agent.updatePosition = false; Rigidbody rigidbodyAgent = GetComponent <Rigidbody>(); rigidbodyAgent.isKinematic = false; rigidbodyAgent.velocity = Vector3.zero; agentAnimatorManager.PlayAttackAnimation(); StartCoroutine(statueBruteHitBoxManager.SpearChargeHitBoxAnimation()); yield return(new WaitForSeconds(0.8f)); charging = true; yield return(new WaitUntil(() => !StaticToolMethods.GetAnimatorStateInfo(0, agentAnimatorManager.agentAnimator).IsName("Attacking"))); rigidbodyAgent.isKinematic = true; charging = false; agent.nextPosition = transform.position; //agent.enabled = true; agent.updatePosition = true; agent.updateRotation = true; }