Exemplo n.º 1
0
    public void PlayHitEffect(GameObject parent, int layer, Vector3 pos, Vector3 dir, E_ProjectileType inProjectileType, bool localPlayer)
    {
        if (uLink.Network.isServer)
        {
            return;
        }

        if (localPlayer == false)
        {
            Frustum.SetupCamera(GameCamera.Instance, 30);
            Frustum.E_Location loc = Frustum.PointInFrustum(pos);

            if (loc == Frustum.E_Location.Outside)             //do not spawn the projectile if it's not visible at all
            {
                return;
            }
        }

        if (inProjectileType == E_ProjectileType.Plasma)
        {
            if (PlasmaGunHit.Prefab != null)
            {
                //shift it a little to avoid static object penetration
                PlasmaGunHit.Play(pos + dir * 0.4f, dir);
                return;
            }
        }

        if (inProjectileType == E_ProjectileType.Rail)
        {
            if (PlasmaGunHit.Prefab != null)
            {
                PlasmaGunHit.Play(pos, dir);
                return;
            }
        }

        // default, old, behavior...
        if (HitEffects.ContainsKey(layer) == true)
        {
            HitEffects[layer].Play(pos, dir);
        }
        else
        {
            HitEffects[0].Play(pos, dir);
        }
    }
Exemplo n.º 2
0
    public void PlayBloodEffect(Renderer renderer, Vector3 pos, Vector3 dir)
    {
        if (uLink.Network.isServer == true || renderer == null)
        {
            return;
        }

        // capa: I don't know why but 'renderer.isVisible' was always 'false' even if I was looking at corresponding enemy ?!?
        //	if (renderer != null && renderer.isVisible == false)
        //		return;

        Frustum.SetupCamera(GameCamera.Instance, 30);
        if (Frustum.PointInFrustum(pos) == Frustum.E_Location.Outside)
        {
            return;
        }

        BloodHit.Play(pos, dir);
    }
Exemplo n.º 3
0
 public void PlayDisappearEffect(Vector3 pos, Vector3 dir)
 {
     Disappear.Play(pos, dir);
 }
Exemplo n.º 4
0
 public void PlaySpawnEffect(Vector3 pos, Vector3 dir)
 {
     Spawn.Play(pos, dir);
 }
Exemplo n.º 5
0
 public void PlayKnockdownEffect(Vector3 pos, Vector3 dir)
 {
     Knockdown.Play(pos, dir);
 }
Exemplo n.º 6
0
 public void PlayCriticalEffect(Vector3 pos, Vector3 dir)
 {
     Critical.Play(pos, dir);
 }
Exemplo n.º 7
0
 public void PlayBlockBreakEffect(Vector3 pos, Vector3 dir)
 {
     BlockBreak.Play(pos, dir);
 }
Exemplo n.º 8
0
 public void PlayBlockHitEffect(Vector3 pos, Vector3 dir)
 {
     BlockHit.Play(pos, dir);
 }
Exemplo n.º 9
0
 public void PlayBloodBigEffect(Vector3 pos, Vector3 dir)
 {
     BloodBig.Play(pos, dir);
 }