UE求职Demo开发日志#29 继续流程实现
1 今日任务
1. 获得物品逻辑改为检测背包,合成逻辑也改为检测背包,合成面板数据绑定背包
2. 敌人生成管理,每次进入固定生成一小波,普通小怪掉落物品
3.合成之后完成第一个任务,绑定合成成功
4.创建几个空气墙限制区域,任务1完成后解锁
2 实现过程
2.1 修改了背包管理类中的函数,确保了数组的长度固定为最大限制,空的元素默认构造,添加物品自动找第一个空位
2.2 合成物品时请求更新任务系统
获取结果物品信息:
然后尝试调用任务系统的函数:
2.3 整理所有UI的关系
不可能会同时出现的面板放在switch里,两个TipUI设为非可命中测试,
一个switch函数控制UI的显示:
2.4 加了阻挡体积,实现了触发生成敌人,并在击败敌人后打开特定的门
2.5 添加完成任务1的回调,更新游戏流程,之后实现生成精英敌人的时候在前加一步流程判断就行了
if(QuestId==1)
{
UMyGameInstance* MyGameInstance=Cast<UMyGameInstance>(UGameplayStatics::GetGameInstance(GetWorld()));
MyGameInstance->GameFlowKeyPointsInGameInstance[0]=true;
if(MyGameInstance->SaveGameFlow())
{
UE_LOG(LogTemp,Warning,TEXT("GameFlowSaved"));
}
else
{
UE_LOG(LogTemp,Warning,TEXT("GameFlow Save Failed"));
}
}