public void ConsumeItem(StoryItem item) { item.LocationKey = "usedItem"; RoomItems.Remove(item); ItemCount--; usedItems.Add(item); }
// Loads inventory from xml file void LoadInvetory() { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(INVENTORY_XML.text); XmlNodeList itemNodeList = xmlDocument.GetElementsByTagName("Item"); // Read items from xml, copy from database, and add to inventory foreach (XmlNode itemInfo in itemNodeList) { XmlNodeList itemContent = itemInfo.ChildNodes; string tempName = ""; string tempCount = ""; foreach (XmlNode content in itemContent) { switch (content.Name) { case "ItemName": tempName = content.InnerText; break; case "ItemCount": tempCount = content.InnerText; break; } } // Get item dictionary, set count, and add item to list Dictionary <string, string> tempDict; if (itemDatabase != null) { tempDict = itemDatabase.GetItem(tempName); if (tempDict != null) { switch (tempDict ["ItemType"]) { case "EQUIP": EquipItem tempEquip = new EquipItem(tempDict); tempEquip.Count = int.Parse(tempCount); playerEquipItems.Add(tempEquip); break; case "CONSUMABLE": ConsumableItem tempConsumable = new ConsumableItem(tempDict); tempConsumable.Count = int.Parse(tempCount); playerConsumableItems.Add(tempConsumable); break; case "STORY": StoryItem tempStory = new StoryItem(tempDict); tempStory.Count = int.Parse(tempCount); playerStoryItems.Add(tempStory); break; } } } } }
void DrawStoryItems(StoryItem si) { GUILayout.BeginVertical(EditorStyles.helpBox); if (si.requiredStoryItems.Count > 0) { EditorGUILayout.LabelField("Required Story Items"); DrawRequiredRelationList(si); } if (GUILayout.Button("Add Required Story Item")) { StoryItemSearchDialog.Show(si, (i) => { i.dependentStoryItems.Add(si); si.requiredStoryItems.Add(i); var p = serializedObject.FindProperty("_requiredStoryItems"); p.InsertArrayElementAtIndex(0); p.GetArrayElementAtIndex(0).objectReferenceValue = i; serializedObject.ApplyModifiedProperties(); }); } if (si.dependentStoryItems.Count > 0) { EditorGUILayout.LabelField("Dependent Story Items"); DrawDependentRelationList(si); } GUILayout.EndVertical(); }
public void SetNewStoryItem(StoryItem item) { storyItem = item; playerController.enabled = false; TextField.SetActive(true); updateText(); }
public static void Show(StoryItem target, System.Action <InventoryItem> onSelect) { var w = ScriptableWizard.DisplayWizard <InventoryItemSearchDialog>("Inventory Item Search", "Close"); w.si = target; w.onSelect = onSelect; }
public OutfitControl(string path) { InitializeComponent(); RagdollNodeNumeric.FixMouseWheel(); MenuTabs = new ToolStripMenuItem[] { new ToolStripMenuItem("Link ragdoll", null, LinkRagdollMenuItem_Click, Keys.Control | Keys.I), new ToolStripMenuItem("Link sprite", null, LinkSpriteMenuItem_Click, Keys.Control | Keys.Shift | Keys.I), new ToolStripMenuItem("Create node", null, CreateNodeMenuItem_Click, Keys.Control | Keys.A), new ToolStripMenuItem("Remove node", null, RemoveNodeMenuItem_Click, Keys.Control | Keys.D), new ToolStripMenuItem("Move node up", null, MoveNodeUpMenuItem_Click, Keys.Control | Keys.Up), new ToolStripMenuItem("Move node down", null, MoveNodeDownMenuItem_Click, Keys.Control | Keys.Down), new ToolStripMenuItem("Toggle grid", null, ToggleGridMenuItem_Click, Keys.Control | Keys.G), new ToolStripMenuItem("Toggle transparency", null, ToggleTransparencyMenuItem_Click, Keys.Control | Keys.H), new ToolStripMenuItem("Pixel perfect", null, PixelPerfectMenuItem_Click, Keys.Control | Keys.P), new ToolStripMenuItem("Background color", null, BackColorMenuItem_Click, Keys.Control | Keys.L), new ToolStripMenuItem("Reset position", null, ResetPositionMenuItem_Click, Keys.Control | Keys.R), }; for (int i = 3; i <= 5; i++) { MenuTabs[i].Enabled = false; } GLSurface.MakeCurrent(); LoadedResource = new OutfitResource(path); RagdollLinkTextBox.Text = LoadedResource.Ragdoll.Link; Story = new StoryItem <StoryState>(new StoryState(LoadedResource)); Story.ValueChanged += Story_ValueChanged; LoadedResource.Ragdoll.Reload(); RagdollLinkTextBox.Subresource = LoadedResource.Ragdoll; LoadedResource.Ragdoll.Resource?.Clothe(LoadedResource); ResourcePath = path; ResourceName = Path.GetFileName(path); GetTab("Toggle grid").Checked = LoadedResource.GridEnabled; GetTab("Toggle transparency").Checked = LoadedResource.Transparency; GetTab("Pixel perfect").Checked = LoadedResource.PixelPerfect; NodesListBox.BeginUpdate(); while (NodesListBox.Items.Count < LoadedResource.Count) { NodesListBox.Items.Add("Node: " + NodesListBox.Items.Count); } while (NodesListBox.Items.Count > LoadedResource.Count) { NodesListBox.Items.RemoveAt(NodesListBox.Items.Count - 1); } NodesListBox.EndUpdate(); GLSurface.BackColor = Color.FromArgb(LoadedResource.BackColor); ClotheTypeComboBox.Items.AddRange(Enum.GetNames(typeof(OutfitResource.Node.Clothe))); UpdateRedactor(); GLFrameTimer.Start(); }
public Main() { StoryItem.Add("Dorazil jsi do Vergenu. Jsi zde kvůli té legendě. Pokud se ti podaří najít ono legendární brnění nekonečna, můžeš se utkat s Drakem."); StoryItem.Add("Začni s prozkoumáním okolních oblastí."); StoryItem.Add("Získal jsi všechny kusy brnění nekonečna. Nyní máš možnost utkat se s drakem. Mužeš ale jít i do už prozkoumaných oblastí a dál se zlepšovat!"); StoryItem.Add("Porazil jsi draka, a získal jsi jeho sílu! Nyní je z tebe opravdový drakobijec. Se svou novou zbrojí teď můžeš dokázat mnoho, a tak se zase vydáváš na další adventůru."); StoryItem.Add(""); }
public Doren() { StoryItem.Add("Jsi v Dorenu. Jsou tu jen bažiny, husté lesy, a poněkud vražedná fauna. Skus se podívat kolem, může tu být kus brnění."); StoryItem.Add("Zabil jsi monstrum. Kus brnění jsi ale nenašel, skus koukat dál."); StoryItem.Add("Našel jsi zohavené monstrum, které bude mnohem těžší zkolit. Možná má ale u sebe něco ceného!"); StoryItem.Add("Ze zabitého monstra vypadnul kus brnění! Zkus teď navštívit některou z jiných oblastí a najdi ostatní kusy!"); StoryItem.Add(""); }
public Var_atra() { StoryItem.Add("Jsi ve městě Var Atra. Je zde možnost utkat se v aréně, nebo jít za obchodníkem, který prodává upgrade a kus brnění nekonečna."); StoryItem.Add("Vyhrál jsi v aréně!"); StoryItem.Add("Získal jsi místní kus brnění nekonečna! Zkus prozkoumat další oblast!"); StoryItem.Add(""); }
private void ShowStory(StoryItem story) { lastDialogue = curDialogue; curDialogue = story; if (lastDialogue != null && curDialogue != null) { if (lastDialogue.weather != curDialogue.weather) { qy.GameMainManager.Instance.weatherManager.StopWeather((WeatherManager.WeatherEnum)lastDialogue.weather); } /* * StoryItem.Effect lastGray = lastDialogue.effects.Find((effect)=>{ return effect.type == StoryItem.Effect.EffectType.Gray; }); * StoryItem.Effect currGray = curDialogue.effects.Find((effect) => { return effect.type == StoryItem.Effect.EffectType.Gray; }); * if (lastGray!=null && currGray == null) * { * GrayEffect(1); * } */ } if (string.IsNullOrEmpty(curDialogue.personLocation)) { curDialogue.personLocation = UnityEngine.Random.Range(0, 2).ToString(); } if (string.IsNullOrEmpty(curDialogue.bgFile)) { imgBG.gameObject.SetActive(false); } else if (lastDialogue == null || curDialogue.bgFile != lastDialogue.bgFile) { BackGroundColor = Color.black; var sp = March.Core.ResourceManager.ResourceManager.instance.Load <Sprite>(Configure.StoryBackground, curDialogue.bgFile); if (sp != null) { imgBG.sprite = sp; imgBG.DOFade(1, 0.5f); RectTransform imgRectTF = imgBG.transform as RectTransform; imgRectTF.sizeDelta = new Vector2(0, imgRectTF.rect.width / (sp.texture.width / (float)sp.texture.height)); imgBG.gameObject.SetActive(true); //imgBG.DOColor(Color.white, 0.5f).SetEase(Ease.OutCubic); DOTween.To(() => BackGroundColor, x => BackGroundColor = x, Color.white, 0.5f).SetEase(Ease.OutCubic); } } string dialog = curDialogue.dialogue; string personFile = lastDialogue == null || curDialogue.personFile != lastDialogue.personFile ? curDialogue.personFile : ""; //如果这句对话和上句对话不是一个人说的则播放对话框动画 ShowDialog(dialog, personFile, curDialogue.personLocation, lastDialogue == null || lastDialogue.personLocation != curDialogue.personLocation); WeatherManager.WeatherEnum weather = (WeatherManager.WeatherEnum)curDialogue.weather; qy.GameMainManager.Instance.weatherManager.StartWeather(weather); StartCoroutine(ShowEffect(curDialogue.effects)); }
public Kaer_trolde() { StoryItem.Add("Dorazil jsi do města Kaer Trolde. Konají se zde utkání mezi bojovníky, a vypadá to, že hlavní cena je kus brnění nekonečna!"); StoryItem.Add("Vyhrál jsi v zápas! Jsi zase o kus blíž k hlavní ceně!"); StoryItem.Add("Vyhrál jsi turnaj! Jako cenu dostáváš kus brnění nekonečna!"); StoryItem.Add(""); }
public Black_reach_island() { StoryItem.Add("Dorazil jsi na ostrov Black Reach. Tajemný hlas ti říká, že pokud ho zbavíš 4 monster, dá ti kus brnění, které hledáš."); StoryItem.Add("'Výborně, zkolil jsi jedno z monster!', říká tajemný hlas"); StoryItem.Add("'Gratuluji, zkolil jsi všechna monstra. Za odměnu ti dám tvůj kus brnění.', řekl tajemný hlas, ve stejné chvíli, kdy se před tebou zjevil další kus brnění."); StoryItem.Add(""); }
private void updateText() { TextComp.text = storyItem.NextText(); if (TextComp.text == "") { storyItem.gameObject.SetActive(false); storyItem = null; TextField.SetActive(false); playerController.enabled = true; } }
new public bool AddItem(StoryItem item) { if (ItemCount < Slots) { RoomItems.Add(item); ItemCount++; return(true); } return(false); }
private StoryItem ConvertToStoryItem(Story story) { StoryItem item = null; if (story != null) { item = new StoryItem(story, _requestStoryEditing, _requestStoryRemoving, SetUserAsExecutor, _menuBasedShellViewModel.CurrentUser.Id); item.StoryUpdated += OnStoryItemUpdated; } return(item); }
void MakeItems() { for (int i = 0; i < AllItems.Count; i++) { GameObject ItemObj = Instantiate(RefItem); ItemObj.name = AllItems[i] + "_Obj"; ItemObj.transform.GetChild(0).GetComponent <TextMesh>().text = AllItems[i]; StoryItem _storiItem = ItemObj.GetComponent <StoryItem>(); // _HeldObject = (GameEnums.StoryObjects)Enum.TryParse(typeof(GameEnums.StoryObjects), argObjName, true); //true -> case insensitive } }
void DrawConfig(StoryItem si) { GUILayout.BeginVertical(EditorStyles.helpBox); GUILayout.Label("Text"); EditorGUILayout.PropertyField(serializedObject.FindProperty("text"), GUIContent.none); GUILayout.Label("Audio (Optional)"); EditorGUILayout.PropertyField(serializedObject.FindProperty("audioClip"), GUIContent.none); GUILayout.Label("Disable When Discovered?"); EditorGUILayout.PropertyField(serializedObject.FindProperty("disableWhenDiscovered"), GUIContent.none); GUILayout.Label("ID (Optional)"); EditorGUILayout.PropertyField(serializedObject.FindProperty("ID"), GUIContent.none); GUILayout.EndVertical(); }
void DrawInventoryItems(StoryItem si) { GUILayout.BeginVertical(EditorStyles.helpBox); if (GUILayout.Button("Add Required Inventory Item")) { InventoryItemSearchDialog.Show(si, (i) => { var p = serializedObject.FindProperty("_requiredInventoryItems"); p.InsertArrayElementAtIndex(0); p.GetArrayElementAtIndex(0).objectReferenceValue = i; serializedObject.ApplyModifiedProperties(); }); } InventoryItem remove = null; foreach (var i in si.requiredInventoryItems) { GUILayout.BeginHorizontal(); GUI.color = Color.red; if (GUILayout.Button(new GUIContent("", "Remove"), EditorStyles.radioButton, GUILayout.Width(16))) { remove = i; } GUI.color = Color.white; if (GUILayout.Button(Escape(i.name), buttonStyle)) { Selection.activeGameObject = i.gameObject; SceneView.lastActiveSceneView.FrameSelected(); } GUILayout.EndHorizontal(); } if (remove != null) { var p = serializedObject.FindProperty("_requiredInventoryItems"); //I can't believe this API is real. var removeIndex = -1; for (var i = 0; i < p.arraySize; i++) { if (p.GetArrayElementAtIndex(i).objectReferenceValue == remove) { removeIndex = i; break; } } p.DeleteArrayElementAtIndex(removeIndex); p.DeleteArrayElementAtIndex(removeIndex); serializedObject.ApplyModifiedProperties(); } GUILayout.EndVertical(); }
private void FillStoryDialog(object param) { if (param is StoryItem && StoryDialogViewModel != null) { StoryItem item = param as StoryItem; StoryDialogViewModel.Name = item.Name; StoryDialogViewModel.Importance = item.Importance; StoryDialogViewModel.InitialEstimate = item.InitialEstimate; StoryDialogViewModel.Status = item.Status; StoryDialogViewModel.HowToDemo = item.HowToDemo; StoryDialogViewModel.Notes = item.Notes; } }
public EventControl(string path) { InitializeComponent(); MenuTabs = new ToolStripMenuItem[] { }; LoadedResource = new EventResource(path); Story = new StoryItem <State>(new State(LoadedResource)); Story.ValueChanged += Story_ValueChanged; ResourcePath = path; ResourceName = Path.GetFileName(path); }
private List <StoryItem> ConvertToStoryItems(List <Story> stories) { List <StoryItem> items = new List <StoryItem>(); if (stories != null) { foreach (Story story in stories) { StoryItem newItem = ConvertToStoryItem(story); items.Add(newItem); } } return(items); }
private void OnStoryItemUpdated(object sender, StoryItem item) { if (item != null) { ComponentsContainer.Get <Dispatcher>().Invoke( delegate { OnPropertyChanged("WaitingForExecutorStories"); OnPropertyChanged("InProgressStories"); OnPropertyChanged("CompletedStories"); //AllUserStories.Remove(item); // It will throw exception in view. //AllUserStories.Add(item); }); } }
public SpriteControl(string path) { InitializeComponent(); FramesNumeric.FixMouseWheel(); DelayNumeric.FixMouseWheel(); ImgboxWNumeric.FixMouseWheel(); ImgboxHNumeric.FixMouseWheel(); AxisXNumeric.FixMouseWheel(); AxisYNumeric.FixMouseWheel(); AngleNumeric.FixMouseWheel(); MenuTabs = new ToolStripMenuItem[] { new ToolStripMenuItem("Link texture", null, LinkTextureMenuItem_Click, Keys.Control | Keys.I), new ToolStripMenuItem("Adjust size", null, AdjustSizeMenuItem_Click, Keys.Control | Keys.A), new ToolStripMenuItem("Pixel perfect", null, PixelPerfectMenuItem_Click, Keys.Control | Keys.P), new ToolStripMenuItem("Background color", null, BackColorMenuItem_Click, Keys.Control | Keys.L), new ToolStripMenuItem("Reset position", null, ResetPositionMenuItem_Click, Keys.Control | Keys.R), }; GLSurface.MakeCurrent(); LoadedResource = new SpriteResource(path); Story = new StoryItem <State>(new State(LoadedResource)); Story.ValueChanged += Story_ValueChanged; MenuTabs[4].Checked = LoadedResource.PixelPerfect; ResourcePath = path; ResourceName = Path.GetFileName(path); LoadedResource.Texture.SynchronizingObject = this; LoadedResource.Texture.Reloaded += Texture_Reloaded; FramesNumeric.Value = LoadedResource.FramesCount; DelayNumeric.Value = (decimal)LoadedResource.FrameDelay; ImgboxWNumeric.Value = (decimal)LoadedResource.ImgboxW; ImgboxHNumeric.Value = (decimal)LoadedResource.ImgboxH; AxisXNumeric.Value = (decimal)LoadedResource.AxisX; AxisYNumeric.Value = (decimal)LoadedResource.AxisY; AngleNumeric.Value = (decimal)LoadedResource.Angle; VFramesCheckBox.Checked = LoadedResource.VerticalFrames; LinkTextBox.Text = LoadedResource.Texture.Link; GLSurface.BackColor = Color.FromArgb(LoadedResource.BackColor); GLFrameTimer.Start(); }
public StoryItem GetStory(string id) { string jsonString; var js = new JavaScriptSerializer(); var request = this._request.Get(id); var response = request.GetResponse(); using (var sr = new StreamReader(response.GetResponseStream())) { jsonString = sr.ReadToEnd(); } StoryItem story = JsonConvert.DeserializeObject <StoryItem>(jsonString); return(story); }
public ToolControl(string path) { InitializeComponent(); FirePointXNumeric.FixMouseWheel(); FirePointYNumeric.FixMouseWheel(); FireVectorXNumeric.FixMouseWheel(); FireVectorYNumeric.FixMouseWheel(); MenuTabs = new ToolStripMenuItem[] { new ToolStripMenuItem("Link sprite", null, LinkSpriteMenuItem_Click, Keys.Control | Keys.I), new ToolStripMenuItem("Unlink sprite", null, UnlinkSpriteMenuItem_Click, Keys.Control | Keys.U), new ToolStripMenuItem("Create part", null, CreatePartMenuItem_Click, Keys.Control | Keys.A), new ToolStripMenuItem("Remove part", null, RemovePartMenuItem_Click, Keys.Control | Keys.D), new ToolStripMenuItem("Adjust fire vector", null, AdjustFireVectorMenuItem_Click, Keys.Control | Keys.F), new ToolStripMenuItem("Toggle transparency", null, ToggleTransparencyMenuItem_Click, Keys.Control | Keys.H), new ToolStripMenuItem("Pixel perfect", null, PixelPerfectMenuItem_Click, Keys.Control | Keys.P), new ToolStripMenuItem("Background color", null, BackColorMenuItem_Click, Keys.Control | Keys.L), new ToolStripMenuItem("Reset position", null, ResetPositionMenuItem_Click, Keys.Control | Keys.R), }; GLSurface.MakeCurrent(); LoadedResource = new ToolResource(path); Story = new StoryItem <State>(new State(LoadedResource)); Story.ValueChanged += Story_ValueChanged; ResourcePath = path; ResourceName = Path.GetFileName(path); ActionTextBox.TextChanged += (object sender, EventArgs e) => SyncTextBoxValue(sender, LoadedResource.ActionName, v => LoadedResource.ActionName = v); FirePointXNumeric.ValueChanged += (object sender, EventArgs e) => SyncNumericValue(sender, LoadedResource.FirePointX, v => LoadedResource.FirePointX = v); FirePointYNumeric.ValueChanged += (object sender, EventArgs e) => SyncNumericValue(sender, LoadedResource.FirePointY, v => LoadedResource.FirePointY = v); FireVectorXNumeric.ValueChanged += (object sender, EventArgs e) => SyncNumericValue(sender, LoadedResource.FireVectorX, v => LoadedResource.FireVectorX = v); FireVectorYNumeric.ValueChanged += (object sender, EventArgs e) => SyncNumericValue(sender, LoadedResource.FireVectorY, v => LoadedResource.FireVectorY = v); AttachedCheckBox.CheckedChanged += (object sender, EventArgs e) => SyncCheckBoxValue(sender, LoadedResource.AngleAttached, v => LoadedResource.AngleAttached = v); PartsListBox.SelectedIndexChanged += (object sender, EventArgs e) => RestoreChanges(false); PartsListBox.ItemCheck += (object sender, ItemCheckEventArgs e) => SyncCheckedValue(sender, e, LoadedResource.SpriteLockedOnCycle); GetTab("Pixel perfect").Checked = LoadedResource.PixelPerfect; GetTab("Toggle transparency").Checked = LoadedResource.Transparency; RestoreChanges(); GLFrameTimer.Start(); }
private void SetUserAsExecutor(StoryItem obj) { if (SelectedStory == null) { return; } _menuBasedShellViewModel.IsLoadingData = true; new Task(() => { try { Story story = SelectedStory.Story; SelectedStory.ExecutorId = _menuBasedShellViewModel.CurrentUser.Id; SetStatus(ref story, StoryStatus.InProgress); _logger.Debug($"Started editing story with id '{SelectedStory.Id}'."); _storiesDataModel.Update(story); SelectedStory.Story = story; ComponentsContainer.Get <Dispatcher>().Invoke( delegate { OnPropertyChanged("WaitingForExecutorStories"); OnPropertyChanged("InProgressStories"); OnPropertyChanged("CompletedStories"); //AllUserStories.Remove(SelectedStory); // It will throw exception in view. //AllUserStories.Add(SelectedStory); }); } catch (Exception ex) { ShowMessage($"User story doesn't edited: technical issues encountered."); _logger.Fatal(ex); } _menuBasedShellViewModel.IsLoadingData = false; HideDialog?.Invoke(this, null); }).Start(); }
static void DrawStoryItemGizmos(StoryItem si, GizmoType gizmoType) { if (IzZoomed(si.transform)) { if (si.requiredStoryItems != null) { foreach (var i in si.requiredStoryItems) { Handles.color = new Color(1, 0.99f, 0); var delta = (i.transform.position - si.transform.position).normalized; var left = Vector3.Cross(Vector3.forward, delta); var start = i.transform.position - delta * 0.25f; var end = si.transform.position + delta * 0.25f; Handles.DrawDottedLine(end, start, 3); Handles.DrawDottedLine(end, end + (left + delta) * 0.1f, 2); Handles.DrawDottedLine(end, end - (left - delta) * 0.1f, 2); } } if (si.requiredInventoryItems != null) { foreach (var i in si.requiredInventoryItems) { Handles.color = new Color(1, 0.99f, 0); var delta = (i.transform.position - si.transform.position).normalized; var left = Vector3.Cross(Vector3.forward, delta); var start = i.transform.position - delta * 0.25f; var end = si.transform.position + delta * 0.25f; Handles.DrawDottedLine(end, start, 3); Handles.DrawDottedLine(end, end + (left + delta) * 0.1f, 2); Handles.DrawDottedLine(end, end - (left - delta) * 0.1f, 2); } } if (si.text != null && si.text != string.Empty) { Handles.Label(si.transform.position, si.text, EditorStyles.helpBox); } } else { Gizmos.DrawIcon(si.transform.position, "story"); } }
public override string MakeSentence() { string item_name = "$nothing"; string sent = base.MakeSentence(); if (Random.Range(0f, 1f) < successRate * player.perception.RuntimeValue) { // give player an item StoryItem storyItem = items[Random.Range(0, items.Length - 1)]; storyItem.playerOwns++; item_name = storyItem.DisplayNameColored; } sent = sent.Replace("$item", item_name); foreach (MadLib r in madlibs) { sent = sent.Replace(r.search, r.Replace); } sent = sent.Replace("$nothing", "nothing"); return(sent); }
protected override void StartShowWindow(object[] data) { beginID = data[0].ToString(); Debug.Log("播放剧情" + beginID.ToString()); lastDialogue = null; curDialogue = null; dialogueBox.GetComponent <CanvasGroup>().alpha = 0; topBlack.sizeDelta = new Vector2(topBlack.sizeDelta.x, 0); bottomBlack.sizeDelta = new Vector2(bottomBlack.sizeDelta.x, 0); dialogueBox.gameObject.SetActive(false); if (personLeft != null) { personLeft.gameObject.SetActive(false); } if (personRight != null) { personRight.gameObject.SetActive(false); } imgBG.color = new Color(1, 1, 1, 0.01f); }
private void TrackPosition() { // Read current GPS location float currentLatitude = locationService.lastData.latitude; float currentLongitude = locationService.lastData.longitude; text.text = "My Location: " + currentLatitude + ", " + currentLongitude; if (!allItemsCollected) { // Calculate how far is next story item to collect float distanceToNextItem = nextStoryItem.DistanceFromLocation(currentLatitude, currentLongitude); text.text += "\nDistance: " + distanceToNextItem.ToString(); if (distanceToNextItem <= DISTANCE_TRESHOLD) { // Prepare for the next scene and load it PlayerPrefs.SetString("storyItem", nextStoryItem.Name); // Item is to be collected, remove it storyItems.Remove(nextStoryItem); if (storyItems.Count > 0) { nextStoryItem = storyItems [0]; } else { allItemsCollected = true; } soundPlaying = true; directionalAudioSource.Stop(); StartCoroutine(ChangeScene()); } } CalculateSoundDirection(currentLatitude, currentLongitude, nextStoryItem.Coordinates.x, nextStoryItem.Coordinates.y); CalculateDistance(currentLatitude, currentLongitude, nextStoryItem.Coordinates.x, nextStoryItem.Coordinates.y); }