You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
3 years ago
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
//光剑
|
||
|
//砍中敌人时计算一段伤害,抽离敌人算第二段伤害
|
||
|
public class LightSword : MonoBehaviour {
|
||
|
public int Damage_;
|
||
|
public float Length;
|
||
|
private bool grounded;
|
||
|
private RaycastHit hit;
|
||
|
public bool isAttacked;
|
||
|
public GameObject Particle;
|
||
|
|
||
|
|
||
|
private void Update()
|
||
|
{
|
||
|
Debug.DrawRay(gameObject.transform.position, gameObject.transform.forward * Length * 2, Color.red);
|
||
|
grounded = Physics.Raycast(gameObject.transform.position, gameObject.transform.forward, out hit,Length * 2f);
|
||
|
if (grounded && !isAttacked)
|
||
|
{
|
||
|
isAttacked = true;
|
||
|
GameObject SwordEffect = Instantiate(Particle);
|
||
|
SwordEffect.transform.position = hit.point + new Vector3(0f,0.1f,0f);
|
||
|
if (hit.transform.tag == "hurtable") {
|
||
|
Hurtable target = hit.transform.GetComponent<Hurtable>();
|
||
|
target.hurt(Damage_);
|
||
|
}
|
||
|
}
|
||
|
else if(!grounded && isAttacked)
|
||
|
{
|
||
|
|
||
|
isAttacked = false;
|
||
|
}
|
||
|
}
|
||
|
}
|