[WIP] Treballant en el jefe. La que s'està liant...
This commit is contained in:
@@ -25,18 +25,22 @@ end
|
||||
-- ara aleatori
|
||||
|
||||
function pattern:origin()
|
||||
print_dbg("")
|
||||
return self.node[self.path_idx]
|
||||
end
|
||||
|
||||
function pattern:origin_num ()
|
||||
print_dbg("")
|
||||
return self.path_idx
|
||||
end
|
||||
|
||||
function pattern:set_path ( num )
|
||||
print_dbg("")
|
||||
self.path_idx = num
|
||||
end
|
||||
|
||||
function pattern:get_path ( num )
|
||||
print_dbg("")
|
||||
return self.path[num]
|
||||
end
|
||||
|
||||
@@ -46,12 +50,11 @@ end
|
||||
-- return self.path[self.path_idx][target_idx].target
|
||||
-- end
|
||||
function pattern:target()
|
||||
print("pattern:target 1")
|
||||
if not empty_table(self.manual_path) then
|
||||
print("pattern:target 2 a")
|
||||
print_dbg("MANUAL => "..self.manual_path.target)
|
||||
return self.manual_path.target
|
||||
else
|
||||
print("pattern:target 2 b")
|
||||
print_dbg("PATH => "..self.path[self.path_idx][self.target_idx].target)
|
||||
return self.path[self.path_idx][self.target_idx].target
|
||||
end
|
||||
end
|
||||
@@ -61,6 +64,7 @@ end
|
||||
-- return self.path[self.path_idx][target_idx].actions
|
||||
-- end
|
||||
function pattern:actions()
|
||||
print_dbg("")
|
||||
if not empty_table(self.manual_path) then
|
||||
return self.manual_path.actions
|
||||
else
|
||||
@@ -74,14 +78,17 @@ end
|
||||
-- end
|
||||
function pattern:action()
|
||||
if not empty_table(self.manual_path) then
|
||||
print_dbg("MANUAL => "..self.manual_path.actions[self.action_idx].action)
|
||||
return self.manual_path.actions[self.action_idx].action
|
||||
else
|
||||
print_dbg("PATH => "..self.path[self.path_idx][self.target_idx].actions[self.action_idx].action)
|
||||
return self.path[self.path_idx][self.target_idx].actions[self.action_idx].action
|
||||
end
|
||||
end
|
||||
|
||||
-- [OK] Torna l'event actual
|
||||
function pattern:event()
|
||||
print_dbg("")
|
||||
if not empty_table(self.manual_path) then
|
||||
return self.manual_path.actions[self.action_idx].event
|
||||
else
|
||||
@@ -98,7 +105,7 @@ end
|
||||
-- return pattern:action()
|
||||
-- end
|
||||
function pattern:next_action ( )
|
||||
print("pattern:next_action 1")
|
||||
print_dbg("")
|
||||
local num_actions = 0
|
||||
-- index a la següent acció
|
||||
self.action_idx = self.action_idx+1
|
||||
@@ -108,45 +115,47 @@ print("pattern:next_action 1")
|
||||
else
|
||||
num_actions = #self.path[self.path_idx][self.target_idx].actions
|
||||
end
|
||||
print("pattern:next_action 2")
|
||||
if self.action_idx>num_actions then
|
||||
-- avançar el target
|
||||
self:next_target() -- pasar per paràmetre o no
|
||||
end
|
||||
print("pattern:next_action 3")
|
||||
-- Tornar l'acció
|
||||
return self:action()
|
||||
end
|
||||
|
||||
-- [OK] Canvia al següent target segons el path o al que se li pase
|
||||
function pattern:next_target( target )
|
||||
print("pattern:next_target 1")
|
||||
print_dbg("")
|
||||
target = target or self:target()
|
||||
print("pattern:next_target 2")
|
||||
-- Si hi ha una entrada manual eliminar-la
|
||||
if not empty_table(self.manual_path) then
|
||||
self.manual_path = {}
|
||||
self.manual_target = {}
|
||||
end
|
||||
print("pattern:next_target 3")
|
||||
|
||||
-- target id
|
||||
self.path_idx = target
|
||||
-- tindre en compte l'estrategia per a triar el següent target des del path actual per ara aleatori
|
||||
self.target_idx = math.random(#self.path[self.path_idx])
|
||||
self.action_idx = 1
|
||||
print("pattern:next_target 4")
|
||||
end
|
||||
|
||||
-- [OK] Torna el node del target actual
|
||||
function pattern:target_node()
|
||||
print_dbg(self.node[self:target()])
|
||||
return self.node[self:target()]
|
||||
end
|
||||
|
||||
-- Comprova si point ha arribat al target (Afegir precissio per si volem que estiga nomes tocar, dins o abans d'eixir?)
|
||||
function pattern:in_target( area )
|
||||
if collision( area, self:target_node() ) then
|
||||
print_dbg("COLLISION")
|
||||
else
|
||||
print_dbg("-")
|
||||
end
|
||||
return collision( area, self:target_node() )
|
||||
end
|
||||
|
||||
function pattern:recovery( point, target)
|
||||
print_dbg("")
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user