public override void InitVehicle(Vehicle vehiclePrefab, VehicleGun weaponPrefab, Vector3 position, Quaternion rotation)
    {
        vehicle = ((GameObject)Instantiate(vehiclePrefab.gameObject, position, rotation)).GetComponent <Vehicle>();
        vehicle.transform.parent = transform;
        vehicle.OnDamage        += OnVehicleDamage;
        vehicle.OnDie           += OnVehicleDie;
        vehicle.Initialize();

        if (weaponPrefab != null)
        {
            vehicle.SetPrimaryWeapon(weaponPrefab);
        }

        Targeting.AddTargetable(Team, vehicle);
        var neighrbourSensor = GetComponentInChildren <NeighbourSensor>();

        if (neighrbourSensor != null)
        {
            neighrbourSensor.transform.parent = vehicle.transform;
        }
        var soundSensor = GetComponentInChildren <SoundSensor>();

        if (soundSensor != null)
        {
            soundSensor.transform.parent = vehicle.transform;
        }
        var missileSensor = GetComponentInChildren <MissileSensor>();

        if (missileSensor != null)
        {
            missileSensor.transform.parent = vehicle.transform;
        }
    }
Beispiel #2
0
    public override void SetPrimaryWeapon(VehicleGun value)
    {
        if (primaryWeapon != null)
        {
            Destroy(primaryWeapon.gameObject);
        }
        primaryWeapon = Instantiate(value).GetComponent <VehicleGun>();
        primaryWeapon.SetVelocityReference(new VelocityReference {
            Value = velocity
        });
        primaryWeapon.InitGun(PrimaryWeaponShootPoints, gameObject);
        primaryWeapon.SetClipRemaining(100);
        primaryWeapon.OnFinishReload         += OnReloadPrimaryFinish;
        primaryWeapon.transform.parent        = transform;
        primaryWeapon.transform.localPosition = Vector3.zero;

        if (PlayerController.Current != null && PlayerController.Current.GetVehicle() == this)
        {
            if (HeadsUpDisplay.Current != null)
            {
                HeadsUpDisplay.Current.SetCrosshair(primaryWeapon.Crosshair);
                HeadsUpDisplay.Current.FadeInCrosshair(0.5f);
            }
        }
    }
Beispiel #3
0
    public override void SetPrimaryWeapon(VehicleGun value)
    {
        if (primaryWeapon != null)
        {
            Destroy(primaryWeapon.gameObject);
        }
        primaryWeapon = Instantiate(value).GetComponent <VehicleGun>();

        if (PrimaryWeaponPrefab.EquipPrefab != null)
        {
            if (equippedPrimaryWeapon != null)
            {
                Destroy(equippedPrimaryWeapon);
            }
            equippedPrimaryWeapon = Instantiate(value.EquipPrefab);
            equippedPrimaryWeapon.transform.parent        = WeaponPlaceholder;
            equippedPrimaryWeapon.transform.localPosition = Vector3.zero;
            equippedPrimaryWeapon.transform.localRotation = Quaternion.identity;
            PrimaryWeaponShootPoints = equippedPrimaryWeapon.GetComponent <EquipWeapon>().ShootPoints;
        }

        primaryWeapon.SetVelocityReference(new VelocityReference {
            Value = Vector3.zero
        });
        //primaryWeapon.SetVelocityReference(new VelocityReference { Value = velocity });
        primaryWeapon.InitGun(PrimaryWeaponShootPoints, gameObject);
        primaryWeapon.SetClipRemaining(100);
        primaryWeapon.OnShoot                += OnShootPrimaryWeapon;
        primaryWeapon.OnClipEmpty            += OnEmptyPrimaryWeapon;
        primaryWeapon.OnStartReload          += OnReloadPrimaryStart;
        primaryWeapon.OnFinishReload         += OnReloadPrimaryFinish;
        primaryWeapon.transform.parent        = transform;
        primaryWeapon.transform.localPosition = Vector3.zero;
    }
