コード例 #1
0
        // --------------------------------------------------- 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];
        }
コード例 #2
0
        // ----------------------------------------------------- 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;
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        /// <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();
        }
コード例 #5
0
        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);
        }
コード例 #6
0
 // 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);
     }
 }
コード例 #7
0
 private void Start()
 {
     inventory = GetComponent <TempInventory>();
 }