Exemple #1
0
 protected virtual void Start()
 {
     DotResp       = transform.position;//запишем точку респы
     ch_controller = GetComponent <CharacterController>();
     ch_animator   = GetComponent <Animator>();
     canMove       = true;
     HP            = maxHP;
     HPBarController.InitHP(HP);                                                    //инит шкалу здоровья
     EffectDamage = transform.Find("DamageEffect").GetComponent <ParticleSystem>(); //инит эффект урона
     EffectDrift  = transform.Find("DriftEffect").GetComponent <ParticleSystem>();  //инит эффект урона
     EffectDead   = transform.Find("DeadEffect").gameObject;                        //инит эффект смерти
     //  EffectHill = transform.Find("HillEffect").GetComponent<ParticleSystem>();//инит эффект хила
     Kills    = 0;
     Deads    = 0;
     MyKiller = null;
     if (photonView.isMine)//отошлем всем остальным мое имя одежду и оружие
     {
         if (PlayerPrefs.GetString("Name") != null || PlayerPrefs.GetString("Name") != "")
         {
             Name = PlayerPrefs.GetString("Name");
         }
         photonView.RPC("ReciveNameNewPlayer", PhotonTargets.OthersBuffered, Name); //отправляем всем мое имя
         if (PlayerPrefs.GetInt("PigWeapon") != 0)                                  //отправим мое оружие
         {
             photonView.RPC("ReciveWeaponNewPlayer", PhotonTargets.AllBuffered, PlayerPrefs.GetInt("PigWeapon"));
         }
         if (PlayerPrefs.GetInt("PigDress") != 0)//отправим мою одежду
         {
             photonView.RPC("ReciveDressNewPlayer", PhotonTargets.AllBuffered, PlayerPrefs.GetInt("PigDress"));
         }
     }
 }
Exemple #2
0
 public void NetInitHP(int _HP)//принимаем сколько у нас здоровья
 {
     if (photonView.isMine)
     {
         HPBarController.InitHP(_HP);//инит шкалу здоровья
     }
 }
Exemple #3
0
    protected virtual void Start()
    {
        DotResp       = transform.position;//запишем точку респы
        ch_controller = GetComponent <CharacterController>();
        ch_animator   = GetComponent <Animator>();
        canMove       = true;
        HP            = maxHP;
        HPBarController.InitHP(HP);                                                    //инит шкалу здоровья
        EffectDamage = transform.Find("DamageEffect").GetComponent <ParticleSystem>(); //инит эффект урона
        EffectDrift  = transform.Find("DriftEffect").GetComponent <ParticleSystem>();  //инит эффект урона
        EffectDead   = transform.Find("DeadEffect").gameObject;                        //инит эффект смерти
                                                                                       //  EffectHill = transform.Find("HillEffect").GetComponent<ParticleSystem>();//инит эффект хила
        Kills    = 0;
        Deads    = 0;
        MyKiller = null;

        if (PlayerPrefs.GetString("Name") != null || PlayerPrefs.GetString("Name") != "")
        {
            Name = PlayerPrefs.GetString("Name");                                                             //ставим мне имя
        }
        if (PlayerPrefs.GetInt("PigWeapon") != 0)                                                             //мое оружие
        {
            DressAndWeapon.IDprimerka = 0;                                                                    //сообщаем генератору одежды что мы были голенькие
            DressAndWeapon.SwapWeapon(new GameObject[] { this.gameObject }, PlayerPrefs.GetInt("PigWeapon")); //переодеваем
            Damage = Damage + DressAndWeapon.WeaponList[PlayerPrefs.GetInt("PigWeapon")].DamageInc;           //прибавляем к урону оружие
        }
        if (PlayerPrefs.GetInt("PigDress") != 0)                                                              //мою одежду
        {
            DressAndWeapon.IDprimerka = 0;                                                                    //сообщаем генератору одежды что мы были голенькие
            DressAndWeapon.SwapDress(new GameObject[] { this.gameObject }, PlayerPrefs.GetInt("PigDress"));   //переодеваем
        }
    }
