lzx 1 week ago
parent
commit
7c26d0af32

+ 6 - 15
Assets/Res/Config/QiankundaiConfig.json

@@ -7,15 +7,9 @@
         300
       ],
       "dropType": 1,
-      "dropTypePara": [
-        60.0
-      ],
-      "dropPara1": [
-        1
-      ],
-      "dropPara2": [
-        5
-      ],
+      "dropTypePara": 60,
+      "dropPara1": 1,
+      "dropPara2": 5,
       "ChoukaID": [
         1002
       ],
@@ -30,12 +24,9 @@
         300
       ],
       "dropType": 2,
-      "dropPara1": [
-        2
-      ],
-      "dropPara2": [
-        1
-      ],
+      "dropTypePara": null,
+      "dropPara1": 2,
+      "dropPara2": 1,
       "ChoukaID": [
         1003
       ],

+ 7 - 0
Assets/Res/Config/QiankundaiConfig.json.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: D31N5C2vB3imfwazZQn4KH7YjV0oI+8xRLa5o+j4pER+kor3oUMgZCVDuDyV
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
Assets/Scripts/GameData/ExcelConfig/QiankundaiConfig.cs

@@ -35,19 +35,19 @@ public int dropType;
 		/// <summary>
 		///根据dropType 1:填固定的间隔秒数
 		/// </summary>
-public float[] dropTypePara;
+public int dropTypePara;
 
 
 		/// <summary>
 		///固定时间区间内 1=每小时 2=每日 3=每周
 		/// </summary>
-public int[] dropPara1;
+public int dropPara1;
 
 
 		/// <summary>
 		///固定时间内最多掉落多少次 -1=无限次
 		/// </summary>
-public int[] dropPara2;
+public int dropPara2;
 
 
 		/// <summary>

+ 11 - 0
Assets/Scripts/GameData/ExcelConfig/QiankundaiConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: Wn4Wsn+oV3OlEWmUVf4xROyXscoaiDmbLGVle9bfjgjiP2E3XCOBs/EMFMtF
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 14 - 0
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -115,8 +115,22 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 
         //塔数据
         public List<TowerData> TowerDatas = new List<TowerData>();
+        
+        //掉落数据
+        public List<QiankundaiData> QiankundaiDatas = new List<QiankundaiData>();
+        
+        public List<ItemData> QiankundaiItemDatas = new List<ItemData>();
     }
 
+    
+    public class QiankundaiData
+    {
+        public int id;
+        public long refenceTime;
+        public int dropCount;
+        public int dropTime;
+
+    }
 
     /// <summary>
     /// 塔数据

+ 31 - 0
Assets/Scripts/GameLogic/Player/DropManager.cs

@@ -237,5 +237,36 @@ namespace GameLogic.Player
 
             return itemInfos;
         }
+
+
+        public ItemInfo DropResourceLevel(int itemID, int count)
+        {
+            ResourceLevelConfig resourceLevelConfig = ConfigComponent.Instance.Get<ResourceLevelConfig>(PlayerManager.Instance.myHero.powerUpConfig.ID);
+            ItemInfo itemInfo = null;
+            float c = Math.Abs(count / (float)1000);
+            switch (itemID)
+            {
+                case 1001:
+                    itemInfo = new ItemInfo(1001, (int)(resourceLevelConfig.value1 * c));
+                    break;
+                case 1002:
+                    itemInfo = new ItemInfo(1002, (int)(resourceLevelConfig.value2 * c));
+                    break;
+                case 1003:
+                    itemInfo = new ItemInfo(1003, (int)(resourceLevelConfig.value3 * c));
+                    break;
+                case 1004:
+                    itemInfo = new ItemInfo(1004, (int)(resourceLevelConfig.value4 * c));
+                    break;
+                case 1005:
+                    itemInfo = new ItemInfo(1005, (int)(resourceLevelConfig.value5 * c));
+                    break;
+                case 1006:
+                    itemInfo = new ItemInfo(1006, (int)(resourceLevelConfig.value6 * c));
+                    break;
+            }
+
+            return itemInfo;
+        }
     }
 }

