Esempio n. 1
0
    override public void Damaged(float damage)
    {
        base.Damaged(damage);
        GetComponent <Move>().StopNav();
        bDamaged = true;
        OnEndAttack();
        animator.SetTrigger("bDamage");
        HitBlood hb = null;

        hb = bloodpool.GetObject().GetComponent <HitBlood>();
        if (hb != null)
        {
            hb.gameObject.SetActive(true);
            Vector3 pos = transform.position;
            pos.y = 1.2f;
            hb.transform.position = pos;
        }
        DisplayDamage dd = null;

        dd = ddpool.GetObject().GetComponent <DisplayDamage>();
        if (dd != null)
        {
            dd.gameObject.SetActive(true);
            Vector3 pos = transform.position;
            pos.y    += 2;
            dd.damage = damage;
            dd.SetPos(pos);
        }
    }
Esempio n. 2
0
    //Want to create a text, by type a following text at any script
    //! FindObjectOfType<TextGenerator>().CreateText(tranform.position, "HelloWorld!", DisplayDamage.TextState.Red, 32);

    public void CreateText(Vector3 GamePos, string displaytext, DisplayDamage.TextState state, int Fontsize)
    {
        Vector3 ScreenPos = Camera.main.WorldToScreenPoint(GamePos);

        GameObject displaytext_I = Instantiate(Text);

        displaytext_I.transform.SetParent(canvas().transform, false);
        displaytext_I.transform.position = ScreenPos;
        displaytext_I.transform.SetAsFirstSibling();

        DisplayDamage SetText = displaytext_I.GetComponent <DisplayDamage>();

        SetText.state     = state;
        SetText.InputText = displaytext.ToString();
        SetText.FontSize  = Fontsize;
    }
Esempio n. 3
0
    [SerializeField] private GameObject popDamage; //用于显示伤害值
    // Use this for initialization
    public void OnTriggerEnter(Collider Target)
    {
        //Vector2 AttackDir = new Vector2(Ve.x, Ve.z);
        if (Target.CompareTag(TargetTag))
        {
            bool targetIsPlayer;//目标为玩家
            //计算攻击方向
            Vector3 AttackDir = Target.transform.position - transform.position;
            //目标减血
            if (TargetTag == "Player")
            {
                targetIsPlayer = true;
                Target.GetComponent <PlayCharacter>().GetHurt(damage, AttackDir);
            }

            else
            {
                targetIsPlayer = false;
                if (TargetTag == "enemy")
                {
                    Target.GetComponent <EnemyMotion>().GetHurt(damage);
                }
            }

            if (flying)
            {
                Destroy(gameObject);      //销毁飞行物
            }
            //print("Target:" + Target.name);
            //print("TargetPosition:" + Target.transform.position);
            //显示伤害数值
            DisplayDamage _popDamage = Instantiate(popDamage).GetComponent <DisplayDamage>(); //生成显示伤害值的物体
            _popDamage.ShowDamage(Target.gameObject, damage, targetIsPlayer);                 //设置伤害值


            //print("AttackDir---1:" + AttackDir);
            AttackDir.y = 0;
            //print("AttackDir---2:" + AttackDir);
        }
    }
Esempio n. 4
0
 private void Start()
 {
     myDeathHandler  = GetComponent <DeathHandler>();
     myDamageDisplay = FindObjectOfType <DisplayDamage>();
 }
Esempio n. 5
0
 // Start is called before the first frame update
 void Start()
 {
     player        = FindObjectOfType <PlayerHealth>();
     displayDamage = FindObjectOfType <DisplayDamage>();
 }
 void Start()
 {
     target      = FindObjectOfType <PlayerHealth>();
     hpBar       = FindObjectOfType <DisplayDamage>();
     bloodSplash = FindObjectOfType <DisplayDamage>();
 }
Esempio n. 7
0
 void Start()
 {
     displayDamage = FindObjectOfType <DisplayDamage>();
     UIHandler     = FindObjectOfType <PlayerInfoUIHandler>();
     UIHandler.UpdateHealthDisplay(health);
 }