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); } }
//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; }
[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); } }
private void Start() { myDeathHandler = GetComponent <DeathHandler>(); myDamageDisplay = FindObjectOfType <DisplayDamage>(); }
// 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>(); }
void Start() { displayDamage = FindObjectOfType <DisplayDamage>(); UIHandler = FindObjectOfType <PlayerInfoUIHandler>(); UIHandler.UpdateHealthDisplay(health); }