trouble-in-terror-town/Assets/Scripts/Player/Character/Roles/RoleLoader.cs
Mikolaj 073d076628 Added roles with runtime json loading also did some more
Added roles with runtime json loading also added a conceptual round system
2022-05-05 21:58:03 +02:00

71 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class RoleLoader : MonoBehaviour
{
private string roleDirectory;
public static long RoleCount(DirectoryInfo directoryInfo)
{
long _files = 0;
// Add file sizes.
FileInfo[] files = directoryInfo.GetFiles();
foreach (FileInfo file in files)
{
if (file.Extension.Contains("json"))
_files++;
}
return _files;
}
[System.Serializable]
public class Role
{
public int roleID;
public string roleName;
public string roleHexColor;
public bool randomlyAssignable;
public int roleTeamID;
public bool canUseShop;
public int[] EnemyTeamIds;
}
[System.Serializable]
public class RoleList
{
public Role[] role;
}
public List<RoleList> roleList;
// Start is called before the first frame update
void Start()
{
roleDirectory = Application.dataPath + "/CharacterRoles";
DirectoryInfo directoryInfo = new DirectoryInfo(roleDirectory);
long roleCount = RoleCount(directoryInfo);
Debug.Log(roleCount + " roles");
FileInfo[] files = directoryInfo.GetFiles();
foreach (FileInfo file in files)
{
if (file.Extension.Contains("json"))
{
StreamReader roleFile = new StreamReader(roleDirectory + "/" + file.Name);
roleList.Add(JsonUtility.FromJson<RoleList>(roleFile.ReadToEnd()));
}
}
}
// Update is called once per frame
void Update()
{
}
}