ai maketurn, but in table

This commit is contained in:
neckrat 2026-04-25 00:52:18 +03:00
parent 947ac12c35
commit 2b4dc56c88

View File

@ -20,18 +20,9 @@ local function closestCharacter(char)
return charTarget return charTarget
end end
--- @class AIBehavior : Behavior ---@type {[Class]: fun(self): Task<nil>} возможно где-то здесь на объявлении типа сломается типизация
--- @field target Vec3? local aiNature = {
local behavior = {} ["dev_warrior"] = function(self)
behavior.__index = behavior
behavior.id = "ai"
function behavior.new()
return setmetatable({}, behavior)
end
--- @return Task<nil>
function behavior:makeTurn()
return function(callback) -- почему так, описано в Task return function(callback) -- почему так, описано в Task
self.owner:try(Tree.behaviors.spellcaster, function(spellB) self.owner:try(Tree.behaviors.spellcaster, function(spellB)
local charTarget = closestCharacter(self.owner) local charTarget = closestCharacter(self.owner)
@ -59,6 +50,26 @@ function behavior:makeTurn()
end end
end) end)
end end
end,
["dev_mage"] = function(self)
return function(callback)
print("etoh... bleh")
callback()
end
end
}
--- @class AIBehavior : Behavior
--- @field target Vec3?
local behavior = {}
behavior.__index = behavior
behavior.id = "ai"
--- @param class Class
function behavior.new(class)
return setmetatable({
makeTurn = aiNature[class]
}, behavior)
end end
return behavior return behavior