// Use this for initialization void Start() { layer = gameObject.layer; Setup = GetComponent <CarSetup>(); material = Setup.intenceRed; guns = CarSetup.FindGameObjectInChildWithName(transform, "gun"); bulletCD = 1 / rateOfFire; bulletPrefab = new GameObject("bullet"); bulletPrefab.SetActive(false); bulletDecal = new GameObject("bulletDecal"); bulletDecal.SetActive(false); bulletDecal = Resources.Load <GameObject>("bulletHit"); CarSetup.initMesh(bulletPrefab, Resources.Load <Mesh>("bullet"), material); ProyectileController bullet = bulletPrefab.AddComponent <ProyectileController>(); bullet.mode = ProyectileMode.bullet; bullet.speed = bulletSpeed; bullet.damage = bulletDamage; bullet.layer = layer; bulletTimer = new Cooldown(); bulletTimer.init(0, bulletCD); }
/// <summary> /// Fire proyectile. /// </summary> public void Fire() { SoundManager.GetInstance().Play(fireClip); ProyectileController pc = PoolManager.poolManager.GetPoolInstance(proyectilePrefab).GetComponent <ProyectileController>(); pc.transform.position = proyectileSpawnPosition.position; pc.Initialize(selfFaction, oppositeFaction, proyectileSpeed, lookingDirection, stats.attackDamageMultiplier, stats.attackForceMultiplier); }
protected override AttackController GetAttack() { var attackType = new ProyectileController().GetType(); string attackName = "Arrow"; GameObject attackObject = (GameObject)Instantiate(Resources.Load(attackPrefabName + attackName)); ProyectileController attackController = (ProyectileController)attackObject.GetComponent(attackType); return(attackController); }
/// <summary> /// Fire proyectile /// </summary> public void Fire() { ProyectileController pc = PoolManager.poolManager.GetPoolInstance(proyectilePrefab).GetComponent <ProyectileController>(); pc.transform.position = transform.position; pc.Initialize(selfFaction, oppositeFaction, proyectileSpeed, Tools.Vector3ToDir4Int(transform.forward), proyectileDamage, proyectileForce); SoundManager.GetInstance().Play(fireClip); // Generate fire signal if (generateEnabled) { SignalManager.GetInstance().WriteSignal(generateId, isActivated ? 1 : 0); } }
// Use this for initialization void Start() { Setup = GetComponent <CarSetup>(); material = Setup.intenceRed; pointerMaterial = Setup.transparentRedTexture; layer = gameObject.layer; camera = Setup.camera; targetImage = Setup.canvas.transform.Find("targeting").gameObject; targetingRect = targetImage.GetComponent <RectTransform>(); CanvasRect = Setup.canvas.GetComponent <RectTransform>(); targetImage.SetActive(false); cannons = CarSetup.FindGameObjectInChildWithName(transform, "cannon"); missilePrefab = new GameObject("missile"); missilePrefab.SetActive(false); missileDecal = new GameObject("missileDecal"); missileDecal.SetActive(false); missileDecal = Resources.Load <GameObject>("explotionDecal"); pointerPrefab = new GameObject("pointer"); pointerPrefab.SetActive(false); CarSetup.initMesh(pointerPrefab, Resources.Load <Mesh>("pointer"), pointerMaterial); CarSetup.initMesh(missilePrefab, Resources.Load <Mesh>("missile"), material); MeshCollider collider = missilePrefab.AddComponent <MeshCollider>(); collider.sharedMesh = Resources.Load <Mesh>("missile"); collider.convex = true; missilePrefab.AddComponent <Rigidbody>().mass = 5; ProyectileController missileController = missilePrefab.AddComponent <ProyectileController>(); missileController.mode = ProyectileMode.missile; missileController.propultion = propultion; missileController.damage = missileDamage; missileController.layer = layer; missileController.explotionForce = explotionForce; missileController.explotionRadius = explotionRadius; missileController.decal = missileDecal; }