private void AttachBloodHead(GameObject head) { var controller = new ParticleController(); var path = StringUtil.PathBuilder( CombatGUIParams.EFFECTS_PATH, CombatGUIParams.SLASH_FATALITY, CombatGUIParams.PARTICLES_EXTENSION); var blood = controller.CreateParticle(path); var script = blood.AddComponent <SDestroyByLifetime>(); script.Init(blood, 4f); controller.AttachParticle(head, blood); }
private void ProcessParticles(CChar c) { if (this._data.ParticlePath != null && !this._data.ParticlePath.Equals("")) { var path = StringUtil.PathBuilder( CombatGUIParams.EFFECTS_PATH, this._data.ParticlePath, CombatGUIParams.PARTICLES_EXTENSION); var controller = new ParticleController(); var particles = controller.CreateParticle(path); var script = particles.AddComponent <SDestroyByLifetime>(); script.Init(particles, CombatGUIParams.PARTICLE_DUR); controller.AttachParticle(c.GameHandle, particles); } }
private void AttachBloodParticles(object o) { var controller = new ParticleController(); var path = StringUtil.PathBuilder( CombatGUIParams.EFFECTS_PATH, "Bleed", CombatGUIParams.PARTICLES_EXTENSION); var particles = controller.CreateParticle(path); if (particles != null) { controller.AttachParticle(this._targetHandle, particles); } var script = particles.AddComponent <SDestroyByLifetime>(); script.Init(particles, 1f); }
// TODO: Move particle creation to load from .xml files private void CreateWaterParticles(CChar c, MTile t) { var controller = new ParticleController(); var path = StringUtil.PathBuilder( CombatGUIParams.EFFECTS_PATH, "Water", CombatGUIParams.PARTICLES_EXTENSION); var particles = controller.CreateParticle(path); if (particles != null) { controller.AttachParticle(t.Controller.Handle, particles); } var script = particles.AddComponent <SDestroyByLifetime>(); script.Init(particles, 5f); }
public void DisplayBarrierCreation(CChar target, MHit hit, MBarrier barrier) { var dmgData = new HitDisplayData(); dmgData.Color = CombatGUIParams.BLUE; dmgData.Hit = hit; dmgData.Priority = ViewParams.BARRIER_PRIORITY; dmgData.Text = barrier.MaxHP.ToString(); dmgData.Target = target.GameHandle; dmgData.YOffset = CombatGUIParams.FLOAT_OFFSET; dmgData.Hit.AddDataDisplay(dmgData); this.DisplayBarrier(target, hit); var controller = new ParticleController(); var util = new DecoUtil(); var particles = controller.CreateParticle(BARRIER_PARTICLE_PATH); util.AttachEffectParticlesToChar(target, particles, EEffect.Barrier); }
public void ApplyEffectFx(CTile tile) { if (tile.Model.GetCurrentOccupant() != null) { if (tile.Model.GetCurrentOccupant().GetType() == typeof(CChar)) { var controller = new ParticleController(); var util = new DecoUtil(); var particles = controller.CreateParticle(this.Data.ParticlePath); var tgt = tile.Model.GetCurrentOccupant() as CChar; util.AttachEffectParticlesToChar(tgt, particles, this.Type); } } var placeHolder = new GameObject(); var script = placeHolder.AddComponent <SDestroyByLifetime>(); script.AddCallback(this.CallbackHandler); script.Init(placeHolder, 0.2f); }
public void ProcessSongFX(MAction a) { var controller = new ParticleController(); var ability = a.ActiveAbility as MSong; VCombatController.Instance.DisplayActionEventName(a); var path = StringUtil.PathBuilder( CombatGUIParams.EFFECTS_PATH, ability.SongType.ToString().Replace("_", ""), CombatGUIParams.PARTICLES_EXTENSION); var particles = controller.CreateParticle(path); var script = particles.AddComponent <SDestroyByLifetime>(); script.Init(particles, 5f); controller.AttachParticle(a.Data.Source.GameHandle, particles); foreach (var hit in a.Data.Hits) { hit.CallbackHandler(this); } }