Exemple #1
0
    public void TakeDamage(int attack)
    {
        float value = Random.Range(0f, 1f);

        if (value < miss_Rate)
        {
            //显示Miss效果
            if (value < miss_Rate)
            {
                AudioSource.PlayClipAtPoint(missSound, transform.position);
                HUDText.NewText("Miss", base.transform, Color.white, m_size, m_speed, m_yAcceleration, m_yAccelerationScaleFactor, m_movement);
            }
        }
        else
        {
            //命中受到伤害
            //减血
            Hp -= attack;
            //线程变红
            StartCoroutine(ShowBodyRed());

            HUDText.NewText("- " + attack.ToString(), base.transform, Color.red, 11, 20f, -1f, 1f, bl_Guidance.Down);
            //判断是否死亡
            if (Hp <= 0)
            {
                state = WolfBabyState.Death;
                Destroy(this.gameObject, 2);
            }
        }
    }
Exemple #2
0
    /// <summary>
    /// 巡逻
    /// </summary>
    private void Patrol()
    {
        if (flag == 0)
        {
            state = WolfBabyState.Idle;
        }
        else if (flag == 1)
        {
            state = WolfBabyState.Walk;
        }

        if (state == WolfBabyState.Walk)
        {
            cc.SimpleMove(transform.forward * walkSpeed);
            anima.Play(Animations.wbaby_Walk);
        }
        else if (state == WolfBabyState.Idle)
        {
            anima.Play(Animations.wbaby_Idel);
        }
    }