// constructorと同じ役割 private void OnEnable() { this.setting = UAdsSettingHelper.LoadOrCreateUAdsSettings(); this.adcolonySymbol = new ScriptDefineSymbol(groups, UAdsSettingHelper.ADCOLONY_DEFINE); this.unityMonetizationSymbol = new ScriptDefineSymbol(groups, UAdsSettingHelper.UNITY_MONETIZATION); this.enableAdColony = this.adcolonySymbol.HasDefine(); this.enableUnityMonetization = this.unityMonetizationSymbol.HasDefine(); }
public static void Import(string path, ref UAdsSetting setting) { var json = System.IO.File.ReadAllText(path); if (json.Length == 0) { return; } // https://docs.unity3d.com/Manual/JSONSerialization.html // MonobehaviorやScriptableObjectはFromJsonOverwriteを使う必要がある模様. JsonUtility.FromJsonOverwrite(json, setting); }
private void DisplayAdcolonyLayout(UAdsSetting setting) { using (new EditorGUILayout.VerticalScope(GUI.skin.box)) { EditorGUILayout.LabelField("AdColony"); using (new EditorGUI.IndentLevelScope()) { var tmp = EditorGUILayout.ToggleLeft("Enable AdColony", enableAdColony); if (tmp != enableAdColony) { enableAdColony = tmp; setting.enableAdcolony = enableAdColony; if (enableAdColony) { adcolonySymbol.SetDefine(); } else { adcolonySymbol.RemoveDefine(); } // defineを変更したのでconmpileさせる AssetDatabase.Refresh(); } #if ENABLE_ADCOLONY using (new EditorGUILayout.VerticalScope(GUI.skin.box)) { EditorGUILayout.LabelField("Android"); DisplayAdcolonyIndividualLayout(setting.adColony.androidSetting, "Android"); } using (new EditorGUILayout.VerticalScope(GUI.skin.box)) { EditorGUILayout.LabelField("iOS"); DisplayAdcolonyIndividualLayout(setting.adColony.iOSSetting, "iOS"); } #endif } } }
public static void SaveUAdsSettings(UAdsSetting setting) { EditorUtility.SetDirty(setting); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }