瀏覽代碼

引导添加特效

zhaoyang 3 年之前
父節點
當前提交
f99eb53277

+ 1 - 0
FGUIProject/assets/Guide/GuideUI.xml

@@ -7,5 +7,6 @@
     <component id="n15_tu96" name="rectFrame" src="tu96f" fileName="components/Component3.xml" xy="404,798" touchable="false"/>
     <component id="n17_tu96" name="compTxt" src="tu96d" fileName="components/Component1.xml" xy="261,1099" touchable="false"/>
     <image id="n18_a5x3" name="rectFrameTemp" src="tu96c" fileName="images/yd_tykuang_2.png" xy="272,822"/>
+    <graph id="n19_bd1c" name="holder" xy="400,1285" size="100,100"/>
   </displayList>
 </component>

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Guide/UI_GuideUI.cs

@@ -11,6 +11,7 @@ namespace UI.Guide
         public UI_Component3 m_rectFrame;
         public UI_Component1 m_compTxt;
         public GImage m_rectFrameTemp;
+        public GGraph m_holder;
         public const string URL = "ui://vxxz0ya7rpol4";
         public const string PACKAGE_NAME = "Guide";
         public const string RES_NAME = "GuideUI";
@@ -62,6 +63,7 @@ namespace UI.Guide
             m_rectFrame = (UI_Component3)UI_Component3.Create(comp.GetChild("rectFrame"));
             m_compTxt = (UI_Component1)UI_Component1.Create(comp.GetChild("compTxt"));
             m_rectFrameTemp = (GImage)comp.GetChild("rectFrameTemp");
+            m_holder = (GGraph)comp.GetChild("holder");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -72,6 +74,7 @@ namespace UI.Guide
             m_compTxt.Dispose();
             m_compTxt = null;
             m_rectFrameTemp = null;
+            m_holder = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 36 - 23
GameClient/Assets/Game/HotUpdate/Views/Guide/GuideView.cs

@@ -22,7 +22,9 @@ namespace GFGGame
         private GoWrapper _wrapper;
         public override void Dispose()
         {
+            SceneController.DestroyObjectFromView(_gameObject);
             base.Dispose();
+
         }
 
         protected override void OnInit()
@@ -43,6 +45,8 @@ namespace GFGGame
             {
                 if (isOptionalGuide) this.Hide();
             });
+            string resPath0 = ResPathUtil.GetViewEffectPath("ui_yd/ui_yd_y", "ui_yd_y");
+            SceneController.AddObjectToView(_gameObject, _wrapper, _ui.m_holder, resPath0, out _gameObject, out _wrapper);
         }
 
         protected override void OnShown()
@@ -56,6 +60,9 @@ namespace GFGGame
             isOptionalGuide = (bool)dataList[4];
             devWidth = (float)dataList[5];
             devHeight = (float)dataList[6];
+
+
+
             if (GuideController.useNewGuide)
             {
                 guideId = (int)dataList[7];
@@ -79,18 +86,18 @@ namespace GFGGame
                 _ui.m_compTxt.target.visible = false;
             }
 
-            _ui.m_rectFrameTemp.width = _ui.m_mask.target.width;
-            _ui.m_rectFrameTemp.height = _ui.m_mask.target.height;
-            _ui.m_rectFrameTemp.x = 0;
-            _ui.m_rectFrameTemp.y = 0;
+            // _ui.m_rectFrameTemp.width = _ui.m_mask.target.width;
+            // _ui.m_rectFrameTemp.height = _ui.m_mask.target.height;
+            // _ui.m_rectFrameTemp.x = 0;
+            // _ui.m_rectFrameTemp.y = 0;
             if (guideTarget != null)
             {
                 UpdateGuideRect();
-                _needUpdate = true;
-                if (_needUpdate)
-                {
-                    Timers.inst.AddUpdate(UpdateGuideRect);
-                }
+                // _needUpdate = true;
+                // if (_needUpdate)
+                // {
+                //     Timers.inst.AddUpdate(UpdateGuideRect);
+                // }
                 _ui.m_mask.target.visible = true;
 
                 if (GuideController.useNewGuide)
@@ -101,6 +108,7 @@ namespace GFGGame
             }
             else
             {
+
                 _ui.m_mask.target.visible = false;
                 _ui.m_compTxt.target.y = Math.Min(yTxt, GRoot.inst.height - _ui.m_compTxt.target.height - 3);
             }
