From f7157efb7689b4e16b78067f45b1272621a48992 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 19 九月 2018 15:58:11 +0800
Subject: [PATCH] 3685 【前端】只有通过合成的双属性才能分解出符印融合石

---
 System/Rune/RuneModel.cs |   94 ++++++++++++++++++++++++++++-------------------
 1 files changed, 56 insertions(+), 38 deletions(-)

diff --git a/System/Rune/RuneModel.cs b/System/Rune/RuneModel.cs
index 8f383eb..cbc5bbf 100644
--- a/System/Rune/RuneModel.cs
+++ b/System/Rune/RuneModel.cs
@@ -609,18 +609,19 @@
                 runeData = runeData.Insert(0, _textBuilder.ToString());
                 int id = int.Parse(runeData.Substring(5, 5));
                 int lv = int.Parse(runeData.Substring(2, 3)) + 1;
+                int sourceType = int.Parse(runeData.Substring(1, 1));
                 int packType = vNetData.PackType;
                 int index = item.ItemPlace;
                 RuneData data = null;
                 runePackData.TryGetValue(index, out data);
                 if (data == null)
                 {
-                    data = new RuneData(index, id, lv, packType, 0);
+                    data = new RuneData(index, id, lv, packType, sourceType, 0);
                     runePackData.Add(index, data);
                 }
                 else
                 {
-                    data.SetRuneData(index, id, lv, packType, 0);
+                    data.SetRuneData(index, id, lv, packType, sourceType, 0);
                 }
             }
             if (OnRefreshRunePack != null)
@@ -671,15 +672,16 @@
                         continue;
                     }
                     int lv = int.Parse(runeData.Substring(2, 3)) + 1;
+                    int sourceType = int.Parse(runeData.Substring(1, 1));
                     int placetype = 1;
                     if (data == null)
                     {
-                        data = new RuneData(i, id, lv, (int)PackType.rptInterimPack, placetype);
+                        data = new RuneData(i, id, lv, (int)PackType.rptInterimPack, sourceType, placetype);
                         runeHoleData.Add(i, data);
                     }
                     else
                     {
-                        data.SetRuneData(i, id, lv, (int)PackType.rptInterimPack, placetype);
+                        data.SetRuneData(i, id, lv, (int)PackType.rptInterimPack, sourceType, placetype);
                     }
                 }
                 else
@@ -768,6 +770,15 @@
                     WindowCenter.Instance.Open<RechargeTipWin>();
                     break;
             }
+        }
+
+        public bool ResolveFusionStone(int sourceType)
+        {
+            if (sourceType == 0 || sourceType == 2)
+            {
+                return true;
+            }
+            return false;
         }
 
         public bool IsSpeicalHole(int hole)
@@ -1195,70 +1206,77 @@
         public int cost;
     }
 
+    public enum RuneSource
+    {
+        Normal,
+        Compose,
+    }
+
     public class RuneData
     {
         /// <summary>
         /// 绗﹀嵃瀵瑰簲浣嶇疆绱㈠紩锛岃嫢鍦ㄥ瓟涓婂垯瀵瑰簲瀛攊d,鑻ュ湪鑳屽寘锛屽垯瀵瑰簲鑳屽寘浣嶇疆绱㈠紩
         /// </summary>
-        private int _index = -1;
-        public int index {
-            get { return _index; }
-        }
+        private int m_Index = -1;
+        public int index { get { return m_Index; } }
         /// <summary>
         /// 绗﹀嵃瀵瑰簲鐗╁搧id
         /// </summary>
-        private int _id = -1;
-        public int id { get { return _id; } }
+        private int m_Id = -1;
+        public int id { get { return m_Id; } }
         /// <summary>
         /// 绗﹀嵃瀵瑰簲寮哄寲绛夌骇
         /// </summary>
-        private int _lv = 0;
-        public int lv {
-            get { return _lv; }
-        }
+        private int m_Level = 0;
+        public int lv { get { return m_Level; } }
         /// <summary>
         /// 棰勭暀瀛楁
         /// </summary>
-        private int _locked = -1;
-        public int locked { get { return _locked; } }
+        private int m_Lock = -1;
+        public int locked { get { return m_Lock; } }
         /// <summary>
         /// 鑳屽寘绫诲瀷锛岀鍗拌儗鍖�255
         /// </summary>
-        private int _packtype = -1;
-        public int packtype { get { return _packtype; } }
+        private int m_PackType = -1;
+        public int packtype { get { return m_PackType; } }
         /// <summary>
         /// 绗﹀嵃鏀剧疆浣嶇疆锛岄粯璁や负绗﹀嵃鑳屽寘
         /// </summary>
-        private int _placetype = 0;
-        public int placetype { get { return _placetype; } }
+        private int m_PlaceType = 0;
+        public int placetype { get { return m_PlaceType; } }
+
+        public int m_SourceType = 0;
+        public int sourceType { get { return m_SourceType; } }//鏉ユ簮锛堣�佸彿0,榛樿1锛屽悎鎴�2锛�
 
         public bool IsRuneCream { get; private set; }
 
-        public RuneData(int index, int id, int lv, int packtype, int placetype = 0)
+        public RuneData(int index, int id, int level, int packtype, int sourcetype, int placetype = 0)
         {
-            this._index = index;
-            this._id = id;
-            this._lv = lv;
-            this._packtype = packtype;
-            this._placetype = placetype;
-            var _itemCfg = Config.Instance.Get<ItemConfig>(id);
-            if (_itemCfg != null)
+            m_Index = index;
+            m_Id = id;
+            m_Level = level;
+            m_PackType = packtype;
+            m_PlaceType = placetype;
+            m_SourceType = sourcetype;
+            var config = Config.Instance.Get<ItemConfig>(id);
+            if (config != null)
             {
-                IsRuneCream = _itemCfg.Type == RuneModel.RUNE_CREAMTYPE;
+                IsRuneCream = config.Type == RuneModel.RUNE_CREAMTYPE;
             }
         }
 
-        public void SetRuneData(int index, int id, int lv, int packtype, int placetype = 0)
+        public void SetRuneData(int index, int id, int level, int packtype, int sourcetype, int placetype = 0)
         {
-            this._index = index;
-            this._id = id;
-            this._lv = lv;
-            this._packtype = packtype;
-            this._placetype = placetype;
-            var _itemCfg = Config.Instance.Get<ItemConfig>(id);
-            if (_itemCfg != null)
+            m_Index = index;
+            m_Id = id;
+            m_Level = level;
+            m_PackType = packtype;
+            m_PlaceType = placetype;
+            m_SourceType = sourcetype;
+            var config = Config.Instance.Get<ItemConfig>(id);
+            if (config != null)
             {
-                IsRuneCream = _itemCfg.Type == RuneModel.RUNE_CREAMTYPE;
+                IsRuneCream = config.Type == RuneModel.RUNE_CREAMTYPE;
             }
         }
     }

--
Gitblit v1.8.0