void Start() { if (isHuman) { Time.timeScale = 1; Cursor.SetCursor(cursor, new Vector2(cursor.width / 2, cursor.height / 2), CursorMode.Auto); if (startingPowerUp.Equals(PowerUpType.SPLIT)) { powerUp = new PowerUp(startingPowerUp); launcher.projectileType = ProjectileType.getSpread(0.1f, startingPowerUpStacks); } else if (startingPowerUp.Equals(PowerUpType.TRACKING)) { powerUp = new PowerUp(startingPowerUp); launcher.projectileType = ProjectileType.getSpread(0.1f, startingPowerUpStacks); launcher.isSeeking = true; } else { launcher.projectileType = ProjectileType.getRegular(0.1f); } horizontalAxis = Vector3.Normalize(Vector3.right + (Vector3.forward * -1)); verticalAxis = Vector3.Normalize(Vector3.right + Vector3.forward); isRunning = false; rb = GetComponent <Rigidbody>(); animator = GetComponent <Animator>(); lineRenderer = GetComponent <LineRenderer>(); lineRenderer.positionCount = 2; currentMoveSpeed = walkSpeed; aimDirection = launcher.transform.forward; isAirborne = false; } else { if (startingPowerUp.Equals(PowerUpType.SPLIT)) { launcher.projectileType = ProjectileType.getSpread(0.1f, startingPowerUpStacks); } else if (startingPowerUp.Equals(PowerUpType.TRACKING)) { launcher.projectileType = ProjectileType.getSpread(0.1f, startingPowerUpStacks); launcher.isSeeking = true; } else { launcher.projectileType = ProjectileType.getRegular(0.1f); } navAgent = GetComponent <NavMeshAgent>(); isRunning = false; rb = GetComponent <Rigidbody>(); animator = GetComponent <Animator>(); isAirborne = false; playerInRange = false; } }
public void PowerUp(PowerUpType powerUpType) { if (powerUpType.Equals(PowerUpType.HEALTH)) { float newHealth = health + 20; if (newHealth > maxHealth) { health = maxHealth; } else { health = newHealth; } } else if (powerUp == null || !powerUp.getType().Equals(powerUpType)) { powerUp = new PowerUp(powerUpType); if (powerUpType.Equals(PowerUpType.SPLIT)) { launcher.isSeeking = false; launcher.projectileType = ProjectileType.getSpread(0.1f, 1); } if (powerUpType.Equals(PowerUpType.TRACKING)) { launcher.isSeeking = true; launcher.projectileType = ProjectileType.getSpread(0.1f, 0); } } else { if (powerUp.getStackCount() < 3) { if (powerUpType.Equals(PowerUpType.SPLIT)) { launcher.projectileType = ProjectileType.getSpread(0.1f, ++powerUp.stackCount); } else if (powerUpType.Equals(PowerUpType.TRACKING)) { launcher.projectileType = ProjectileType.getSpread(0.1f, ++powerUp.stackCount - 1); } } } }