void Shoot() { GameObject laser = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation); LaserObject laserObject = laser.GetComponent <LaserObject>(); laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor); }
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(); } }
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(); } } }
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]; }
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); } }
// 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); } }
private void CreateLaserBeam() { LaserObject laserObj = ActiveWeapon.WeaponObject as LaserObject; // laserObj.InitLaserBeam(); }