17 KiB
【8.3版本】恐龙养成系统开发方案
一、设计变更历史
本号
修改人
修改日期
修改原因
修改内容
补充说明
1
阿牛
2022.02.13
模板
2
文山
2022.06.10
初版
3
文山
2022.6.20
新增恐龙历程
二、需求文档
三、方案说明
-
协议
-
修改协议 HttpRequestJuraFeedPartner 31912 @瓜子 HttpRequestJuraUpgradePartner 31913
-
[MessageID(31912)][System.Serializable] //侏罗纪 给伙伴喂食
public class HttpRequestJuraFeedPartner : HttpRequestCommon<HttpResponseJuraActivityInfo>
{
public int partnerId; //伙伴id
public int foodId; //材料id
public int foodNum; //材料数量
}
[System.Serializable] //侏罗纪 给伙伴喂食
public class HttpResponseJuraFeedPartner : HttpResponseBase
{
public JuraActivityPartnerInfo partnerInfos; //喂食后的伙伴信息
public ItemInfo foodInfo; //喂食后的材料数量信息
public ItemInfo sendBackItems;//卡级时返还的低等物品及个数@瓜子 新增
}
[MessageID(31913)][System.Serializable] //侏罗纪 给伙伴突破
public class HttpRequestJuraBreakPartner : HttpRequestCommon<HttpResponseJuraBreakPartner>
{
public int partnerId; //伙伴id
public int levelFrom;//当前等级@瓜子 改名
public int[] breakId; //材料id @瓜子 改名
public int[] upgradeNum; //材料数量@瓜子 删除
}
[System.Serializable] //侏罗纪 给伙伴突破
public class HttpResponseJuraBreakPartner : HttpResponseBase
{
public JuraActivityPartnerInfo partnerInfos; //突破后的伙伴信息
public ItemInfo[] breakItems; //突破后的材料数量信息(只包含数据变化的项) @瓜子 改名
}
-
新增 协议 HttpRequestJuraRewardInfo 31914 @瓜子
奖励物品展示界面
对应界面截图
协议内容
放 修改前后 的协议内容
[System.Serializable]
public class JuraActivityPartnerInfo @西瓜
{
public uint ownerId; //所属的玩家id
public int id; //伙伴id
public int level; //伙伴等级
public int showLevel; //伙伴显示的等级(用于切换不同的模型) @瓜子
public int exp; //伙伴经验值
public string partnerName; //伙伴昵称
public int power;//战斗力@瓜子
public bool isAtHome;//是否在自己家@瓜子
public int brithday;//生日事件戳@瓜子
}
[MessageID(31914)]
[System.Serializable] //侏罗纪 恐龙养成奖励展示界面
public class HttpRequestJuraRewardInfo : HttpRequestCommon<HttpResponseJuraRewardInfo>
{
}
[System.Serializable] //侏罗纪 恐龙养成奖励展示界面
public class HttpResponseJuraRewardInfo : HttpResponseBase
{
public RewardsItem[] advanceItem;
public RewardsItem[] cardSkin;
}
[System.Serializable] //领取状态
public class RewardsItem
{
public int rewardId;//JuraPartnerUpgrade中的id,和JuraPartnerPowerReward中的id
public int rewardState; //奖励物品状态
}
修改对应表格1:JuraPartner.csv @西瓜 @小麻
伙伴类型ID
属性,1天上飞,2地上跑,3水里游
专属蛋物品ID
itemId
"最小可移动等级
(达到什么等级可移动)"
伙伴不会移动时,摆放位置,0是随机(3-6号位随机),1(1号位、2号位随机)
专属养成材料物品ID,多个用“|”隔开
恐龙个性介绍图标
技能图标
技能描述
性别图标
爱好
Id
MoveType
AgeId
MinLevel
Position
PartnerFood
ExclusiveIcon
SkillIcon
SkillIntroduce
GenderIcon
Hobby
int
EJuraPartnerMoveType
int
int
int
int[]
string
string
string
string
string
-
新增 表格 JuraPartnerSkillTable.csv
技能展示界面
对应界面截图
协议内容
无
新增对应配表@玄羽
客户端 新增表 JuraCardGrowthTable 接配置每一级的属性值,用|竖线分隔开。允许 升级数据与恐龙有 N:1 的关系。最后的最大等级是用来做限制保护的。
序号
对应恐龙ID
对应养成的伙伴ID
升级属性
初始值(1级)
成长数值(从2级开始,不成长留空)
最大等级
Id
CardId
PartnerId
Attribute
Start
Growth
MaxLevel
1
70010
1001001
MoveSpeed
1
1.1|1.2|1.5|1.6
10
2
70010
1001001
RotSpeed
1
1|1.2|1.5|1.6
10
3
70010
1001001
Damage
1
1|1.2|1.5|1.6
10
4
70010
1001001
Time
10
10
5
70011
1001002
MoveSpeed
1
1|1.2|1.5|1.6
10
6
70011
1001002
RotSpeed
1
1|1.2|1.5|1.6
10
-
新增 协议 HttpRequestJuraDiaryInfo 31915 HttpRequestJuraHadReadDiaryInfo 31916 @小麻 @瓜子
恐龙日记展示界面
对应界面截图
协议内容
[MessageID(31915)]
[System.Serializable] //侏罗纪 恐龙日记展示界面
public class HttpRequestJuraDiaryInfo : HttpRequestCommon<HttpResponseJuraDiaryInfo>
{
}
[System.Serializable] //侏罗纪 恐龙日记展示界面
public class HttpResponseJuraDiaryInfo : HttpResponseBase
{
public JuraPartnerDiary[] allDiraryInfo;
}
[System.Serializable] //恐龙日志状态
public class JuraPartnerDiary
{
public int partnerId; //伙伴id
public int[] diaryIndex; //写过的日记索引
public int[] diaryTime;//每篇日记的书写时间 @瓜子 @小麻
public int hadReadDiaryIndex;//已读的日记, diaryIndex的索引
}
[MessageID(31916)] @小麻
[System.Serializable] //侏罗纪 恐龙已读日记展示界面
public class HttpRequestJuraHadReadDiaryInfo : HttpRequestCommon< HttpResponseJuraHadReadDiaryInfo >
{
public int[] partnerId;//已有的恐龙
public int[] hadReadDiaryIndex;//关闭界面时,所有已有的恐龙 已读日记的最大索引透传
}
[System.Serializable] //无需返回
public class HttpResponseJuraHadReadDiaryInfo : HttpResponseBase
{
}
对应配表(新增表)
客户端 新增表 JuraDiaryTable @小麻 @瓜子
序号
恐龙id
日记内容
心情(1开心,2一般,3不开心)
解锁条件(等级)
等级下随机显示篇数
Id
PartnerId
Cotent
MoodIcon
UnlockLevel
DiaryNum
int
int
string
int
int
int
-
HttpRequestJuraPreviewPartnerInfo 31916
用于展示恐龙成长历程界面,并展示现在选中物品的模型
[MessageID(31924)]
[System.Serializable] //恐龙模型展示
public class HttpRequestJuraPreviewPartnerInfo : HttpRequestCommon<HttpResponseJuraPreviewPartnerInfo> { }
[System.Serializable]
public class HttpResponseJuraPreviewPartnerInfo : HttpResponseBase
{
public int partnerId;//伙伴id
public int showLevel;//展示的等级
}
-
客戶端新增或改动脚本(以下功能做完,前面□打√)
-
新增 UIJuraRewardInfo
-
功能:用于奖励物品的展示逻辑、及界面交互逻辑
- 大黄蜂展示状态交互:
- 角色皮肤展示:
-
涂鸦:无动画可拖拽旋转
-
ui交互
- 控制3个物品的预览
- 未获取点击出弹窗,弹窗支持获取跳转提示
- 已获取未满级,支持跳转培养界面(第二界面),(默认选中指定的龙)
- 已获取未领取,显示领取点击获得皮肤
- 已领取不可交互,显示已拥有
- 每种类型第一条龙出现,侏罗纪活动合集入口&功能入口&活动第一屏对应的恐龙图片上,有小红点提示@星旭 会抛出一个事件
- 侏罗纪活动合集入口&功能入口&对应的奖励领取按钮上,有小红点提示
-
新增 UIJuraCultivateInfo
功能:恐龙培养界面逻辑,恐龙喂养及交互,技能展示,日记入口,奖励进度展示
- 恐龙的状态交互,升级、突破特效和相机动画展示不做状态@灰子
- 在已解锁的恐龙间切换,支持循环,1只恐龙不可见
- 使用食物和看哪个了交互,可点击,可长按,可拖拽
- 未满级,喂食后可加经验,经验满可升级,到达突破等级,食物屏蔽显示突破食物,进度条显示需进阶
- 可突破时侏罗纪活动合集入口&功能入口&活动第一屏对应的恐龙图片上&【进阶】按钮上,有小红点提示
- 食物下方添加增长的经验,图标处、显示数量(没有置灰)、爱心、品质、选中
-
未满级升级不打断,突破时、满级时会打断
-
突破、满级经验返回以最低等级食物返还
- 视频可跳转显示视频
- 奖励进度显示物品图标、品质、类型、等级或战斗力进度、可点击tip提示
- 奖励已领取后,显示领取标注、无交互
- 左侧图标为当前选中恐龙满级奖励皮肤,右侧为下一档战斗力要领取的物品(第一界面左侧)。
- 可切换页签。到羁绊界面,不影响左侧功能
-
修改 UIJuraDiary @小麻
- 满级后按钮可点,选中该恐龙要显示的模型
- 生日为获取龙的时间、年龄计算、性别爱好配置,头像配置
- 日记左右可翻页,只有翻页才显示对应按钮
- 显示最新看过的日记(关闭界面时,通过协议31916,透传给服务器),没看过的需要红点提示。
- 有新日记时 集入口&功能入口&活动第一屏对应的恐龙图片上&【恐龙羁绊】页签上&对应的羁绊信息按钮,有小红点提示
-
修改 UIJuraPreview
- 三种龙的展示状态,文案需要添加配置
- 详情展示及按钮状态:已解锁、显示文案、按钮状态
- 未解锁:显示解锁条件(恐龙等级、及素材)能突破时,显示突破,满足条件点击可以播放突破动画
- 点击等级图标已满足时,TIP提示已满足,不满足时关闭弹窗,高亮品质最高的食物
- 点击食物图标已满足时,TIP提示已满足,不满足时和养成界面食物不足逻辑一样。
-
细节补充
四、数据缓存方式
数据缓存单例:放到数据池中与合集保持一致
缓存哪些数据:
数据清理时机:
与合集保持一致
数据单例对象清理时机
LoginSuccess = 1, //重新登录
CrossDay = 2, //跨天
ReturnLobbyFromGame = 4, //从单局返回
BeforeEnterGame = 8, //进入单局