1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using System.Collections.Generic;
- using UnityEngine;
- namespace GFGGame
- {
- public class SkillDataManager : SingletonBase<SkillDataManager>
- {
- public const int MINE = 0;
- public const int NPC = 1;
- public const string SKILL_ADD = "add";
- public const string SKILL_MINUS = "minus";
- public const string SKILL_BREAK = "break";
- public const string SKILL_SHIELD = "shield";
- public Dictionary<int, Dictionary<int, int>> skillData = new Dictionary<int, Dictionary<int, int>>();
- // public Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>> dicPassivitySkill = new Dictionary<int, Dictionary<int, List<PassivitySkillCfg>>>();
- public void Clear()
- {
- skillData.Clear();
- }
- public void InitServerData(int cardId, List<int> skillIds, List<int> skillLvs)
- {
- if (!this.skillData.ContainsKey(cardId))
- {
- this.skillData[cardId] = new Dictionary<int, int>();
- }
- for (int i = 0; i < skillIds.Count; i++)
- {
- UpdateSkill(cardId, skillIds[i], skillLvs[i]);
- }
- }
- public void UpdateSkill(int cardId, int skillId, int skillLv)
- {
- this.skillData[cardId][skillId] = skillLv;
- }
- // public void UpSkill(int cardId, int skillId)
- // {
- // CardSProxy.UpgradeCardSkill(cardId, skillId).Coroutine();
- // }
- //获取npc释放技能顺序
- public Dictionary<int, RoleSkillCfg> GetNpcSkill()
- {
- Dictionary<int, RoleSkillCfg> npcSkillDic = new Dictionary<int, RoleSkillCfg>();
- RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
- List<int> arr = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
- for (int i = 0; i < roleSkillCfgs.Length; i++)
- {
- int partIndex = Random.Range(0, arr.Count);
- npcSkillDic.Add(arr[partIndex], roleSkillCfgs[i]);
- arr.RemoveAt(partIndex);
- }
- return npcSkillDic;
- }
- public int GetSkillLv(int cardId, int skillId)
- {
- // SkillData skillData;
- // if (SkillDataManager.Instance.skillData.ContainsKey(cardId) && SkillDataManager.Instance.skillData[cardId].ContainsKey(skillId))
- // {
- // skillData = SkillDataManager.Instance.skillData[cardId][skillId];
- // }
- // else
- // {
- // skillData = new SkillData();
- // skillData.cardId = cardId;
- // skillData.skillId = skillId;
- // skillData.lv = 1;
- // }
- // return skillData;
- int lv = 1;
- if (this.skillData.ContainsKey(cardId) && this.skillData[cardId].ContainsKey(skillId))
- {
- lv = this.skillData[cardId][skillId];
- }
- return lv;
- }
- public PassivitySkillCfg GetPassivitySkillCfg(int cardId, int skillId)
- {
- List<PassivitySkillCfg> cfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
- for (int i = 0; i < cfgs.Count; i++)
- {
- if (cfgs[i].skillId == skillId) return cfgs[i];
- }
- return null;
- }
- // public PassivitySkillLvlCfg GetPassivitySkillLvlCfg(int skillId, int lv)
- // {
- // return PassivitySkillLvlCfgArray.Instance.GetCfg(lv, skillId);
- // }
- }
- }
|