422 子 【内政】命格系统 / 【内政】命格系统-客户端
| | |
| | | |
| | | public StoryBattleState battleState; |
| | | |
| | | int lastPresetID = 0; |
| | | |
| | | public StoryBattleField() : base(string.Empty) |
| | | { |
| | | |
| | |
| | | } |
| | | |
| | | // LoadBattleMode(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | lastPresetID = TeamManager.Instance.GetMainTeamID(); |
| | | TeamManager.Instance.OnTeamChange += OnTeamChange; |
| | | FuncPresetManager.Instance.OnFuncPresetUseDataEvent += OnFuncPresetUseDataEvent; |
| | | } |
| | | |
| | | protected override void LoadMap(int mapID) |
| | |
| | | { |
| | | base.Release(); |
| | | TeamManager.Instance.OnTeamChange -= OnTeamChange; |
| | | FuncPresetManager.Instance.OnFuncPresetUseDataEvent -= OnFuncPresetUseDataEvent; |
| | | } |
| | | |
| | | protected void LoadBattleMode() |
| | |
| | | } |
| | | } |
| | | |
| | | void OnFuncPresetUseDataEvent(int type) |
| | | { |
| | | var presetID = TeamManager.Instance.GetMainTeamID(); |
| | | if (presetID != lastPresetID) |
| | | { |
| | | lastPresetID = presetID; |
| | | if (battleState == StoryBattleState.Break) |
| | | { |
| | | ReloadTeam(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | protected override void OnSettlement(JsonData turnFightStateData) |
| | | { |
| | |
| | | |
| | | //对应 BattlePreSetType 战斗类型 : 全局方案ID |
| | | Dictionary<int, int> battlePreSetDict = new Dictionary<int, int>(); |
| | | public event Action OnBattelePresetEvent; |
| | | |
| | | //所有预设方案的保存信息 全局方案ID :子功能类型(配表):子方案ID |
| | | Dictionary<int, Dictionary<int, int>> m_FuncPresetSaveDict = new Dictionary<int, Dictionary<int, int>>(); |
| | | public event Action OnFuncPresetUseDataEvent; |
| | | public event Action<int> OnFuncPresetUseDataEvent; //0 更换子方案,1 更换全局方案,2 解锁/更改名 |
| | | |
| | | public const int GlobalDefaultPresetID = 1; //默认全局方案ID |
| | | public const int FuncDefaultPresetID = 1; //默认子功能方案ID |
| | |
| | | } |
| | | } |
| | | |
| | | OnFuncPresetUseDataEvent?.Invoke(); |
| | | OnFuncPresetUseDataEvent?.Invoke(2); |
| | | } |
| | | |
| | | //每个全局方案的存储信息 |
| | |
| | | m_FuncPresetSaveDict[batPreset.BatPresetID][funcPreset.FuncPresetType] = funcPreset.FuncPresetID; |
| | | } |
| | | } |
| | | OnFuncPresetUseDataEvent?.Invoke(); |
| | | OnFuncPresetUseDataEvent?.Invoke(0); |
| | | } |
| | | |
| | | //当前战斗功能的全局方案ID使用情况 |
| | |
| | | { |
| | | battlePreSetDict[netPack.BatPresetList[i].BatPresetType] = netPack.BatPresetList[i].BatPresetID; |
| | | } |
| | | OnBattelePresetEvent?.Invoke(); |
| | | OnFuncPresetUseDataEvent?.Invoke(1); |
| | | } |
| | | |
| | | //根据战斗获取全局方案ID,如果取不到默认方案1 |
| | |
| | | get |
| | | { |
| | | var _list = itemHero.GetUseData(83); |
| | | // 默认没有预设的话就是生效的 |
| | | if (_list == null || _list.Count == 0) |
| | | return true; |
| | | return false; |
| | | var id = FuncPresetManager.Instance.GetFuncPresetID((int)FuncPresetType.Team); |
| | | return _list.Contains(id); |
| | | } |
| | | } |
| | | |
| | | //只要在预设中则代表有激活,但不一定激活属性 |
| | | public bool isActive |
| | | { |
| | | get |
| | | { |
| | | var _list = itemHero.GetUseData(83); |
| | | if (_list == null || _list.Count == 0) |
| | | return false; |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | public bool isLock |
| | | { |
| | |
| | | //不是所需品质 |
| | | if (item.Quality != fatesQuality) |
| | | continue; |
| | | // 生效中的武将 |
| | | if (item.isAttrActive) |
| | | // 激活中的武将 |
| | | if (item.isActive) |
| | | continue; |
| | | // 在任何阵容中上阵 |
| | | bool isInAnyTeam = item.IsInAnyTeam(); |
| | |
| | | //方案变更 只有主战 |
| | | mainFBBtn.SelectBtn(); |
| | | } |
| | | void OnFuncPresetUseDataEvent() |
| | | void OnFuncPresetUseDataEvent(int type) |
| | | { |
| | | HeroUIManager.Instance.selectTeamType = TeamManager.Instance.GetMainTeamID(); |
| | | Display(); |
| | | } |
| | | |
| | |
| | | |
| | | bool CanDelete() |
| | | { |
| | | if (hero.isAttrActive) |
| | | if (hero.isActive) |
| | | return false; |
| | | |
| | | return HeroUIManager.Instance.IsTheSameHeroFullStar(hero.heroId); |
| | |
| | | foreach (var heroInfo in _list) |
| | | { |
| | | |
| | | if (heroInfo.isAttrActive) |
| | | if (heroInfo.isActive) |
| | | continue; |
| | | |
| | | if (!fullStarHeroIDList.Contains(heroInfo.heroId)) |
| | |
| | | |
| | | public BaseInfo baseInfo; |
| | | public BaseProperty baseProperty; |
| | | public BaseProperty petMountBaseProperty; |
| | | public SpiritWeaponProperty spiritWeaponProperty; |
| | | public ShenProperty shenProperty; |
| | | public LegendProperty legendProperty; |
| | | public SkillInfo skillInfo; |
| | | public SuitInfo suitInfo; |
| | | public StarInfo starInfo; |
| | | public StrengthenProperty strengthenProperty; |
| | | public GemInfo gemInfo; |
| | | public TrainProperty trainProperty; |
| | | public List<ItemOperateType> operates; |
| | | public WingRefineMaterials refineMaterials; |
| | | public GetWay getWay; |
| | | public bool showAll; |
| | | } |
| | | |
| | | public struct BaseInfo |
| | |
| | | } |
| | | } |
| | | |
| | | public static void Show(string guid, bool operatable = true) |
| | | // showAll 默认正常全部显示,命格点套装特殊不显示物品信息 |
| | | public static void Show(string guid, bool _showAll = true) |
| | | { |
| | | var item = PackManager.Instance.GetItemByGuid(guid); |
| | | if (item == null) |
| | |
| | | } |
| | | break; |
| | | case TipType.Mingge: |
| | | mainTipData = new TipData() { guid = guid }; |
| | | mainTipData = new TipData() |
| | | { |
| | | guid = guid, |
| | | showAll = _showAll |
| | | }; |
| | | break; |
| | | default: |
| | | mainTipData = CreateItemData(guid, operatable); |
| | | mainTipData = CreateItemData(guid); |
| | | break; |
| | | } |
| | | |
| | |
| | | // }; |
| | | // } |
| | | |
| | | static TipData CreateItemData(string guid, bool operatable) |
| | | static TipData CreateItemData(string guid) |
| | | { |
| | | var item = PackManager.Instance.GetItemByGuid(guid); |
| | | if (item == null) |
| | |
| | | iconImage.SetActive(true); |
| | | int itemID = item.config.ID; |
| | | iconImage.SetItemSprite(itemID); |
| | | if (packIndex <= 4 && skillImage != null) |
| | | if (equipIndex <= 4 && skillImage != null) |
| | | { |
| | | skillImage.SetActive(true); |
| | | var skillID = EquipModel.Instance.GetEquipSkillID(item); |
| | |
| | | var hasCnt = dict.ContainsKey(skillID) ? dict[skillID].Count : 0; |
| | | var oldSkillID = isNewEquip && oldEquip != null ? EquipModel.Instance.GetEquipSkillID(oldEquip) : 0; |
| | | var showCnt = isNewEquip ? (oldSkillID == skillID ? hasCnt : hasCnt + 1) : hasCnt; |
| | | skillDesc.text = SkillConfig.Get(skillID).Description + " " + Language.Get("HeroFates11", showCnt, MinggeManager.Instance.maxSuiteSkillCount); |
| | | |
| | | skillDesc.text = Language.Get("L1039", Language.Get($"MinggeSkillType_{skillID}")) + |
| | | SkillConfig.Get(skillID + showCnt - 1).Description + " " + Language.Get("HeroFates11", showCnt, MinggeManager.Instance.maxSuiteSkillCount); |
| | | } |
| | | } |
| | | |
| | |
| | | [SerializeField] List<TextEx> fightAttrValues; |
| | | [SerializeField] TextEx[] skillDesces; |
| | | |
| | | [SerializeField] Transform topObj; |
| | | |
| | | protected override void OnPreOpen() |
| | | { |
| | |
| | | DelayCloseWindow().Forget(); |
| | | return; |
| | | } |
| | | |
| | | topObj.SetActive(ItemTipUtility.mainTipData.showAll); |
| | | |
| | | var equip = PackManager.Instance.GetItemByGuid(guid); |
| | | |
| | | itemCell.Display(equip.guid); |
| | |
| | | skillDesces[i].SetActive(true); |
| | | skillDesces[i].colorType = i == hasCnt - 1 ? TextColType.lightYellow : TextColType.NavyGray; |
| | | var showCnt = Math.Min(hasCnt, i + 1); |
| | | skillDesces[i].text = SkillConfig.Get(skillID).Description + " " + Language.Get("HeroFates11", showCnt, i + 1); |
| | | skillDesces[i].text = Language.Get("L1039", Language.Get($"MinggeSkillType_{skillID}")) + |
| | | SkillConfig.Get(skillID + i).Description + " " + Language.Get("HeroFates11", showCnt, i + 1); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | void OnFuncPresetUseDataEvent() |
| | | void OnFuncPresetUseDataEvent(int type) |
| | | { |
| | | MinggeManager.Instance.RefrehMinggeAttrs(); |
| | | Display(); |
| | |
| | | if (index >= keys.Count) |
| | | return; |
| | | |
| | | ItemTipUtility.Show(dict[keys[index]][0]); |
| | | ItemTipUtility.Show(dict[keys[index]][0], false); |
| | | } |
| | | |
| | | void AutoTY() |