+ 71 - 0
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -53,6 +53,31 @@ public class PlayerManager : Singleton<PlayerManager>
 
         // int m = Random.Range(0, 4 * 60 * 1000);
         RandownDaoYou(gameConstantConfig.Daoyoushowuptime + 1000);
+        QiankundaiConfig[] qiankundaiConfigs = ConfigComponent.Instance.GetAll<QiankundaiConfig>();
+        foreach (var qiankundaiConfig in qiankundaiConfigs)
+        {
+            AccountFileInfo.QiankundaiData qiankundaiData = AccountFileInfo.Instance.playerData.QiankundaiDatas.FirstOrDefault(q => q.id == qiankundaiConfig.ID);
+            if (qiankundaiData == null)
+            {
+                qiankundaiData = new AccountFileInfo.QiankundaiData();
+                qiankundaiData.id = qiankundaiConfig.ID;
+                if (qiankundaiConfig.dropPara1 == 1)
+                {
+                    qiankundaiData.refenceTime = TimeHelper.ClientNow() + 60 * 60 * 1000;
+                }
+                else if (qiankundaiConfig.dropPara1 == 2)
+                {
+                    qiankundaiData.refenceTime = TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
+                }
+                else if (qiankundaiConfig.dropPara1 == 3)
+                {
+                }
+
+                AccountFileInfo.Instance.playerData.QiankundaiDatas.Add(qiankundaiData);
+            }
+        }
+
+        AccountFileInfo.Instance.SavePlayerData();
     }
 
     //添加心境
@@ -241,6 +266,52 @@ public class PlayerManager : Singleton<PlayerManager>
             timer = 0;
             // PlayerManager.Instance.myHero.heroData.exp += myHero.powerUpConfig.AutoXiuwei;
             // AccountFileInfo.Instance.SavePlayerData();
+
+            foreach (var playerDataQiankundaiData in AccountFileInfo.Instance.playerData.QiankundaiDatas)
+            {
+                //重置掉落次数
+                QiankundaiConfig qiankundaiConfig = ConfigComponent.Instance.Get<QiankundaiConfig>(playerDataQiankundaiData.id);
+                if (qiankundaiConfig.dropType != 2 && TimeHelper.ClientNow() >= playerDataQiankundaiData.refenceTime)
+                {
+                    if (qiankundaiConfig.dropPara1 == 1)
+                    {
+                        playerDataQiankundaiData.refenceTime = TimeHelper.ClientNow() + 60 * 60 * 1000;
+                    }
+                    else if (qiankundaiConfig.dropPara1 == 2)
+                    {
+                        playerDataQiankundaiData.refenceTime = TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
+                    }
+                    else if (qiankundaiConfig.dropPara1 == 3)
+                    {
+                    }
+
+                    playerDataQiankundaiData.dropCount = 0;
+                }
+
+
+                if (myHero.powerUpConfig.ID >= qiankundaiConfig.dropLevel[0] && myHero.powerUpConfig.ID <= qiankundaiConfig.dropLevel[1])
+                {
+                    if (playerDataQiankundaiData.dropCount < qiankundaiConfig.dropPara2 || qiankundaiConfig.dropPara2 == -1)
+                    {
+                        playerDataQiankundaiData.dropTime++;
+                        if (playerDataQiankundaiData.dropTime >= qiankundaiConfig.dropTypePara)
+                        {
+                            //发放奖励
+                            for (var i = 0; i < qiankundaiConfig.ChoukaID.Length; i++)
+                            {
+                                ItemInfo itemInfo = DropManager.Instance.DropResourceLevel(qiankundaiConfig.ChoukaID[i], qiankundaiConfig.DropCount[i]);
+                                AccountFileInfo.ItemData itemData = itemInfo.ToItemData();
+                                AccountFileInfo.Instance.playerData.QiankundaiItemDatas.Add(itemData);
+                            }
+
+                            playerDataQiankundaiData.dropCount = 0;
+                            playerDataQiankundaiData.dropTime = 0;
+                        }
+                    }
+                }
+
+                AccountFileInfo.Instance.SavePlayerData();
+            }
         }
 
         //每天刷新

File diff suppressed because it is too large
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


BIN
Excel2Json/Excel/QiankundaiConfig.xlsx


Some files were not shown because too many files changed in this diff