public void Awake() { if (_instance != null && _instance != this) { // if obj is a duplicate, destroy it Destroy(gameObject); return; } else { _instance = this; DontDestroyOnLoad(gameObject); } // init save data manager SaveDataHandler.instance.Initialize(); Debug.Log("platform manager awake"); if (platformData == null) { platformData = AssetBundleManager.LoadObjectFromBundle <PlatformDataScriptObj>("pc_platform/prefabs", "scriptobj_platform_pc", false); } if (SceneManager.GetActiveScene().name != "_Intro_Scene") { Init(); } }
public void Init() { if (isInitialized) { return; } // load correct platform data for game AssetBundleManager.UnloadAssetBundle("pc_platform/prefabs", true); platformData = AssetBundleManager.LoadObjectFromBundle <PlatformDataScriptObj>("pc_platform/prefabs", "scriptobj_platform_pc"); if (platformData == null) { Debug.LogError("Platform data bundle was not loaded!"); return; } // load default action images into dicionary foreach (var categoryData in platformData.categoryActionImages) { Dictionary <int, Sprite> actionImages = new Dictionary <int, Sprite>(); foreach (var actionImg in categoryData.actionImages) { if (!actionImages.ContainsKey(actionImg.actionID)) { actionImages[actionImg.actionID] = actionImg.actionSprite; } } if (!categoryActionImages.ContainsKey(categoryData.categoryID)) { categoryActionImages[categoryData.categoryID] = actionImages; } } isInitialized = true; }