protected override void Perform(ActionEvent evt, Player player, MapElementInfo info, NVector pos, ActionHolder holder) { DataTerrain terrain = GameMgmt.Get().newMap.Terrain(pos); //which is possible? List <(string key, string value)> opts = new List <(string key, string value)>(); int i = 0; while (holder.data.ContainsKey(i.ToString())) { var d = SplitHelper.Split(holder.data[i.ToString()]); if (terrain.id == d.key) { opts.Add(d); } i++; } //found it? if (opts.Count == 0) { OnMapUI.Get().unitUI.ShowPanelMessageError($"No terraform possible for {terrain.Name()}"); return; } Vector3Int v3 = new Vector3Int(pos.x, pos.y, 1); //TODO find right pos if (opts.Count == 1) { GameMgmt.Get().newMap.levels[pos.level] .SetTile(v3, opts[0].value == "remove" ? null : L.b.terrains[opts[0].value]); return; } //multiple? WindowPanelBuilder wpb = WindowPanelBuilder.Create($"Terraform {terrain.Name()}"); foreach (var opt in opts) { wpb.panel.AddImageTextButton(CreateTitle(opt), terrain.Sprite(), () => { GameMgmt.Get().newMap.levels[pos.level] .SetTile(v3, opt.value == "remove" ? null : L.b.terrains[opt.value]); wpb.Close(); }); } wpb.AddClose(); wpb.Finish(); }
public override ActionHolder Create(string setting) { ActionHolder conf = base.Create(setting); conf.trigger = ActionEvent.Quest; foreach (var ele in SplitHelper.Separator(setting)) { var s = SplitHelper.Split(ele); conf.data[s.key] = s.value; } return(conf); }
protected override void Perform(ActionEvent evt, Player player, MapElementInfo info, NVector pos, ActionHolder holder) { var i = SplitHelper.Split(holder.data["improvement"]); //set improvement L.b.improvements.Set(i.key, pos); //kill? if (i.value == "kill") { info.Kill(); } }
public override void BuildPanel(ActionDisplaySettings sett) { base.BuildPanel(sett); //list it int i = 0; while (sett.holder.data.ContainsKey(i.ToString())) { var d = SplitHelper.Split(sett.holder.data[i.ToString()]); DataTerrain terr = L.b.terrains[d.key]; sett.panel.AddImageLabel(CreateTitle(d), terr.Icon); i++; } }
public MappingProfile() { CreateMap <DemoEntity, Demo>() .ForMember(dest => dest.Name, opts => opts.MapFrom(src => $"{src.FirstName} {src.LastName}")) .ForMember(dest => dest.Position, opts => opts.MapFrom(src => EnumHelper <Position> .GetDisplayValue(src.Position))) .ForMember(dest => dest.Offices, opts => opts.MapFrom(src => src.Office)) .ReverseMap() .ForMember(dest => dest.FirstName, opts => opts.MapFrom(src => SplitHelper.Split(src.Name, ' ', 0))) .ForMember(dest => dest.LastName, opts => opts.MapFrom(src => SplitHelper.Split(src.Name, ' ', 1))); CreateMap <DemoNestedLevelOneEntity, DemoNestedLevelOne>() .ForMember(dest => dest.Extension, opts => opts.MapFrom(src => src.Extn)) .ForMember(dest => dest.DemoNestedLevelTwos, opts => opts.MapFrom(src => src.DemoNestedLevelTwo)) .ReverseMap(); CreateMap <DemoNestedLevelTwoEntity, DemoNestedLevelTwo>() .ForMember(dest => dest.StartDates, opts => opts.MapFrom(src => src.StartDate)) .ReverseMap(); }
public override string Desc(Player player, string sett) { return($"Need the feature {SplitHelper.Split(sett).key}."); }
public override bool Check(Player player, string sett) { var v = SplitHelper.Split(sett); return(LSys.tem.options[v.key].Same(v.value)); }
public override bool Check(Player player, string sett) { var v = SplitHelper.Split(sett); return L.b.gameOptions[v.key].Same(v.value); }
public override string Desc(Player player, string sett) { var s = SplitHelper.Split(sett); return($"You needs the {Name()} {s.key} and your enemy {s.value}."); }
public override bool Check(Player player, MapElementInfo onMap, string sett, NVector pos) { var s = SplitHelper.Split(sett); return(CheckMapElement(onMap, s.key) && CheckMapElement(S.MapElement(pos), s.value)); }
public override bool Check(Player player, string sett) { var v = SplitHelper.Split(sett); return(player.GetFeature(v.key) == v.value); }
protected override void Perform(ActionEvent evt, Player player, ActionHolder holder) { var v = SplitHelper.Split(holder.data["feature"]); player.SetFeature(v.key, v.value); }