Пример #1
0
 public void Initialize()
 {
     initialized   = true;
     bodyIntegrity = GetComponent <BodyIntegrity>();
     Scr_PlaneHandler.instance.planes.Add(this);
     targetPos = transform.position;
 }
Пример #2
0
 void Start()
 {
     _startPosition           = transform.position;
     _startRotation           = transform.rotation;
     bodyIntegrity            = GetComponent <BodyIntegrity>();
     _fake                    = new GameObject();
     _fake.transform.position = new Vector3(99999, 99999, 99999);
 }
Пример #3
0
 public void RTSAttack(BodyIntegrity t)
 {
     if (t != null)
     {
         Debug.Log("found2 " + t.name);
         currentState = State.Attack;
         SetState(BaseState.Moving);
         target = t;
     }
     else
     {
         Debug.Log("nulL");
     }
 }
Пример #4
0
    public void CreateBulletProjectile(Vector3 pos, Vector3 targetPos, BodyIntegrity owner, GameObject ownerGameObject, int team)
    {
        Projectile projectile = GameObject.Instantiate(bulletProjectile).GetComponent <Projectile>();

        projectile.owner           = owner; // not to hit self
        projectile.ownerGameObject = ownerGameObject;
        projectile.team            = team;  // not to hit friendly aircrafts

        projectile.transform.position = pos;
        projectile.transform.LookAt(targetPos);

        float inaccuracy = 1.5f; //slight randomization to bullets, set to 0 for 100% accuracy

        projectile.transform.rotation = Quaternion.Euler(projectile.transform.eulerAngles.x + UnityEngine.Random.Range(-inaccuracy, inaccuracy), projectile.transform.eulerAngles.y + UnityEngine.Random.Range(-inaccuracy, inaccuracy), projectile.transform.eulerAngles.z + UnityEngine.Random.Range(-inaccuracy, inaccuracy));
        GameObject.Destroy(projectile.gameObject, 2f);
    }