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