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);
 }