using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InventoryItem : UIDragDropItem {
private UISprite sprite;
protected override void Awake() {
base.Awake();
sprite = this.GetComponent<UISprite>();
}
protected override void OnDragDropRelease(GameObject surface)
{//当我们拖拽结束的时候鼠标下的物体 根据鼠标碰撞监测 碰撞到的第一个物体就是 surface
base.OnDragDropRelease(surface);
if (surface != null)
{
if (surface.tag == Tags.inventory_item_grid)//当拖放到一个空的格子里面的时候
{
if (surface == this.transform.parent.gameObject)//拖放到自己的格子里面
{
ResetPosition();
}else
{
Debug.Log("aaa");
InventoryItemGrid oldParent = this.transform.parent.GetComponent<InventoryItemGrid>();
Debug.Log(oldParent.name);
this.transform.parent = surface.transform;
ResetPosition();
InventoryItemGrid newParent = surface.GetComponent<InventoryItemGrid>();
newParent.SetId(oldParent.id, oldParent.num);
Debug.Log(newParent.transform.position);
oldParent.ClearInfo();//清空当前父亲的信息
}
}
else if (surface.tag == Tags.inventory_Item)//当拖放到一个有物品的格子里面的时候
{
}
else {
ResetPosition();
}
}
else {
ResetPosition();
}
}
void ResetPosition() {//重置位置
transform.localPosition = Vector3.zero;
}
public void SetId(int id) {
ObjectInfo info = ObjectsInfo._instance.GetObjectInfoById(id);
sprite.spriteName = info.icon_name;
}
public void SetIconName(string icon_name) {
sprite.spriteName = icon_name;
}
}
Debug.Log("aaa");这一段以下的代码 没有反应 就是拖拽到另一个物体放置的时候 没有效果也没用任何报错 应该怎么解决 我用的是NGUI 3.11.4 unity2017.3 版本