public BuildItemUnitView GetMotherViewModel(bool premiumIsActive, StorageResources resources = null) { //if (resources == null) throw new Exception(Error.UserResourceNotSetInInstance); var description = new LangField(Resource.MotherEnergyConverter, Resource.MotherEnergyConverterDescription); var images = new SpriteImages().BuildImages(MotherCssNativename); var model = new BuildItemUnitView { TranslateName = description.Name, NativeName = NativeName, IconSelf = images.Icon, Info = new BuildDropItemInfo { Description = description.Name, DropImage = images.Detail }, Action = new BuildDropItemAction { ViewPath = BuildEnergyConverterActions.ViewPath, Data = new BuildEnergyConverterActions { StorageResources = null, ConvertLoses = GameMathStats.BaseConvertLosses } }, IsBuildItem = true }; model.SetComplexButtonView(); model.Action.SetButtons(); return(model); }
public BuildItemUnitView GetViewModel(ItemProgress buildProgress, bool premiumIsActive, StorageResources resources = null) { var text = _text; var images = _images; var level = buildProgress?.Level ?? 1; var model = new BuildItemUnitView { TranslateName = text.Name, NativeName = NativeName, IconSelf = images.Icon, Progress = buildProgress, Info = new BuildDropItemInfo { Description = text.Name, DropImage = images.Detail }, Update = new BuildDropItemUpdate { Price = CalcPrice(level, premiumIsActive), Properties = PropertyList(level, premiumIsActive) }, IsBuildItem = true }; model.SetComplexButtonView(); model.Update.SetButtons(); //model.Action.SetButtons(); return(model); }
public override List <BuildItemUnitView> GetMotherBuildList(UserMothershipDataModel mother, UserPremiumWorkModel userPremium) { var teches = new BattleTeches(mother.TechProgress); var techesOut = teches.ConvertToTechesOut(false); var propertiesView = teches.CreateBuildItemTechData(false); var result = new List <BuildItemUnitView>(); techesOut.ForEach(i => { var techOut = techesOut[i.Value.TechType]; techOut.CalcResultPrice(userPremium.IsActive); var model = new BuildItemUnitView { Progress = i.Value.Progress, TranslateName = i.Value.Text.Name, NativeName = i.Value.TechType.ToString(), IconSelf = i.Value.SpriteImages.Icon, Info = new BuildDropItemInfo { Description = i.Value.Text.Description, DropImage = i.Value.SpriteImages.Detail, Data = propertiesView[i.Value.TechType] }, Update = new BuildDropItemUpdate { Properties = propertiesView[i.Value.TechType].Properties.Select(p => p.Value).ToList(), Price = i.Value.BasePrice, IsUnitUpgrade = false }, IsBuildItem = false, AdvancedData = new Dictionary <string, object> { { "TechOut", techOut } } }; model.SetComplexButtonView(); if (!techOut.Disabled) { model.Update.SetButtons(true); } result.Add(model); }); return(result); }
public BuildItemUnitView GetMotherViewModel(bool premiumIsActive, StorageResources resources = null) { if (resources?.Current == null) { throw new Exception(Error.ProportionNotSetInModel); } var description = new LangField(Resource.MotherExtractionModule, Resource.MotherStorageDescription); var images = new SpriteImages().BuildImages(MotherCssNativename); //todo временно // var power = GetPower(1, premiumIsActive); var power = GetPower(22, premiumIsActive); var extraction = new ExtractionResource(); extraction.SetAndCalcEmpFromProportion(resources.Current, power, BaseProportion.Ir, BaseProportion.Dm); var model = new BuildItemUnitView { TranslateName = description.Name, NativeName = NativeName, IconSelf = images.Icon, Info = new BuildDropItemInfo { Description = description.Name, DropImage = images.Detail }, Action = new BuildDropItemAction { ViewPath = BuildExtractionModuleActions.ViewPath, Data = new BuildExtractionModuleActions { //todo реализовать Power = power, Percent = extraction.ExtractionProportin, ExtractionPerHour = extraction.ExtractionPerHour } }, IsBuildItem = true }; model.SetComplexButtonView(); model.Action.SetButtons(); return(model); }
public BuildItemUnitView GetViewModel(ItemProgress buildProgress, bool premiumIsActive, StorageResources resources = null) { //todo Временный костыль из за не состыковки типов if (resources?.Current == null) { throw new Exception(Error.ProportionNotSetInModel); } var em = Init(buildProgress, premiumIsActive, resources.Current); var model = new BuildItemUnitView { Progress = em.ItemProgress, TranslateName = em.Text.Name, NativeName = NativeName, IconSelf = em.Images.Icon, Info = new BuildDropItemInfo { DropImage = em.Images.Detail, Description = em.Text.Description }, Action = new BuildDropItemAction { ViewPath = BuildExtractionModuleActions.ViewPath, Data = new BuildExtractionModuleActions { Power = em.Power, Percent = em.ExtractionProportin, ExtractionPerHour = em.ExtractionPerHour } }, Update = new BuildDropItemUpdate { Price = em.Cost, Properties = em.Properties }, IsBuildItem = true }; model.SetComplexButtonView(); model.Update.SetButtons(true); model.Action.SetButtons(true); return(model); }
public BuildItemUnitView GetViewModel(ItemProgress buildProgress, bool premiumIsActive, StorageResources resources = null) { var model = new BuildItemUnitView { Progress = buildProgress, TranslateName = _text.Name, NativeName = NativeName, IconSelf = _images.Icon, Info = GetInfo(), Update = new BuildDropItemUpdate { Price = CalcPrice(premiumIsActive) }, IsBuildItem = true }; model.SetComplexButtonView(); model.Update.SetButtons(); return(model); }
public BuildItemUnitView GetViewModel(ItemProgress buildProgress, bool premiumIsActive, StorageResources resources = null) { var ec = Init(premiumIsActive, buildProgress); var model = new BuildItemUnitView { Progress = ec.ItemProgress, TranslateName = ec.Text.Name, NativeName = NativeName, IconSelf = ec.Images.Icon, Info = new BuildDropItemInfo { Description = ec.Text.Description, DropImage = ec.Images.Detail }, Update = new BuildDropItemUpdate { Properties = ec.Properties, Price = ec.Cost }, Action = new BuildDropItemAction { ViewPath = BuildEnergyConverterActions.ViewPath, Data = new BuildEnergyConverterActions { StorageResources = null, ConvertLoses = ec.Properties[0].CurrentValue } }, IsBuildItem = true }; model.SetComplexButtonView(); model.Update.SetButtons(true); model.Action.SetButtons(true); return(model); }
public BuildItemUnitView GetViewModel(ItemProgress buildProgress, bool premiumIsActive, StorageResources resources = null) { //var res = ToModel<StorageResources>(planet.resources); var storage = Init(resources, buildProgress, premiumIsActive); var model = new BuildItemUnitView { Progress = storage.ItemProgress, TranslateName = storage.Text.Name, NativeName = NativeName, IconSelf = storage.Images.Icon, Info = new BuildDropItemInfo { DropImage = storage.Images.Detail, Description = storage.Text.Description }, Action = new BuildDropItemAction { ViewPath = BuildStorageActions.ViewPath, Data = new BuildStorageActions { StorageResources = storage.StorageResources, Losses = storage.Properties[3].CurrentValue + 1 } }, Update = new BuildDropItemUpdate { Price = storage.Cost, Properties = storage.Properties }, IsBuildItem = true }; SetRequiredButtons(model); model.Update.SetButtons(); return(model); }
public BuildItemUnitView GetMotherViewModel(bool premiumIsActive, StorageResources resources = null) { if (resources == null) { resources = new StorageResources(); resources.InitializeField(); } var description = new LangField(Resource.MotherStorage, Resource.MotherStorageDescription); var images = new SpriteImages().BuildImages(MotherCssNativename); var model = new BuildItemUnitView { TranslateName = description.Name, NativeName = NativeName, IconSelf = images.Icon, Info = new BuildDropItemInfo { Description = description.Name, DropImage = images.Detail }, Action = new BuildDropItemAction { ViewPath = BuildStorageActions.ViewPath, Data = new BuildStorageActions { StorageResources = resources, Losses = GetTransferLossesMod(1, premiumIsActive) } }, IsBuildItem = true }; SetRequiredButtons(model); return(model); }
private void SetRequiredButtons(BuildItemUnitView model) { model.SetComplexButtonView(); model.Action.SetButtons(); model.Action.Buttons.Add(SendAllBtnKey, ButtonsView.StorageActionSendAll()); }
private static BuildItemUnitView GetUnitViewInSpaceShipyard(UnitType unitType, int hangarCount, TurnedUnit upgrade, ItemProgress spaceShipyard, UserPremiumWorkModel userPremium) { var unit = UnitHelper.GetBaseUnit(unitType); var baseTime = unit.BasePrice.TimeProduction; var buildLevel = 1; if (spaceShipyard?.Level != null) { buildLevel = (int)spaceShipyard.Level; } var price = unit.BasePrice.CreateNewFromThis(); //================= price.TimeProduction = (int)Math.Ceiling(CalculateTimeProduction(baseTime, userPremium.IsActive, buildLevel)); var progress = ((upgrade != null) ? CalculateUnitProgress(upgrade, baseTime, buildLevel, userPremium, hangarCount) : new ItemProgress { Level = hangarCount, IsProgress = false }); var unitText = unit.Text; var model = new BuildItemUnitView { Progress = progress, TranslateName = unitText.Name, NativeName = unit.Key, IconSelf = unit.SpriteImages.Icon, Info = new BuildDropItemInfo { Description = unitText.Description, DropImage = unit.SpriteImages.Detail, Data = new BuildItemUnitData(true, unit.UnitStats) }, //Action = new BuildDropItemAction //{ // ViewPath = BuildExtractionModuleActions.ViewPath, // Data = new BuildExtractionModuleActions // { // //todo реализовать // Power = power, // Percent = new MaterialResource().Init(percentE, percentIr, percentDm), // ExtractionPerHour = new MaterialResource().Init(valE, valIr, valDm), // } //}, Update = new BuildDropItemUpdate { Price = price, IsUnitUpgrade = true }, IsBuildItem = false }; model.SetComplexButtonView(); model.Update.SetButtons(); return(model); }