public RenderBuilding(ActorInitializer init, RenderBuildingInfo info, Func <int> baseFacing) : base(init.self, baseFacing) { var self = init.self; this.info = info; DefaultAnimation.PlayRepeating(NormalizeSequence(self, "idle")); }
public RenderBuilding(ActorInitializer init, RenderBuildingInfo info, Func <int> baseFacing) : base(init.self, baseFacing) { var self = init.self; this.info = info; DefaultAnimation.PlayRepeating(NormalizeSequence(self, "idle")); self.Trait <IBodyOrientation>().SetAutodetectedFacings(DefaultAnimation.CurrentSequence.Facings); }
public RenderBuildingWarFactory(ActorInitializer init, RenderBuildingInfo info) : base(init, info) { roof = new Animation(GetImage(init.self)); var bi = init.self.Info.Traits.Get <BuildingInfo>(); // Additional 512 units move from center -> top of cell var offset = FootprintUtils.CenterOffset(bi).Y + 512; anims.Add("roof", new AnimationWithOffset(roof, null, () => !buildComplete, offset)); }
public RenderBuildingWarFactory(ActorInitializer init, RenderBuildingInfo info) : base(init, info) { roof = new Animation(GetImage(init.self)); var offset = new AnimationWithOffset(roof) { ZOffset = 24 }; offset.DisableFunc = () => !buildComplete; anims.Add("roof", offset); }
public RenderBuildingSeparateTurret(ActorInitializer init, RenderBuildingInfo info) : base(init, info) { var self = init.self; var turreted = self.TraitsImplementing <Turreted>(); var i = 0; foreach (var t in turreted) { var anim = new Animation(GetImage(self), () => t.turretFacing); anim.Play("turret"); anims.Add("turret_{0}".F(i++), new AnimationWithOffset(anim, wr => wr.ScreenPxOffset(t.Position(self)), null)); } }
public RenderBuilding(ActorInitializer init, RenderBuildingInfo info, Func <int> baseFacing) : base(init.self, baseFacing) { var self = init.self; // Work around a bogus crash anim.PlayRepeating(NormalizeSequence(self, "idle")); self.Trait <IBodyOrientation>().SetAutodetectedFacings(anim.CurrentSequence.Facings); // Can't call Complete() directly from ctor because other traits haven't been inited yet if (self.Info.Traits.Get <RenderBuildingInfo>().HasMakeAnimation&& !init.Contains <SkipMakeAnimsInit>()) { self.QueueActivity(new MakeAnimation(self, () => Complete(self))); } else { self.QueueActivity(new CallFunc(() => Complete(self))); } }
public RenderBuildingSeparateTurret(ActorInitializer init, RenderBuildingInfo info) : base(init, info) { var turreted = init.self.Trait <Turreted>(); var attack = init.self.Trait <AttackBase>(); var turretAnim = new Animation(GetImage(init.self), () => turreted.turretFacing); turretAnim.Play("turret"); for (var i = 0; i < attack.Turrets.Count; i++) { var turret = attack.Turrets[i]; anims.Add("turret_{0}".F(i), new AnimationWithOffset(turretAnim, () => Combat.GetTurretPosition(init.self, null, turret).ToFloat2(), null)); } }
public RenderBuilding(ActorInitializer init, RenderBuildingInfo info) : this(init, info, () => 0) { }
public RenderBuildingWall(ActorInitializer init, RenderBuildingInfo info) : base(init, info) { seqName = "idle"; }
public RenderBuildingTurreted(ActorInitializer init, RenderBuildingInfo info) : base(init, info, MakeTurretFacingFunc(init.self)) { t = init.self.TraitsImplementing <Turreted>().FirstOrDefault(); t.QuantizedFacings = DefaultAnimation.CurrentSequence.Facings; }
public RenderBuildingTurreted(ActorInitializer init, RenderBuildingInfo info) : base(init, info, MakeTurretFacingFunc(init.self)) { }
public RenderBuildingSilo(ActorInitializer init, RenderBuildingInfo info) : base(init, info) { playerResources = init.self.Owner.PlayerActor.Trait <PlayerResources>(); }