private void Start() { // The fire axis is based on the player number. m_BarrierButton = "Barrier" + m_PlayerNumber; playerController = gameObject.GetComponent <TopmanPlayerController> (); resetStateTimer = m_TimeInState; m_CooldownSlider.maxValue = m_BarrierCooldown; }
private void Start() { // The fire axis is based on the player number. m_DiveButton = "Dive" + m_PlayerNumber; playerController = gameObject.GetComponent <TopmanPlayerController> (); resetStateTimer = m_TimeBeforeLanding; rb = gameObject.GetComponent <Rigidbody>(); m_CooldownSlider.maxValue = m_DiveCooldown; }
private void OnEnable() { m_CurrentHealth = m_StartingHealth; m_Dead = false; m_Rigidbody = GetComponent <Rigidbody> (); playerController = gameObject.GetComponent <TopmanPlayerController>(); SetHealthUI(); m_Slider.maxValue = m_StartingHealth; //Lose Health every 2 seconds //InvokeRepeating("LoseHealth", 1.0f, 2f); }
private void Start() { // The fire axis is based on the player number. m_RushButton = "Rush" + m_PlayerNumber; h_MovementAxisName = "Horizontal" + m_PlayerNumber; v_MovementAxisName = "Vertical" + m_PlayerNumber; rb = GetComponent <Rigidbody>(); playerController = gameObject.GetComponent <TopmanPlayerController> (); ResetStateTimer = m_TimeInState; m_ChargeSpeed = (m_MaxLaunchForce - m_MinLaunchForce) / m_MaxChargeTime; m_AimSlider.value = 0f; //m_MinLaunchForce m_CooldownSlider.maxValue = m_RushCooldown; m_CurrentLaunchForce = m_MinLaunchForce; }
private void OnTriggerEnter(Collider other) { // Find all targets in an area within hitbox and damage them. Collider[] colliders = Physics.OverlapSphere(transform.position, transform.localScale.x / 2, m_TankMask); switch (currentType) { case HitboxType.STUN: break; case HitboxType.BARRIER: for (int i = 0; i < colliders.Length; i++) { Rigidbody targetRigidbody = colliders[i].GetComponent <Rigidbody>(); if (!targetRigidbody || targetRigidbody == m_OwnerRigidbody) { continue; } TopmanPlayerController targetPlayerController = colliders[i].GetComponent <TopmanPlayerController>(); if (!targetPlayerController) { continue; } if (targetPlayerController.currentState == TopmanPlayerController.StateMachine.DIVE) { continue; } targetRigidbody.velocity = new Vector3(0f, 0f, 0f); targetRigidbody.AddExplosionForce(m_ExplosionForce, transform.position, m_ExplosionRadius); TopmanStats targetHealth = targetRigidbody.GetComponent <TopmanStats>(); if (!targetHealth) { continue; } float damage = m_MaxDamage; targetHealth.TakeDamage(damage, m_HitStun); } break; case HitboxType.DIVE: for (int i = 0; i < colliders.Length; i++) { Rigidbody targetRigidbody = colliders[i].GetComponent <Rigidbody>(); if (!targetRigidbody || targetRigidbody == m_OwnerRigidbody) { continue; } TopmanPlayerController targetPlayerController = colliders[i].GetComponent <TopmanPlayerController>(); if (!targetPlayerController) { continue; } if (targetPlayerController.currentState == TopmanPlayerController.StateMachine.RUSH) { continue; } targetRigidbody.velocity = new Vector3(0f, 0f, 0f); targetRigidbody.AddExplosionForce(m_ExplosionForce, transform.position, m_ExplosionRadius); TopmanStats targetHealth = targetRigidbody.GetComponent <TopmanStats>(); if (!targetHealth) { continue; } float damage = CalculateDamage(targetRigidbody.position); targetHealth.TakeDamage(damage, m_HitStun); } gameObject.GetComponent <SphereCollider>().enabled = false; Destroy(gameObject); break; } }