/// <summary> /// /// </summary> /// <param name="dItemID"></param> /// <param name="posIndex">装备索引 0~5</param> /// <param name="solderierInfo"></param> public void SetData(int dItemID, int posIndex, SoldierInfo solderierInfo) { m_iItemID = dItemID; m_soldierInfo = solderierInfo; m_iPosIndex = posIndex; m_itemTypeID = SoldierM.GetSoldierEquip(solderierInfo.SoldierTypeID, solderierInfo.Quality, posIndex); if (m_itemTypeID == 0) { NGUIUtil.DebugLog(string.Format(" SoldierTypeID={0},Quality={1},EquipIndex={2} 装备静态数据未配置", solderierInfo.SoldierTypeID, solderierInfo.Quality, posIndex)); return; } if (m_iItemID == 0)//当未穿装备时 { ItemTypeInfo info = ItemDC.SearchItem(m_itemTypeID); if (info != null) { m_iItemID = info.ID; m_itemTypeID = info.itemType; m_icon = info.m_Icon; } else { s_itemtypeInfo sInfo = ItemM.GetItemInfo(m_itemTypeID); if (sInfo != null) { m_icon = sInfo.icon; } else { NGUIUtil.DebugLog("itemTypeID =" + m_itemTypeID + " 未配置"); } } } else//已装备 { ItemTypeInfo info1 = ItemDC.GetItem(m_iItemID); if (info1 == null || info1.Positon == 0) { NGUIUtil.DebugLog("获取已装备的信息失败 itemID =" + m_iItemID); return; } m_icon = info1.m_Icon; if (info1 != null) { m_iEquipQuality = info1.m_Quality; } } int itemTypeid = 0; m_equipmentPutType = SoldierM.CheckCanPutEquip(solderierInfo, dItemID, posIndex, ref itemTypeid); SetUI(); }
/// <summary> /// 炮弹兵装备格的状态 /// </summary> /// <returns>The can put equip.</returns> /// <param name="info">Info.</param> /// <param name="EquipID">Equip I.</param> /// <param name="index">Index.</param> /// <param name="itemTypeID">Item type I.</param> public static EquipmentPutType CheckCanPutEquip(SoldierInfo info, int EquipID, int index, ref int itemTypeID) { itemTypeID = SoldierM.GetSoldierEquip(info.SoldierTypeID, info.Quality, index); if (EquipID == 0) { ItemTypeInfo ItemInfo = ItemDC.SearchItem(itemTypeID); if (ItemInfo != null) { if (info.Level >= ItemInfo.m_level) { return(EquipmentPutType.CanPut); } else { return(EquipmentPutType.HaveCannot); } } else { s_itemtypeInfo sInfo = ItemM.GetItemInfo(itemTypeID); List <KeyValue> needSubEquip = new List <KeyValue>(); int needCoin = 0; bool canCombine = ItemM.GetCombineEquipNeed(itemTypeID, ref needSubEquip, ref needCoin); if (canCombine) { if (ItemDC.CheckItemsEnough(needSubEquip)) { if (needCoin < UserDC.GetCoin()) { if (info.Level >= sInfo.level) { return(EquipmentPutType.CanCombinePut); } else { return(EquipmentPutType.CanCombine); } } else { return(EquipmentPutType.CanCombine); } } else if (!ItemDC.CheckItemsEnough(needSubEquip)) { return(EquipmentPutType.ReadyCombine); } else { return(EquipmentPutType.None); } } else { return(EquipmentPutType.NoCanCombine); } } } else { return(EquipmentPutType.HavePut); } }