public DeviceDatabase(string filename = "actor_table.csv") { List <string> csv_table = ReadFileFromCSV(filename); foreach (var csv_row in csv_table) { var db_row = new DeviceTableRow(csv_row); actorTable.Add(db_row.ID, db_row); } }
public IActor NewActor(DeviceTableRow row) { if (row.Type == "PLAYER") { if (row.Team == "RED") { return(new Player(new Team(Team.TeamColor.RED))); } else if (row.Team == "BLUE") { return(new Player(new Team(Team.TeamColor.BLUE))); } } else if (row.Type == "ARTEFACT") { var value = row.PowerValue; var cooldown = row.Cooldown; if (row.ArtefactType == "HEAL ONETIME") { return(new Artefact(Artefact.ArtefactType.HEAL_ONETEME, value, cooldown)); } if (row.ArtefactType == "BOMB") { return(new Artefact(Artefact.ArtefactType.BOMB, value, cooldown)); } if (row.ArtefactType == "HEAL PERMANENT") { return(new Artefact(Artefact.ArtefactType.HEAL_PERMANENT, value, cooldown)); } if (row.ArtefactType == "POISON") { return(new Artefact(Artefact.ArtefactType.POISON, value, cooldown)); } if (row.ArtefactType == "IMMUNE") { return(new Artefact(Artefact.ArtefactType.IMMUNE, value, cooldown)); } } return(null); }