void INotifyDamageStateChanged.DamageStateChanged(Actor self, AttackInfo e) { overlay.ReplaceAnim(RenderSprites.NormalizeSequence(overlay, e.DamageState, info.Sequence)); }
public Bib(Actor self, BibInfo info) { this.info = info; rs = self.Trait <RenderSprites>(); bi = self.Info.Traits.Get <BuildingInfo>(); }
public string NormalizeSequence(Actor self, string sequence) { return(RenderSprites.NormalizeSequence(defaultAnimation, self.GetDamageState(), sequence)); }
void INotifyTeslaCharging.Charging(Actor self, Target target) { charging = true; overlay.PlayThen(RenderSprites.NormalizeSequence(overlay, self.GetDamageState(), info.Sequence), () => charging = false); }
protected override void OnEnterComplete(Actor self, Actor targetActor) { self.World.AddFrameEndTask(w => { if (infector.IsTraitDisabled) { return; } var infectable = targetActor.TraitOrDefault <InfectableOld>(); if (infectable == null || infectable.IsTraitDisabled || infectable.Infector != null) { return; } w.Remove(self); infectable.Infector = self; infectable.InfectorTrait = infector; infectable.FirepowerMultipliers = self.TraitsImplementing <IFirepowerModifier>() .Select(a => a.GetFirepowerModifier()).ToArray(); infectable.Ticks = infector.Info.DamageInterval; infectable.GrantCondition(targetActor); infectable.RevokeCondition(targetActor, true); infector.GrantCondition(self); if (infector.Info.Sequence != null) { var rs = self.Trait <RenderSprites>(); var image = rs.GetImage(self); infectable.Overlay = new Animation(self.World, image, () => targetActor.Trait <IFacing>().Facing); if (infector.Info.StartSequence != null) { infectable.Overlay.PlayThen(RenderSprites.NormalizeSequence(infectable.Overlay, self.GetDamageState(), infector.Info.StartSequence), () => infectable.Overlay.PlayRepeating(RenderSprites.NormalizeSequence(infectable.Overlay, self.GetDamageState(), infector.Info.Sequence))); } else { infectable.Overlay.PlayRepeating(RenderSprites.NormalizeSequence(infectable.Overlay, self.GetDamageState(), infector.Info.Sequence)); } } }); }
public WithBuildingBib(Actor self, WithBuildingBibInfo info) { this.info = info; rs = self.Trait <RenderSprites>(); bi = self.Info.TraitInfo <BuildingInfo>(); }
public DeadBuildingState(Actor self, DeadBuildingStateInfo info) { this.info = info; rs = self.Trait <RenderSprites>(); self.Trait <Health>().RemoveOnDeath = !rs.anim.HasSequence("dead"); }
public void DamageStateChanged(Actor self, AttackInfo e) { overlay.ReplaceAnim(RenderSprites.NormalizeSequence(overlay, e.DamageState, overlay.CurrentSequence.Name)); }
public WithDisguisingInfantryBody(ActorInitializer init, WithDisguisingInfantryBodyInfo info) : base(init, info) { rs = init.Self.Trait <RenderSprites>(); disguise = init.Self.Trait <Disguise>(); }