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); }
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); }
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(); } }
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); }