void Start() { _load = FindObjectOfType <PlayerReload>(); if (isStartFade) { StartCoroutine(FadeIN()); } }
void normalReload() { PlayerReload playerReload = this.gameObject.GetComponent <PlayerReload>(); fireRate = 15f; playerReload.maxAmmo = 4; playerReload.ReloadAction(4); ParticleSystem infAmmoParticleSystem = this.transform.Find("InfAmmo").GetComponent <ParticleSystem>(); infAmmoParticleSystem.enableEmission = false; }
// Use this for initialization void Awake() { rb = GetComponent <Rigidbody2D>(); playerHealth = playerHealthObject.GetComponent <PlayerHealth>(); playerReload = playerReloadObject.GetComponent <PlayerReload>(); playerReload.reloadSpeed = ReloadSpeed; animator = GetComponent <Animator>(); soundManager = GetComponentInChildren <PlayerSoundManager>(); nextBullet = Bullet; currentPatrolIndex = 0; currentPatrolPoint = patrolPoints[currentPatrolIndex]; }
void applyRandomPowerUp() { float randomNum = Random.value; Vector3 position; if (randomNum <= 0.1) { // Damage all enemies power up GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject enemy in enemies) { HealthManager healthManager = enemy.GetComponent <HealthManager>(); healthManager.ApplyDamage(200); } } else if (randomNum <= 0.4 && randomNum > 0.1) { // Infinite Ammo Power Up PlayerReload playerReload = GetComponent <PlayerReload>(); playerReload.maxAmmo = 300; playerReload.ReloadAction(300); fireRate = 1000000f; ParticleSystem infAmmoParticleSystem = this.transform.Find("InfAmmo").GetComponent <ParticleSystem>(); infAmmoParticleSystem.enableEmission = true; Invoke("normalReload", 5); } else if (randomNum <= 0.7 && randomNum > 0.4) { // Health Buff Power Up PlayerHealth playerHealth = this.gameObject.GetComponent <PlayerHealth>(); playerHealth.maxHealth = 10000; HealthManager healthManager = GetComponentInParent <HealthManager>(); healthManager.currentHealth = 10000; playerHealth.OnEnable(); playerHealth.ModifyHealth(0); GameObject forceField = this.transform.Find("ForceField").gameObject; forceField.SetActive(true); Invoke("normalHealth", 5); } else { // Score Multiplier Power Up ScoreManager.killValue *= 2; InGameController inGameController = GameObject.Find("InGameController").GetComponent <InGameController>(); inGameController.multiplier = true; Invoke("normalScore", 20); } }
// Interpolate damage dealt so heal decreases gradually private IEnumerator ChangeFromPercent(float percent) { PlayerReload playerReload = GetComponentInParent <PlayerReload>(); float preAmmoPercent = percent; float elapsed = 0f; while (foregroundImage.fillAmount < 1) { elapsed += Time.deltaTime; foregroundImage.fillAmount = Mathf.Lerp(preAmmoPercent, 100, elapsed / updateSpeedSeconds); yield return(null); } playerReload.currentAmmo = playerReload.maxAmmo; }
// Use this for initialization void Awake() { rb = GetComponent <Rigidbody2D>(); playerHealth = playerHealthObject.GetComponent <PlayerHealth>(); playerReload = playerReloadObject.GetComponent <PlayerReload>(); playerReload.reloadSpeed = ReloadSpeed; animator = GetComponent <Animator>(); soundManager = GetComponentInChildren <PlayerSoundManager>(); nextBullet = Bullet; if (SecondPlayer) { vAxisName += "Second"; hAxisName += "Second"; attackAxisName += "Second"; } }
public static void InvokePlayerReload(GameObject player, ref bool allow) { PlayerReload playerReload = PlayerReloadEvent; if (playerReload == null) { return; } PlayerReloadEvent ev = new PlayerReloadEvent { Player = Player.GetPlayer(player), Allow = allow }; playerReload.Invoke(ref ev); allow = ev.Allow; }
// MOCK private void buildBoundries(Stage level) { float minX, maxX, minY, maxY, minZ, maxZ; minX = maxX = minY = maxY = minZ = maxZ = 0; //discovering the min and max boxes foreach (var item in level.board) { if (item.type.Contains("extra")) { continue; } if (item.position.x < minX) { minX = item.position.x; } if (item.position.x > maxX) { maxX = item.position.x; } if (item.position.y < minY) { minY = item.position.y; } if (item.position.y > maxY) { maxY = item.position.y; } if (item.position.z < minZ) { minZ = item.position.z; } if (item.position.z > maxZ) { maxZ = item.position.z; } } GameObject[] stageCollider = GameObject.FindGameObjectsWithTag("stage_collider"); float maxHeight = maxY; //Z Boundaries stageCollider[0].transform.localScale = new Vector3((maxX + 1) - (minX - 1), maxHeight * 2, 1); stageCollider[0].transform.position = new Vector3(0, 0, minZ - 1); stageCollider[1].transform.localScale = stageCollider[0].transform.localScale; stageCollider[1].transform.position = new Vector3(0, 0, maxZ + 1); //new Vector3(0,0,-(length + 1)/2); // X Boundaries stageCollider[2].transform.localScale = new Vector3(1, maxHeight * 2, (maxZ + 1) - (minZ - 1)); stageCollider[2].transform.position = new Vector3(maxX + 1, 0, 0); //new Vector3((length+1)/2,0,0); stageCollider[3].transform.localScale = stageCollider[2].transform.localScale; stageCollider[3].transform.position = new Vector3(minX - 1, 0, 0); //new Vector3(-(length+1)/2,0,0); // Y Boundaries stageCollider[4].transform.localScale = new Vector3(maxHeight, 1, maxHeight); stageCollider[4].transform.position = new Vector3(0, maxHeight * 2, 0); stageCollider[5].transform.localScale = stageCollider[4].transform.localScale; stageCollider[5].transform.position = new Vector3(0, -1, 0); stageCollider[5].name = "bottom"; PlayerReload reload = player.GetComponent <PlayerReload>(); reload.setPlayerInitialPos(currentStage.playerPosition); }
// Update is called once per frame void Update() { positionOnScreen = Camera.main.WorldToViewportPoint(transform.position); mouseOnScreen = (Vector2)Camera.main.ScreenToViewportPoint(Input.mousePosition); angle = AngleBetweenTwoPoints(positionOnScreen, mouseOnScreen) * -1 + 180; // rotate player to face mouse transform.rotation = Quaternion.Euler(new Vector3(0f, angle, 0)); lDirection = new Vector3(Mathf.Sin(Mathf.Deg2Rad * angle), 0, Mathf.Cos(Mathf.Deg2Rad * angle)); // Getting Keyboard Inputs forwardDirection = Input.GetAxis("Vertical"); sideDirection = Input.GetAxis("Horizontal"); // Move the player forwardVelocity = Vector3.right * forwardDirection * speed * Time.deltaTime * -1; sideVelocity = Vector3.forward * sideDirection * speed * Time.deltaTime; currentVelocity = forwardVelocity + sideVelocity; rb.velocity = Vector3.zero; rb.position = rb.position + currentVelocity; rb.position = new Vector3(rb.position.x, 0, rb.position.z); pos = rb.position; pos.x = Mathf.Clamp(pos.x, 1f, 39f); pos.z = Mathf.Clamp(pos.z, 1f, 79f); rb.position = pos; if (Input.anyKey) { anim.SetInteger("AnimationPar", 1); } else { anim.SetInteger("AnimationPar", 0); } PlayerReload playerReload = GetComponent <PlayerReload>(); if (Input.GetKey(KeyCode.R)) { reloadingAudioSrc.Play(); tempAmmo = playerReload.currentAmmo; playerReload.currentAmmo = 0; playerReload.ReloadAction((int)tempAmmo); } if (Input.GetMouseButtonDown(0) && Time.time >= nextTimeToFire) { timer = 0.0f; nextTimeToFire = Time.time + 1f / fireRate; if (playerReload.currentAmmo > 0) { // play shooting sound shootingAudioSrc.Play(); mouseScreenPos = Input.mousePosition; float distanceFromCameraToXZPlane = Camera.main.transform.position.y; screenPosWithZDistance = (Vector3)mouseScreenPos + (Vector3.forward * distanceFromCameraToXZPlane); fireToWorldPos = Camera.main.ScreenToWorldPoint(screenPosWithZDistance); fireToWorldPos.y = 0; BulletController p = Instantiate <BulletController>(bulletPrefab); GameObject firePoint = this.transform.Find("FirePoint").gameObject; p.transform.position = firePoint.transform.position; p.velocity = (lDirection).normalized * 10.0f; // Uncomment when merge together GameObject pBullet = p.transform.Find("Projectile").gameObject; pBullet.transform.eulerAngles = new Vector3(pBullet.transform.eulerAngles.x, angle, pBullet.transform.eulerAngles.z); playerReload.ModifyAmmo(-1); } } PowerUpParticleSystem = GameObject.Find("PowerUpParticleSystem").GetComponent <ParticleSystem>(); if (Input.GetKey(KeyCode.E) && (Vector3.Distance(new Vector3(20, 0, 40), this.transform.position) < powerPickUpRange)) { if (PowerUpParticleSystem.enableEmission) { PowerUpParticleSystem.enableEmission = false; GameObject[] powerUps = GameObject.FindGameObjectsWithTag("PowerUp"); foreach (GameObject powerUp in powerUps) { GameObject.Destroy(powerUp); } // Do power up applyRandomPowerUp(); } } }
void Start() { _reload = transform.parent.GetComponent <PlayerReload>(); }