public void DropThning(IStuff stuff, Box location, int count, IBagObject bagObject) { IStuff st = player.HaveStuffInBox(stuff, bagObject); player.RemoveStaff(st, bagObject); location.MoveStuff(stuff, 1); }
public void OnBagRemoved(IBagObject bagObject, string key, string value) { if (_ignoreEvents) { return; } AddNewAction(StorageActionType.Remove, new StorageBag(bagObject.Id, key, value)); }
public void RemoveStaff(IStuff Stuff, IBagObject bagObject) { IStuff obj = HaveStuff(Stuff); if (obj != null) { bagObject.Things.Remove(obj); } }
public void DropBag(IBagObject bagObj) { if (bagObj.GetType() == typeof(City) || bagObj.GetType() == typeof(Country) || bagObj.GetType() == typeof(District) || bagObj.GetType() == typeof(ObjectBuilding)) { return; } var l = (Room)data.CurrentLocation; l.DropBag(GetPlayer(), bagObj); }
public IStuff HaveStuffInBox(IStuff Stuff, IBagObject bagObject) { IStuff o = bagObject.Things.FirstOrDefault(s => s == Stuff); if (o != null) { return(o); } return(null); }
public bool GetThningToBag(IStuff stuff, Box location, int count, IBagObject Bag) { IStuff st = location.GetStaff(stuff); if (player.AddStuffToBag(stuff, Bag)) { location.RemoveStaff(stuff, 1); return(true); } return(false); }
public void DropBag(Player player, IBagObject bagObject) { LocationBags.Add(bagObject); if (bagObject.GetType() == typeof(Bag)) { player.Bag = null; } if (bagObject.GetType() == typeof(SmallBag)) { player.SmallBag = null; } }
public bool AddStuffToBag(IStuff Stuff, IBagObject bagObject) { if (bagObject.classname == "SmallBag" && Stuff.BagType == 2) { return(false); } if (bagObject != null && bagObject.MaxWeight - GetBagWeight(bagObject) > Stuff.Weight) { AddToBag(Stuff, bagObject); return(true); } return(false); }
public void GetBag(Player player, IBagObject bagObject) { if (bagObject.GetType() == typeof(Bag)) { if (player.Bag != null) { return; } player.Bag = (Bag)bagObject; } if (bagObject.GetType() == typeof(SmallBag)) { if (player.SmallBag != null) { return; } player.SmallBag = (SmallBag)bagObject; } LocationBags.Remove(bagObject); }
public String DrawBagHtml(IBagObject bagObject) { String addHtml = "<br /><br /><a class='btn btn-success' href='close:help'>Закрыть сумку " + GetPlayer().Bag.Name + "</a>"; String html = "<b>Содержимое сумки " + bagObject.Name + "</b><br />"; if (bagObject.Things.Count == 0) { html += bagObject.Name + " Пуста" + addHtml; return(html); } else { //var ls = stuff.GroupBy(x => new { x.Name, x.id, x.classname }).Select(grp => new { GroupID = grp.Key, Count = grp.ToList().Count }).ToList(); var ls = bagObject.Things.GroupBy(x => new { x.Name, x.id, x.UseCount }).OrderBy(o => o.Key.Name).Select(obj => obj.ToList()).ToList(); html += "<table class=\"tableview\">"; foreach (var stfobj in ls) { String Methods = ""; var stf = stfobj.FirstOrDefault(); String dropev = RegisterInternalEvent(() => { GetPlayer().RemoveStaff(stf, bagObject); }, bagObject.classname); if (stf.GetType() == typeof(Alcohol)) { String drinkev = RegisterInternalEvent(() => { if (!GetPlayer().DrinkAlcohol((Alcohol)stf, 0)) { sc.InternalMesage = "Я не состоянии больше пить"; } else { GetPlayer().RemoveStaff(stf, bagObject); } }, bagObject.classname); Methods += "<a href='callback:" + drinkev + @"'>Выпить</a> "; } if (stf.GetType() == typeof(Parfume)) { String drinkev = RegisterInternalEvent(() => { if (!GetPlayer().UseParfume((Parfume)stf)) { GetPlayer().RemoveStaff(stf, bagObject); } data.time.AddTime(1); }, bagObject.classname); Methods += "<a href='callback:" + drinkev + @"'>Надушиться</a> "; } if (stf.GetType() == typeof(Pomade)) { String drinkev = RegisterInternalEvent(() => { if (!GetPlayer().UsePomade((Pomade)stf)) { GetPlayer().RemoveStaff(stf, bagObject); } data.time.AddTime(2); }, bagObject.classname); Methods += "<a href='callback:" + drinkev + @"'>Накрасить губы</a> "; } if (stf.GetType() == typeof(EyeShadow)) { String eyecolor = RegisterInternalEvent(() => { if (!GetPlayer().UseEyeShadow((EyeShadow)stf)) { GetPlayer().RemoveStaff(stf, bagObject); } data.time.AddTime(5); }, bagObject.classname); Methods += "<a href='callback:" + eyecolor + @"'>Накрасить глаза</a> "; } if (stf.GetType() == typeof(HairBrush)) { String drinkev = RegisterInternalEvent(() => { GetPlayer().UseHairBrush((HairBrush)stf); data.time.AddTime(1); }, bagObject.classname); Methods += "<a href='callback:" + drinkev + @"'>Причесаться</a> "; } if (stf.GetType() == typeof(HandMirror)) { String mirrorEvent = RegisterHtmlEvent(() => { data.time.AddTime(1); return(DrawMirrorHtml()); }, bagObject.classname); Methods += "<a href='htmlcallback:" + mirrorEvent + @"'>Посмотреться в зеркало</a> "; } html += @"<tr> <td>" + stf.Name + ((stf.UseCount > 0) ? " (" + stf.UseCount + " раз)" : "") + @"</td> <td>" + stfobj.Count + @"</td> <td>" + Methods + @"<a href='callback:" + dropev + @"' onclick=""ConfirmDelete(this)"">Выкинуть</a></td> </tr>"; } html += "</table>" + addHtml; return(html); } }
public void OnBagRemoved(IBagObject bagObject, string key, string value) { _storageSynchronizer?.OnBagRemoved(bagObject, key, value); }
public void AddToBag(IStuff Stuff, IBagObject bagObject) { bagObject.Things.Add(Stuff); }
public int GetBagWeight(IBagObject bagObject) { int x = Convert.ToInt32(bagObject.Things.Select(t => t.Weight).Sum()); return(x); }