// Token: 0x0600055E RID: 1374 RVA: 0x00015BF4 File Offset: 0x00013DF4 public static void SpawnEffect(EffectIndex effectIndex, EffectData effectData, bool transmit) { if (transmit) { EffectManager.TransmitEffect(effectIndex, effectData, null); if (NetworkServer.active) { return; } } if (NetworkClient.active) { if (effectData.networkSoundEventIndex != NetworkSoundEventIndex.Invalid) { PointSoundManager.EmitSoundLocal(NetworkSoundEventCatalog.GetAkIdFromNetworkSoundEventIndex(effectData.networkSoundEventIndex), effectData.origin); } EffectDef effectDef = EffectCatalog.GetEffectDef(effectIndex); if (effectDef == null) { return; } string spawnSoundEventName = effectDef.spawnSoundEventName; if (!string.IsNullOrEmpty(spawnSoundEventName)) { PointSoundManager.EmitSoundLocal((AkEventIdArg)spawnSoundEventName, effectData.origin); } SurfaceDef surfaceDef = SurfaceDefCatalog.GetSurfaceDef(effectData.surfaceDefIndex); if (surfaceDef != null) { string impactSoundString = surfaceDef.impactSoundString; if (!string.IsNullOrEmpty(impactSoundString)) { PointSoundManager.EmitSoundLocal((AkEventIdArg)impactSoundString, effectData.origin); } } if (!VFXBudget.CanAffordSpawn(effectDef.prefabVfxAttributes)) { return; } if (effectDef.cullMethod != null && !effectDef.cullMethod(effectData)) { return; } EffectData effectData2 = effectData.Clone(); EffectComponent component = UnityEngine.Object.Instantiate <GameObject>(effectDef.prefab, effectData2.origin, effectData2.rotation).GetComponent <EffectComponent>(); if (component) { component.effectData = effectData2.Clone(); } } }
// Token: 0x06000EB7 RID: 3767 RVA: 0x00048794 File Offset: 0x00046994 public void SpawnEffect(GameObject effectPrefab, EffectData effectData, bool transmit) { if (transmit) { this.TransmitEffect(effectPrefab, effectData, null); if (NetworkServer.active) { return; } } if (NetworkClient.active) { if (!VFXBudget.CanAffordSpawn(effectPrefab)) { return; } EffectData effectData2 = effectData.Clone(); EffectComponent component = UnityEngine.Object.Instantiate <GameObject>(effectPrefab, effectData2.origin, effectData2.rotation).GetComponent <EffectComponent>(); if (component) { component.effectData = effectData2.Clone(); } } }
// Token: 0x0600157B RID: 5499 RVA: 0x0005BA70 File Offset: 0x00059C70 public static bool CanAffordSpawn(GameObject prefab) { return(VFXBudget.CanAffordSpawn(prefab.GetComponent <VFXAttributes>())); }