Game Development Reference
In-Depth Information
require "SoldierKnowledge"
require "SoldierLogic"
function Agent_Initialize(agent)
Soldier_InitializeAgent(agent);
soldier = Soldier_CreateSoldier(agent);
weapon = Soldier_CreateWeapon(agent);
soldierController = SoldierController.new(
agent, soldier, weapon);
Soldier_AttachWeapon(soldier, weapon);
weapon = nil;
soldierUserData = {};
soldierUserData.agent = agent;
soldierUserData.controller = soldierController;
soldierUserData.blackboard =
Blackboard.new(soldierUserData);
soldierUserData.blackboard:Set("alive", true);
soldierUserData.blackboard:Set("ammo", 10);
soldierUserData.blackboard:Set("maxAmmo", 10);
soldierUserData.blackboard:Set(
"maxHealth", Agent.GetHealth(agent));
soldierUserData.blackboard:AddSource(
"enemy",
KnowledgeSource.new(SoldierKnowledge_ChooseBestEnemy));
soldierUserData.blackboard:AddSource(
"bestFleePosition",
KnowledgeSource.new(
SoldierKnowledge_ChooseBestFleePosition),
5000);
soldierLogic =
SoldierLogic_BehaviorTree(soldierUserData);
end
Search WWH ::




Custom Search