/// <summary> /// Captures the player completion of the course and the order that the player completed. /// </summary> /// <param name="player">Player that just completed race.</param> private void CapturePlayerCompletion(Collider player) { PlayerLifeHandler lifeHandler = player.gameObject.GetComponent <PlayerLifeHandler>(); if (player.tag == "PlayerOne") { gameTime.PlayerOneActive = false; lifeHandler.CompletedCourse(); completionOrder[index] = 1; } else if (player.tag == "PlayerTwo") { gameTime.PlayerTwoActive = false; lifeHandler.CompletedCourse(); completionOrder[index] = 2; } ++index; if (index == 2) { AllPlayersFinished(); } else if (playerTwoUI == null && index == 1) { AllPlayersFinished(); } }
internal void Start() { playerOne = GameObject.FindGameObjectWithTag("PlayerOne"); playerTwo = GameObject.FindGameObjectWithTag("PlayerTwo"); playerCameras = GameObject.FindGameObjectsWithTag("MainCamera"); playerOneUI = GameObject.FindGameObjectWithTag("PlayerOneUI"); playerTwoUI = GameObject.FindGameObjectWithTag("PlayerTwoUI"); playerOneLifeHander = playerOne.GetComponent <PlayerLifeHandler>(); playerTwoLifeHander = playerTwo.GetComponent <PlayerLifeHandler>(); DisablePlayerMode(); if (Enabled) { currentLerpTime = 0; currentLocation = 0; startTransform = Locations[0].transform; fadeController = this.gameObject.GetComponent <PlayerLifeHandler>(); fadeController.BlackToClear(); runClose = false; } else { EnablePlayerMode(); } popUpMessageCanvas = new CanvasGroup[PopUpMessages.Length]; for (int i = 0; i < PopUpMessages.Length; ++i) { popUpMessageCanvas[i] = PopUpMessages[i].GetComponent <CanvasGroup>(); } }
private void Awake() { charController = GetComponent <CharacterController>(); headBob = transform.Find("Camera").GetComponent <Headbob>(); lifeHandler = GetComponent <PlayerLifeHandler>(); cameraChild = transform.Find("Camera"); localViewAnimator = transform.Find("LocalViewAvatarContainer").GetChild(0).GetComponent <Animator>(); enemyViewAnimator = transform.Find("Avatar").GetComponent <Animator>(); animParamSpeed = Animator.StringToHash("MoveSpeed"); animParamSlide = Animator.StringToHash("IsSliding"); animParamClimb = Animator.StringToHash("IsClimbing"); animParamVault = Animator.StringToHash("IsVaulting"); animParamJump = Animator.StringToHash("IsJumping"); animParamHeight = Animator.StringToHash("PlayerHeight"); animParamYOffset = Animator.StringToHash("AvatarYOffset"); animParamCameraY = Animator.StringToHash("CameraYOffset"); animParamCameraZ = Animator.StringToHash("CameraZOffset"); RunSpeed = DefaultRunSpeed; velocity = Vector3.zero; midAirChecksEnabled = true; wasGrounded = false; hasOverhead = false; previousHasOverhead = false; currentMotion = DefinedMotion.NONE; motionTargets = new List <Vector3>(); }
public Sniper(float rotationSpeed, GameObject[] activationColliders, GameObject sniper, float shootDelay, float speedPenalty, float damage, AudioSource sniperFire, Vector3[] colorSet) : base(rotationSpeed, sniper) { this.sniper = sniper; this.playerOne = GameObject.FindGameObjectWithTag("PlayerOne"); this.playerTwo = GameObject.FindGameObjectWithTag("PlayerTwo"); playerOneHealth = playerOne.GetComponent <PlayerHealth>(); playerOneLifeHandler = playerOne.GetComponent <PlayerLifeHandler>(); PlayerSlow playerOneSlow = playerOne.GetComponent <PlayerSlow>(); playerTwoHealth = null; playerTwoLifeHandler = null; PlayerSlow playerTwoSlow = null; if (playerTwo != null) { playerTwoHealth = playerTwo.GetComponent <PlayerHealth>(); playerTwoSlow = playerTwo.GetComponent <PlayerSlow>(); playerTwoLifeHandler = playerTwo.GetComponent <PlayerLifeHandler>(); } HitFlash hitFlash = GameObject.FindGameObjectWithTag("GameManager").GetComponent <HitFlash>(); colliders = new BoxCollider[activationColliders.Length]; for (int i = 0; i < activationColliders.Length; ++i) { colliders[i] = activationColliders[i].GetComponent <BoxCollider>(); } Random.seed = System.Environment.TickCount; lineRenderer = sniper.GetComponent <LineRenderer>(); currentTarget = Vector3.zero; previousDirection = new Vector3(1000f, 1000f, 1000f); inverseIgnoredColliders = ~(1 << LayerMask.NameToLayer("SniperCollider") | 1 << LayerMask.NameToLayer("Checkpoint") | 1 << LayerMask.NameToLayer("Drone")); targetedPlayer = 0; heightOffset = new Vector3(0, playerOne.GetComponent <CharacterController>().center.y, 0); transformScale = new Vector3(1.0f / sniper.transform.lossyScale.x, 1.0f / sniper.transform.lossyScale.y, 1.0f / sniper.transform.lossyScale.z); sniperWeapon = new SniperWeapon(damage, shootDelay, playerOneHealth, playerTwoHealth, playerOneSlow, playerTwoSlow, sniperFire, hitFlash, speedPenalty); Vector3 rgb = colorSet[ColorIndex(shootDelay, damage, speedPenalty)]; Color threatColor = new Color(rgb[0] / 255f, rgb[1] / 255f, rgb[2] / 255f, 1); sniper.GetComponent <LineRenderer>().SetColors(threatColor, threatColor); if (colliders.Length > 0) { GenerateRandomTarget(); } }