void Update(){
//сюда запишется инфо о пересечении луча, если оно будет
RaycastHit hit;
//сам луч, начинается от позиции этого объекта и направлен в сторону цели
Ray ray = new Ray(transform.position, target.position - transform.position);
//пускаем луч
Physics.Raycast(ray, out hit);
//если луч с чем-то пересёкся, то..
if (hit.collider != null){
//если луч не попал в цель
if (hit.collider.gameObject != target.gameObject){
Debug.Log("Путь к врагу преграждает объект: "+hit.collider.name);
}
//если луч попал в цель
else{
Debug.Log("Попадаю во врага!!!");
}
//просто для наглядности рисуем луч в окне Scene
Debug.DrawLine(ray.origin, hit.point,Color.red);
}
}
//сам луч, начинается от позиции этого объекта и направлен в сторону цели
Ray ray = new Ray(transform.position, target.position - transform.position);
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BuyMobs : MonoBehaviour
{
public GameObject[] Mobs;
public int MobsNomer;
public void OnMouseDown()
{
Instantiate(Mobs[MobsNomer], Mobs[MobsNomer].transform.position, Quaternion.identity);
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class BuyPlayer : MonoBehaviour
{
public Balance BalanceScript;
public int DamagePlus;
public int Cost;
public Text CostText;
public Text KolvoDamagePlus;
private void Awake()
{
BalanceScript.GetComponent<Balance>();
CostText.text = "Стоимость: " + Cost.ToString();
KolvoDamagePlus.text = "+" + DamagePlus + "к урону";
}
public void BuyPlayers()
{
if (BalanceScript.Money >= Cost)
{
BalanceScript.Money = BalanceScript.Money- Cost;
BalanceScript.Damage = BalanceScript.Damage + DamagePlus;
Cost = Cost + 5;
CostText.text = "Стоимость: " + Cost.ToString();
}
}
}