Ejemplo n.º 1
0
        /// <summary>
        /// 舰娘能否佩戴该装备,可以返回true,否则返回false;舰娘、装备没有找到都返回false
        /// </summary>
        /// <param name="shipId">舰娘id</param>
        /// <param name="itemId">装备id</param>
        /// <returns></returns>
        public bool CanShipEquipItem(int shipId, int itemId)
        {
            KancolleShipData ship;

            if (ShipDataDictionary.TryGetValue(shipId, out ship))
            {
                KancolleShipType shipType;
                //找到舰娘类型
                if (ShipTypeDictionary.TryGetValue(ship.Type, out shipType))
                {
                    //舰娘的可装备字典
                    var dic = shipType.EquipItemType;
                    KancolleSlotItemData item;
                    //找到装备
                    if (SlotDictionary.TryGetValue(itemId, out item))
                    {
                        //item3为该装备的装备类型
                        if (dic.ContainsKey(item.Type.Item3))
                        {
                            //可装备(1)则为true,否则为false
                            return(dic[item.Type.Item3] != 0);
                        }
                    }
                }
            }

            return(false);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取舰娘类型id,若不存在返回-1
        /// </summary>
        /// <param name="ownedShip"></param>
        /// <returns></returns>
        public int GetShipType(KancolleShip ownedShip)
        {
            KancolleShipData shipData;

            if (ShipDataDictionary.TryGetValue(ownedShip.No, out shipData))
            {
                return(shipData.Type);
            }
            return(-1);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取舰娘名,若不存在返回null
        /// </summary>
        /// <param name="ownedShip"></param>
        /// <returns></returns>
        public string GetShipName(KancolleShip ownedShip)
        {
            KancolleShipData shipData;

            if (ShipDataDictionary.TryGetValue(ownedShip.ShipId, out shipData))
            {
                return(shipData.Name);
            }
            return(null);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 从ownedShip获得数据库的shipData,若不存在返回null
        /// </summary>
        /// <param name="ownedShip"></param>
        /// <returns></returns>
        public KancolleShipData GetShip(KancolleShip ownedShip)
        {
            KancolleShipData shipData;

            if (ShipDataDictionary.TryGetValue(ownedShip.No, out shipData))
            {
                return(shipData);
            }
            return(null);
        }