Skip to content

immcrab/Lasting-Utilla

Ownership not verified 1
Open on GitHub

Viewing main at commit a6a25ac430“Add files via upload”· 11 months ago

56 lines · 2.1 KBRaw on GitHub
// Decompiled with JetBrains decompiler
// Type: Utilla.Utils.GameModeUtils
// Assembly: Utilla, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: FDD08D98-E155-49FA-85BC-1930928C3BAA
// Assembly location: C:\Program Files (x86)\Steam\steamapps\common\Gorilla Tag\BepInEx\plugins\Utilla\Utilla.dll

using GorillaGameModes;
using System;
using System.Globalization;
using System.Linq;
using UnityEngine;
using Utilla.Behaviours;
using Utilla.Models;

#nullable disable
namespace Utilla.Utils;

public static class GameModeUtils
{
  public static Gamemode CurrentGamemode { get; internal set; }

  public static Gamemode FindGamemodeInString(string gmString)
  {
    return GameModeUtils.GetGamemode((Func<Gamemode, bool>) (gamemode => gmString.EndsWith(gamemode.ID)));
  }

  public static Gamemode GetGamemodeFromId(string id)
  {
    return GameModeUtils.GetGamemode((Func<Gamemode, bool>) (gamemode => gamemode.ID == id));
  }

  public static Gamemode GetGamemode(Func<Gamemode, bool> predicate)
  {
    if (GamemodeManager.HasInstance)
    {
      Gamemode gamemode = GamemodeManager.Instance.Gamemodes.LastOrDefault<Gamemode>(predicate);
      if (gamemode != null)
        return gamemode;
    }
    return (Gamemode) null;
  }

  public static string GetGameModeName(GameModeType gameModeType)
  {
    GorillaGameManager gameModeInstance = GameModeUtils.GetGameModeInstance(gameModeType);
    string str = gameModeInstance != null ? gameModeInstance.GameModeName() : GameMode.GameModeZoneMapping.GetModeName(gameModeType);
    return !(str.ToLower() == EnumUtilExt.GetName<GameModeType>(gameModeType).ToLower()) ? CultureInfo.InvariantCulture.TextInfo.ToTitleCase(str.ToLower()) : EnumUtilExt.GetName<GameModeType>(gameModeType);
  }

  public static GorillaGameManager GetGameModeInstance(GameModeType gameModeType)
  {
    GorillaGameManager gameModeInstance = GameMode.GetGameModeInstance(gameModeType);
    return gameModeInstance != null && Object.op_Implicit((Object) gameModeInstance) ? gameModeInstance : (GorillaGameManager) null;
  }
}

Code is shown from GitHub as-is. Linking a repository doesn’t prove that a release file on Canopy was built from it.