فهرست منبع

词牌动态图显示用美术碰撞体控制显示区域

huangxiaoyue 1 سال پیش
والد
کامیت
08063da9c0

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -12,6 +12,8 @@ namespace GFGGame
     public class CardDataManager
     {
         private static Dictionary<int, Dictionary<int, CardData>> _cardDicByType = new Dictionary<int, Dictionary<int, CardData>>();
+        public static int CardResInitWidth = 1440;
+        public static int  CardResInitHight = 1920;
 
         public static Dictionary<int, Dictionary<int, int>> _selectList = new Dictionary<int, Dictionary<int, int>>();
         public static List<int> _selectRoleList = new List<int>();

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Effect/EffectUI.cs

@@ -30,11 +30,18 @@ namespace GFGGame
                 return;
             }
             _gameObject.transform.localScale = new Vector3(scale, scale, scale);
+
             _wrapper = new GoWrapper(_gameObject);
             holder.SetNativeObject(_wrapper);
+            var obj = _gameObject.GetComponent<BoxCollider2D>();
+            if (obj != null) {
+                CardDataManager.CardResInitWidth = (int)(obj.size.x * 100);
+                CardDataManager.CardResInitHight = (int)(obj.size.y * 100);
+                holder.x = CardDataManager.CardResInitWidth / 2 - obj.offset.x * 100;
+                holder.y = CardDataManager.CardResInitHight / 2 - obj.offset.y * 100;
+            }
         }
 
-
         public void Release()
         {
             Released = true;

+ 17 - 8
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -60,8 +60,6 @@ namespace GFGGame
         private float _cardScale = 0.8f;
         private bool showCard = false;
         private bool playAni = false;
-        private const int _cardResInitWidth = 1440;
-        private const int _cardResInitHight = 1920;
 
         private Vector2 comCardImgResInitSize;
         private Vector2 comCardImgResTargetSize;
@@ -200,8 +198,8 @@ namespace GFGGame
             playAni = false;
 
             float imgInitHight = _ui.target.height - 570;//UI界面上小图时的高度
-            float imgIniWidth = _cardResInitWidth * imgInitHight / _cardResInitHight;//UI界面上小图时的宽度
-            _cardScale = imgIniWidth < _ui.target.width ? _ui.target.width / _cardResInitWidth : imgInitHight / _cardResInitHight;
+            float imgIniWidth = CardDataManager.CardResInitWidth * imgInitHight / CardDataManager.CardResInitHight;//UI界面上小图时的宽度
+            _cardScale = imgIniWidth < _ui.target.width ? _ui.target.width / CardDataManager.CardResInitWidth : imgInitHight / CardDataManager.CardResInitHight;
             comCardImgResInitSize = Vector2.zero;
             comCardImgResTargetSize = Vector2.zero;
 
@@ -364,8 +362,17 @@ namespace GFGGame
                 await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
                 _effectUI1 = new EffectUI();
                 _effectUI1.Reset(_ui.m_comCard.m_comCardHolder.m_holder, resName, resName, 100, EffectUIType.Card);
+
+
+                _ui.m_comCard.m_comCardHolder.target.width = CardDataManager.CardResInitWidth;
+                _ui.m_comCard.m_comCardHolder.target.height = CardDataManager.CardResInitHight;
+
                 _ui.m_c1.selectedIndex = 1;
                 _ui.m_comCard.target.scrollPane.SetPercX(0.5f, false);
+
+                float imgInitHight = _ui.target.height - 570;//UI界面上小图时的高度
+                float imgIniWidth = CardDataManager.CardResInitWidth * imgInitHight / CardDataManager.CardResInitHight;//UI界面上小图时的宽度
+                _cardScale = imgIniWidth < _ui.target.width ? _ui.target.width / CardDataManager.CardResInitWidth : imgInitHight / CardDataManager.CardResInitHight;
                 _ui.m_comCard.target.SetScale(_cardScale, _cardScale);
             }
             else
@@ -376,8 +383,9 @@ namespace GFGGame
                     GLoader loaCard = _ui.m_comImgCard.m_ComCardImgRes.m_loaCard;
                     loaCard.url = ResPathUtil.GetCardPath(_cardData.resources[_cardData.resIndex]);
 
-                    comCardImgResTargetSize = new Vector2(_ui.target.height * _cardResInitWidth / _cardResInitHight, _ui.target.height);
-                    comCardImgResInitSize = new Vector2(_cardResInitWidth * _cardScale, _cardResInitHight * _cardScale);
+                    comCardImgResTargetSize = new Vector2(_ui.target.height * CardDataManager.CardResInitWidth / CardDataManager.CardResInitHight, _ui.target.height);
+
+                    comCardImgResInitSize = new Vector2(CardDataManager.CardResInitWidth * _cardScale, CardDataManager.CardResInitHight * _cardScale);
                     _ui.m_comImgCard.m_ComCardImgRes.target.size = comCardImgResInitSize;
                     _ui.m_comImgCard.target.scrollPane.SetPercX(0.5f, false);
                 }
@@ -1191,11 +1199,12 @@ namespace GFGGame
             {
                 _ui.m_loaListener.visible = false;
 
-                float scale = _ui.target.height / 1920;
-                _ui.m_comCard.target.scrollPane.viewWidth = 1080 / scale;
+                float scale = _ui.target.height / CardDataManager.CardResInitHight;
+                _ui.m_comCard.target.scrollPane.viewWidth = _ui.target.width / scale;// (_ui.target.width / (scale*100))/100;
                 _ui.m_comCard.target.scrollPane.SetPercX(0.5f, true);
 
                 _ui.m_t0.SetValue("scale", scale, scale);
+
                 _ui.m_t0.SetValue("normal", _cardScale, _cardScale);
 
                 _ui.m_t0.Play(() =>

BIN
GameClient/Assets/ResIn/UI/Card/Card_fui.bytes