Exemplo n.º 1
0
    void Shoot()
    {
        GameObject  laser       = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation);
        LaserObject laserObject = laser.GetComponent <LaserObject>();

        laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor);
    }
Exemplo n.º 2
0
    public override void Engage(Vector3 targetPoint)
    {
        if ((Vector3.Distance(gameObject.transform.position, targetPoint)<MAXIMUM_DISTANCE))
        {
            if (!IsLoadedt)
            {
                int Power;

                if (LaserEnergie < MAXIMUM_POWER && LaserEnergie > MINIMUM_POWER)
                {
                    Power = LaserEnergie;
                    LaserEnergie = 0;
                }
                else
                {
                    Power = MAXIMUM_POWER;
                    LaserEnergie -= MAXIMUM_POWER;
                }
                laser = (GameObject.Instantiate(prefabSlot, gameObject.transform.position, gameObject.transform.rotation) as WeaponObject).GetComponent<LaserObject>();
                laser.gameObject.name = "Laser " + this.gameObject.GetInstanceID();
                laser.GoodOrEvil = this.gameObject.GetComponent<UnitScript>().GoodOrEvil;
                IsLoadedt = laser.Load((targetPoint-this.gameObject.transform.position).normalized, Power, MAXIMUM_DISTANCE);
            }
            else
                laser.Engage();
        }
    }
Exemplo n.º 3
0
    public override void Engage(Vector3 targetPoint)
    {
        if ((Vector3.Distance(gameObject.transform.position, targetPoint) < MAXIMUM_DISTANCE))
        {
            if (!IsLoadedt)
            {
                int Power;

                if (LaserEnergie < MAXIMUM_POWER && LaserEnergie > MINIMUM_POWER)
                {
                    Power        = LaserEnergie;
                    LaserEnergie = 0;
                }
                else
                {
                    Power         = MAXIMUM_POWER;
                    LaserEnergie -= MAXIMUM_POWER;
                }
                laser = (GameObject.Instantiate(prefabSlot, gameObject.transform.position, gameObject.transform.rotation) as WeaponObject).GetComponent <LaserObject>();
                laser.gameObject.name = "Laser " + this.gameObject.GetInstanceID();
                laser.GoodOrEvil      = this.gameObject.GetComponent <UnitScript>().GoodOrEvil;
                IsLoadedt             = laser.Load((targetPoint - this.gameObject.transform.position).normalized, Power, MAXIMUM_DISTANCE);
            }
            else
            {
                laser.Engage();
            }
        }
    }
Exemplo n.º 4
0
    protected bool[] isDirectionsHit; // Whether or not each direction is being hit by a laser

    protected virtual void Awake()
    {
        settings = LaserObjectManager.Instance.Settings;

        laserObject = transform.GetComponentInParent <LaserObject>();

        hitCollider = GetComponentInChildren <Collider>();

        isDirectionsHit = new bool[LaserUtil.DirectionCount];
    }
Exemplo n.º 5
0
    private void SetWeaponUi()
    {
        GameUI.WeaponUI.SetUI(ActiveWeapon);
        ActiveWeapon.WeaponObject.gameObject.SetActive(true);
        ActiveWeapon.WeaponObject.IsActive = true;
        WeaponText.text = ActiveWeapon.Name;

        LaserObject laserObj = ActiveWeapon.WeaponObject as LaserObject;

        if (OnLaserActive != null)
        {
            OnLaserActive(laserObj != null);
        }
    }
Exemplo n.º 6
0
    // Update is called once per frame
    void Update()
    {
        // shoot input buffer
        if (Input.GetButtonDown("Fire1"))
        {
            shootInput      = true;
            shootInputTimer = 0.0f;
        }
        else
        {
            shootInputTimer += Time.deltaTime;
            if (shootInputTimer > shootInputBuffer)
            {
                shootInput = false;
            }
        }

        // shoot and set shooting to true if input and not currently shooting
        if (shootInput && isShooting == false)
        {
            Shoot();
            isShooting = true;
        }

        // wait a delay before you can shoot again
        if (isShooting)
        {
            shotTimer += Time.deltaTime;

            if (shotTimer > shotDelay)
            {
                shotTimer  = 0.0f;
                isShooting = false;
            }
        }

        void Shoot()
        {
            GameObject  laser       = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation);
            LaserObject laserObject = laser.GetComponent <LaserObject>();

            laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor);
        }
    }
Exemplo n.º 7
0
 private void CreateLaserBeam()
 {
     LaserObject laserObj = ActiveWeapon.WeaponObject as LaserObject;
     //  laserObj.InitLaserBeam();
 }