コード例 #1
0
    private void ThrowFire()
    {
        GameObject           fireBallObject   = Instantiate(fireBall, transform.position, transform.rotation) as GameObject;
        FireProjectileScript projectileScript = fireBallObject.GetComponentInChildren <FireProjectileScript>();

        projectileScript.ProjectileExplosionForce = 1000;
    }
コード例 #2
0
    public void Fire(HCI_Project.Library.Avatar avatar)
    {
        reloadTimer = avatar.ReloadTimeSpan;

        for (int i = 0; i < avatar.MissileNumber; i++)
        {
            FireProjectileScript fireball = Instantiate(fireballPrefab, transform);
            fireball.transform.Rotate(0, avatar.MissileNumber / 2 * -5 + 10 * i, 0);
            fireball.ProjectileColliderSpeed = avatar.MissileSpeed / 2;
            ParticleSystem fireParticleSystem = fireball.transform.Find("FireboltParticle").GetComponent <ParticleSystem>();
            fireParticleSystem.startSpeed = avatar.MissileSpeed / 2;
            fireParticleSystem.startSize  = avatar.MissleRadius * 5;
            fireball.transform.Find("FireboltCollider").GetComponent <SphereCollider>().radius = avatar.MissleRadius * 2;
        }
    }
コード例 #3
0
ファイル: ShootFlame.cs プロジェクト: pandabytes/PandaTron
    /// <summary>
    /// Begin the flamethrower.
    /// </summary>
    private void BeginFiring()
    {
        if (currentEnergy <= 0.0f)
        {
            return;
        }

        Vector3    pos;
        float      yRot     = transform.rotation.eulerAngles.y;
        Vector3    forwardY = Quaternion.Euler(0.0f, yRot, 0.0f) * Vector3.forward;
        Vector3    forward  = transform.forward;
        Vector3    right    = transform.right;
        Vector3    up       = transform.up;
        Quaternion rotation = Quaternion.identity;

        flamethrowerObject = GameObject.Instantiate(flamethrowerPrefab);
        flamethrowerScript = flamethrowerObject.GetComponent <FireBaseScript>();

        // temporary effect, like a fireball
        if (flamethrowerScript.IsProjectile)
        {
            rotation = transform.rotation;
            pos      = transform.position;
        }
        else
        {
            pos = transform.position + (forwardY * 10.0f);
        }

        FireProjectileScript projectileScript = flamethrowerObject.GetComponentInChildren <FireProjectileScript>();

        if (projectileScript != null)
        {
            // make sure we don't collide with other friendly layers
            projectileScript.ProjectileCollisionLayers &= (~UnityEngine.LayerMask.NameToLayer("FriendlyLayer"));
        }

        flamethrowerObject.transform.position = pos;
        flamethrowerObject.transform.rotation = rotation;
    }
コード例 #4
0
ファイル: PlayerMovement.cs プロジェクト: LucasSiba/BoxHop
    void throwFire()
    {
        if (fireTimer < timeBetweenFireFire)
        {
            return;
        }
        fireTimer = 0.0f;

        Vector3        pos;
        Vector3        forward  = transform.forward;
        Vector3        right    = transform.right;
        Vector3        up       = (transform.up * 0.8f);
        Quaternion     rotation = Quaternion.identity;
        GameObject     currentPrefabObject;
        FireBaseScript currentPrefabScript;

        currentPrefabObject = GameObject.Instantiate(fireEffect);
        currentPrefabScript = currentPrefabObject.GetComponent <FireConstantBaseScript>();

        // temporary effect, like a fireball
        currentPrefabScript = currentPrefabObject.GetComponent <FireBaseScript>();

        currentPrefabScript.ForceAmount = 0;
        currentPrefabScript.ForceRadius = 0;
        // set the start point near the player
        rotation = transform.rotation;
        pos      = transform.position + forward + up;


        FireProjectileScript projectileScript = currentPrefabObject.GetComponentInChildren <FireProjectileScript>();

        projectileScript.ProjectileExplosionForce = 1000;
        // make sure we don't collide with other friendly layers
        projectileScript.ProjectileCollisionLayers &= (~UnityEngine.LayerMask.NameToLayer("FriendlyLayer"));

        currentPrefabObject.transform.position = pos;
        currentPrefabObject.transform.rotation = rotation;
    }
コード例 #5
0
ファイル: PlayerAttack.cs プロジェクト: TeamNull/FYP
    //below for magician
    void AttackByFire(int skillNum)
    {
        if (skillNum == 1)
        {
            if (!pa.ConsumeMP(20))
            {
                return;
            }
        }
        else if (skillNum == 2)
        {
            if (!pa.ConsumeMP(50))
            {
                return;
            }
        }
        Vector3    pos;
        float      yRot     = transform.rotation.eulerAngles.y;
        Vector3    forwardY = Quaternion.Euler(0.0f, yRot, 0.0f) * Vector3.forward;
        Vector3    forward  = transform.forward;
        Vector3    right    = transform.right;
        Vector3    up       = transform.up;
        Quaternion rotation = Quaternion.identity;

        currentPrefabObject = GameObject.Instantiate(Prefabs[skillNum]);
        currentPrefabScript = currentPrefabObject.GetComponent <FireConstantBaseScript>();

        if (currentPrefabScript == null)
        {
            // temporary effect, like a fireball
            currentPrefabScript = currentPrefabObject.GetComponent <FireBaseScript>();
            if (currentPrefabScript.IsProjectile)
            {
                // set the start point near the player
                rotation = transform.rotation;
                pos      = transform.position + forward + right + up;
            }
            else
            {
                // set the start point in front of the player a ways
                pos = transform.position + (forwardY * 10.0f);
            }
        }
        else
        {
            // set the start point in front of the player a ways, rotated the same way as the player
            pos      = transform.position + (forwardY * 5.0f);
            rotation = transform.rotation;
            pos.y    = 0.0f;
        }

        FireProjectileScript projectileScript = currentPrefabObject.GetComponentInChildren <FireProjectileScript>();

        if (projectileScript != null)
        {
            // make sure we don't collide with other fire layers
            projectileScript.ProjectileCollisionLayers &= (~UnityEngine.LayerMask.NameToLayer("FireLayer"));
        }

        currentPrefabObject.transform.position = pos;
        currentPrefabObject.transform.rotation = rotation;
    }