Beispiel #1
0
    void RPC_S2C_PersonalStorageDelete(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        int        objID = stream.Read <int>();
        ItemObject item  = ItemMgr.Instance.Get(objID);

        if (null == item)
        {
            return;
        }

        NpcStorage storage = NpcStorageMgr.GetStorage(Id);

        if (null == storage)
        {
            return;
        }

        storage.Package.RemoveItem(item);
        storage.Reset();
    }
Beispiel #2
0
    void RPC_S2C_PersonalStorageSort(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        int tabIndex = stream.Read <int>();

        int[] ids = stream.Read <int[]>();

        NpcStorage storage = NpcStorageMgr.GetStorage(Id);

        if (null == storage)
        {
            return;
        }

        storage.Package.Clear((ItemPackage.ESlotType)tabIndex);
        SlotList itemList = storage.Package.GetSlotList((ItemPackage.ESlotType)tabIndex);

        for (int i = 0; i < ids.Length; i++)
        {
            ItemObject item = ItemMgr.Instance.Get(ids[i]);
            itemList[i] = item;
        }

        storage.Reset();
    }
Beispiel #3
0
    void RPC_S2C_PersonalStorageExchange(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        int objID    = stream.Read <int>();
        int dstIndex = stream.Read <int>();
        int dstObjID = stream.Read <int>();
        int srcIndex = stream.Read <int>();

        ItemObject item = ItemMgr.Instance.Get(objID);

        if (null == item)
        {
            return;
        }

        NpcStorage storage = NpcStorageMgr.GetStorage(Id);

        if (null == storage)
        {
            return;
        }

        ItemObject dstObj = ItemMgr.Instance.Get(dstObjID);

        if (null != dstObj)
        {
            storage.Package.PutItem(dstObj, srcIndex);
        }
        else
        {
            storage.Package.RemoveItem(item);
        }

        storage.Package.PutItem(item, dstIndex);

        storage.Reset();
    }