- Home /
Question by
convictcartel · Jan 04, 2014 at 10:16 PM ·
targettargetinghalowow
Floor Halo Target System
All I want is a little circle underneath the target.. i cant figure it out for the life of me, this video shows what i want as well: http://www.youtube.com/watch?v=GcR_VZ2bQ9Q
sorta like WOW
here is my attack/targeting script
using UnityEngine;
using System.Collections;
public class PlayerAttack : MonoBehaviour {
public GameObject target;
public float attackTimer;
public float coolDown;
public bool newon = true;
public Transform ptsPrefab;
public GUIText DamagePoints;
public int damage = 0;
// Use this for initialization
void Start () {
attackTimer = 0;
coolDown = 2.0f;
}
// Update is called once per frame
void Update () {
if( Input.GetMouseButtonDown(0) && newon == true)
{
Ray ray = Camera.main.ScreenPointToRay( Input.mousePosition );
RaycastHit hit;
if( Physics.Raycast( ray, out hit, 100 ) )
{
float distance = Vector3.Distance(hit.transform.position, transform.position);
if(distance < 8) {
string hitTag = hit.transform.tag;
if (hitTag == "enemy" && newon == true)
{
Debug.Log( hit.transform.gameObject.name );
target = hit.transform.gameObject;
SelectTarget();
}
}
}
}
if (Input.GetMouseButtonDown (1)) {
DeselectTarget();
}
if(attackTimer > 0)
attackTimer -= Time.deltaTime;
if(attackTimer < 0)
attackTimer = 0;
//attack press F key
if (animation["bitchslap"].enabled == true) {
float distance = Vector3.Distance(target.transform.position, transform.position);
if(distance < 8) {
if(attackTimer == 0) {
Attack();
attackTimer = coolDown;
}
}
}
}
// CHANGE TO HIT NEAREST ENEMY?? IDK HOW MAN!!!
public void DeselectTarget()
{
newon = true;
target.renderer.material.color = Color.white;
target = null;
}
private void SelectTarget()
{
Light myLight = (Light)target.GetComponent("TLight");
newon = false;
target.renderer.material.color = Color.red;
myLight.enabled = !myLight.enabled;
}
private void Attack() {
AttackandHP eh = (AttackandHP)target.GetComponent ("AttackandHP");
SpawnPts();
eh.AdjustCurrentHealth (-damage);
}
void SpawnPts() {
GUIText ptsPrefabInstance;
damage = Random.Range(1,15);
DamagePoints.guiText.text = damage.ToString();
DamagePoints.guiText.font.material.color = new Color(10,128, 166, 255); //Blue
ptsPrefabInstance = Instantiate(ptsPrefab, ptsPrefab.position, ptsPrefab.rotation) as GUIText;
}
private void OnGUI()
{
AttackandHP eh = (AttackandHP)target.GetComponent ("AttackandHP");
GUI.Label (new Rect (450, 10, 100, 30), "Target: " + target.name);
GUI.Label (new Rect (550, 10, 100, 30), eh.curHealth + "/" + eh.maxHealth);
Comment
Your answer
Follow this Question
Related Questions
Circle strafing/Z-Targeting 1 Answer
Camera re-target 2 Answers
Using NGUI, how do I add a circle under a model's feet like World of Warcraft? 1 Answer
Rocket launcher script help 1 Answer