-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCharacterManager.lua
More file actions
35 lines (30 loc) · 1 KB
/
Copy pathCharacterManager.lua
File metadata and controls
35 lines (30 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
local Chars = require "definitions.Characters"
local Cards = require "definitions.Cards"
CharacterManager = {}
CharacterManager.__index = CharacterManager
function CharacterManager:new()
local manager = {
characters = Chars.characters,
humanCharacters = Chars.humanCharacters,
enemyCharacters = Chars.enemyCharacters,
bossCharacters = Chars.bossCharacters,
cardToCharacter = {}, -- Map of card name to character name
}
for cardName, def in pairs(Cards) do
manager.cardToCharacter[cardName] = def.character
end
return setmetatable(manager, self)
end
function CharacterManager:getHumanCharacters()
return self.humanCharacters
end
function CharacterManager:getEnemyCharacters()
return self.enemyCharacters
end
function CharacterManager:createPlayer(ctx, characterName)
local def = self.characters[characterName]
if not def then
error("Unknown character: " .. tostring(characterName))
end
return BasePlayer:new(ctx, def)
end