// Returns if the person is trying to shoot and is allowed to per game rules protected bool isShooting() { if (FireGun.health() < 1) { return(false); } if (isShootingInput()) { if (shooting == false && loadedRounds > 0) { GetComponent <AudioSource> ().clip = fireSound; } return(true); } else { if (shooting) { if (Weapon.bulletsThisFrame < 1.0f && bulletsThisFrame > 0) { Weapon.bulletsThisFrame = 1.1f; } } return(false); //MuzzleFlash.GetComponent<Light>().enabled = false; } }
// Use this for initialization void Start() { firegun = gun.GetComponent <FireGun>(); player = GameObject.FindGameObjectWithTag("Player"); playerhealth = player.GetComponent <PlayerHealth>(); anim = gameObject.GetComponent <Animator>(); gun_manager_script = gun_manager.GetComponent <GunManager>(); Cursor.visible = false; }
// Update is called once per frame void FixedUpdate() { firegun = gun.GetComponent <FireGun>(); anim.speed = firegun.animation_speed; ammo_count = firegun.ammo_in_clip; ammo_display.text = ammo_count.ToString() + "/" + firegun.clip_size.ToString(); if (int.Parse(health_value_display.text) > playerhealth.Health) //if (string.Compare(health_value_display.text,playerhealth.Health.ToString()) > 0) { damaged_image.color = damaged_color; } else if (int.Parse(health_value_display.text) < playerhealth.Health) { damaged_image.color = health_color; } else { damaged_image.color = Color.Lerp(damaged_image.color, Color.clear, damaged_fade_speed * Time.deltaTime); } health_value_display.text = playerhealth.Health.ToString(); score_text.text = player_score.ToString(); if (playerhealth.Health <= 0) { gameover = true; final_score.text = "Final Score: " + score_text.text; foreach (var obj in hud_aspects) { obj.SetActive(false); } gameoverscreen.SetActive(true); Time.timeScale = 0.0F; Cursor.visible = true; } //display which gun we have for (int i = 0; i < gun_selected.Length; i++) { if (i == gun_manager_script.current_gun) { gun_selected[i].color = selected_color; gun_models[i].transform.Rotate(new Vector3(0, -45, 0) * Time.deltaTime); } else { gun_selected[i].color = not_selected_color; } } }
// Update is called once per frame void FixedUpdate() { firegun = gun.GetComponent<FireGun>(); anim.speed = firegun.animation_speed; ammo_count = firegun.ammo_in_clip; ammo_display.text = ammo_count.ToString() + "/" + firegun.clip_size.ToString(); if (int.Parse(health_value_display.text) > playerhealth.Health) //if (string.Compare(health_value_display.text,playerhealth.Health.ToString()) > 0) { damaged_image.color = damaged_color; } else if (int.Parse(health_value_display.text) < playerhealth.Health) { damaged_image.color = health_color; } else { damaged_image.color = Color.Lerp(damaged_image.color, Color.clear, damaged_fade_speed * Time.deltaTime); } health_value_display.text = playerhealth.Health.ToString(); score_text.text = player_score.ToString(); if (playerhealth.Health <= 0) { gameover = true; final_score.text = "Final Score: " + score_text.text; foreach (var obj in hud_aspects) { obj.SetActive(false); } gameoverscreen.SetActive(true); Time.timeScale = 0.0F; Cursor.visible = true; } //display which gun we have for (int i = 0; i < gun_selected.Length; i++) { if (i == gun_manager_script.current_gun) { gun_selected[i].color = selected_color; gun_models[i].transform.Rotate(new Vector3(0, -45, 0) * Time.deltaTime); } else { gun_selected[i].color = not_selected_color; } } }
private void Start() { fireGun = gameObject.GetComponent <FireGun>(); }
//----------------------------------------------------- // Setting up all AI behaviour components // // Move towards player, fire gun, repeat //----------------------------------------------------- void Start() { //Set health SetHealth(m_healthMax); //Set up varibles m_sequenceTop = gameObject.AddComponent <BehaviourSequence>(); m_selectorActions = gameObject.AddComponent <BehaviourSelector>(); //m_sequenceLaser = gameObject.AddComponent<BehaviourSequence>(); m_sequenceGun = gameObject.AddComponent <BehaviourSequence>(); m_sequenceMove = gameObject.AddComponent <BehaviourSequence>(); //m_actionGetDisLaser = gameObject.AddComponent<IsTargetCloseEnough>(); //m_actionFireLaser = gameObject.AddComponent<FireLaserbeam>(); //m_actionLaserCooldown = gameObject.AddComponent<CoolDown>(); m_selectorFiringGun = gameObject.AddComponent <BehaviourSelector>(); m_actionGetDisGun = gameObject.AddComponent <IsTargetCloseEnough>(); m_actionInfrontOfLedge = gameObject.AddComponent <InfrontOfLedge>(); m_actionStopMovement = gameObject.AddComponent <StopMovement>(); m_actionFireGun = gameObject.AddComponent <FireGun>(); m_actionGunCooldown = gameObject.AddComponent <CoolDown>(); m_actionGetDisMovement = gameObject.AddComponent <IsTargetCloseEnough>(); m_actionMovetowards = gameObject.AddComponent <MoveTowardsTarget>(); //Set up get target if (GameObject.FindWithTag("GameController").GetComponent <GameManager>().m_singlePlayer) { m_actionGetTarget = gameObject.AddComponent <GetTargetSinglePlayer>(); } else { switch (m_difficulty) { case Difficulty.Easy: { m_actionGetTarget = gameObject.AddComponent <GetTargetEasy>(); break; } case Difficulty.Medium: { m_actionGetTarget = gameObject.AddComponent <GetTargetMedium>(); break; } case Difficulty.Hard: { m_actionGetTarget = gameObject.AddComponent <GetTargetHard>(); break; } } } //Gun m_actionGetDisGun.m_targetDistance = m_gunFireDistance; m_actionFireGun.m_numberOfBullets = m_gunNumberOfShots; m_actionFireGun.m_timeBetweenShots = m_gunTimeBetweenShots; m_actionFireGun.m_bulletSpeed = m_gunBulletSpeed; m_actionFireGun.m_bulletSpawnPos = m_bulletSpawnPos; m_actionGunCooldown.m_coolDown = m_gunCooldown; m_actionFireGun.m_bullet = m_bulletPrefab; //Laser //m_actionGetDisLaser.m_targetDistance = m_laserFireDistance; //m_actionFireLaser.m_chargeRate = m_laserChargeTime; //m_actionLaserCooldown.m_coolDown = m_laserCooldown; //m_actionFireLaser.m_laserbeam = m_laserPrefab; //Movement m_actionGetDisMovement.m_targetDistance = m_moveTowardsRange; //Set up branches m_sequenceTop.m_behaviourBranches.Add(m_actionGetTarget as BehaviourBase); m_sequenceTop.m_behaviourBranches.Add(m_selectorActions); //m_selectorActions.m_behaviourBranches.Add(m_sequenceLaser); m_selectorActions.m_behaviourBranches.Add(m_sequenceGun); m_selectorActions.m_behaviourBranches.Add(m_sequenceMove); //m_sequenceLaser.m_behaviourBranches.Add(m_actionGetDisLaser); //m_sequenceLaser.m_behaviourBranches.Add(m_actionFireLaser); //m_sequenceLaser.m_behaviourBranches.Add(m_actionLaserCooldown); m_selectorFiringGun.m_behaviourBranches.Add(m_actionGetDisGun); m_selectorFiringGun.m_behaviourBranches.Add(m_actionInfrontOfLedge); m_sequenceGun.m_behaviourBranches.Add(m_selectorFiringGun); m_sequenceGun.m_behaviourBranches.Add(m_actionStopMovement); m_sequenceGun.m_behaviourBranches.Add(m_actionFireGun); m_sequenceGun.m_behaviourBranches.Add(m_actionGunCooldown); m_sequenceMove.m_behaviourBranches.Add(m_actionGetDisMovement); m_sequenceMove.m_behaviourBranches.Add(m_actionMovetowards); m_initalBehaviour = m_sequenceTop; }
// Checks for any player inputs and responds accordingly void CheckInputs() { switch (selectedWeapon) { case 1: fireGun = FirePos; break; case 2: fireGun = FireNeg; break; case 3: fireGun = FireMult; break; case 4: fireGun = FireDiv; break; case 5: fireGun = FireFac; break; default: Debug.LogError("Invalid weapon selection"); break; } if (Input.GetButton("Fire1")) { fireGun(); } if (Input.GetButton("Weapon1")) { selectedWeapon = 1; } if (Input.GetButton("Weapon2")) { selectedWeapon = 2; } if (Input.GetButton("Weapon3")) { selectedWeapon = 3; } if (Input.GetButton("Weapon4")) { selectedWeapon = 4; } if (Input.GetButton("Weapon5")) { selectedWeapon = 5; } if (Input.GetAxis("WeaponSwap") > 0 && Time.timeSinceLevelLoad - lastWeaponSwap > weaponSwapDelay && selectedWeapon < 5) { selectedWeapon++; lastWeaponSwap = Time.timeSinceLevelLoad; } if (Input.GetAxis("WeaponSwap") < 0 && Time.timeSinceLevelLoad - lastWeaponSwap > weaponSwapDelay && selectedWeapon > 1) { selectedWeapon--; lastWeaponSwap = Time.timeSinceLevelLoad; } gui.GetComponent <oldWeaponMgr>().ChangeWeapon(selectedWeapon); selectedWeapon = Mathf.Clamp(selectedWeapon, 1, 5); }
//----------------------------------------------------- // Setting up all AI behaviour components // // Fire left claw, fire right and laser at same time //----------------------------------------------------- void Start() { //Set health SetHealth(m_healthMax); m_sequenceTop = gameObject.AddComponent <BehaviourSequence>(); m_firingParallel = gameObject.AddComponent <BehaviourParallel>(); m_sequenceLeftGun = gameObject.AddComponent <BehaviourSequence>(); m_sequenceRightGun = gameObject.AddComponent <BehaviourSequence>(); m_sequenceLaser = gameObject.AddComponent <BehaviourSequence>(); m_actionGetTarget = gameObject.AddComponent <BehaviourBase>(); //LeftClaw m_actionFireLeftGun = gameObject.AddComponent <FireGun>(); //RightClaw m_actionFireRightGun = gameObject.AddComponent <FireGun>(); //Both Claws m_actionGetDisGun = gameObject.AddComponent <IsTargetCloseEnough>(); m_actionGunCooldown = gameObject.AddComponent <CoolDown>(); //Laser m_actionGetDisLaser = gameObject.AddComponent <IsTargetCloseEnough>(); m_actionFireLaser = gameObject.AddComponent <FireLaserbeam>(); m_actionLaserCooldown = gameObject.AddComponent <CoolDown>(); //Set up get target if (GameObject.FindWithTag("GameController").GetComponent <GameManager>().m_singlePlayer) { m_actionGetTarget = gameObject.AddComponent <GetTargetSinglePlayer>(); } else { switch (m_difficulty) { case Difficulty.Easy: { m_actionGetTarget = gameObject.AddComponent <GetTargetEasy>(); break; } case Difficulty.Medium: { m_actionGetTarget = gameObject.AddComponent <GetTargetMedium>(); break; } case Difficulty.Hard: { m_actionGetTarget = gameObject.AddComponent <GetTargetHard>(); break; } } } //Left gun m_actionGetDisGun.m_targetDistance = m_gunFireDistance; m_actionFireLeftGun.m_numberOfBullets = m_gunNumberOfShots; m_actionFireLeftGun.m_timeBetweenShots = m_gunTimeBetweenShots; m_actionFireLeftGun.m_bulletSpeed = m_gunBulletSpeed; m_actionFireLeftGun.m_bulletSpawnPos = m_leftClawPos; m_actionFireLeftGun.m_bullet = m_bulletPrefab; m_actionGunCooldown.m_coolDown = m_gunCooldown; //Right gun m_actionGetDisGun.m_targetDistance = m_gunFireDistance; m_actionFireRightGun.m_numberOfBullets = m_gunNumberOfShots; m_actionFireRightGun.m_timeBetweenShots = m_gunTimeBetweenShots; m_actionFireRightGun.m_bulletSpeed = m_gunBulletSpeed; m_actionFireRightGun.m_bulletSpawnPos = m_rightClawPos; m_actionFireRightGun.m_bullet = m_bulletPrefab; m_actionGunCooldown.m_coolDown = m_gunCooldown; //Laser m_actionGetDisLaser.m_targetDistance = m_laserFireDistance; m_actionFireLaser.m_chargeRate = m_laserChargeTime; m_actionFireLaser.m_laserSpawnPos = m_laserPos; m_actionFireLaser.m_laserFriendlyFire = m_laserFriendlyFire; m_actionFireLaser.m_laserFollowing = m_laserFollowing; m_actionFireLaser.m_laserbeam = m_laserPrefab; m_actionLaserCooldown.m_coolDown = m_laserCooldown; //Set up branches m_sequenceTop.m_behaviourBranches.Add(m_actionGetTarget as BehaviourBase); m_sequenceTop.m_behaviourBranches.Add(m_sequenceLeftGun); m_sequenceTop.m_behaviourBranches.Add(m_firingParallel); m_firingParallel.m_behaviourBranches.Add(m_sequenceLaser); m_firingParallel.m_behaviourBranches.Add(m_sequenceRightGun); m_sequenceLeftGun.m_behaviourBranches.Add(m_actionGetDisGun); m_sequenceLeftGun.m_behaviourBranches.Add(m_actionFireLeftGun); m_sequenceLeftGun.m_behaviourBranches.Add(m_actionGunCooldown); m_sequenceRightGun.m_behaviourBranches.Add(m_actionGetDisGun); m_sequenceRightGun.m_behaviourBranches.Add(m_actionFireRightGun); m_sequenceRightGun.m_behaviourBranches.Add(m_actionGunCooldown); m_sequenceLaser.m_behaviourBranches.Add(m_actionGetDisLaser); m_sequenceLaser.m_behaviourBranches.Add(m_actionFireLaser); m_sequenceLaser.m_behaviourBranches.Add(m_actionLaserCooldown); m_initalBehaviour = m_sequenceTop; }
// Use this for initialization void Start() { firegun = gun.GetComponent<FireGun>(); player = GameObject.FindGameObjectWithTag("Player"); playerhealth = player.GetComponent<PlayerHealth>(); anim = gameObject.GetComponent<Animator>(); gun_manager_script = gun_manager.GetComponent<GunManager>(); Cursor.visible = false; }