public void SetEntity(Entity entity) { MyEntity = entity; if (MyEntity != null) { SetupEntityElements(); UpdateSpellStatus(); if (EntityType == EntityTypes.Event) { EventDesc.ClearText(); EventDesc.AddText(((Event)MyEntity).Desc, Color.White); EventDesc.SizeToChildren(false, true); } } }
public void Update(QuestBase quest) { if (quest == null) { Hide(); } else { Show(); mQuestTitle.Text = quest.Name; if (mQuestOfferText != quest.StartDescription) { mQuestPromptLabel.ClearText(); mQuestPromptLabel.Width = mQuestPromptArea.Width - mQuestPromptArea.GetVerticalScrollBar().Width; mQuestPromptLabel.AddText( quest.StartDescription, mQuestPromptTemplate.TextColor, mQuestPromptTemplate.CurAlignments.Count > 0 ? mQuestPromptTemplate.CurAlignments[0] : Alignments.Left, mQuestPromptTemplate.Font ); mQuestPromptLabel.SizeToChildren(false, true); mQuestOfferText = quest.StartDescription; } } }
public void Show() { mCreditsWindow.IsHidden = false; mRichLabel.ClearText(); var credits = new Credits(); var creditsFile = Path.Combine("resources", "credits.json"); if (File.Exists(creditsFile)) { credits = JsonConvert.DeserializeObject <Credits>(File.ReadAllText(creditsFile)); } else { var line = new Credits.CreditsLine(); line.Text = "Insert your credits here!"; line.Alignment = "center"; line.Size = 12; line.Clr = Intersect.Color.White; line.Font = "sourcesansproblack"; credits.Lines.Add(line); } File.WriteAllText(creditsFile, JsonConvert.SerializeObject(credits, Formatting.Indented)); foreach (var line in credits.Lines) { if (line.Text.Trim().Length == 0) { mRichLabel.AddLineBreak(); } else { mRichLabel.AddText( line.Text, new Color(line.Clr.A, line.Clr.R, line.Clr.G, line.Clr.B), line.GetAlignment(), GameContentManager.Current.GetFont(line.Font, line.Size) ); mRichLabel.AddLineBreak(); } } mRichLabel.SizeToChildren(false, true); }
private void UpdateSelectedQuest() { if (mSelectedQuest == null) { mQuestList.Show(); mQuestTitle.Hide(); mQuestDescArea.Hide(); mQuestStatus.Hide(); mBackButton.Hide(); mQuitButton.Hide(); } else { mQuestDescLabel.ClearText(); mQuitButton.IsDisabled = true; ListBoxRow rw; string[] myText = null; var taskString = new List <string>(); if (Globals.Me.QuestProgress.ContainsKey(mSelectedQuest.Id)) { if (Globals.Me.QuestProgress[mSelectedQuest.Id].TaskId != Guid.Empty) { //In Progress mQuestStatus.SetText(Strings.QuestLog.inprogress); mQuestStatus.SetTextColor(Color.Yellow, Label.ControlState.Normal); if (mSelectedQuest.InProgressDescription.Length > 0) { mQuestDescLabel.AddText( mSelectedQuest.InProgressDescription, Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); mQuestDescLabel.AddLineBreak(); mQuestDescLabel.AddLineBreak(); } mQuestDescLabel.AddText( Strings.QuestLog.currenttask, Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); mQuestDescLabel.AddLineBreak(); for (var i = 0; i < mSelectedQuest.Tasks.Count; i++) { if (mSelectedQuest.Tasks[i].Id == Globals.Me.QuestProgress[mSelectedQuest.Id].TaskId) { if (mSelectedQuest.Tasks[i].Description.Length > 0) { mQuestDescLabel.AddText( mSelectedQuest.Tasks[i].Description, Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); mQuestDescLabel.AddLineBreak(); mQuestDescLabel.AddLineBreak(); } if (mSelectedQuest.Tasks[i].Objective == QuestObjective.GatherItems) //Gather Items { mQuestDescLabel.AddText( Strings.QuestLog.taskitem.ToString( Globals.Me.QuestProgress[mSelectedQuest.Id].TaskProgress, mSelectedQuest.Tasks[i].Quantity, ItemBase.GetName(mSelectedQuest.Tasks[i].TargetId) ), Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); } else if (mSelectedQuest.Tasks[i].Objective == QuestObjective.KillNpcs) //Kill Npcs { mQuestDescLabel.AddText( Strings.QuestLog.tasknpc.ToString( Globals.Me.QuestProgress[mSelectedQuest.Id].TaskProgress, mSelectedQuest.Tasks[i].Quantity, NpcBase.GetName(mSelectedQuest.Tasks[i].TargetId) ), Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); } } } mQuitButton.IsDisabled = !mSelectedQuest.Quitable; } else { if (Globals.Me.QuestProgress[mSelectedQuest.Id].Completed) { //Completed if (mSelectedQuest.LogAfterComplete) { mQuestStatus.SetText(Strings.QuestLog.completed); mQuestStatus.SetTextColor(Color.Green, Label.ControlState.Normal); mQuestDescLabel.AddText( mSelectedQuest.EndDescription, Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); } } else { //Not Started if (mSelectedQuest.LogBeforeOffer) { mQuestStatus.SetText(Strings.QuestLog.notstarted); mQuestStatus.SetTextColor(Color.Red, Label.ControlState.Normal); mQuestDescLabel.AddText( mSelectedQuest.BeforeDescription, Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); mQuitButton?.Hide(); } } } } else { //Not Started if (mSelectedQuest.LogBeforeOffer) { mQuestStatus.SetText(Strings.QuestLog.notstarted); mQuestStatus.SetTextColor(Color.Red, Label.ControlState.Normal); mQuestDescLabel.AddText( mSelectedQuest.BeforeDescription, Color.White, Alignments.Left, mQuestDescTemplateLabel.Font ); } } mQuestList.Hide(); mQuestTitle.IsHidden = false; mQuestTitle.Text = mSelectedQuest.Name; mQuestDescArea.IsHidden = false; mQuestDescLabel.Width = mQuestDescArea.Width - mQuestDescArea.GetVerticalScrollBar().Width; mQuestDescLabel.SizeToChildren(false, true); mQuestStatus.Show(); mBackButton.Show(); mQuitButton.Show(); } }
//Update public void Update() { if (mEventDialogWindow.IsHidden) { Interface.InputBlockingElements.Remove(this); } else { if (!Interface.InputBlockingElements.Contains(this)) { Interface.InputBlockingElements.Add(this); } } if (Globals.EventDialogs.Count > 0) { if (mEventDialogWindow.IsHidden) { base.Show(); mEventDialogWindow.Show(); mEventDialogWindow.MakeModal(); mEventDialogArea.ScrollToTop(); mEventDialogWindow.BringToFront(); var faceTex = Globals.ContentManager.GetTexture( GameContentManager.TextureType.Face, Globals.EventDialogs[0].Face ); var responseCount = 0; var maxResponse = 1; if (Globals.EventDialogs[0].Opt1.Length > 0) { responseCount++; } if (Globals.EventDialogs[0].Opt2.Length > 0) { responseCount++; maxResponse = 2; } if (Globals.EventDialogs[0].Opt3.Length > 0) { responseCount++; maxResponse = 3; } if (Globals.EventDialogs[0].Opt4.Length > 0) { responseCount++; maxResponse = 4; } mEventResponse1.Name = ""; mEventResponse2.Name = ""; mEventResponse3.Name = ""; mEventResponse4.Name = ""; switch (maxResponse) { case 1: mEventDialogWindow.Name = "EventDialogWindow_1Response"; mEventResponse1.Name = "Response1Button"; break; case 2: mEventDialogWindow.Name = "EventDialogWindow_2Responses"; mEventResponse1.Name = "Response1Button"; mEventResponse2.Name = "Response2Button"; break; case 3: mEventDialogWindow.Name = "EventDialogWindow_3Responses"; mEventResponse1.Name = "Response1Button"; mEventResponse2.Name = "Response2Button"; mEventResponse3.Name = "Response3Button"; break; case 4: mEventDialogWindow.Name = "EventDialogWindow_4Responses"; mEventResponse1.Name = "Response1Button"; mEventResponse2.Name = "Response2Button"; mEventResponse3.Name = "Response3Button"; mEventResponse4.Name = "Response4Button"; break; } mEventDialogWindow.LoadJsonUi( GameContentManager.UI.InGame, Graphics.Renderer.GetResolutionString() ); if (faceTex != null) { mEventFace.Show(); mEventFace.Texture = faceTex; mEventDialogArea.Show(); mEventDialogAreaNoFace.Hide(); } else { mEventFace.Hide(); mEventDialogArea.Hide(); mEventDialogAreaNoFace.Show(); } if (responseCount == 0) { mEventResponse1.Show(); mEventResponse1.SetText(Strings.EventWindow.Continue); mEventResponse2.Hide(); mEventResponse3.Hide(); mEventResponse4.Hide(); } else { if (Globals.EventDialogs[0].Opt1 != "") { mEventResponse1.Show(); mEventResponse1.SetText(Globals.EventDialogs[0].Opt1); } else { mEventResponse1.Hide(); } if (Globals.EventDialogs[0].Opt2 != "") { mEventResponse2.Show(); mEventResponse2.SetText(Globals.EventDialogs[0].Opt2); } else { mEventResponse2.Hide(); } if (Globals.EventDialogs[0].Opt3 != "") { mEventResponse3.Show(); mEventResponse3.SetText(Globals.EventDialogs[0].Opt3); } else { mEventResponse3.Hide(); } if (Globals.EventDialogs[0].Opt4 != "") { mEventResponse4.Show(); mEventResponse4.SetText(Globals.EventDialogs[0].Opt4); } else { mEventResponse4.Hide(); } } mEventDialogWindow.SetSize( mEventDialogWindow.Texture.GetWidth(), mEventDialogWindow.Texture.GetHeight() ); if (faceTex != null) { mEventDialogLabel.ClearText(); mEventDialogLabel.Width = mEventDialogArea.Width - mEventDialogArea.GetVerticalScrollBar().Width; mEventDialogLabel.AddText( Globals.EventDialogs[0].Prompt, mEventDialogLabelTemplate.TextColor, mEventDialogLabelTemplate.CurAlignments.Count > 0 ? mEventDialogLabelTemplate.CurAlignments[0] : Alignments.Left, mEventDialogLabelTemplate.Font ); mEventDialogLabel.SizeToChildren(false, true); mEventDialogArea.ScrollToTop(); } else { mEventDialogLabelNoFace.ClearText(); mEventDialogLabelNoFace.Width = mEventDialogAreaNoFace.Width - mEventDialogAreaNoFace.GetVerticalScrollBar().Width; mEventDialogLabelNoFace.AddText( Globals.EventDialogs[0].Prompt, mEventDialogLabelNoFaceTemplate.TextColor, mEventDialogLabelNoFaceTemplate.CurAlignments.Count > 0 ? mEventDialogLabelNoFaceTemplate.CurAlignments[0] : Alignments.Left, mEventDialogLabelNoFaceTemplate.Font ); mEventDialogLabelNoFace.SizeToChildren(false, true); mEventDialogAreaNoFace.ScrollToTop(); } } } }