void onClick_GradeAll_Btn(GameObject caster) { bool select = IsMatchGradeFilter(EquipDefine.EquipGradeType.One) && IsMatchGradeFilter(EquipDefine.EquipGradeType.Two) && IsMatchGradeFilter(EquipDefine.EquipGradeType.Three) && IsMatchGradeFilter(EquipDefine.EquipGradeType.Four) && IsMatchGradeFilter(EquipDefine.EquipGradeType.Five) && IsMatchGradeFilter(EquipDefine.EquipGradeType.Six) && IsMatchGradeFilter(EquipDefine.EquipGradeType.Seven); for (EquipDefine.EquipGradeType i = EquipDefine.EquipGradeType.None + 1; i < EquipDefine.EquipGradeType.Max; i++) { SetGradeFilterMask(i, !select, false, false); } UpdateSellFilterUIStatus(); DoAutoSelectSellEquip(); }
/// <summary> /// 设置档次过滤mask /// </summary> /// <param name="gradeType"></param> /// <param name="add">true为添加,false为移除</param> private void SetGradeFilterMask(EquipDefine.EquipGradeType gradeType, bool add = true, bool updateCheckStatus = true, bool updateSelect = true) { if (add) { m_iSellEquipGradeFillterMask |= (1 << (int)gradeType); } else { m_iSellEquipGradeFillterMask &= (~(1 << (int)gradeType)); } if (updateCheckStatus) { UpdateSellFilterUIStatus(); } if (updateSelect) { DoAutoSelectSellEquip(); } }
protected override void OnUpdateData() { base.OnUpdateData(); if (!IsEquip) { return; } m_localDataBase = DataManager.Manager <ItemManager>().GetLocalDataBase <table.EquipDataBase>(baseId); if (null == m_localDataBase) { Engine.Utility.Log.Error("BaseEquip->OnUpdateData m_localDataBase null baseId:{0}", baseId); return; } m_bCompoundMaskEnable = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Compound); m_bCanCompound = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Compound) && AdditionAttrCount > 0; m_bCanSplit = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Split) && AdditionAttrCount > 0; m_bCanRefine = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Refine); if (null == BaseData) { Engine.Utility.Log.Error("BaseEquip->OnUpdateData BaseData null baseId:{0}", baseId); return; } eType = (GameCmd.EquipType)BaseData.subType; if (BaseData.grade > (int)EquipDefine.EquipGradeType.None && BaseData.grade < (int)EquipDefine.EquipGradeType.Max) { m_equipGrade = (EquipDefine.EquipGradeType)BaseData.grade; } BaseEquipUpdateAttr(); BaseEquipUpdateLocation(); }
/// <summary> /// 是否匹配档次过滤 /// </summary> /// <param name="gradeType"></param> /// <returns></returns> private bool IsMatchGradeFilter(EquipDefine.EquipGradeType gradeType) { return((m_iSellEquipGradeFillterMask & (1 << (int)gradeType)) != 0); }