@@ -111,8 +119,9 @@ namespace GFGGame
 
         protected override void OnHide()
         {
-            Timers.inst.Remove(UpdateGuideRect);
+            // Timers.inst.Remove(UpdateGuideRect);
             base.OnHide();
+            _ui.m_holder.visible = false;
             OnClickTarget();
             guideTarget = null;
 
@@ -126,6 +135,9 @@ namespace GFGGame
                 Rect rect = guideTarget.TransformRect(new Rect(0 + devWidth, devHeight, guideTarget.width, guideTarget.height), _ui.target);
                 _ui.m_mask.m_guideArea.size = new Vector2((int)rect.size.x, (int)rect.size.y);
                 _ui.m_mask.m_guideArea.position = new Vector2((int)rect.position.x, (int)rect.position.y);
+                float x = _ui.m_mask.m_guideArea.position.x + _ui.m_mask.m_guideArea.size.x * 0.5f;
+                float y = _ui.m_mask.m_guideArea.position.y + _ui.m_mask.m_guideArea.size.y * 0.5f;
+                _ui.m_holder.position = new Vector2(x, y);
                 int padding = 30;
                 bool atBottom = _ui.m_mask.m_guideArea.y + _ui.m_mask.m_guideArea.height + padding + _ui.m_compTxt.target.height + padding > GRoot.inst.height;
                 if (atBottom)
@@ -136,19 +148,20 @@ namespace GFGGame
                 {
                     _ui.m_compTxt.target.y = _ui.m_mask.m_guideArea.y + _ui.m_mask.m_guideArea.height + padding;
                 }
-                int targetWidth = 20;
-                if (Mathf.Abs(_ui.m_rectFrameTemp.width - _ui.m_rectFrame.target.width) > targetWidth && Mathf.Abs(_ui.m_rectFrameTemp.height - _ui.m_rectFrame.target.height) > targetWidth)
-                {
-                    _ui.m_rectFrameTemp.visible = true;
-                    float duration = 0.5f;
-                    _ui.m_rectFrameTemp.TweenResize(new Vector2(_ui.m_rectFrame.target.width, _ui.m_rectFrame.target.height), duration);
-                    _ui.m_rectFrameTemp.TweenMove(new Vector2(_ui.m_rectFrame.target.x, _ui.m_rectFrame.target.y), duration);
-                }
-                else
-                {
-                    _ui.m_rectFrameTemp.visible = false;
-                    _ui.m_rectFrame.target.visible = _ui.m_mask.target.visible;
-                }
+                // int targetWidth = 20;
+                // if (Mathf.Abs(_ui.m_rectFrameTemp.width - _ui.m_rectFrame.target.width) > targetWidth && Mathf.Abs(_ui.m_rectFrameTemp.height - _ui.m_rectFrame.target.height) > targetWidth)
+                // {
+                //     _ui.m_rectFrameTemp.visible = true;
+                //     float duration = 0.5f;
+                //     _ui.m_rectFrameTemp.TweenResize(new Vector2(_ui.m_rectFrame.target.width, _ui.m_rectFrame.target.height), duration);
+                //     _ui.m_rectFrameTemp.TweenMove(new Vector2(_ui.m_rectFrame.target.x, _ui.m_rectFrame.target.y), duration);
+                // }
+                // else
+                // {
+                _ui.m_rectFrameTemp.visible = false;
+                // _ui.m_rectFrame.target.visible = _ui.m_mask.target.visible;
+                _ui.m_holder.visible = _ui.m_mask.target.visible;
+                // }
             }
         }
         private void OnClickTarget()

二進制
GameClient/Assets/ResIn/UI/Guide/Guide_fui.bytes