|
@@ -2,6 +2,7 @@ using FairyGUI;
|
|
|
using System;
|
|
|
using UI.DressUp;
|
|
|
using UnityEngine;
|
|
|
+using UnityEngine.EventSystems;
|
|
|
|
|
|
namespace GFGGame
|
|
|
{
|
|
@@ -42,12 +43,61 @@ namespace GFGGame
|
|
|
equipDataCache = EquipDataCache.cacher;
|
|
|
UpdateBg();
|
|
|
UpdateBody();
|
|
|
+
|
|
|
+ Timers.inst.Add(0.001f, 0, OnClickListener);
|
|
|
}
|
|
|
+ private void OnClickListener(object param)
|
|
|
+ {
|
|
|
+ // Debug.Log("点击鼠标:" + Input.GetMouseButtonDown(0));
|
|
|
+ if (Input.GetMouseButtonDown(0))
|
|
|
+ {
|
|
|
+ if (Stage.isTouchOnUI) //点在了UI上
|
|
|
+ {
|
|
|
+ Debug.Log("点击UI");
|
|
|
+ }
|
|
|
+ else //没有点在UI上
|
|
|
+ {
|
|
|
+ Debug.Log("点击场景");
|
|
|
+ }
|
|
|
+ //从摄像机发出到点击坐标的射线
|
|
|
+ RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
|
|
|
+ Vector2 pos = Input.mousePosition;
|
|
|
+ // Debug.Log("pos:" + pos);
|
|
|
+
|
|
|
+ if (hit.collider != null)
|
|
|
+ {
|
|
|
+ //划出射线,只有在scene视图中才能看到
|
|
|
+ // Debug.DrawLine(ray.origin, hitInfo.point, Color.red);
|
|
|
+ GameObject gameObj = hit.collider.gameObject;
|
|
|
+ Debug.Log("click object name is :" + gameObj.name);
|
|
|
+ //当射线碰撞目标为boot类型的物品,执行拾取操作
|
|
|
+ if (gameObj.tag == "boot")
|
|
|
+ {
|
|
|
+ Debug.Log("pickup!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//背景
|
|
|
private void UpdateBg()
|
|
|
{
|
|
|
+ Transform tf = _sceneObject.transform.Find("Bg");
|
|
|
+ SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
|
|
|
+ ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(equipDataCache.bgId);
|
|
|
+ var resPath = ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
|
|
|
+ Sprite sp = GFGAsset.Load<Sprite>(resPath);
|
|
|
+ DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
|
|
|
+ spr.sprite = sp;
|
|
|
+
|
|
|
int[] bgId = { equipDataCache.bgId };
|
|
|
- SceneController.UpdateRole(bgId, _sceneObject, false, null, false);
|
|
|
+ GameObject obj = _sceneObject.transform.Find("Bg").gameObject;
|
|
|
+ SceneController.UpdateRole(bgId, _sceneObject, false, null, false, obj);
|
|
|
+ SetObjSize(obj.transform.GetChild(0).gameObject);
|
|
|
+ }
|
|
|
+ private void SetObjSize(GameObject obj)
|
|
|
+ {
|
|
|
+ obj.AddComponent<BoxCollider2D>();
|
|
|
}
|
|
|
//主角
|
|
|
private void UpdateBody()
|
|
@@ -83,6 +133,9 @@ namespace GFGGame
|
|
|
{
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private void OnClickBtnBack()
|
|
|
{
|
|
|
this.Hide();
|