public void ChangeArea(Area.Identifier id, int doorID) { Time.timeScale = 0; StartCoroutine(FadeOut(() => { var areaName = GetAreaIdentifierName(id); SceneManager.LoadScene(areaName); Game.Async.WaitForAreaToLoad(areaName, () => { StartCoroutine(FadeIn()); Time.timeScale = 1; if (OnChangeArea != null) { OnChangeArea(doorID); } }); })); }
// ******************************** private string GetAreaIdentifierName(Area.Identifier id) { switch (id) { case Area.Identifier.Farm: return("Farm"); case Area.Identifier.Dungeon: return("Dungeon"); case Area.Identifier.Town: return("Town"); case Area.Identifier.CraftingArea: return("CraftingArea"); case Area.Identifier.SmallHome: return("SmallHome"); case Area.Identifier.GunShop: return("Gun Shop"); case Area.Identifier.GardeningShop: return("Gardening Shop"); case Area.Identifier.GeneralStore: return("General Store"); case Area.Identifier.Home: return("Home"); case Area.Identifier.Housing: return("Housing"); default: return("Farm"); } }