/// <summary> /// Create or update this item (kit or template) on Altspace's website /// </summary> /// <returns></returns> public bool updateAltVRItem() { if (!WebClient.IsAuthenticated) { return(false); } string new_id = LoginManager.ManageAltVRItem(this); if (id == null) { id = new_id; } return(true); }
public static void ManageItem(AltspaceListItem item, Action showSelection_fn, Action <string> updateItem_fn, string missingString) { void BuildItem(AltspaceListItem subItem) { string state = subItem.buildAssetBundle(SettingsManager.SelectedBuildTargets) ? "finished" : "canceled"; LoginManager window = EditorWindow.GetWindow <LoginManager>(); window.ShowNotification(new GUIContent(subItem.friendlyName.Capitalize() + " build " + state), 5.0f); } void BuildAndUploadItem(AltspaceListItem subItem, Action <string> updategui_fn) { LoginManager.BuildAndUploadAltVRItem(SettingsManager.SelectedBuildTargets, subItem); updategui_fn(subItem.id); LoginManager window = EditorWindow.GetWindow <LoginManager>(); window.ShowNotification(new GUIContent(subItem.friendlyName.Capitalize() + " upload finished"), 5.0f); } void UploadFlatItem(AltspaceListItem subItem, Action <string> updategui_fn) { LoginManager.ManageAltVRItem(subItem); updategui_fn(subItem.id); LoginManager window = EditorWindow.GetWindow <LoginManager>(); window.ShowNotification(new GUIContent(subItem.friendlyName.Capitalize() + " upload finished"), 5.0f); } if (WebClient.IsAuthenticated) { if (GUILayout.Button("Select " + item.friendlyName.Capitalize())) { showSelection_fn(); } } else { EditorGUILayout.LabelField("Offline mode", new GUIStyle() { fontStyle = FontStyle.Bold, alignment = TextAnchor.MiddleCenter }); } EditorGUILayout.Space(10); item.showSelf(); EditorGUILayout.BeginHorizontal(); if (!item.isSet) { GUILayout.Label(missingString, new GUIStyle() { fontStyle = FontStyle.Bold, alignment = TextAnchor.MiddleCenter }); } else if (item.exists) { if (item.isAssetBundleItem) { if (GUILayout.Button("Build")) { EditorApplication.delayCall += () => BuildItem(item); } if (item.isSelected) { if (GUILayout.Button("Build & Upload")) { EditorApplication.delayCall += () => BuildAndUploadItem(item, updateItem_fn); } } } else { if (GUILayout.Button("Upload")) { EditorApplication.delayCall += () => UploadFlatItem(item, updateItem_fn); } } } EditorGUILayout.EndHorizontal(); }