// --------------------------------------------------- constructor / destructor public CEntrustedShop(Character owner, int templateId, string title) : base(owner, MR_Type.EntrustedShop) { nTemplateId = templateId; Inventory = new TempInventory(nMiniRoomType, nItemMaxCount, owner.dwId); sTitle = title; nCurUsers = 1; nMaxUsers = 4; aCurVisitors = new int[nMaxUsers]; }
// ----------------------------------------------------- handlers public override void HandleVisit(CInPacket p, WvsGameClient c) // accept invite { base.HandleVisit(p, c); if (c?.Character.dwId != Partner?.dwId) { return; } tempInvOwner = new TempInventory(nMiniRoomType, 9, OwnerID); tempInvPartner = new TempInventory(nMiniRoomType, 9, Partner.dwId); Parent.SendPacket(AcceptInvitePacket()); Partner.SendPacket(GetMiniRoomPacket()); acceptedInvite = true; }
public static bool HasSpace(Character pChar, TempInventory tempInv) { var map = new Dictionary <InventoryType, int>(); foreach (var item in tempInv.GetAll()) { if (map.ContainsKey(item.Type)) { map[item.Type]++; } else { map.Add(item.Type, 1); } } return(HasSpace(pChar, map)); }
/// <summary> /// Transfer items from a temp inventory to a character inventory. /// No validation is done to see if the items will fit. /// At the end of this method the temp inventory is cleared. /// </summary> /// <param name="pChar">Character to transfer items to.</param> /// <param name="pTempInv">Inventory to transfer items from.</param> /// <param name="bSubtractFee">If the money being transferred should have the trade fee deducted.</param> private void TransferItems(Character pChar, TempInventory pTempInv, bool bSubtractFee) { foreach (var item in pTempInv.GetAll()) { InventoryManipulator.InsertInto(pChar, item.Item); } if (pTempInv.Meso > 0) { if (bSubtractFee) { pTempInv.Meso -= Fee((int)pTempInv.Meso); } pChar?.Modify.GainMeso((int)pTempInv.Meso); } pTempInv.Clear(); }
public void Add(int dwCharId, TempInventory toAdd) { if (!stack.ContainsKey(dwCharId)) { stack.Add(dwCharId, new List <TempInventory>()); } var list = stack[dwCharId]; foreach (var item in list) { if (item.Type == toAdd.Type) { list.Remove(item); // this may be dangerous.. return; } } list.Add(toAdd); }
// Use this for initialization void Start() { inventorySCR = GameObject.FindGameObjectWithTag("Inventory").GetComponent<Inventory>(); tempInventorySCR = GameObject.FindGameObjectWithTag("Inventory").GetComponent<TempInventory>(); databaseSCR = GameObject.FindGameObjectWithTag ("ItemDatabase").GetComponent<ItemDatabase> (); tooltip = GameObject.FindGameObjectWithTag ("ItemTooltipPanel").transform.GetChild (0).GetComponent<RectTransform>(); tooltipParent = GameObject.FindGameObjectWithTag ("ItemTooltipPanel").GetComponent<RectTransform> (); tooltip = tooltipParent.GetChild (0).GetComponent<RectTransform>(); for (int i = 0; i < 5; i++) { heroInventory.Add (databaseSCR.GetItem(0)); } for (int i = 0; i < heroInventory.Count; i++) { heroInventoryStacks.Add(0); } }
private void Start() { inventory = GetComponent <TempInventory>(); }