| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | 
							- using System;
 
- using Core.Language;
 
- using Excel2Json;
 
- using Fort23.Core;
 
- using Fort23.Mono;
 
- using Fort23.UTool;
 
- using UnityEngine;
 
- using Utility;
 
- public class ULockManager : Singleton<ULockManager>
 
- {
 
-     public UnlockConfig[] Configs;
 
-     public bool Nolock;
 
-     public ULockManager()
 
-     {
 
-         Configs = ConfigComponent.Instance.GetAll<UnlockConfig>();
 
-     }
 
-     /// <summary>
 
-     /// 获取解锁表
 
-     /// </summary>
 
-     /// <param name="unLockValue">解锁值(功能ID、表ID)</param>
 
-     /// <param name="isFunction">第一个参是否为功能ID</param>
 
-     /// <returns></returns>
 
-     public UnlockConfig GetULockConfig(int unLockValue, bool isFunction = true)
 
-     {
 
-         for (int i = 0; i < Configs.Length; i++)
 
-         {
 
-             if (isFunction)
 
-             {
 
-                 if (Configs[i].ulockFunction == unLockValue)
 
-                 {
 
-                     return Configs[i];
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 if (Configs[i].ID == unLockValue)
 
-                 {
 
-                     return Configs[i];
 
-                 }
 
-             }
 
-         }
 
-         if (isFunction)
 
-         {
 
-             LogTool.Error("功能 ulockFunction 值 配置错误,找不到这样一个功能,请请检查:" + unLockValue);
 
-         }
 
-         else
 
-         {
 
-             LogTool.Error("解锁ID配置错误,找不到这样一个功能,请请检查:" + unLockValue);
 
-         }
 
-         return new UnlockConfig();
 
-     }
 
-     /// <summary>
 
-     /// 刷新解锁状态, 影响解锁的值变化时调用(通关、飞艇升级等)
 
-     /// </summary>
 
-     public void RefreshULock()
 
-     {
 
-         EventManager.Instance.Dispatch(CustomEventType.RefreshULock, null);
 
-     }
 
-     /// <summary>
 
-     /// 解锁功能
 
-     /// </summary>
 
-     /// <param name="config">解锁表</param>
 
-     /// <returns>true表示解锁成功</returns>
 
-     public bool IsULock(UnlockConfig config)
 
-     {
 
-         if (Nolock)
 
-         {
 
-             return true;
 
-         }
 
-         switch (config.ulockCondition)
 
-         {
 
-             case 1:
 
-                 return PlayerManager.Instance.myHero.powerUpConfig.ID >= config.ulockValue;
 
-         
 
-         }
 
-         return false;
 
-     }
 
-     public bool IsULock(int functionID)
 
-     {
 
-         if (Nolock)
 
-         {
 
-             return true;
 
-         }
 
-         // if (mGameRuntimeConfig.unLockAll)
 
-         // {
 
-         //     return true;
 
-         // }
 
-         if (functionID <= 0)
 
-         {
 
-             return true;
 
-         }
 
-         foreach (var config in Configs)
 
-         {
 
-             if (config.ulockFunction == functionID)
 
-             {
 
-                 return IsULock(config);
 
-             }
 
-         }
 
-         return false;
 
-     }
 
-     public string ShowUnlockTips(int unlockConfigId)
 
-     {
 
-         UnlockConfig _config = ConfigComponent.Instance.Get<UnlockConfig>(unlockConfigId);
 
-         if (_config.ID == 0)
 
-             return "";
 
-         int unLockCondition = _config.ulockCondition;
 
-         int unLockValue = _config.ulockValue;
 
-         string tips = String.Empty;
 
-         switch (unLockCondition)
 
-         {
 
-             case 1: //玩家境界
 
-                 // LevelBattleConfig levelBattleConfig = ConfigComponent.Instance.Get<LevelBattleConfig>(unLockValue);
 
-                 // tips = LanguageManager.Instance.Text(_config.UnlockTipsID, levelBattleConfig.levelName);
 
-                 break;
 
-         }
 
-         
 
-         return tips;
 
-     }
 
- }
 
 
  |