public ArmyUnit(ActorInfo actorInfo, Player owner) { ActorInfo = actorInfo; var queues = owner.World.Map.Rules.Actors.Values .SelectMany(a => a.TraitInfos <ProductionQueueInfo>()); BuildableInfo = actorInfo.TraitInfoOrDefault <BuildableInfo>(); TooltipInfo = actorInfo.TraitInfos <TooltipInfo>().FirstOrDefault(info => info.EnabledByDefault); var rsi = actorInfo.TraitInfoOrDefault <RenderSpritesInfo>(); if (BuildableInfo != null && rsi != null) { var image = rsi.GetImage(actorInfo, owner.World.Map.Rules.Sequences, owner.Faction.Name); Icon = new Animation(owner.World, image); Icon.Play(BuildableInfo.Icon); IconPalette = BuildableInfo.IconPalette; IconPaletteIsPlayerPalette = BuildableInfo.IconPaletteIsPlayerPalette; BuildPaletteOrder = BuildableInfo.BuildPaletteOrder; ProductionQueueOrder = queues.Where(q => BuildableInfo.Queue.Contains(q.Type)) .Select(q => q.DisplayOrder) .MinByOrDefault(o => o); } }
public Tooltip(Actor self, TooltipInfo info) { this.self = self; this.info = info; }