From 0a719b7f6867a2c17f76e6fee448c618e594de2e Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 05 一月 2019 13:53:54 +0800
Subject: [PATCH] 3335 添加跨服boss配置

---
 System/CrossServerBoss/CrossServerBossModel.cs |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/System/CrossServerBoss/CrossServerBossModel.cs b/System/CrossServerBoss/CrossServerBossModel.cs
index b6d4312..f90798d 100644
--- a/System/CrossServerBoss/CrossServerBossModel.cs
+++ b/System/CrossServerBoss/CrossServerBossModel.cs
@@ -1,12 +1,22 @@
 锘縰sing System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
+using TableConfig;
 
 namespace Snxxz.UI
 {
     [XLua.LuaCallCSharp]
     public class CrossServerBossModel : Model
     {
+        public const int DATA_MAPID = 0;
+        public const int REDPOINT = 77002;
+
+        List<int> sortedBossIds = new List<int>();
+        Dictionary<int, CrossServerBossData> bosses = new Dictionary<int, CrossServerBossData>();
+
+        public int bigBoxNpcId = 0;
+        public int smallBoxNpcId = 0;
+        public List<int> eliteMonsters = new List<int>();
 
         public override void Init()
         {
@@ -17,7 +27,83 @@
         }
 
 
+        public bool IsAtCrossServerBossMap()
+        {
+            return PlayerDatas.Instance.baseData.ExAttr5 == 1
+                && PlayerDatas.Instance.baseData.MapID == DATA_MAPID;
+        }
 
+        public void RequestEnter()
+        {
+
+        }
+
+        public bool CanEnter(out int error)
+        {
+
+            error = 0;
+            return true;
+        }
+
+        public void ProcessEnterError(int error)
+        {
+
+        }
+
+        public void RequestExit()
+        {
+
+        }
+
+        private void ParseConfig()
+        {
+            var configs = Config.Instance.GetAllValues<CrossServerBossConfig>();
+            foreach (var config in configs)
+            {
+                switch (config.MonsterType)
+                {
+                    case 1:
+                        bigBoxNpcId = config.NPCID;
+                        break;
+                    case 2:
+                        smallBoxNpcId = config.NPCID;
+                        break;
+                    case 3:
+                        eliteMonsters.Add(config.NPCID);
+                        break;
+                    case 4:
+                        bosses[config.NPCID] = new CrossServerBossData(config.NPCID);
+                        sortedBossIds.Add(config.NPCID);
+                        break;
+                }
+            }
+
+            sortedBossIds.Sort(CrossServerBossData.LevelCompare);
+        }
+
+    }
+
+    public class CrossServerBossData
+    {
+        public int id { get; private set; }
+        public bool isUnLocked {
+            get {
+                return true;
+            }
+        }
+
+        public CrossServerBossData(int _id)
+        {
+            this.id = _id;
+        }
+
+        public static int LevelCompare(int a, int b)
+        {
+            var configA = Config.Instance.Get<NPCConfig>(a);
+            var configB = Config.Instance.Get<NPCConfig>(b);
+
+            return configA.NPCLV < configB.NPCLV ? -1 : 1;
+        }
     }
 
 }

--
Gitblit v1.8.0