/// <summary> /// 保存最高分 /// </summary> public void SaveScore() { /*判断难度确定要保存的分数类型*/ if (TotalManger.GetDifficulty() == "easy") { /*判断当前分数是否高于最高分*/ if (TotalManger.GetHighScoreE() < score) { TotalManger.SaveHighScoreE(score); } } else if (TotalManger.GetDifficulty() == "normal") { /*判断当前分数是否高于最高分*/ if (TotalManger.GetHighScoreN() < score) { TotalManger.SaveHighScoreN(score); } } else if (TotalManger.GetDifficulty() == "hard") { /*判断当前分数是否高于最高分*/ if (TotalManger.GetHighScoreH() < score) { TotalManger.SaveHighScoreH(score); } } }
public void GetValues() { foreach (var item in audioEffects) { item.volume = audioSlider.value; } /*存储音量信息*/ TotalManger.SaveAudioEffectValue(audioSlider.value); }
void Start() { /*获取子物体中的音效*/ audioEffects = GetComponentsInChildren <AudioSource>(); /*游戏开始时初始化音量为设置好的音量*/ foreach (var item in audioEffects) { item.volume = TotalManger.GetAudioEffectValue(); } audioSlider.value = TotalManger.GetAudioEffectValue(); }
void Update() { /*根据难度判断当前要显示的最高分*/ if (TotalManger.GetDifficulty() == "easy") { scoreInDiff = TotalManger.GetHighScoreE(); } else if (TotalManger.GetDifficulty() == "normal") { scoreInDiff = TotalManger.GetHighScoreN(); } else if (TotalManger.GetDifficulty() == "hard") { scoreInDiff = TotalManger.GetHighScoreH(); } /*显示想象力*/ imageScore.text = "想象力:" + Manager_Update.imageScore; /*显示得分*/ score.text = "得分:" + scoreManger.GetComponent <ManagerScore>().score; nowScore.text = "当前得分:" + scoreManger.GetComponent <ManagerScore>().score; HighScore.text = "最高分:" + scoreInDiff; /*显示血量*/ hp.text = "血量:" + player.GetComponent <Life_Player_EndlessGame>().hp; hpSlider.value = player.GetComponent <Life_Player_EndlessGame>().hp; hpSlider.maxValue = player.GetComponent <Life_Player_EndlessGame>().maxHp; /*显示子弹数目*/ if (changeWeapon.GetComponent <ChangeWeapon>().weaponState == ChangeWeapon.Weapon.grenadeGun) { bulletsOfGun.text = grenadeGun.GetComponent <Weapon_GrenadeGun>().WeaponName + ":" + grenadeGun.GetComponent <Weapon_GrenadeGun>().bulletsLeft; } else if (changeWeapon.GetComponent <ChangeWeapon>().weaponState == ChangeWeapon.Weapon.rifle) { bulletsOfGun.text = rifle.GetComponent <Weapon_Rifle>().WeaponName + ":" + rifle.GetComponent <Weapon_Rifle>().bulletsLeft; } else { bulletsOfGun.text = shotGun.GetComponent <Weapon_ShotGun>().WeaponName + ":" + shotGun.GetComponent <Weapon_ShotGun>().bulletsLeft; } bulletsOfBomb.text = "炸弹:" + bomb.GetComponent <Weapon_Bomb_Cast>().bulletsLeft; }
void OnCollisionEnter(Collision other) { /*播放特效*/ GameObject theEffect = Instantiate(boomEffect, transform.position, transform.rotation); theEffect.SetActive(true); /*播放声音*/ GameObject theSound = Instantiate(boomSound, transform.position, transform.rotation); theSound.GetComponent <AudioSource>().Play(); /*攻击*/ Collider[] colliders = Physics.OverlapSphere(transform.position, boomRang); foreach (var item in colliders) { if (item.GetComponent <Rigidbody>()) { /*攻击到敌人*/ if (item.tag == "Enemy") { item.GetComponent <Life_Enemy>().StopMove(0.5f); item.GetComponent <Rigidbody>().AddExplosionForce(boomPower * 8, transform.position, boomRang); /*通过距离计算伤害*/ item.GetComponent <Life_Enemy>().TakeDemage(boomDemage / (Vector3.Distance(transform.position, item.transform.position))); } else if (item.tag == "Player")//击中玩家 { item.GetComponent <Rigidbody>().AddExplosionForce(boomPower * 3, transform.position, boomRang); if (TotalManger.GetDifficulty() != "easy") { item.GetComponent <Life_Player_EndlessGame>().TakeDemage((boomDemage / (Vector3.Distance(transform.position, item.transform.position))) / 15); } } else//击中其他物体 { item.GetComponent <Rigidbody>().AddExplosionForce(boomPower, transform.position, boomRang); } } } /*销毁物体*/ Destroy(gameObject); }
void Start() { /*判断难度*/ if (TotalManger.GetDifficulty() == "easy") { shortTime = 0.05f; bunnyReBuiltTime = 9; bearReBuiltTime = 8.5f; hellephantReBuiltTime = 15; } else if (TotalManger.GetDifficulty() == "normal") { shortTime = 0.08f; bunnyReBuiltTime = 5f; bearReBuiltTime = 7; hellephantReBuiltTime = 9; } else { shortTime = 0.085f; bunnyReBuiltTime = 3.8f; bearReBuiltTime = 5f; hellephantReBuiltTime = 6.5f; } /*buny*/ bunny.time = bunnyReBuiltTime; bunny.obj = EnemyBunny; /*bear*/ bear.time = bearReBuiltTime; bear.obj = EnemyBear; /*hellephant*/ hellephant.time = hellephantReBuiltTime; hellephant.obj = EnemyHellephant; /*enemy初始化*/ enemy = bear; }
void Start() { easyScore.text = TotalManger.GetHighScoreE() + ""; normalScore.text = TotalManger.GetHighScoreN() + ""; hardScore.text = TotalManger.GetHighScoreH() + ""; }
void Start() { GetComponent <AudioSource>().volume = TotalManger.GetMusicValue(); audioSlider.value = TotalManger.GetMusicValue(); }
public void GetValue() { GetComponent <AudioSource>().volume = audioSlider.value; TotalManger.SaveMusicValue(audioSlider.value); }
void Update() { /*计时*/ timer += Time.deltaTime; /*及时完成后发生爆炸*/ if (timer >= boomTime && !booming) { /*切换状态*/ booming = true; /*播放特效灯光*/ GameObject theEffect = Instantiate(boomEffect, transform.position, transform.rotation); theEffect.SetActive(true); /*播放音效*/ GameObject theBoomSound = Instantiate(boomSound, transform.position, transform.rotation); theBoomSound.GetComponent <AudioSource>().Play(); /*造成伤害*/ Collider[] colliders = Physics.OverlapSphere(transform.position, boomRang); foreach (var item in colliders) { if (item.GetComponent <Rigidbody>()) { /*攻击到敌人*/ if (item.tag == "Enemy") { item.GetComponent <Life_Enemy>().StopMove(0.5f); item.GetComponent <Rigidbody>().AddExplosionForce(boomPower * 8, transform.position, boomRang); /*根据距离计算伤害*/ item.GetComponent <Life_Enemy>().TakeDemage(boomDemage / (Vector3.Distance(transform.position, item.transform.position))); } else if (item.tag == "Player")//击中玩家 { item.GetComponent <Rigidbody>().AddExplosionForce(boomPower * 3, transform.position, boomRang); /*简单难度不受伤害*/ if (TotalManger.GetDifficulty() != "easy") { item.GetComponent <Life_Player_EndlessGame>().TakeDemage((boomDemage / (Vector3.Distance(transform.position, item.transform.position))) / 15); } } else//击中其他物体 { item.GetComponent <Rigidbody>().AddExplosionForce(boomPower, transform.position, boomRang); } } } Collider[] colliders2 = Physics.OverlapSphere(transform.position, 50); foreach (var item in colliders2) { if (item.GetComponent <Rigidbody>()) { /*攻击到敌人*/ if (item.tag == "Enemy") { /*停止吸引炸弹*/ item.GetComponent <Life_Enemy>().interestInBomb = false; } } } /*销毁物体*/ Destroy(gameObject); } }
/*设置难度*/ public void SetDifficulty(string str) { TotalManger.SaveDifficulty(str); }
/*初始化*/ void Awake() { TotalManger.ReSet(); }
void FixedUpdate() { /*活着的时候*/ if (!enemyAnima.GetBool("death")) { /*跟随主角*/ if (!interestInBomb) { if (agent.isActiveAndEnabled) { agent.SetDestination(playerPosi.position); } } /*动画播放*/ if (GetComponent <Rigidbody>().velocity == Vector3.zero) { enemyAnima.SetBool("move", false); } else { enemyAnima.SetBool("move", true); } /*白天的时候*/ if (Manager_DayChange.dayState == Manager_DayChange.Day.day) { /*扣血*/ if (TotalManger.GetDifficulty() == "easy") { hp -= 15 * Time.deltaTime; } else if (TotalManger.GetDifficulty() == "normal") { hp -= 10 * Time.deltaTime; } else if (TotalManger.GetDifficulty() == "hard") { hp -= 7 * Time.deltaTime; } /*着火*/ onFire.Play(); } else { /*不着火*/ onFire.Stop(); } /*死亡控制*/ if (hp <= 0) { /*关闭自动寻路*/ agent.enabled = false; /*播放死亡音效*/ deathSound.Play(); /*播放死亡动画*/ enemyAnima.SetBool("death", true); /*关掉碰撞器(沉入地下)*/ GetComponent <Collider>().enabled = false; /*两秒后销毁物体*/ Invoke("DestroyIt", 2f); } } }