public BossGameResult PlayBossGame(
     string playerDeck, string bossName, int heroLv,
     int kingdomBuff, int forestBuff, int savageBuff, int hellBuff,
     BossGuardType guardType, int gameCount)
 {
     CheckInitialization();
     object[] args = new object[]
     {
         playerDeck, bossName, heroLv, kingdomBuff, forestBuff, savageBuff, hellBuff, (int)guardType, gameCount,
     };
     var resultText = jvm.CallStaticMethod<java.lang.String>(facadeClass, "playBossGame", sigPlayBossGame, args);
     var result = JsonConvert.DeserializeObject<BossGameResult>(resultText);
     return result;
 }
 public BossGameResult PlayBossGame(
     string playerDeck, string bossName, int heroLv,
     int kingdomBuff, int forestBuff, int savageBuff, int hellBuff,
     BossGuardType guardType, int gameCount)
 {
     CheckInitialization();
     object[] args = new object[]
     {
         playerDeck, bossName, heroLv, kingdomBuff, forestBuff, savageBuff, hellBuff, (int)guardType, gameCount,
     };
     var resultText = jvm.CallStaticMethod<java.lang.String>(facadeClass, "playBossGame", sigPlayBossGame, args);
     var result = JsonConvert.DeserializeObject<BossGameResult>(resultText);
     return result;
 }