internal void Awake() { if (this.gameObject.tag == "PlayerOne" || this.gameObject.tag == "PlayerTwo") { firstPersonMovement = this.gameObject.GetComponent <FirstPersonMovement>(); playerHealth = GetComponent <PlayerHealth>(); checkpoint = GetComponent <CheckpointController>(); playerSlow = GetComponent <PlayerSlow>(); GameObject Player2 = GameObject.FindGameObjectWithTag("PlayerTwo"); if (Player2 != null) { Fadeout.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width / 2.0f, Screen.height); } else { Fadeout.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, Screen.height); } } else { Fadeout.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, Screen.height); } Fadeout.enabled = false; Fadeout.color = Color.clear; totalFadeout = 0.0f; completedCourse = false; }
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(); } }
public SniperWeapon(float damage, float shootRate, PlayerHealth playerOneHealth, PlayerHealth playerTwoHealth, PlayerSlow playerOneSlow, PlayerSlow playerTwoSlow, AudioSource sniperFireSound, HitFlash hitFlash, float speedPenalty) : base(damage, shootRate, hitFlash, playerOneHealth, playerTwoHealth) { this.playerOneSlow = playerOneSlow; this.playerTwoSlow = playerTwoSlow; this.sniperFireSound = sniperFireSound; this.speedPenalty = speedPenalty; }