public void DrawPage() { Page = Math.Min(Page, (Display.Count / (Columns * Rows))); if (Page < 0) { Page = 0; } foreach (var icon in CurrentIcons) { Remove(icon); } CurrentIcons.Clear(); var startInd = Page * (Columns * Rows); for (int x = 0; x < Columns; x++) { for (int y = 0; y < Rows; y++) { var ind = startInd + x + Columns * y; if (ind < Display.Count) { var icon = new UIPersonIcon(Display.ElementAt(ind), vm, false); CurrentIcons.Add(icon); Add(icon); icon.Position = new Vector2(x * (34 + 12), y * (34 + 11)); } } } }
public void P_Players(string evt, string txt) { var split = txt.Split('\n'); int[] items = new int[4]; var labels = new UILabel[] { labelStation1, labelStation2, labelStation3, labelStation4 }; for (int i = 0; i < 4; i++) { if (!int.TryParse(split[i], out items[i])) { return; } var avatar = (VMAvatar)Controller.Lot.vm.GetObjectById((short)items[i]); if (avatar == null) { if (Players[i] != null) { Remove(Players[i]); } Players[i] = null; } else if (Players[i] == null || Players[i].Avatar != avatar) { if (Players[i] != null) { Remove(Players[i]); } Players[i] = new UIPersonIcon((VMAvatar)avatar, Controller.Lot.vm, true); var bgs = new UIImage[] { PersonBG1, PersonBG2, PersonBG3, PersonBG4 }; Players[i].Position = bgs[i].Position + new Microsoft.Xna.Framework.Vector2(2, 2); Add(Players[i]); } string caption = ""; if (avatar == null) { caption = Script.GetString("strNoContributor"); } else { if (i == 0) { caption = Script.GetString("strBody") + avatar.GetPersonData(VMPersonDataVariable.BodySkill) / 100; } else if (i == 2) { caption = Script.GetString("strCharisma") + avatar.GetPersonData(VMPersonDataVariable.CharismaSkill) / 100; } else { caption = Script.GetString("strCooking") + avatar.GetPersonData(VMPersonDataVariable.CookingSkill) / 100; } } labels[i].Caption = caption; } }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { base.Update(state); if (SelectedAvatar != null) { if (SelectedAvatar != LastSelected) { if (Thumb != null) { Remove(Thumb); } Thumb = new UIPersonIcon(SelectedAvatar, LotController.vm, false); UpdateThumbPosition(); Add(Thumb); LastSelected = SelectedAvatar; } UpdateMotives(); Skills.UpdateSkills(SelectedAvatar); } if (LastEODConfig != LotController.EODs.DisplayMode) { HideEOD = false; SetInEOD(LotController.EODs.DisplayMode, LotController.EODs.ActiveEOD); } if (LotController.EODs.EODMessage != (string)MsgWinTextEntry.Items[0].Data) { MsgWinTextEntry.Items[0].Data = LotController.EODs.EODMessage; MsgWinTextEntry.Items[0].Columns[0] = LotController.EODs.EODMessage; } if (LotController.EODs.EODTime != TimerTextEntry.CurrentText) { TimerTextEntry.CurrentText = LotController.EODs.EODTime; } }