Beispiel #4
0
    private IEnumerator SpawnAndDestroy(Vehicle vehiclePrefab, VehicleGun weaponPrefab, float delay)
    {
        yield return(new WaitForSeconds(delay));

        PlayerController.Current.InitVehicle(vehiclePrefab, weaponPrefab, transform.position, transform.rotation);

        HeadsUpDisplay.Current.FadeInAmmunition();
        HeadsUpDisplay.Current.FadeInKillCount();

        Destroy(gameObject);
    }
Beispiel #5
0
    public override void InitVehicle(Vehicle vehiclePrefab, VehicleGun weaponPrefab, Vector3 position, Quaternion rotation)
    {
        vehicle = ((GameObject)Instantiate(vehiclePrefab.gameObject, position, rotation)).GetComponent<Vehicle>();
        vehicle.transform.parent = transform;
        Utility.SetLayerRecursively(vehicle.transform, LayerMask.NameToLayer("Player"));
        vehicle.OnDamage += OnVehicleDamage;
        vehicle.OnDie += OnVehicleDie;

        vehicle.Initialize();

        if (weaponPrefab != null)
            vehicle.SetPrimaryWeapon(weaponPrefab);
        vehicle.MaxHealth *= 2f;
        vehicle.Health = vehicle.MaxHealth;
        Targeting.AddTargetable(Team, vehicle);
    }
Beispiel #6
0
    public override void InitVehicle(Vehicle vehiclePrefab, VehicleGun weaponPrefab, Vector3 position, Quaternion rotation)
    {
        vehicle = Instantiate(vehiclePrefab.gameObject, position, rotation).GetComponent <Vehicle>();
        vehicle.transform.parent = transform;
        Utility.SetLayerRecursively(vehicle.transform, LayerMask.NameToLayer("Player"));
        vehicle.OnDamage += OnVehicleDamage;
        vehicle.OnDie    += OnVehicleDie;

        vehicle.Initialize();

        if (weaponPrefab != null)
        {
            vehicle.SetPrimaryWeapon(weaponPrefab);
        }
        vehicle.MaxHealth *= 2f;
        vehicle.Health     = vehicle.MaxHealth;
        Targeting.AddTargetable(Team, vehicle);
    }
Beispiel #7
0
    public override void SetPrimaryWeapon(VehicleGun value)
    {
        if (primaryWeapon != null)
        {
            Destroy(primaryWeapon.gameObject);
        }
        primaryWeapon = Instantiate(value).GetComponent <VehicleGun>();

        if (PrimaryWeaponPrefab.EquipPrefab != null)
        {
            if (equippedPrimaryWeapon != null)
            {
                Destroy(equippedPrimaryWeapon);
            }
            equippedPrimaryWeapon = Instantiate(value.EquipPrefab);
            equippedPrimaryWeapon.transform.parent        = WeaponPlaceholder;
            equippedPrimaryWeapon.transform.localPosition = Vector3.zero;
            equippedPrimaryWeapon.transform.localRotation = Quaternion.identity;
            PrimaryWeaponShootPoints = equippedPrimaryWeapon.GetComponent <EquipWeapon>().ShootPoints;
        }

        primaryWeapon.SetVelocityReference(new VelocityReference {
            Value = Vector3.zero
        });
        //primaryWeapon.SetVelocityReference(new VelocityReference { Value = velocity });
        primaryWeapon.InitGun(PrimaryWeaponShootPoints, gameObject);
        primaryWeapon.SetClipRemaining(100);
        primaryWeapon.OnShoot                += OnShootPrimaryWeapon;
        primaryWeapon.OnClipEmpty            += OnEmptyPrimaryWeapon;
        primaryWeapon.OnFinishReload         += OnReloadPrimaryFinish;
        primaryWeapon.transform.parent        = transform;
        primaryWeapon.transform.localPosition = Vector3.zero;

        if (PlayerController.Current != null && PlayerController.Current.GetVehicle() == this)
        {
            if (HeadsUpDisplay.Current != null)
            {
                HeadsUpDisplay.Current.SetCrosshair(primaryWeapon.Crosshair);
                HeadsUpDisplay.Current.FadeInCrosshair(0.5f);
            }
        }
    }
    public override void InitVehicle(Vehicle vehiclePrefab, VehicleGun weaponPrefab, Vector3 position, Quaternion rotation)
    {
        vehicle = ((GameObject)Instantiate(vehiclePrefab.gameObject, position, rotation)).GetComponent<Vehicle>();
        vehicle.transform.parent = transform;
        vehicle.OnDamage += OnVehicleDamage;
        vehicle.OnDie += OnVehicleDie;
        vehicle.Initialize();

        if (weaponPrefab != null)
            vehicle.SetPrimaryWeapon(weaponPrefab);

        Targeting.AddTargetable(Team, vehicle);
        var neighrbourSensor = GetComponentInChildren<NeighbourSensor>();
        if (neighrbourSensor != null)
            neighrbourSensor.transform.parent = vehicle.transform;
        var soundSensor = GetComponentInChildren<SoundSensor>();
        if (soundSensor != null)
            soundSensor.transform.parent = vehicle.transform;
        var missileSensor = GetComponentInChildren<MissileSensor>();
        if (missileSensor != null)
            missileSensor.transform.parent = vehicle.transform;
    }
