public void NewWorld()
 {
     Pathfinding.SetUp();
     GridHolder.GenerateGrid();
     WorldPainter.RemoveWorld();
     WorldPainter.PaintWorld();
     Pathfinding.SwitchToManhattan();
     NewWorldCreated?.Invoke();
     FindObjectOfType <FollowCam>().enabled = true;
     SetGameState(GameState.play);
 }
    public void Awake()
    {
        if (INSTANCE == null)
        {
            INSTANCE = this;
        }
        else
        {
            if (INSTANCE != this)
            {
                Destroy(this.gameObject);
            }
        }

        ServiceLocator.SetDebugProvider(new NullDebugProvider());
        ServiceLocator.SetAudioProvider(new RealAudioProvider());
        ServiceLocator.GetAudioProvider().PlaySoundEvent("Ambience", true);
        FindObjectOfType <Rules>().SetRules();
        ruleSet = ruleSet.CreateClone();
        GridHolder.GenerateGrid();
        WorldPainter.PaintWorld();
        Pathfinding.SwitchToManhattan();
        SetGameState(GameState.play);
    }