1 Star 0 Fork 0

kevinlights/rimworldripoff

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Task.gd 1.40 KB
一键复制 编辑 原始数据 按行查看 历史
Jake Wilkinson 提交于 2024-05-18 17:17 +08:00 . video 6 - harvesting plants
extends Node
class_name Task
enum TaskType {BaseTask, FindItem, WalkTo, Pickup, Eat, Manipulate, Harvest}
var taskName: String
var taskType: TaskType = TaskType.BaseTask
var subTasks = []
var currentSubTask : int = 0
var targetItem
var targetItemType
func IsFinished() -> bool:
return currentSubTask == len(subTasks)
func Finish():
currentSubTask = len(subTasks)
func GetCurrentSubTask():
return subTasks[currentSubTask]
func OnFinishSubTask():
currentSubTask += 1
func OnFoundItem(item):
OnFinishSubTask()
GetCurrentSubTask().targetItem = item
func OnReachedDestination():
OnFinishSubTask()
GetCurrentSubTask().targetItem = subTasks[currentSubTask - 1].targetItem
func InitHarvestPlantTask(target):
var subTask = Task.new()
subTask.taskType = TaskType.WalkTo
subTask.targetItem = target
subTasks.append(subTask)
subTask = Task.new()
subTask.taskType = TaskType.Harvest
subTask.targetItem = target
subTasks.append(subTask)
func InitFindAndEatFoodTask():
taskName = "Find and eat some food"
var subTask = Task.new()
subTask.taskType = TaskType.FindItem
subTask.targetItemType = ItemManager.ItemCategory.FOOD
subTasks.append(subTask)
subTask = Task.new()
subTask.taskType = TaskType.WalkTo
subTasks.append(subTask)
subTask = Task.new()
subTask.taskType = TaskType.Pickup
subTasks.append(subTask)
subTask = Task.new()
subTask.taskType = TaskType.Eat
subTasks.append(subTask)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/kevinlights/rimworldripoff.git
git@gitee.com:kevinlights/rimworldripoff.git
kevinlights
rimworldripoff
rimworldripoff
master

搜索帮助