Пример #1
0
 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);
 }
Пример #2
0
        public RenderBuildingWarFactory(ActorInitializer init, RenderBuildingInfo info)
            : base(init, info)
        {
            roof = new Animation(init.world, 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;
            Add("roof", new AnimationWithOffset(roof, null,
                () => !buildComplete, offset));
        }
Пример #3
0
        public RenderBuilding( ActorInitializer init, RenderBuildingInfo info, Func<int> baseFacing )
            : base(init.self, baseFacing)
        {
            Info = info;
            var self = init.self;
            // Work around a bogus crash
            anim.PlayRepeating( NormalizeSequence(self, "idle") );

            // 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)));
        }
Пример #4
0
        public RenderBuildingRefinery(ActorInitializer init, RenderBuildingInfo info)
            : base(init, info)
        {
            playerResources = init.self.Owner.PlayerActor.Trait<PlayerResources>();

            lights = new Animation(GetImage(init.self));
            lights.PlayFetchIndex("lights",
                () => playerResources.OreCapacity != 0
                    ? (59 * playerResources.Ore) / (10 * playerResources.OreCapacity)
                    : 0);

            var offset = new float2(-32,-21);
            anims.Add("lights", new AnimationWithOffset( lights, wr => offset, () => !buildComplete )
                { ZOffset = 24 });
        }
Пример #5
0
        public RenderBuildingRefinery(ActorInitializer init, RenderBuildingInfo info)
            : base(init, info)
        {
            playerResources = init.self.Owner.PlayerActor.Trait <PlayerResources>();

            lights = new Animation(GetImage(init.self));
            lights.PlayFetchIndex("lights",
                                  () => playerResources.OreCapacity != 0
                                        ? (59 * playerResources.Ore) / (10 * playerResources.OreCapacity)
                                        : 0);

            var offset = new float2(-32, -21);

            anims.Add("lights", new AnimationWithOffset(lights, () => offset, () => !buildComplete)
            {
                ZOffset = 24
            });
        }
Пример #6
0
 public RenderBuildingWall( ActorInitializer init, RenderBuildingInfo info )
     : base(init, info)
 {
     seqName = "idle";
 }
Пример #7
0
 public RenderBuilding( ActorInitializer init, RenderBuildingInfo info )
     : this(init, info, () => 0)
 {
 }
Пример #8
0
 public RenderBuildingTurreted( ActorInitializer init, RenderBuildingInfo info )
     : base(init, info, () => init.self.Trait<Turreted>().turretFacing)
 {
 }
Пример #9
0
 public RenderBuildingSilo( ActorInitializer init, RenderBuildingInfo info )
     : base(init, info)
 {
     playerResources = init.self.Owner.PlayerActor.Trait<PlayerResources>();
 }
Пример #10
0
 public RenderBuildingCharge( ActorInitializer init, RenderBuildingInfo info )
     : base(init, info)
 {
 }