Exemple #4
0
    public void TakeDamageOrHill(int damageOrHill, GameObject fromGO, bool kicked = false)//получение урона или хил
    {
        if (ch_animator.GetInteger("dead") != 0)
        {
            return;                                     //мертвых ьить низя
        }
        if (damageOrHill < 0)
        {
            int r = Random.Range(1, 4);
            switch (r)
            {
            case 1:
            {
                GetComponent <AudioController>().PlaySound(TypePig + "ai", 0.4f);
                break;
            }

            case 2:
            {
                GetComponent <AudioController>().PlaySound(TypePig + "oi", 0.4f);
                break;
            }

            case 3:
            {
                GetComponent <AudioController>().PlaySound(TypePig + "auch", 0.4f);
                break;
            }
            }
        }//звук боли
        if (damageOrHill < 0 && (!kicked || (kicked && HP < 1)))
        {
            EffectDamage.Play();                                                     //если пришел урон(и не откидывает) - эффект урона''или если с пинка дохнем
        }
        HP = HP + damageOrHill;
        if (HP <= 0)//дохнем
        {
            HP       = 0;
            MyKiller = fromGO;                                      //запомним убийцу
            Deads++;                                                //увеличим счетчик смертей
            KillsSeries = 0;                                        //обнулим серию убийств
            Dead();
            fromGO.gameObject.GetComponent <IPig>().KillsCounter(); //увеличим счетчик убийств у вражины
            if (!LevelController.FB)                                //если это первая смерть
            {
                LevelController.FB = true;                          //мы пролюбили возможность сделать ФБ
            }
        }
        else if (kicked)//микростан и откидываем если получили несмертельный урон
        {
            Stunned(fromGO.transform.position, fromGO.GetComponent <BOTCONTROL>().StunPower);
        }
        if (HP > maxHP)
        {
            HP = maxHP;
        }
        HPBarController.InitHP(HP);//инит шкалу здоровья
    }
Exemple #5
0
 public void Rise()               //воскресни!
 {
     EffectDead.SetActive(false); //выключ эффект смерти
     tDead              = 0;
     canMove            = true;
     HP                 = maxHP;
     transform.position = DotResp; //на респу!
     ch_animator.SetInteger("dead", 0);
     HPBarController.InitHP(HP);   //инит шкалу здоровья
     ch_controller.enabled = true; //выключаем контроллер
 }
Exemple #6
0
 public void InitUnit()
 {
     team        = unitCharacteristics.team;
     agroRange   = unitCharacteristics.agroRange;
     hitRange    = unitCharacteristics.hitRange;
     maxHP       = unitCharacteristics.maxHP;
     damage      = unitCharacteristics.damage;
     movingSpeed = unitCharacteristics.movingSpeed;
     agroRangeProjector.orthographicSize = agroRange;
     hitRangeProjector.orthographicSize  = hitRange;
     hpBarController.InitHP(maxHP);
 }
 void Start()
 {
     hpBar.InitHP(health);
 }
Exemple #8
0
    public void TakeDamageOrHill(int damageOrHill, GameObject fromGO, bool kicked = false) //получение урона или хил
    {
        if (ch_animator.GetInteger("dead") != 0)
        {
            return;                                     //мертвых ьить низя
        }
        if (damageOrHill < 0)
        {
            int r = Random.Range(1, 4);
            switch (r)
            {
            case 1:
            {
                GetComponent <AudioController>().PlaySound(TypePig + "ai", 0.4f);
                break;
            }

            case 2:
            {
                GetComponent <AudioController>().PlaySound(TypePig + "oi", 0.4f);
                break;
            }

            case 3:
            {
                GetComponent <AudioController>().PlaySound(TypePig + "auch", 0.4f);
                break;
            }
            }
        }    //звук боли
        if (damageOrHill < 0 && (!kicked || (kicked && HP < 1)))
        {
            EffectDamage.Play();                                                         //если пришел урон(и не откидывает) - эффект урона''или если с пинка дохнем
        }
        if (PhotonNetwork.isMasterClient)
        {
            HP = HP + damageOrHill;
            if (HP <= 0)    //дохнем
            {
                HP = 0;

                MyKiller = fromGO;                                                                                               //запомним убийцу
                photonView.RPC("InputStatsFromMasterIdKiller", PhotonTargets.Others, fromGO.GetComponent <PhotonView>().viewID); //передадим убийцу
                if (fromGO.GetComponent <NETPIG>().MyKiller == this.gameObject)                                                  //если мне отомстили
                {
                    fromGO.GetComponent <PhotonView>().RPC("Revenge", PhotonTargets.All);                                        //месть!
                }
                Deads++;                                                                                                         //увеличим счетчик смертей
                KillsSeries = 0;                                                                                                 //обнулим серию убийств
                photonView.RPC("InputStatsFromMasterDeads", PhotonTargets.Others, Deads);                                        //передаем счетчик смертей
                fromGO.gameObject.GetComponent <IPig>().KillsCounter();                                                          //увеличим счетчик убийств у вражины
                photonView.RPC("Dead", PhotonTargets.All);                                                                       // Dead();
                if (!LevelController.FB)                                                                                         //если это первая смерть
                {
                    fromGO.GetComponent <PhotonView>().RPC("FirstBlood", PhotonTargets.All);
                }
            }
            else if (kicked)    //микростан и откидываем если получили несмертельный урон
            {
                photonView.RPC("Stunned", PhotonTargets.All, fromGO.transform.position, fromGO.GetComponent <NETPIG>().StunPower);
            }
            if (HP > maxHP)
            {
                HP = maxHP;
            }

            if (photonView.isMine)
            {
                HPBarController.InitHP(HP);    //инит шкалу здоровья
            }
            else
            {
                photonView.RPC("NetInitHP", PhotonTargets.All, HP);    //инит шкалу удаленно
            }
        }
    }