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); } }
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); }
public void PlayDisappearEffect(Vector3 pos, Vector3 dir) { Disappear.Play(pos, dir); }
public void PlaySpawnEffect(Vector3 pos, Vector3 dir) { Spawn.Play(pos, dir); }
public void PlayKnockdownEffect(Vector3 pos, Vector3 dir) { Knockdown.Play(pos, dir); }
public void PlayCriticalEffect(Vector3 pos, Vector3 dir) { Critical.Play(pos, dir); }
public void PlayBlockBreakEffect(Vector3 pos, Vector3 dir) { BlockBreak.Play(pos, dir); }
public void PlayBlockHitEffect(Vector3 pos, Vector3 dir) { BlockHit.Play(pos, dir); }
public void PlayBloodBigEffect(Vector3 pos, Vector3 dir) { BloodBig.Play(pos, dir); }