Beispiel #1
0
    public void SetBagItemPos(UnityEngine.GameObject surface, UnityEngine.GameObject old)
    {
        Debug.LogWarning("setBagItemPos");
        Monitor.Enter(KBEngineApp.app.entities);
        KBEngine.Avatar player    = (KBEngine.Avatar)KBEngineApp.app.player();
        UInt64          serialnum = itemsDic[old];
        FrameBagIndex   new_fbi   = frameBagDic[surface];

        player.setBagItemPos(serialnum, new_fbi.FrameIndex, new_fbi.BagIndex);
        Monitor.Exit(KBEngineApp.app.entities);
        Byte   frame    = 0;
        UInt16 bagindex = 0;

        foreach (var v in KnapSackInfo.inst.allKanpItems)
        {
            foreach (var mv in v.Value)
            {
                if (mv.Value.serialnum == serialnum)
                {
                    frame    = v.Key;
                    bagindex = mv.Key;
                }
            }
        }
        KnapsakItem ksi = KnapSackInfo.inst.allKanpItems[frame][bagindex];

        KnapSackInfo.inst.allKanpItems[frame].Remove(bagindex);
        ksi.bagFrameIndex = new_fbi.FrameIndex;
        ksi.bagItemIndex  = new_fbi.BagIndex;
        KnapSackInfo.inst.allKanpItems[new_fbi.FrameIndex].Add(new_fbi.BagIndex, ksi);
    }
Beispiel #2
0
    public void ReplaceBagItemPos(UnityEngine.GameObject newItem, UnityEngine.GameObject oldItem)
    {
        Debug.LogWarning("setBagItemPos");
        Monitor.Enter(KBEngineApp.app.entities);
        KBEngine.Avatar player        = (KBEngine.Avatar)KBEngineApp.app.player();
        UInt64          old_serialnum = itemsDic[oldItem];
        UInt64          new_serialnum = itemsDic[newItem];

        player.rePlaceBagItemPos(new_serialnum, old_serialnum);
        Monitor.Exit(KBEngineApp.app.entities);
        Byte   new_frame    = 0;
        UInt16 new_bagindex = 0;

        foreach (var v in KnapSackInfo.inst.allKanpItems)
        {
            foreach (var mv in v.Value)
            {
                if (mv.Value.serialnum == new_serialnum)
                {
                    new_frame    = v.Key;
                    new_bagindex = mv.Key;
                }
            }
        }
        KnapsakItem new_ksi = KnapSackInfo.inst.allKanpItems[new_frame][new_bagindex];

        KnapSackInfo.inst.allKanpItems[new_frame].Remove(new_bagindex);

        Byte   old_frame    = 0;
        UInt16 old_bagindex = 0;

        foreach (var v in KnapSackInfo.inst.allKanpItems)
        {
            foreach (var mv in v.Value)
            {
                if (mv.Value.serialnum == old_serialnum)
                {
                    old_frame    = v.Key;
                    old_bagindex = mv.Key;
                }
            }
        }
        KnapsakItem old_ksi = KnapSackInfo.inst.allKanpItems[old_frame][old_bagindex];

        KnapSackInfo.inst.allKanpItems[old_frame].Remove(old_bagindex);

        old_ksi.bagFrameIndex = new_frame;
        old_ksi.bagItemIndex  = new_bagindex;
        new_ksi.bagFrameIndex = old_frame;
        new_ksi.bagItemIndex  = old_bagindex;
        KnapSackInfo.inst.allKanpItems[old_frame].Add(old_bagindex, new_ksi);
        KnapSackInfo.inst.allKanpItems[new_frame].Add(new_bagindex, old_ksi);
    }
Beispiel #3
0
 public void onBagItemHover(UnityEngine.GameObject go, bool state)
 {
     if (state)
     {
         FrameBagIndex fbi = frameBagDic[go.transform.parent.gameObject];
         KnapsakItem   ki  = KnapSackInfo.inst.allKanpItems[fbi.FrameIndex][fbi.BagIndex];
         Debug.LogWarning("on hover tableid is " + ki.tableId);
         game_ui_autopos.ShowTips(ki.name, ki.tableId, ki.tableId, 500, go.transform.position);
     }
     else
     {
         Debug.LogWarning("not hover");
         game_ui_autopos.HideTips();
     }
 }
Beispiel #4
0
    public void onAddBagItem(object framIndex, object itemIndex)
    {
        Debug.LogWarning("onAddBagItem");
        UnityEngine.GameObject frame  = knapsackFrameGoDic[(Byte)framIndex][(UInt16)itemIndex];
        UnityEngine.GameObject goItem = newItemByName("knapsackitem", frame.transform);
        KnapsakItem            ki     = KnapSackInfo.inst.allKanpItems[(Byte)framIndex][(UInt16)itemIndex];

        goItem.GetComponent <UISprite>().spriteName = ki.icon + "";
        knapsackDragDropItem kddi = goItem.GetComponent <knapsackDragDropItem>();

        kddi.func      = ki.func;
        kddi.stdMode   = ki.stdMode;
        kddi.serialnum = ki.serialnum;
        UIEventListener.Get(goItem).onDoubleClick = onBagItemDoubleClick;
        UIEventListener.Get(goItem).onHover       = onBagItemHover;
        itemsDic.Add(goItem, KnapSackInfo.inst.allKanpItems[(Byte)framIndex][(UInt16)itemIndex].serialnum);
    }