| 
					
				 | 
			
			
				@@ -13,43 +13,49 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private UI_PhotographUI _ui; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private GameObject _scenePrefab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private GameObject _sceneObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private DressUpObjDataCache equipDataCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private DressUpObjDataCache equipDataCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private const string MOVE = "MOVE"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private const string SCALE = "SCALE"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private const string ROTATION = "ROTATION"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private const string MOVE = "MOVE"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private const string SCALE = "SCALE"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private const string ROTATION = "ROTATION"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private const float MaxScale = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private const float MinScale = 0.1f; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject bodyParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject bgParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject npcParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject borderParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject sceneParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const string BgResPath = "Bg/BgRes"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const string BorderResPath = "Border/BorderRes"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const string NpcResPath = "Scene/Npc/NpcRes"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const string RolePath = "Scene/Role"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const string NpcPath = "Scene/Npc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private const string BgResName = "BgRes"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private const string BorderResName = "BorderRes"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private GameObject bodyParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private GameObject bgParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private GameObject npcParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private GameObject borderParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private GameObject sceneParent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private List<int> _listData = null;//当前选择的资源数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private List<int> _equipRoleData = new List<int>();//当前穿戴的角色数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private Dictionary<int, List<int>> _equipSceneData = new Dictionary<int, List<int>>();//当前穿戴的场景数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private Dictionary<GameObject, Vector2> _equipPos = new Dictionary<GameObject, Vector2>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private Dictionary<GameObject, Vector2> _mousePos = new Dictionary<GameObject, Vector2>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public List<int> _equipRoleData = new List<int>();//当前穿戴的角色数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public Dictionary<int, List<int>> _equipSceneData = new Dictionary<int, List<int>>();//当前穿戴的场景数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private Dictionary<GameObject, float> _equipDistance = new Dictionary<GameObject, float>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // private GameObject hitGameObj;//当前选中的物体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject hitParentGameObj;//当前选中的父物体(需要进行移动缩放旋转的物体) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private GameObject memoryHitParentGameObj;//当前选中的父物体(需要进行移动缩放旋转的物体) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private GameObject hitGameObj;//当前选中的物体(单指拖动,双指缩放旋转) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private GameObject memoryHitGameObj;//当前选中的物体(单指缩放旋转) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private Vector3 distance = Vector3.zero;//点击位置和点击物体原点的距离,用于 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private Vector2 lastPos = Vector2.zero;//上一次移动后从物体中心到鼠标位置的方向 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private float _startDistance;//从物体中心到缩放按钮的距离 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // private float _startDistance;//从物体中心到缩放按钮的距离 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private SwipeGesture swipeGesture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private PinchGesture pinchGesture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private RotationGesture rotationGesture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private bool isTouchUI = false;//点击在m_comSelectBox按钮上 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private bool isTwoTouchPoint = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private int maxLayer = int.MinValue;//最上层的层级数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected override void OnInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base.OnInit(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,7 +65,7 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isfullScreen = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_btnBg.onClick.Add(OnClickBtnBg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _ui.m_btnChoose.onClick.Add(OnClickBtnChoose); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _ui.m_btnChoose.onClick.Add(SetUIView); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_btnBack.onClick.Add(OnClickBtnBack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_btnPhotograph.onClick.Add(OnClickBtnPhotograph); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,31 +95,26 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base.OnShown(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Input.multiTouchEnabled = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            equipDataCache = EquipDataCache.cacher; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // equipDataCache = EquipDataCache.cacher; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PhotographDataManager.Instance.ClassifyEquipData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _equipRoleData = PhotographDataManager.Instance._equipRoleData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _equipSceneData = PhotographDataManager.Instance._equipSceneData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_sceneObject == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _sceneObject = GameObject.Instantiate(_scenePrefab); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 EquipDataCache.cacher.setSceneObj(_sceneObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                bgParent = _sceneObject.transform.Find("Bg").gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                bodyParent = _sceneObject.transform.Find("Scene/Role").gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sceneParent = _sceneObject.transform.Find("Scene").gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                npcParent = _sceneObject.transform.Find("Scene/Npc").gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                borderParent = _sceneObject.transform.Find("Border").gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pinchGesture = new PinchGesture(_ui.target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pinchGesture.onAction.Add(OnPinch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rotationGesture = new RotationGesture(_ui.target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rotationGesture.onAction.Add(OnRotate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_ComSelectRes.m_comBtnTab.m_c1.selectedIndex = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            OnClickBtnChoose(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            RefreshList(EnumPhotographType.BG); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DisposeEquipData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SceneController.UpdatePhotographBgOrNpcOrBorder(_sceneObject, EnumPhotographType.BG, equipDataCache.bgId, maxLayer, out maxLayer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            RefreshList(EnumPhotographType.BG); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SetUIView(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            UpdateBg(ItemCfgArray.Instance.GetCfg(EquipDataCache.cacher.bgId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             UpdateBody(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             UpdateScene(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -128,24 +129,7 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_ComSelectRes.m_list.numItems = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            switch (index) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case EnumPhotographType.BG: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _listData = PhotographDataManager.Instance.listBgData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case EnumPhotographType.NPC: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _listData = PhotographDataManager.Instance.listNpcData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case EnumPhotographType.SCENE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _listData = PhotographDataManager.Instance.listSceneData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case EnumPhotographType.BORDER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _listData = PhotographDataManager.Instance.listBorderData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case EnumPhotographType.EFFECT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _listData = PhotographDataManager.Instance.listEffectData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _listData = PhotographDataManager.Instance.GetListData(index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_ComSelectRes.m_list.numItems = _listData.Count; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void RenderListItem(int index, GObject obj) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,184 +145,158 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnListItemClick(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int itemID = (int)((context.data as GObject).data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             EnumPhotographType type = (EnumPhotographType)_ui.m_ComSelectRes.m_comBtnTab.m_c1.selectedIndex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             switch (type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case EnumPhotographType.BG: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    UpdateBg(itemCfg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case EnumPhotographType.BORDER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (_listData.IndexOf(itemID) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Transform tf = _sceneObject.transform.Find(BorderResPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        SpriteRenderer spr = tf.GetComponent<SpriteRenderer>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (spr != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            GameObject.Destroy(spr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    UpdateBorder(itemCfg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case EnumPhotographType.NPC: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SceneController.UpdatePhotographBgOrNpcOrBorder(_sceneObject, type, itemID, maxLayer, out maxLayer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    UpdateNpc(itemCfg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case EnumPhotographType.SCENE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    PhotographDataManager.Instance.AddEquipItem(_equipSceneData, itemID, out _equipSceneData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SceneController.AddScene(_sceneObject, itemID, _equipSceneData[itemID].Count - 1, maxLayer + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    maxLayer++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    AddSceneItem(itemCfg, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case EnumPhotographType.EFFECT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        /**************************  **********************************场景*********************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /************************************************************场景*********************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchUIBegin(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             context.CaptureTouch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (_ui.m_ComSelectRes.target.visible == true) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (Stage.inst.touchCount > 1 || context.inputEvent.touchId != 0 || isTwoTouchPoint) return;//只监听一根手指 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (isTouchUI) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_ui.m_ComSelectRes.target.visible == true) return;//添加道具不监听场景点击 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Stage.inst.touchCount > 1 && hitGameObj != null || Stage.inst.touchCount == 1 && context.inputEvent.touchId != 0) return;//两根手指&&两指不是同时按下||一根手指但属于中途换指 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (PhotographDataManager.Instance.IsTouchUI(this.viewCom)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             RaycastHit2D[] hit2Ds = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (hit2Ds.Length > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                maxLayer++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                hitParentGameObj = SceneController.GetFirstHitObj(hit2Ds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // maxLayer++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lastPos = Vector2.zero; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hitGameObj = SceneController.GetFirstHitObj(hit2Ds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _ui.m_comSelectBox.m_btnDelete.visible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (hitParentGameObj.name == "Body")//主角不可删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (hitGameObj.name == "Body")//主角不可删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     _ui.m_comSelectBox.m_btnDelete.visible = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _ui.m_comSelectBox.target.visible = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (hitParentGameObj.name != "BgRes")//背景不可改动层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (hitGameObj.name != BgResName)//背景不可改动层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hitParentGameObj.GetComponent<SpriteRenderer>().sortingOrder = maxLayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hitParentGameObj = hitParentGameObj.transform.parent.gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    hitGameObj = hitGameObj.transform.parent.gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PhotographDataManager.Instance.SetItemLayer(hitGameObj, maxLayer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    maxLayer = PhotographDataManager.Instance.GetMaxLayer(hitGameObj, maxLayer) + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     _ui.m_comSelectBox.target.visible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SceneController.SetGameObjectCenter(hitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                memoryHitGameObj = hitGameObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                distance = Input.mousePosition - Camera.main.WorldToScreenPoint(hitParentGameObj.transform.position); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (_ui.m_comSelectBox.target.data == null || _ui.m_comSelectBox.target.data as GameObject != hitParentGameObj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    lastPos = Vector2.zero; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _ui.m_comSelectBox.target.rotation = -hitParentGameObj.transform.eulerAngles.z; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _ui.m_comSelectBox.target.size = SceneController.GetGameObjectSize(hitParentGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _ui.m_comSelectBox.target.data = hitParentGameObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                distance = Input.mousePosition - Camera.main.WorldToScreenPoint(hitGameObj.transform.position); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _ui.m_comSelectBox.target.rotation = -hitGameObj.transform.eulerAngles.z; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _ui.m_comSelectBox.target.size = SceneController.GetGameObjectSize(hitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ControllerSelectBoxPos(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchUIMove(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (hitParentGameObj == null) return;//未选中任何物体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (Stage.inst.touchCount > 1 || context.inputEvent.touchId != 0 || isTwoTouchPoint) return; //只监听1根手指 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (isTouchUI) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (hitGameObj == null) return;//未选中任何物体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Stage.inst.touchCount > 1) return; //只监听1根手指 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (PhotographDataManager.Instance.IsTouchUI(this.viewCom)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Debug.Log("拖动"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ControllerObjectPos(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ControllerSelectBoxPos(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchUIEnd(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (Stage.inst.touchCount > 1 || context.inputEvent.touchId != 0) return; //只监听1根手指 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            hitParentGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (Stage.inst.touchCount == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                isTwoTouchPoint = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // if (Stage.inst.touchCount > 1 || context.inputEvent.touchId != 0) return; //只监听1根手指 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            hitGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //选中物体的位置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void ControllerObjectPos() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            hitParentGameObj.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition - distance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (hitParentGameObj.name == "BgRes") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            hitGameObj.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition - distance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (hitGameObj.name == BgResName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Vector2 size = hitParentGameObj.GetComponent<SpriteRenderer>().size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Vector2 uiSize = _ui.target.size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                float deviationWidth = (size.x - uiSize.x / 100) / 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                float deviationHeigh = (size.y - uiSize.y / 100) / 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Vector2 pos = hitParentGameObj.transform.position; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (pos.x <= -deviationWidth) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hitParentGameObj.transform.position = new Vector2(-deviationWidth, hitParentGameObj.transform.position.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (pos.x >= deviationWidth) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hitParentGameObj.transform.position = new Vector2(deviationWidth, hitParentGameObj.transform.position.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (pos.y <= -deviationHeigh) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hitParentGameObj.transform.position = new Vector2(hitParentGameObj.transform.position.x, -deviationHeigh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (pos.y >= deviationHeigh) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hitParentGameObj.transform.position = new Vector2(hitParentGameObj.transform.position.x, deviationHeigh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                PhotographDataManager.Instance.SetBgPos(hitGameObj, _ui.target.size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //选中框的位置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void ControllerSelectBoxPos() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SceneController.SetGameObjectCenter(hitParentGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //位置:角色、道具、npc全用对应父物体的位置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Vector2 objScreenPos = Camera.main.WorldToScreenPoint(hitParentGameObj.transform.position); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Vector2 objScreenPos = Camera.main.WorldToScreenPoint(hitGameObj.transform.position); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 localPos = this.viewCom.GlobalToLocal(new Vector2(objScreenPos.x, (Screen.height - objScreenPos.y))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _ui.m_comSelectBox.target.position = localPos;//(localPos.x, localPos.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _ui.m_comSelectBox.target.position = localPos; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchBtnSizeBegin(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTouchUI = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GameObject gameObject = _ui.m_comSelectBox.target.data as GameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             InputEvent inputEvent = (InputEvent)context.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 screenPos = this.viewCom.GlobalToLocal(_ui.m_comSelectBox.m_btnSize.LocalToGlobal(Vector2.zero)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 pt = new Vector2(screenPos.x, screenPos.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Vector2 pt1 = this.viewCom.GlobalToLocal(new Vector2(inputEvent.x, inputEvent.y)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 pt2 = new Vector2(_ui.m_comSelectBox.target.x, _ui.m_comSelectBox.target.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Debug.Log("pt1" + pt1 + "   pt2:" + pt2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!_equipDistance.ContainsKey(gameObject)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!_equipDistance.ContainsKey(memoryHitGameObj)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                float distance = Vector2.Distance(pt, pt2) / gameObject.transform.localScale.x; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _equipDistance.Add(gameObject, distance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                float distance = Vector2.Distance(pt, pt2) / memoryHitGameObj.transform.localScale.x; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _equipDistance.Add(memoryHitGameObj, distance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _startDistance = _equipDistance[gameObject]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Debug.Log("_startDistance:" + _startDistance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchBtnSizeMove(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GameObject gameObject = _ui.m_comSelectBox.target.data as GameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (gameObject == null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (memoryHitGameObj == null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             InputEvent inputEvent = (InputEvent)context.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 pt1 = this.viewCom.GlobalToLocal(new Vector2(inputEvent.x, inputEvent.y)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 pt2 = new Vector2(_ui.m_comSelectBox.target.x, _ui.m_comSelectBox.target.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector2 curPos = pt1 - pt2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Debug.Log("pt1" + pt1 + "   pt2:" + pt2 + "  curPos:" + curPos + "    lastPos:" + lastPos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             float angle = Vector3.Angle(lastPos, curPos); //求出两向量之间的夹角  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Vector3 normal = Vector3.Cross(lastPos, curPos);//叉乘求出法线向量  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             angle *= Mathf.Sign(Vector3.Dot(normal, Vector3.forward));  //Mathf.Sign()求符号,Vector3.Dot()求方向,求法线向量与物体上方向向量点乘,结果为1或-1,修正旋转方向  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             lastPos = curPos; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ControllerRotate(angle, gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Debug.Log("angle:" + angle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ControllerRotate(angle, memoryHitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            float dist = Vector2.Distance(pt1, pt2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Debug.Log("dist:" + dist); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            float ss = dist / _startDistance; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            float dist = Vector2.Distance(pt1, pt2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            float ss = dist / _equipDistance[memoryHitGameObj]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             float newValue = Mathf.Clamp(ss, 0.1f, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ControllerScale(newValue, gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ControllerScale(newValue, memoryHitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchBtnSizeEnd(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTouchUI = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             lastPos = Vector2.zero; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -347,41 +305,39 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //双指缩放 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnPinch(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (hitParentGameObj == null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (hitParentGameObj.name == "BgRes") return;//背景不可以缩放、旋转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTwoTouchPoint = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GTween.Kill(hitParentGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (hitGameObj == null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (hitGameObj.name == BgResName) return;//背景不可以缩放、旋转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            GTween.Kill(hitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             PinchGesture gesture = (PinchGesture)context.sender; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            float newValue = Mathf.Clamp(hitParentGameObj.transform.localScale.x + gesture.delta, 0.3f, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            float newValue = Mathf.Clamp(hitGameObj.transform.localScale.x + gesture.delta, 0.3f, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Debug.Log("双指缩放:" + newValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ControllerScale(newValue, hitParentGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ControllerScale(newValue, hitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private void ControllerScale(float value, GameObject gameObject) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (value > MaxScale || value < MinScale) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            gameObject.transform.localScale = new Vector3(value, value, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Vector2 size = SceneController.GetGameObjectSize(gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _ui.m_comSelectBox.target.SetSize(size.x, size.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //双指旋转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnRotate(EventContext context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (hitParentGameObj == null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (hitParentGameObj.name == "BgRes") return;//背景不可以缩放、旋转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTwoTouchPoint = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GTween.Kill(hitParentGameObj.transform); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Debug.Log("双指旋转hitGameObj:" + hitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (hitGameObj == null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Debug.Log("双指旋转name:" + hitGameObj.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (hitGameObj.name == BgResName) return;//背景不可以缩放、旋转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // isTwoTouchPoint = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            GTween.Kill(hitGameObj.transform); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             RotationGesture gesture = (RotationGesture)context.sender; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Debug.Log("双指旋转:" + gesture.delta); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ControllerRotate(gesture.delta, hitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ControllerRotate(gesture.delta, hitParentGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void ControllerScale(float value, GameObject gameObject) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (value > MaxScale || value < MinScale) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gameObject.transform.localScale = new Vector3(value, value, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Vector2 size = SceneController.GetGameObjectSize(gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _ui.m_comSelectBox.target.SetSize(size.x, size.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void ControllerRotate(float value, GameObject gameObject) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -389,13 +345,25 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_comSelectBox.target.rotation += value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void UpdateBg(ItemCfg itemCfg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Transform tf = _sceneObject.transform.Find(BgResPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string resPath = ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SceneController.SetSpriteRendererToTransform(tf, resPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SpriteRenderer spr = tf.GetComponent<SpriteRenderer>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            spr.sortingOrder = ItemTypeCfgArray.Instance.GetCfg(ConstDressUpItemType.BEI_JING).defaultLayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SceneController.SetBoxCollider2DToGameObject(tf.gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //主角 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void UpdateBody() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            GameObject bodyParent = _sceneObject.transform.Find(RolePath).gameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SceneController.UpdatePhotographBody(_equipRoleData.ToArray(), _sceneObject, bodyParent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SceneController.UpdatePhotographBody(_equipRoleData.ToArray(), _sceneObject, false, null, false, bodyParent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            maxLayer = PhotographDataManager.Instance.GetMaxLayer(bodyParent, maxLayer) + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //场景道具 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //添加初始场景道具 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void UpdateScene() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ICollection keys = _equipSceneData.Keys; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -403,75 +371,112 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (int i = 0; i < _equipSceneData[key].Count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SceneController.AddScene(_sceneObject, key, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    PhotographDataManager.Instance.GetMaxLayer(maxLayer, false, itemCfg, out maxLayer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    int defaultLayer = ItemTypeCfgArray.Instance.GetCfg(itemCfg.subType).defaultLayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    AddSceneItem(itemCfg, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //滤镜效果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void UpdateNpc(ItemCfg itemCfg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            maxLayer++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Transform tf = _sceneObject.transform.Find(NpcResPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SceneController.SetSpriteRendererToTransform(tf, resPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SpriteRenderer spr = tf.GetComponent<SpriteRenderer>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            spr.sortingOrder = maxLayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SceneController.SetBoxCollider2DToGameObject(tf.gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void UpdateBorder(ItemCfg itemCfg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Transform tf = _sceneObject.transform.Find(BorderResPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            string resPath = ResPathUtil.GetPhotographFPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SceneController.SetSpriteRendererToTransform(tf, resPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SpriteRenderer spr = tf.GetComponent<SpriteRenderer>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            spr.sortingOrder = 10000;//边框在所有道具的上边 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void UpdateEffect() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private void DisposeEquipData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void AddSceneItem(ItemCfg itemCfg, bool isDefaultLayer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < equipDataCache.equipDatas.Length; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int index = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            GameObject parentGameObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (itemCfg.resLayer2 > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(equipDataCache.equipDatas[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (itemCfg.subType == ConstDressUpItemType.QIAN_JING || itemCfg.subType == ConstDressUpItemType.BEI_SHI || itemCfg.subType == ConstDressUpItemType.HUAN_JING) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!isDefaultLayer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     PhotographDataManager.Instance.AddEquipItem(_equipSceneData, itemCfg.id, out _equipSceneData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                index = _equipSceneData[itemCfg.id].Count - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                parentGameObj = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, index, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SceneController.AddItemToScene(_sceneObject, parentGameObj, itemCfg.id, 2, itemCfg.resLayer2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                maxLayer = PhotographDataManager.Instance.GetMaxLayer(parentGameObj, maxLayer) + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!isDefaultLayer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    _equipRoleData.Add(equipDataCache.equipDatas[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (itemCfg.resLayer1 > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!isDefaultLayer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PhotographDataManager.Instance.AddEquipItem(_equipSceneData, itemCfg.id, out _equipSceneData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                index = _equipSceneData[itemCfg.id].Count - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                parentGameObj = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, index, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SceneController.AddItemToScene(_sceneObject, parentGameObj, itemCfg.id, 1, itemCfg.resLayer1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                maxLayer = PhotographDataManager.Instance.GetMaxLayer(parentGameObj, maxLayer) + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!isDefaultLayer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnClickBtnBg() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_ComSelectRes.target.visible = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private void OnClickBtnChoose() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _ui.m_ComSelectRes.target.visible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _ui.m_comSelectBox.target.visible = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            hitParentGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private void OnTouchBtnFlipBegin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void OnTouchBtnFlipBegin()//翻转 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTouchUI = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Transform transform = (_ui.m_comSelectBox.target.data as GameObject).transform; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Transform transform = memoryHitGameObj.transform; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (int i = 0; i < transform.childCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                transform.GetChild(i).Rotate(Vector3.up, 180, Space.World); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                transform.GetChild(i).Rotate(Vector3.up, 180, Space.Self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchBtnFlipEnd() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTouchUI = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private void OnTouchBtnDeleteBegin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void OnTouchBtnDeleteBegin()//删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTouchUI = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GameObject gameObject = _ui.m_comSelectBox.target.data as GameObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (gameObject.transform.gameObject == bodyParent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (memoryHitGameObj.transform.name == RolePath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (gameObject.transform.gameObject == npcParent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if (memoryHitGameObj.transform.name == NpcPath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                SpriteRenderer spriteRenderer = gameObject.transform.GetChild(0).GetComponent<SpriteRenderer>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SpriteRenderer spriteRenderer = memoryHitGameObj.transform.GetChild(0).GetComponent<SpriteRenderer>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (spriteRenderer != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     GameObject.Destroy(spriteRenderer); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -479,14 +484,21 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                GameObject.DestroyImmediate(gameObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GameObject.DestroyImmediate(memoryHitGameObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_comSelectBox.target.visible = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnTouchBtnDeleteEnd() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isTouchUI = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void SetUIView() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _ui.m_ComSelectRes.target.visible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _ui.m_comSelectBox.target.visible = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            hitGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            memoryHitGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnClickBtnPhotograph() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -505,7 +517,6 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ViewManager.Show<PhotographSaveView>(tex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.target.visible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void OnClickBtnBack() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -522,10 +533,11 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GameObject.Destroy(_sceneObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 _sceneObject = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            equipDataCache = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // equipDataCache = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _equipRoleData.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _equipSceneData.Clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            hitParentGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            hitGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            memoryHitGameObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pinchGesture.onAction.Remove(OnPinch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rotationGesture.onAction.Remove(OnRotate); 
			 |