public unsafe override void Begin() { this.currentlyInside = HashSetPool <HealthComponent> .item; this.timers = DictionaryPool <HealthComponent, Single> .item; Single *ptr = stackalloc Single[1]; var trigger = new SphereTriggerCallbackProvider <Callbacks>(); var data = new EffectData(); this.damageMult = this.boost * this.power; trigger.cb.orb = this; data.genericFloat = trigger.cb.maxDuration = this.duration *= this.boost; data.origin = trigger.cb.origin = this.origin; data.scale = trigger.cb.minRadius = minRadius; ptr[0] = trigger.cb.maxRadius = maxRadius * this.boost; data.genericUInt = *((UInt32 *)ptr); trigger.Start(); if (orbEffect == EffectIndex.Invalid) { orbEffect = EffectCatalog.FindEffectIndexFromPrefab(VFXModule.GetSporeOrbPrefab()); } EffectManager.SpawnEffect(orbEffect, data, true); base.Begin(); }
public uint[] GetSpellFamilyMask(EffectIndex index) { switch (index) { case EffectIndex.Zero: return SpellFamilyMask0; case EffectIndex.One: return SpellFamilyMask1; case EffectIndex.Two: return SpellFamilyMask2; } return null; }
public uint[] GetSpellFamilyMask(EffectIndex index) { switch (index) { case EffectIndex.Zero: return(SpellFamilyMask0); case EffectIndex.One: return(SpellFamilyMask1); case EffectIndex.Two: return(SpellFamilyMask2); } return(null); }
// 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(); } } }
public uint[] GetSpellFamilyMask(EffectIndex index) { switch (index) { case EffectIndex.Zero: return(this.SpellFamilyMask0); case EffectIndex.One: return(this.SpellFamilyMask1); case EffectIndex.Two: return(this.SpellFamilyMask2); default: return((uint[])null); } }
// Token: 0x0600055F RID: 1375 RVA: 0x00015D04 File Offset: 0x00013F04 private static void TransmitEffect(EffectIndex effectIndex, EffectData effectData, NetworkConnection netOrigin = null) { EffectManager.outgoingEffectMessage.effectIndex = effectIndex; EffectData.Copy(effectData, EffectManager.outgoingEffectMessage.effectData); if (NetworkServer.active) { using (IEnumerator <NetworkConnection> enumerator = NetworkServer.connections.GetEnumerator()) { while (enumerator.MoveNext()) { NetworkConnection networkConnection = enumerator.Current; if (networkConnection != null && networkConnection != netOrigin) { networkConnection.SendByChannel(52, EffectManager.outgoingEffectMessage, EffectManager.qosChannel.intVal); } } return; } } if (ClientScene.readyConnection != null) { ClientScene.readyConnection.SendByChannel(52, EffectManager.outgoingEffectMessage, EffectManager.qosChannel.intVal); } }
public SpellEffect(Spell spell, EffectIndex index) { Spell = spell; EffectIndex = index; }
// Token: 0x06000360 RID: 864 RVA: 0x0000D703 File Offset: 0x0000B903 public static void WriteEffectIndex(this NetworkWriter writer, EffectIndex effectIndex) { writer.WritePackedUInt32((uint)(effectIndex + 1)); }
public Task <UnitProperty> GetEffect(EffectIndex effectIndex) => Task.FromResult(State.Effects[(int)effectIndex]);