Beispiel #9
0
 private IEnumerator SpawnAndDestroy(Vehicle vehiclePrefab, VehicleGun weaponPrefab, float delay)
 {
     yield return new WaitForSeconds(delay);
     PlayerController.Current.InitVehicle(vehiclePrefab, weaponPrefab, transform.position, transform.rotation);
     Destroy(gameObject);
 }
Beispiel #10
0
 public void TriggerAndDestroy(Vehicle vehiclePrefab, VehicleGun weaponPrefab, float delay)
 {
     StartCoroutine(SpawnAndDestroy(vehiclePrefab, weaponPrefab, delay));
 }
Beispiel #11
0
 public void Trigger(Vehicle vehiclePrefab, VehicleGun weaponPrefab)
 {
     PlayerController.Current.InitVehicle(vehiclePrefab, weaponPrefab, transform.position, transform.rotation);
 }
Beispiel #12
0
 public abstract void SetPrimaryWeapon(VehicleGun value);
Beispiel #13
0
    public override void SetPrimaryWeapon(VehicleGun value)
    {
        if (primaryWeapon != null)
            Destroy(primaryWeapon.gameObject);
        primaryWeapon = Instantiate(value).GetComponent<VehicleGun>();
        primaryWeapon.SetVelocityReference(new VelocityReference {Value = velocity});
        primaryWeapon.InitGun(PrimaryWeaponShootPoints, gameObject);
        primaryWeapon.SetClipRemaining(100);
        primaryWeapon.OnFinishReload += OnReloadPrimaryFinish;
        primaryWeapon.transform.parent = transform;
        primaryWeapon.transform.localPosition = Vector3.zero;

        if (PlayerController.Current != null && PlayerController.Current.GetVehicle() == this)
        {
            if (HeadsUpDisplay.Current != null)
            {
                HeadsUpDisplay.Current.SetCrosshair(primaryWeapon.Crosshair);
                HeadsUpDisplay.Current.FadeInCrosshair(0.5f);
            }
        }
    }
