Exemple #1
0
    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);
    }
Exemple #2
0
    //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;
        }
Exemple #4
0
    private void FireParticleLaser(LaserComp wc)
    {
        var ps = wc.WeaponGameObject.GetComponentInChildren <ParticleSystem>();

        ps.Emit(1);
    }