private void FireProjectileLaser(LaserComp wc) { //var lpc = Resources.Load<GameObject>(wc.ProjectilePrefab); //var lpc = Res.Load(wc.ProjectilePrefab); //var lpcinst = lpc.InstantiateFromPool(); var ll = Res.CreateFromPool(wc.ProjectilePrefab); var laser = ll.GetComponent <LaserProjectileController>(); laser.InitFromLaserInfo(wc.laserInfoPacket); }
//public FastLineRenderer LineRenderer; public void Fire(LaserComp wc) { switch (wc.laserInfoPacket.laserFireType) { case LaserFireType.ProjectileGO: FireProjectileLaser(wc); break; case LaserFireType.Particle: FireParticleLaser(wc); break; } }
private static void CreateLaserInfoPacket(WeaponComp selectedWeapon, PositionComp pc, Vector3 direction) { //laser info packet laser fire type wrong LaserComp lc = (LaserComp)selectedWeapon; lc.laserInfoPacket.TimeToLive = selectedWeapon.AttackRange / selectedWeapon.ProjectileSpeed; lc.laserInfoPacket.fireDirection = direction; lc.laserInfoPacket.StartPosition = pc.transform.TransformPoint( selectedWeapon.fittingAttached.PositionOffset + selectedWeapon.fittingAttached.ProjectileSpawnPositionOffset); lc.laserInfoPacket.OwningActorPos = pc; lc.laserInfoPacket.FiringWeaponComp = selectedWeapon; lc.laserInfoPacket.ProjectileSpeed = selectedWeapon.ProjectileSpeed; //lc.laserInfoPacket.laserFireType = lc.laserInfoPacket.laserFireType; }
private void FireParticleLaser(LaserComp wc) { var ps = wc.WeaponGameObject.GetComponentInChildren <ParticleSystem>(); ps.Emit(1); }