• 游戏道具


    /**
     * 道具系统
     */
    
    public class ItemBase implements Serializable {
    
        /**
         * 不可装备
         */
        public static final int ITEM_POS_NONE = 0;
        /**
         * 头部
         */
        public static final int ITEM_POS_HEAD = 1;
        /**
         * 胸部(盔甲)
         */
        public static final int ITEM_POS_ARMOR = 2;
        /**
         * 脚部(靴子)
         */
        public static final int ITEM_POS_BOOT = 3;
        /**
         * 武器
         */
        public static final int ITEM_POS_WEAPON = 4;
        /**
         * 腰部
         */
        public static final int ITEM_POS_WAIST = 5;
        /**
         * 项链
         */
        public static final int ITEM_POS_NECKLACE = 6;
        /**
         * 饰品(戒指)
         */
        public static final int ITEM_POS_DECORATE = 7;
        /**
         * 宠物
         */
        public static final int ITEM_POS_PET = 100;
    
        static final String DESC_ITEM_POS_NONE = "不可装备";
        static final String DESC_ITEM_POS_HEAD = "头部";
        static final String DESC_ITEM_POS_ARMOR = "胸部(盔甲)";
        static final String DESC_ITEM_POS_BOOT = "脚部(靴子)";
        static final String DESC_ITEM_POS_WEAPON = "武器";
        static final String DESC_ITEM_POS_WAIST = "腰部";
        static final String DESC_ITEM_POS_NECKLACE = "项链";
        static final String DESC_ITEM_POS_DECORATE = "饰品(戒指)";
        static final String DESC_ITEM_POS_PET = "宠物";
    
        // *************************end :道具装备部位编码*****************************
        // *************************start:道具类型编码********************************
        /**
         * 武器装备
         */
        public static final int ITEMTYPE_DEVICE = 1;
        /**
         * 暗器
         */
        // public static final int ITEMTYPE_HIDDENWEAPON = 2;
        /**
         * 战斗物品
         */
        public static final int ITEMTYPE_BATTLEPROP = 3;
        /**
         * 宝石
         */
        public static final int ITEMTYPE_BAOSHI = 30;
        /**
         * 魂石
         */
        // public static final int ITEMTYPE_HUNSHI = 5;
        /**
         * 特殊道具
         */
        public static final int ITEMTYPE_SPECIAL = 6;
        /**
         * 任务道具
         */
        public static final int ITEMTYPE_TASK = 7;
        /**
         * 套装
         */
        public static final int ITEMTYPE_SUIT = 8;
        /**
         * 宝箱
         */
        public static final int ITEMTYPE_BOX = 9;
        /**
         * 配方
         */
        public static final int ITEMTYPE_PRES = 10;
        /**
         * 宠物蛋
         */
        public static final int ITEMTYPE_PETEGG = 11;
        /**
         * 可授权游戏道具
         */
        public static final int ITEMTYPE_SHOWAUTHORITY = 21;
        /**
         * 采集类材料
         */
        public static final int ITEMTYPE_MATERIAL_COLLECTION = 22;
        /**
         * 合成类材料
         */
        public static final int ITEMTYPE_MATERIAL_COMPOSE = 23;
        /**
         * 普通杂物
         */
        public static final int ITEMTYPE_WASTE = 24;
        /**
         * 技能书
         */
        public static final int ITEMTYPE_SKILLBOOK = 25;
        /**
         * 宠物
         */
        public static final int ITEMTYPE_PET = 26;
        /**
         * 礼物
         */
        public static final int ITEMTYPE_PRESENT = 27;
        /**
         * 陷阱
         */
        public static final int ITEMTYPE_TRAP = 28;
        /**
         * 宝石碎片
         */
        public static final int ITEMTYPE_SUIPIAN = 31;
        /** 任务可使用道具 */
        public static final int ITEM_TASKUSE = 35;
        /** 副本cd重置 */
        public static final int ITEM_FBCD_RESET = 36;
        /**
         * 除任务道具、武器装备以外的所有道具统称为普通道具
         */
        public static final int ITEMTYPE_NORMAL = 0;
        // **************************end:道具类型编码**************************************
        /**
         * 是否可丢弃 可丢弃
         */
        public static final int DROPLIMIT_YES = 1;
    
        /**
         * 是否可丢弃 不可丢弃
         */
        public static final int DROPLIMIT_NO = 0;
    
        static final String DESC_DROPLIMIT_YES = "可丢弃";
        static final String DESC_DROPLIMIT_NO = "不可丢弃";
    
        public static final int TRADELIMIT_YES = 1;
        public static final int TRADELIMIT_NO = 0;
    
        static final String DESC_TRADELIMIT_YES = "可以交易";
        static final String DESC_TRADELIMIT_NO = "不能交易";
    
        /**
         * 稀有度 0等级 普通(白装)
         */
        public static final int RAREVALUE_LV0_NORAML = 0;
    
        /**
         * 稀有度 (蓝装)
         */
        public static final int RAREVALUE_LV1_BLUE = 1;
    
        /**
         * 稀有度 (绿装)
         */
        public static final int RAREVALUE_LV2_GREEN = 2;
    
        /**
         * 稀有度 (紫装)
         */
        public static final int RAREVALUE_LV3_PURPLE = 3;
    
        static final String DESC_RAREVALUE_LV0_NORAML = "普通(白装)";
        static final String DESC_RAREVALUE_LV1_BLUE = "(蓝装)";
        static final String DESC_RAREVALUE_LV2_GREEN = "(绿装)";
        static final String DESC_RAREVALUE_LV3_PURPLE = "(紫装)";
    
        private Integer itemType_id;
        // private ItemType itemType;// 道具类型实体
    
        private Integer itemEquPosId;// 道具装备位置 0: 不可装备 1:头部 2:盔甲 3:靴子 4:武器 5:腰部 6:项链
        // 7:饰品
    
        private Integer tradeLimitSystem;// 人-机 交易判断 1可交易 0不可交易
    
        private Integer tradeLimitPlayer;// 人-人 交易判断 1可交易 0不可交易
    
        private Integer rareValue;// 稀有度 0:普通(白装) 1:人民币(蓝装) 2:金币(绿装) 3:无法购买的稀有品(紫装)
    
        private Long price;// 价格-银两 (游戏币)
    
        private Long goldBlock;// 价格-元宝 (人民币兑换的)
    
        private String descMsg; // 道具描述信息
    
        private Integer maxCascade;// 最大层叠数量
    
        private Long devote; // 价格-贡献
    
        private Integer codeValue;// 标识物品分类(商城分类查询)
    
        private int maxHold;// 最大可获得数(包括银行)
    
        /**
         * 使用限制-成就
         */
        private Integer useLimitGlory;
    
        /**
         * 使用限制 0:通用 1:男 2 女
         */
        private Integer useLimitSex;
    
        /**
         * 等级限制 默认0 最低0级使用
         */
        private Integer useLimitGrade;
    
        /**
         * 是否可丢弃 默认1 可丢弃 0不可以丢弃
         */
        private Integer dropLimit;
    
        private Set<ItemReSchool> schools = new HashSet<ItemReSchool>(0);// 可使用职业列表
    
        private Set<EffectRelation> effectRelations;// 道具PK效果列表
    
        public ItemBase() {
            this.itemEquPosId = Integer.valueOf(0);// 装备位置 默认0为不能装备
            this.tradeLimitSystem = Integer.valueOf(1);// 人-机交易设定为默认可交易
            this.tradeLimitPlayer = Integer.valueOf(1);// 人-人交易设定为默认可交易
            this.useLimitSex = Integer.valueOf(0); // 使用性别限制默认为通用
            this.maxCascade = Integer.valueOf(1);// 最大可叠加数默认为可叠加1
            this.goldBlock = Long.valueOf(0);
        }
    
        public String toString() {
            return "id:" + this.getId() + "-" + "策划编号:" + this.getCode() + "-"
                    + "道具名称:" + this.getName() + "-" + "道具类型:"
                    + this.getItemType().getName() + "-" + "装备部位:"
                    + this.getEquPosShow() + "-" + "等级限制:"
                    + this.getUseLimitGrade() + "-" + "性别:" + this.getUseLimitSex()
                    + "--价格-游戏币:" + this.getPrice() + "--价格-人民币:"
                    + this.getGoldBlock() + "-装备稀有度:" + this.getRareValueShow()
                    + "-是否可人人交易:" + this.getTradeLimitPlayerShow() + "-"
                    + "是否可人机交易:" + this.getTradeLimitSystemShow();
        }
    
        public ItemBase(Integer id) {
            this.id = id;
        }
    
        public String getItemClassNameByItemTypeId() {
            return getItemClassNameByItemTypeId(this.getItemType().getId());
        }
    
        public String getItemTypeParam() {
            return getItemClassNameByItemTypeId(this.getItemType().getId());
        }
    
        public static String getItemClassNameByItemTypeId(Integer itemTypeId) {
            ItemType itemType = ServiceManager.baseService
                    .getObjectByID_ItemType(itemTypeId);
            if (itemType != null && itemType.getCode() != null) {
                return itemType.getCode();
            }
            return ItemBase.class.getSimpleName();
    
        }
    
        public String getItemTypeShow() {
            return this.getItemType().getName();
        }
    
        public static String getItemTypeShow(String className) {
            ItemType itemType = getItemTypeByCode(className);
            if (itemType != null && itemType.getName() != null) {
                return itemType.getName();
            }
            return "";
        }
    
        public static ItemType getItemTypeByCode(String className) {
            ItemType itemType = ServiceManager.itemService
                    .getItemTypeByCode(className);
            return itemType;
        }
    
        public static int getItemTypeByParam(String className) {
            ItemType itemType = getItemTypeByCode(className);
            if (itemType != null && itemType.getId() > 0) {
                return itemType.getId();
            }
            return ITEMTYPE_NORMAL;
        }
    
        public static ItemBase getDeclaredItemBase(String className) {
            return (ItemBase) util.object.ObjectUtil.getDeclaredObject(
                    ItemBase.class.getPackage().getName(), className);
        }
    
        public String getCode() {
            return code;
        }
    
        public ItemType getItemType() {
            return getItemType(itemType_id);
        }
    
        public static ItemType getItemType(int itemType_id) {
            return ServiceManager.baseService.getObjectByID_ItemType(itemType_id);
        }
    
        public Integer getItemEquPosId() {
            return this.itemEquPosId;
        }
    
        public void setItemEquPosId(Integer itemEquPosId) {
            this.itemEquPosId = itemEquPosId;
        }
    
        public Integer getTradeLimitSystem() {
            return this.tradeLimitSystem;
        }
    
        public void setTradeLimitSystem(Integer tradeLimitSystem) {
            this.tradeLimitSystem = tradeLimitSystem;
        }
    
        public Integer getTradeLimitPlayer() {
            return this.tradeLimitPlayer;
        }
    
        public void setTradeLimitPlayer(Integer tradeLimitPlayer) {
            this.tradeLimitPlayer = tradeLimitPlayer;
        }
    
        public Integer getUseLimitSex() {
            return this.useLimitSex;
        }
    
        public void setUseLimitSex(Integer useLimitSex) {
            this.useLimitSex = useLimitSex;
        }
    
        public Integer getRareValue() {
            return this.rareValue;
        }
    
        public void setRareValue(Integer rareValue) {
            this.rareValue = rareValue;
        }
    
        public Long getPrice() {
            return this.price;
        }
    
        public void setPrice(Long price) {
            this.price = price;
        }
    
        public Long getGoldBlock() {
            return this.goldBlock;
        }
    
        public void setGoldBlock(Long goldBlock) {
            this.goldBlock = goldBlock;
        }
    
        public String getDescMsg() {
            return this.descMsg;
        }
    
        public void setDescMsg(String descMsg) {
            this.descMsg = descMsg;
        }
    
        public String getPicUrl() {
            return this.code + ".png";
        }
    
        public Integer getMaxCascade() {
            if (maxCascade == null) {
                return 1;
            } else if (maxCascade == 0) {
                return 1;
            } else {
                return this.maxCascade;
            }
        }
    
        public void setMaxCascade(Integer maxCascade) {
            this.maxCascade = maxCascade;
        }
    
        public String getTradeLimitPlayerShow() {
            return DescUtil.getDescByPropertyValue(ItemBase.class.getName(),
                    "TRADELIMIT_", this.tradeLimitPlayer);
        }
    
        public String getTradeLimitSystemShow() {
            return DescUtil.getDescByPropertyValue(ItemBase.class.getName(),
                    "TRADELIMIT_", this.tradeLimitSystem);
        }
    
        public static String getRareValueShow(int rareValue) {
            return DescUtil.getDescByPropertyValue(ItemBase.class.getName(),
                    "RAREVALUE_", rareValue);
        }
    
        public String getRareValueShow() {
            if (this.rareValue == null) {
                this.rareValue = RAREVALUE_LV0_NORAML;
            }
            return getRareValueShow(this.rareValue);
        }
    
        public static String getEquPosShow(int itemEquPosId) {
            return DescUtil.getDescByPropertyValue(ItemBase.class.getName(),
                    "ITEM_POS_", itemEquPosId);
        }
    
        public String getEquPosShow() {
            if (this.getItemEquPosId() == null) {
                this.itemEquPosId = ITEM_POS_NONE;
            }
            return getEquPosShow(this.itemEquPosId);
        }
    
        /**
         * 是否可丢弃 默认1 可丢弃 0不可以丢弃
         */
        public String getDropLimitShow() {
            if (this.dropLimit == null) {
                this.setDropLimit(DROPLIMIT_YES);
            }
            return getDropLimitShow(this.dropLimit);
        }
    
        public static String getDropLimitShow(int dropLimit) {
            return DescUtil.getDescByPropertyValue(ItemBase.class.getName(),
                    "DROPLIMIT_", dropLimit);
        }
    
        public Set<EffectRelation> getEffectRelations() {
            return effectRelations;
        }
    
        public void setEffectRelations(Set<EffectRelation> effectRelations) {
            this.effectRelations = effectRelations;
        }
    
        public Integer getDropLimit() {
            return dropLimit;
        }
    
        public void setDropLimit(Integer dropLimit) {
            this.dropLimit = dropLimit;
        }
    
        /**
         * @param schools
         *            the schools to set
         */
        public void setSchools(Set<ItemReSchool> schools) {
            this.schools = schools;
        }
    
        /**
         * @return the schools
         */
        public Set<ItemReSchool> getSchools() {
            return schools;
        }
    
        public Integer getUseLimitGrade() {
            return useLimitGrade;
        }
    
        public void setUseLimitGrade(Integer useLimitGrade) {
            this.useLimitGrade = useLimitGrade;
        }
    
        public String getUseLimit_jobShow() {
            return getUseLimit_jobShow(this.schools);
        }
    
        public static String getUseLimit_jobShow(Set<ItemReSchool> schools) {
            String result = null;
            if (schools != null && schools.size() > 0) {
                Iterator<ItemReSchool> its = schools.iterator();
                while (its.hasNext()) {
                    ItemReSchool item = (ItemReSchool) its.next();
    
                    if (result != null) {
                        result = result + "[" + item.getSchool().getCodeDesc()
                                + "]";
                    } else {
                        result = "[" + item.getSchool().getCodeDesc() + "]";
                    }
                }
            }
            return result;
        }
    
        public Long getDevote() {
            return devote;
        }
    
        public void setDevote(Long devote) {
            this.devote = devote;
        }
    
        public Integer getItemType_id() {
            return itemType_id;
        }
    
        public void setItemType_id(Integer itemType_id) {
            this.itemType_id = itemType_id;
        }
    
        public Integer getCodeValue() {
            return codeValue;
        }
    
        public void setCodeValue(Integer codeValue) {
            this.codeValue = codeValue;
        }
    
        public String getCodeValueShow() {
            if (codeValue != null) {
                ItemReCode itemReCode = ServiceManager.baseService
                        .getObjectByID_ItemReCode(codeValue);
                if (itemReCode != null)
                    return itemReCode.getName();
            }
            return DESC_NONE;
        }
    
        public int getRecommend() {
            return ServiceManager.itemService.getItemCanRecommend(id);
        }
    
        public String getRecommendShow() {
            if (getRecommend() == 0) {
                return DESC_NO;
            } else {
                return DESC_YES;
            }
        }
    
        public Integer getUseLimitGlory() {
            return useLimitGlory;
        }
    
        public void setUseLimitGlory(Integer useLimitGlory) {
            this.useLimitGlory = useLimitGlory;
        }
    
        public int getMaxHold() {
            return maxHold;
        }
    
        public void setMaxHold(int maxHold) {
            this.maxHold = maxHold;
        }
    
    }
  • 相关阅读:
    spring mvc velocity多视图
    ubuntu 的远程桌面
    nhibernate 3.3 linq扩展
    MongoDB资料汇总专题[转发]
    SQLServer 2008 删除、压缩日志
    VS2012和2010 设置framework版本
    引用的程序集 没有强名称
    Xamarin for OSX – SetUp
    Xamarin devexpress datagrid 样式
    Xamarin devexpress Grid
  • 原文地址:https://www.cnblogs.com/xiao-wei-wei/p/3395595.html
Copyright © 2020-2023  润新知