Exemplo n.º 1
0
 /// <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);
         }
     }
 }
Exemplo n.º 2
0
 public void GetValues()
 {
     foreach (var item in audioEffects)
     {
         item.volume = audioSlider.value;
     }
     /*存储音量信息*/
     TotalManger.SaveAudioEffectValue(audioSlider.value);
 }
Exemplo n.º 3
0
    void Start()
    {
        /*获取子物体中的音效*/
        audioEffects = GetComponentsInChildren <AudioSource>();

        /*游戏开始时初始化音量为设置好的音量*/
        foreach (var item in audioEffects)
        {
            item.volume = TotalManger.GetAudioEffectValue();
        }
        audioSlider.value = TotalManger.GetAudioEffectValue();
    }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 6
0
    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;
    }
Exemplo n.º 7
0
 void Start()
 {
     easyScore.text   = TotalManger.GetHighScoreE() + "";
     normalScore.text = TotalManger.GetHighScoreN() + "";
     hardScore.text   = TotalManger.GetHighScoreH() + "";
 }
Exemplo n.º 8
0
 void Start()
 {
     GetComponent <AudioSource>().volume = TotalManger.GetMusicValue();
     audioSlider.value = TotalManger.GetMusicValue();
 }
Exemplo n.º 9
0
 public void GetValue()
 {
     GetComponent <AudioSource>().volume = audioSlider.value;
     TotalManger.SaveMusicValue(audioSlider.value);
 }
Exemplo n.º 10
0
    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);
        }
    }
Exemplo n.º 11
0
 /*设置难度*/
 public void SetDifficulty(string str)
 {
     TotalManger.SaveDifficulty(str);
 }
Exemplo n.º 12
0
 /*初始化*/
 void Awake()
 {
     TotalManger.ReSet();
 }
Exemplo n.º 13
0
    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);
            }
        }
    }