public void UnlockEntryQuiet(string entryName) { BiologEntry entry = GameContext.Instance.GameData.BiologData.Entries.Find((e) => e.EntryName.Equals(entryName)); if (entry != null) { if (!_unlockedEntries.Contains(entry)) { _unlockedEntries.Add(entry); if (!_dataStorage.HasKeyForString(entryName)) { _dataStorage.Store(entryName, "x"); _dataStorage.WriteData(); } if (BiologEntryUnlocked != null) { BiologEntryUnlocked(entry, false); } } if (BiologEntryScanned != null) { BiologEntryScanned(entry, false); } } else { DebugFormatter.LogError(this, "Attempting to unlock Biolog entry {0}, but entry could not be found in BiologData.", entryName); } }
void BiologProgress_BiologEntryScanned(BiologEntry unlockedEntry, bool notify) { if (notify && unlockedEntry.EntryName == _entryName) { this.TriggerEvent(); } }
void BiologProgress_BiologEntryUnlocked(BiologEntry unlockedEntry, bool notify) { if (notify) { TriggerEvent(); } }
private void BiologEntryScannedHandler(BiologEntry scannedEntry, bool notify) { if (notify) { BiologEvents.BiologEntryScanned.Invoke(scannedEntry); } }
void BiologProgress_BiologEntryScanned(BiologEntry unlockedEntry, bool notify) { if (notify) { HudView.Hide(() => BiologView.Show(() => { })); } }
public BiologEntryUnlockedLogEntry(Guid userGuid, BiologEntry entry) : base(userGuid) { _data = JsonConvert.SerializeObject( new { BiologEntry = entry.EntryName }); }
public BiologEntrySelectedLogEntry(Guid userGuid, BiologEntry biologEntry) : base(userGuid) { _data = JsonConvert.SerializeObject( new { BiologEntry = biologEntry.EntryName }); }
private void InitializeNavigatorThumbnails(BiologEntry entry) { _summaryTitle.Text = entry.EntryName; _scaleLabel.Text = entry.Scale; if (string.IsNullOrEmpty(_scaleLabel.Text)) { _scaleFrame.Visible = false; } else { _scaleFrame.Visible = true; } if (entry.GalleryItems.Count == 0 || entry.GalleryItems[0].GalleryImage == null) { return; } _centerSlider.Value = 0; _navigatorPreviewFrame.Controls.Clear(); //if (entry.Preview3D) //{ // _navigatorPreviewFrame.Controls.Add(Create3DPreviewButton(entry)); //} foreach (BiologEntryGalleryItem galleryItem in entry.GalleryItems) { _navigatorPreviewFrame.Controls.Add(CreateNavigatorThumbnailButton(galleryItem)); } if (_3dPreviewScene) { GameObject.Destroy(_3dPreviewScene); } //if (entry.Preview3D) //{ // _3dPreviewScene = (GameObject)GameObject.Instantiate(entry.Preview3D); // (GuiHost.Renderer as UnityRenderer).InsertTexture(_3dPreviewTexture, "_3dPreviewTexture"); // _galleryImage.Texture = "_3dPreviewTexture"; // _galleryImage.TextureRect = new Rectangle(0, 0, _3dPreviewTexture.width, _3dPreviewTexture.height); //} //else //{ // //Texture texture = entry.GalleryItems[0].GalleryImage; // //_galleryImage.Texture = entry.GalleryItems[0].GalleryImageResourcePath; // //_galleryImage.TextureRect = new Rectangle(0, 0, texture.width, texture.height); //} _summaryLabel.Text = entry.DescriptionText; _summaryLabel.PerformLayout(); _centerContentPage.PerformLayout(); }
private void BiologEntryUnlockedHandler(BiologEntry unlockedEntry, bool notify) { if (notify) { BiologEvents.BiologEntryUnlocked.Invoke(unlockedEntry); } else { BiologEvents.BiologEntryUnlockedQuiet.Invoke(unlockedEntry); } }
void entryButton_MouseClick(Control sender, MouseEventArgs args) { if (sender != _selectedBiologEntryControl) { AnalyticsLogger.Instance.AddLogEntry(new BiologEntrySelectedLogEntry(GameContext.Instance.Player.UserGuid, (sender.Tag as BiologEntry))); } _selectedBiologEntryControl = sender; BiologEntry entry = (sender.Tag as BiologEntry); InitializeNavigatorThumbnails(entry); }
void _model_SelectedEntryChanged(BiologEntry obj) { GUI.FocusControl(null); if (_data) { EditorUtility.SetDirty(_data); AssetDatabase.SaveAssets(); AssetDatabase.SaveAssets(); } _hiddenGalleryItems.Clear(); _hiddenPreviews.Clear(); }
private Button CreateBiologEntryButton(BiologEntry entry) { Button button = new Button(); button.Tag = entry; button.Style = "Button - Transparent"; //button.Tint = ColorInt.RGB(134, 226, 111); button.Dock = DockStyle.Top; button.Text = entry.EntryName; return(button); }
public void SetActiveEntry(BiologEntry entry) { _selectedBiologEntryControl = _buttonsByEntry[entry]; _summaryTitle.Text = entry.EntryName; _scaleLabel.Text = entry.Scale; if (string.IsNullOrEmpty(_scaleLabel.Text)) { _scaleFrame.Visible = false; } else { _scaleFrame.Visible = true; } }
private void CreateNewEntry(string name) { if (name == "") { name = kDEFAULT_ENTRY_NAME; } BiologEntry entry = new BiologEntry(); entry.EntryName = name; _biologData.Entries.Add(entry); EditorUtility.SetDirty(_biologData); AssetDatabase.SaveAssets(); AssetDatabase.SaveAssets(); }
private void DrawBiologEntry(BiologEntry entry) { if (GUILayout.Button(entry.EntryName)) { if (Event.current.button == 0) { _model.SelectedEntry = entry; } else if (Event.current.button == 1) { Vector2 mousePosition = Event.current.mousePosition; EditorUtility.DisplayCustomMenu(new Rect(mousePosition.x, mousePosition.y - 300, 100, 300), _entryContextOptions, -1, ContextMenuCallback, entry); } GUI.FocusWindow(_windowId); } }
private void ContextMenuCallback(object obj, string[] items, int selection) { BiologEntry entry = obj as BiologEntry; switch (selection) { case 0: CreateNewEntry(""); break; case 1: if (entry != null) { _biologData.Entries.Remove(entry); _model.SelectedEntry = null; } break; } }
public void SetEntry(BiologEntry entry) { _activeEntry = entry; foreach (BiologGalleryPreviewListElement element in _currentEntries) { GameObject.Destroy(element.gameObject); } _currentEntries.Clear(); foreach (BiologEntryGalleryItem galleryItem in _activeEntry.GalleryItems) { BiologGalleryPreviewListElement galleryPreviewItem = GameObject.Instantiate(_galleryPreviewPrefab, _galleryItemGroup.transform.position, Quaternion.identity) as BiologGalleryPreviewListElement; _currentEntries.Add(galleryPreviewItem); galleryPreviewItem.transform.SetParent(_galleryItemGroup.transform); //galleryPreviewItem.transform.parent = _galleryItemGroup.transform; //galleryPreviewItem.transform.localScale = Vector3.one; galleryPreviewItem.GalleryItem = galleryItem; galleryPreviewItem.ButtonPressed.AddListener(GalleryPreviewImageClicked); } _imageViewer.sprite = _activeEntry.GalleryItems[0].GalleryImage; }
//private void Draw3DPreviewGUI() //{ // // Name // GUILayout.BeginHorizontal(GUI.skin.box); // GUILayout.Label("3D Preview:", GUILayout.ExpandWidth(false)); // _model.SelectedEntry.Preview3D = (GameObject)EditorGUILayout.ObjectField(_model.SelectedEntry.Preview3D, typeof(GameObject), false); // GUILayout.EndHorizontal(); //} private void DrawTagsGUI() { // Tags GUILayout.BeginVertical(GUI.skin.box); GUILayout.BeginHorizontal(); GUILayout.Label("Tags"); _tagsCollapsed = GUILayout.Button(_tagsCollapsed ? "Expand" : "Collapse", GUILayout.ExpandWidth(false)) ? !_tagsCollapsed : _tagsCollapsed; GUILayout.EndHorizontal(); if (!_tagsCollapsed) { foreach (string s in _model.SelectedEntry.Tags) { GUILayout.BeginHorizontal(); if (GUILayout.Button(s, GUI.skin.textField, GUILayout.ExpandWidth(false)) && Event.current.isMouse && Event.current.button == 1) { // Display context menu. // Add "Rename", "Remove" } if (GUILayout.Button("x", GUILayout.ExpandWidth(false))) { _tagDeleteCache.Add(s); } GUILayout.EndHorizontal(); } foreach (string s in _tagDeleteCache) { _model.SelectedEntry.Tags.Remove(s); } _tagDeleteCache.Clear(); GUILayout.BeginHorizontal(); string[] tags = _model.AllTags.ToArray(); Rect addTagRect = GUILayoutUtility.GetRect(new GUIContent("New Tag"), GUI.skin.button, GUILayout.ExpandWidth(false)); if (EditorGUI.EndChangeCheck()) { _saved = false; } if (GUI.Button(addTagRect, "New Tag")) { BiologEntry selectedEntry = _model.SelectedEntry; Action <string> callback = (s) => { selectedEntry.Tags.Add(s.ToLower()); _saved = false; _model.Repaint(); }; Vector2 offset = GUIUtility.GUIToScreenPoint(new Vector2(addTagRect.xMin, addTagRect.yMin)); TagSelectorPopupWindow.ShowAsDropDown(new Rect(offset.x, offset.y, addTagRect.width, addTagRect.height), new Vector2(200, 300), callback, _model.AllTags); } EditorGUI.BeginChangeCheck(); //_newTag = GUILayout.TextField(_newTag); //string[] existingTags = _model.AllTags.Where((s) => s.StartsWith(_newTag, StringComparison.InvariantCultureIgnoreCase)).ToArray(); //int selectedIndex = EditorGUILayout.Popup(-1, existingTags); //if (selectedIndex != -1) //{ // _model.SelectedEntry.Tags.Add(existingTags[selectedIndex].ToLower()); // _newTag = ""; //} GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal(); GUILayout.Label("Scale Text: "); _model.SelectedEntry.Scale = GUILayout.TextField(_model.SelectedEntry.Scale); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }
public void SetBiologEntry(BiologEntry entry) { _databaseText.text = entry.DescriptionText; }
void _biologProgress_BiologEntryUnlocked(BiologEntry entry, bool notify) { Initialize(); SetActiveEntry(entry); InitializeNavigatorThumbnails(entry); }
private Frame Create3DPreviewButton(BiologEntry entry) { Frame navigatorFrame = new Frame(); navigatorFrame.Dock = DockStyle.Left; navigatorFrame.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; navigatorFrame.Margin = new Margin(0, 0, 0, 0); navigatorFrame.NoEvents = true; navigatorFrame.Size = new Point(100, 96); ImageControl backgroundImage = new ImageControl(); backgroundImage.Style = "Image - Gallery Unselected Frame"; backgroundImage.Tiling = TextureMode.Stretch; backgroundImage.Dock = DockStyle.Fill; backgroundImage.NoEvents = true; ImageControl previewImage = new ImageControl(); previewImage.Tiling = TextureMode.Stretch; previewImage.Dock = DockStyle.Fill; previewImage.Margin = new Margin(1, 2, 1, 2); if (entry.GalleryItems.Count > 0) { Texture previewTexture = null;// entry.GalleryItems[0].GalleryPreview; if (previewTexture) { //previewImage.Texture = entry.GalleryItems[0].GalleryPreviewResourcePath; float scaleFactor; // Just assume we're always previewing the entire texture. Just need to figure out how big it should be: if (previewTexture.width > previewTexture.height) { scaleFactor = ((float)92) / previewTexture.width; } else { scaleFactor = ((float)92) / previewTexture.height; } previewImage.Size = new Point((int)(scaleFactor * previewTexture.width), (int)(scaleFactor * previewTexture.height)); } } previewImage.NoEvents = true; Button previewButton = new Button(); previewButton.Dock = DockStyle.Fill; previewButton.Style = "Inventory - Grid"; previewButton.Tint = ColorInt.ARGB(0.0f, 1.0f, 1.0f, 1.0f); Label label3D = new Label(); label3D.Dock = DockStyle.Fill; label3D.Text = "3D"; label3D.TextAlign = Alignment.MiddleCenter; label3D.Style = "Label - Blurb"; label3D.NoEvents = true; previewButton.MouseClick += (s, a) => { if (_3dPreviewScene) { GameObject.Destroy(_3dPreviewScene); } //_3dPreviewScene = (GameObject)GameObject.Instantiate(entry.Preview3D); (GuiHost.Renderer as UnityRenderer).InsertTexture(_3dPreviewTexture, "_3dPreviewTexture"); _galleryImage.Texture = "_3dPreviewTexture"; _galleryImage.TextureRect = new Rectangle(0, 0, _3dPreviewTexture.width, _3dPreviewTexture.height); }; navigatorFrame.Controls.Add(backgroundImage); navigatorFrame.Controls.Add(previewImage); navigatorFrame.Controls.Add(previewButton); navigatorFrame.Controls.Add(label3D); return(navigatorFrame); }