Beispiel #14
0
    public override void SetPrimaryWeapon(VehicleGun value)
    {
        if (primaryWeapon!=null)
            Destroy(primaryWeapon.gameObject);
        primaryWeapon = Instantiate(value).GetComponent<VehicleGun>();

        if (PrimaryWeaponPrefab.EquipPrefab != null)
        {
            if (equippedPrimaryWeapon!=null)
                Destroy(equippedPrimaryWeapon);
            equippedPrimaryWeapon = Instantiate(value.EquipPrefab);
            equippedPrimaryWeapon.transform.parent = WeaponPlaceholder;
            equippedPrimaryWeapon.transform.localPosition = Vector3.zero;
            equippedPrimaryWeapon.transform.localRotation = Quaternion.identity;
            PrimaryWeaponShootPoints = equippedPrimaryWeapon.GetComponent<EquipWeapon>().ShootPoints;
        }

        primaryWeapon.SetVelocityReference(new VelocityReference { Value = Vector3.zero });
        //primaryWeapon.SetVelocityReference(new VelocityReference { Value = velocity });
        primaryWeapon.InitGun(PrimaryWeaponShootPoints, gameObject);
        primaryWeapon.SetClipRemaining(100);
        primaryWeapon.OnShoot += OnShootPrimaryWeapon;
        primaryWeapon.OnClipEmpty += OnEmptyPrimaryWeapon;
        primaryWeapon.OnStartReload += OnReloadPrimaryStart;
        primaryWeapon.OnFinishReload += OnReloadPrimaryFinish;
        primaryWeapon.transform.parent = transform;
        primaryWeapon.transform.localPosition = Vector3.zero;
    }
Beispiel #15
0
 public abstract void SetPrimaryWeapon(VehicleGun value);
Beispiel #16
0
 public abstract void InitVehicle(Vehicle vehiclePrefab, VehicleGun weaponPrefab, Vector3 position, Quaternion rotation);
Beispiel #17
0
    public override void SetPrimaryWeapon(VehicleGun value)
    {
        if (primaryWeapon != null)
            Destroy(primaryWeapon.gameObject);
        primaryWeapon = Instantiate(value).GetComponent<VehicleGun>();

        if (PrimaryWeaponPrefab.EquipPrefab != null)
        {
            if (equippedPrimaryWeapon != null)
                Destroy(equippedPrimaryWeapon);
            equippedPrimaryWeapon = Instantiate(value.EquipPrefab);
            equippedPrimaryWeapon.transform.parent = WeaponPlaceholder;
            equippedPrimaryWeapon.transform.localPosition = Vector3.zero;
            equippedPrimaryWeapon.transform.localRotation = Quaternion.identity;
            PrimaryWeaponShootPoints = equippedPrimaryWeapon.GetComponent<EquipWeapon>().ShootPoints;
        }

        primaryWeapon.SetVelocityReference(new VelocityReference {Value = Vector3.zero});
        //primaryWeapon.SetVelocityReference(new VelocityReference { Value = velocity });
        primaryWeapon.InitGun(PrimaryWeaponShootPoints, gameObject);
        primaryWeapon.SetClipRemaining(100);
        primaryWeapon.OnShoot += OnShootPrimaryWeapon;
        primaryWeapon.OnClipEmpty += OnEmptyPrimaryWeapon;
        primaryWeapon.OnFinishReload += OnReloadPrimaryFinish;
        primaryWeapon.transform.parent = transform;
        primaryWeapon.transform.localPosition = Vector3.zero;

        if (PlayerController.Current != null && PlayerController.Current.GetVehicle() == this)
        {
            if (HeadsUpDisplay.Current != null)
            {
                HeadsUpDisplay.Current.SetCrosshair(primaryWeapon.Crosshair);
                HeadsUpDisplay.Current.FadeInCrosshair(0.5f);
            }
        }
    }
Beispiel #18
0
 public void TriggerAndDestroy(Vehicle vehiclePrefab, VehicleGun weaponPrefab, float delay)
 {
     StartCoroutine(SpawnAndDestroy(vehiclePrefab, weaponPrefab, delay));
 }
Beispiel #19
0
 public void Trigger(Vehicle vehiclePrefab, VehicleGun weaponPrefab)
 {
     PlayerController.Current.InitVehicle(vehiclePrefab, weaponPrefab, transform.position, transform.rotation);
 }
Beispiel #20
0
 public abstract void InitVehicle(Vehicle vehiclePrefab, VehicleGun weaponPrefab, Vector3 position, Quaternion rotation);