ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

资源道具化

2022-07-05 20:00:19  阅读:131  来源: 互联网

标签:勋章 -- 道具 签到 英雄 模块 资源 E2


概念

概念:系统中的每一个资源分配一个唯一标识。

举例:金币、钻石、道具、礼包、勋章、英雄、英雄碎片、活动积分、表情等。

中间层:处理资源增减请求。


举例

签到为例

graph LR A[签到请求] -->B{是否可签} B -->|yes| D[读取奖励配置] D --> E1[直接获得奖励] --> 结束 D --> E2[提出资源增加请求] --> 结束 style E1 stroke:Orange,stroke-width:4px style E2 stroke:Red,stroke-width:4px

红色要优于橙色。

红线逻辑,签到模块不关心奖励是怎么加上去的。

中间层处理资源

graph LR A[资源增减请求] -->B{增加or减少} B -->|增加| D{不同的类型} D --> E1[加金币] D --> E3[加英雄碎片] --> 调用背包模块 D --> E2[加英雄] E2 -..-> |没有该英雄| F1[调用英雄模块] E2 -..-> |有该英雄 不允许分解| F1 E2 -..-> |有该英雄 允许分解| F2[读取碎片数 发起加碎片请求] -..-> A

中间层实现了增减资源的操作。

两张表

资源表

id type desc ext...
资源ID唯一标识 不同的类型 描述 一些扩展字段

签到表

day id count
第几天 资源ID 数量

需求扩展

需求:签到给英雄,如果玩家已经拥有该英雄,则改为给3个英雄碎片。

实现:兑换表:英雄、英雄碎片、兑换个数。把自动拆为碎片的逻辑放入中间层,签到模块不用关心。

需求:如果玩家获得A道具100次,获得S勋章。获得3次S勋章,达成Y成就。

实现:勋章表:道具、收集次数。成就表:勋章、收集次数。

增加道具时,对应计数+1。判断是否触发勋章获得的条件,如果达成,增加对应的勋章。

增加勋章时,对应计数+1。判断是否触发成就获得的条件,如果达成,增加对应的成就。

道具、勋章、成就,都资源化,无差别对待。根据资源表中的type,做不同逻辑。

不同的模块,可以复用这套逻辑。

需求:签到给积分,积分可以兑换英雄碎片。

实现:积分作为一种资源,分配一个ID,对接兑换模块。

兑换模块,先发起减请求,再发起加请求。


总结

  • 资源道具化,统一性。
  • 中间层,对外界屏蔽不同资源的差异。
  • 子模块不直接交互,通过中间层间接交互。

标签:勋章,--,道具,签到,英雄,模块,资源,E2
来源: https://www.cnblogs.com/txtp/p/16448442.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有