void Test()
    {
        List <string> names = System.AppDomain.CurrentDomain.GetAssemblies()
                              .SelectMany(x => x.GetTypes())
                              .Where(x => typeof(PlayerState).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
                              .Select(x => x.Name).ToList();

        ConstFileWriter.GenerateConstFile(this, "PlayerStateConst", names.ToArray());
        ConstFileWriter.GenerateEnumConstFile(this, "PlayerStateEnumConst", "State", names.ToArray());
    }