private void Vm_OnChatEvent(FSO.SimAntics.NetPlay.Model.VMChatEvent evt) { var print = ""; switch (evt.Type) { case VMChatEventType.Message: print = "<%> says: ".Replace("%", evt.Text[0]) + evt.Text[1]; break; case VMChatEventType.MessageMe: print = "You say: " + evt.Text[1]; break; case VMChatEventType.Join: print = "<%> has entered the property.".Replace("%", evt.Text[0]); break; case VMChatEventType.Leave: print = "<%> has left the property.".Replace("%", evt.Text[0]); break; case VMChatEventType.Arch: print = "<" + evt.Text[0] + " (" + evt.Text[1] + ")" + "> " + evt.Text[2]; break; case VMChatEventType.Generic: print = evt.Text[0]; break; } Console.WriteLine(print); }
public void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { foreach (var scene in Scenes) { scene.Update(state); } foreach (var scene in External) { scene.Update(state); } }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { GameFacade.Game.IsFixedTimeStep = (vm == null || vm.Ready); base.Update(state); if (CityRenderer != null) { if (ZoomLevel > 3 && CityRenderer.m_Zoomed != (ZoomLevel == 4)) ZoomLevel = (CityRenderer.m_Zoomed) ? 4 : 5; if (InLot) //if we're in a lot, use the VM's more accurate time! CityRenderer.SetTimeOfDay((vm.Context.Clock.Hours / 24.0) + (vm.Context.Clock.Minutes / 1440.0) + (vm.Context.Clock.Seconds / 86400.0)); } lock (StateChanges) { while (StateChanges.Count > 0) { var e = StateChanges.Dequeue(); ClientStateChangeProcess(e.State, e.Progress); } } if (vm != null) vm.Update(); }
public override void Init(FSO.SimAntics.VMContext context) { if (UseWorld) ((ObjectComponent)WorldUI).ObjectID = ObjectID; if (Slots != null && Slots.Slots.ContainsKey(0)) { Contained = new VMEntity[Slots.Slots[0].Count]; if (UseWorld) ((ObjectComponent)WorldUI).ContainerSlots = Slots.Slots[0]; } base.Init(context); }
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(); } 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; }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { base.Update(state); if (SelectedAvatar != null) { if (SelectedAvatar != LastSelected) { Thumbnail.Texture = SelectedAvatar.GetIcon(GameFacade.GraphicsDevice); Thumbnail.Tooltip = SelectedAvatar.Name; LastSelected = SelectedAvatar; } UpdateMotives(); } }
void vm_OnDialog(FSO.SimAntics.Model.VMDialogInfo info) { if (info != null && ((info.DialogID == LastDialogID && info.DialogID != 0 && info.Block) || info.Caller != null && info.Caller != ActiveEntity)) return; //return if same dialog as before, or not ours if ((info == null || info.Block) && BlockingDialog != null) { //cancel current dialog because it's no longer valid UIScreen.RemoveDialog(BlockingDialog); LastDialogID = 0; BlockingDialog = null; } if (info == null) return; //return if we're just clearing a dialog. var options = new UIAlertOptions { Title = info.Title, Message = info.Message, Width = 325 + (int)(info.Message.Length / 3.5f), Alignment = TextAlignment.Left, TextSize = 12 }; var b0Event = (info.Block) ? new ButtonClickDelegate(DialogButton0) : null; var b1Event = (info.Block) ? new ButtonClickDelegate(DialogButton1) : null; var b2Event = (info.Block) ? new ButtonClickDelegate(DialogButton2) : null; VMDialogType type = (info.Operand == null) ? VMDialogType.Message : info.Operand.Type; switch (type) { default: case VMDialogType.Message: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.OK, b0Event, info.Yes) }; break; case VMDialogType.YesNo: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.Yes, b0Event, info.Yes), new UIAlertButton(UIAlertButtonType.No, b1Event, info.No), }; break; case VMDialogType.YesNoCancel: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.Yes, b0Event, info.Yes), new UIAlertButton(UIAlertButtonType.No, b1Event, info.No), new UIAlertButton(UIAlertButtonType.Cancel, b2Event, info.Cancel), }; break; case VMDialogType.TextEntry: case VMDialogType.NumericEntry: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.OK, b0Event, info.Yes) }; options.TextEntry = true; break; } var alert = UIScreen.ShowAlert(options, true); if (info.Block) { BlockingDialog = alert; LastDialogID = info.DialogID; } var entity = info.Icon; if (entity is VMGameObject) { var objects = entity.MultitileGroup.Objects; ObjectComponent[] objComps = new ObjectComponent[objects.Count]; for (int i = 0; i < objects.Count; i++) { objComps[i] = (ObjectComponent)objects[i].WorldUI; } var thumb = World.GetObjectThumb(objComps, entity.MultitileGroup.GetBasePositions(), GameFacade.GraphicsDevice); alert.SetIcon(thumb, 110, 110); } }
private static void Main(string[] args) { try { Console.WriteLine(Trace.GetDescrizioneMessaggio(90)); StampaDaConsole._conf = new Configuration(); bool flag = true; string empty = string.Empty; Console.WriteLine(Trace.GetDescrizioneMessaggio(91)); if (FSO.EsisteFile(StampaDaConsole._conf.Log_File)) { string pathCompletoFile = FSO.GetPathCompletoFile(StampaDaConsole._conf.HistoryLog_PathFolder, FSO.GetTimeFileName(StampaDaConsole._conf.HistoryLog_FilePrefix, "Log")); if (pathCompletoFile != null) { File.Move(StampaDaConsole._conf.Log_File, pathCompletoFile); } else { File.Move(StampaDaConsole._conf.Log_File, FSO.GetPathCompletoFile(StampaDaConsole._conf.Log_PathFolder, FSO.GetTimeFileName(StampaDaConsole._conf.HistoryLog_FilePrefix, "Log"))); flag = false; } } Costanti.DispositiviDiLog log_Device = StampaDaConsole._conf.Log_Device; Trace.Traccia(207, "Main()", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); if (log_Device != StampaDaConsole._conf.Log_Device || StampaDaConsole._conf.Log_Device == Costanti.DispositiviDiLog.Nessuno) { if (StampaDaConsole._conf.Log_Device == Costanti.DispositiviDiLog.Nessuno) { Console.WriteLine("Attenzione: Non è stato selezionato alcun dispositivo di Log. \n Tutti i messaggi verranno mostrati a video."); } string text; do { Console.WriteLine("Vuoi Continuare il processo ugualmente?(premere S o N seguito da INVIO)"); text = Console.ReadLine(); }while (text.ToUpper() != "N" && text.ToUpper() != "S"); if (text.ToUpper().Equals("N")) { Trace.Traccia(209, "Dispositivo di log non valido, è stata richiesta l'uscita dal programma.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); return; } Trace.Traccia(209, "Dispositivo di log non valido, è stata richiesta la continuazione del processo.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); } Trace.Traccia(Costanti.Informazioni.Work_InizioProcesso, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Work_InizioProcesso, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); if (!flag) { Trace.Traccia(Costanti.Informazioni.Work_StoricLog_Fallito, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Work_StoricLog_Fallito, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } Trace.Traccia(209, "Verifica esistenza dei parametri di configurazione.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); if (StampaDaConsole._conf.Errore) { Trace.Traccia(StampaDaConsole._conf.DescrizioneErrore, Costanti.TipoMessaggio.ERRORE, StampaDaConsole._conf); flag = false; } Trace.Traccia(209, "Verifica sintattica dei parametri di configurazione.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); if (StampaDaConsole._conf.HistoryLog_PathFolder == null) { Trace.Traccia(Costanti.Errori.Config_PathHistoryLog_NonValido, StampaDaConsole._conf); flag = false; } if (StampaDaConsole._conf.Docspa_IDAmm.Equals(string.Empty)) { Trace.Traccia(Costanti.Errori.Config_IDAmm_NonValido, StampaDaConsole._conf); flag = false; } if (StampaDaConsole._conf.Docspa_UserName.Equals(string.Empty)) { Trace.Traccia(Costanti.Errori.Config_UserName_NonValido, StampaDaConsole._conf); flag = false; } if (StampaDaConsole._conf.Docspa_PWD.Equals(string.Empty)) { Trace.Traccia(Costanti.Errori.Config_Password_NonValido, StampaDaConsole._conf); } if (StampaDaConsole._conf.Docspa_Ruolo_IDCorr.Equals(string.Empty)) { Trace.Traccia(Costanti.Errori.Config_IdRuolo_NonValido, StampaDaConsole._conf); } if (StampaDaConsole._conf.Docspa_Versione == 0) { Trace.Traccia(Costanti.Errori.Config_VersioneNonValida, StampaDaConsole._conf); flag = false; } if (StampaDaConsole._conf.Docspa_IDRegistro.Equals(string.Empty)) { Trace.Traccia(Costanti.Errori.Config_Registro_Vuoto, StampaDaConsole._conf); } try { Convert.ToBoolean(StampaDaConsole._conf.Work_ForzaChiusuraReg); } catch { Trace.Traccia(Costanti.Errori.Config_FlagForzaChiusuraRegNonValido, StampaDaConsole._conf); flag = false; } try { Convert.ToBoolean(StampaDaConsole._conf.Work_ApriRegDopoProcesso); } catch { Trace.Traccia(Costanti.Errori.Config_FlagAperturaRegDopoProcNonValido, StampaDaConsole._conf); flag = false; } if (StampaDaConsole._conf.Docspa_TimeoutRichiestaWSInMinuti == 0) { Trace.Traccia(Costanti.Errori.Config_TimeoutRichiestaWS_NonValido, StampaDaConsole._conf); flag = false; } if (!flag) { Trace.Traccia(Costanti.Informazioni.Config_ParametriNonValidi, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Config_ParametriNonValidi, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(209, "verifica esistenza dei WS di Docspa.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); try { int docspa_Versione = StampaDaConsole._conf.Docspa_Versione; if (docspa_Versione != 25) { if (docspa_Versione != 305) { Trace.Traccia(Costanti.Errori.Config_VersioneNonValida, StampaDaConsole._conf); } else { StampaDaConsole.docspa = new DocsPa305(StampaDaConsole._conf); Trace.Traccia(103, "3.05", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); } } else { StampaDaConsole.docspa = new DocsPa25(StampaDaConsole._conf); Trace.Traccia(103, "2.5", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); } } catch (Exception ex) { Trace.Traccia(ex, StampaDaConsole._conf); StampaDaConsole.docspa = null; } if (StampaDaConsole.docspa == null) { Trace.Traccia(Costanti.Informazioni.Docspa_ConnessioneNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_ConnessioneNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Costanti.Informazioni.Docspa_ConnessioneRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_ConnessioneRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); StampaDaConsole.docspa.Login(StampaDaConsole._conf.Docspa_UserName, StampaDaConsole._conf.Docspa_PWD, StampaDaConsole._conf.Docspa_IDAmm, StampaDaConsole._conf.Docspa_LoginForzata, StampaDaConsole._conf.Docspa_Ruolo_IDCorr); if (!StampaDaConsole.docspa.AutenticatoSuDocsPa) { if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); } Trace.Traccia(Costanti.Informazioni.Docspa_LoginNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_LoginNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Costanti.Informazioni.Docspa_LoginRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_LoginRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); StampaDaConsole.docspa.GetRegistro(StampaDaConsole._conf.Docspa_IDRegistro); if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_CaricamentoRegistroNonRiuscito, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_CaricamentoRegistroNonRiuscito, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Costanti.Informazioni.Docspa_CaricamentoRegistroRiuscito, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_CaricamentoRegistroRiuscito, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); StampaDaConsole.docspa.GetStatoRegistro(out empty); if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); Trace.Traccia(Trace.GetDescrizioneMessaggio(113), Costanti.TipoMessaggio.ERRORE, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_CaricamentoStatoRegistroNonRiuscito, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Trace.GetDescrizioneMessaggio(114), Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); Trace.Traccia(209, "stato registro:" + empty, Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); string a; if ((a = empty) != null) { if (!(a == "A")) { if (a == "C") { Trace.Traccia(209, "Registro già chiuso.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); flag = true; goto IL_66F; } } else { Trace.Traccia(209, "Registro Aperto.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); if (Convert.ToBoolean(StampaDaConsole._conf.Work_ForzaChiusuraReg)) { Trace.Traccia(209, "richiesta chiusura.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); flag = StampaDaConsole.docspa.CambiaStatoRegistro("C"); goto IL_66F; } Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroNonRichiesta, StampaDaConsole._conf); flag = false; goto IL_66F; } } Trace.Traccia(39, empty, Costanti.TipoMessaggio.ERRORE, StampaDaConsole._conf); flag = false; IL_66F: if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else if (!flag) { Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_ChiusuraRegistroRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); string empty2 = string.Empty; string empty3 = string.Empty; string empty4 = string.Empty; Trace.Traccia(Costanti.Informazioni.Work_StampaRegInCorso, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Work_StampaRegInCorso, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); flag = StampaDaConsole.docspa.StampaRegistro(out empty2, out empty3, out empty4); if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_StampaRegistroNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_StampaRegistroNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Costanti.Informazioni.Docspa_StampaRegistroRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_StampaRegistroRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); Trace.Traccia(121, string.Format("\n Ruolo: {0} \n Registro: {1} \n IDDocumento: {2}", empty4, empty2, empty3), Costanti.TipoMessaggio.INFORMAZIONE, StampaDaConsole._conf); Trace.Traccia(121, string.Format("\n Ruolo: {0} \n Registro: {1} \n IDDocumento: {2}", empty4, empty2, empty3), Costanti.TipoMessaggio.INFORMAZIONE, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } empty = string.Empty; StampaDaConsole.docspa.GetStatoRegistro(out empty); if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); Trace.Traccia(Trace.GetDescrizioneMessaggio(113), Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); } else { Trace.Traccia(Trace.GetDescrizioneMessaggio(114), Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); Trace.Traccia(209, "stato registro:" + empty, Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); string a2; if ((a2 = empty) != null) { if (!(a2 == "C")) { if (a2 == "A") { flag = true; goto IL_8D2; } } else { if (Convert.ToBoolean(StampaDaConsole._conf.Work_ApriRegDopoProcesso)) { Trace.Traccia(209, "richiesta apertura registro.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); flag = StampaDaConsole.docspa.CambiaStatoRegistro("A"); goto IL_8D2; } Trace.Traccia(209, "non richiesta apertura registro.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroNonRichiesta, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroNonRichiesta, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); flag = false; goto IL_8D2; } } Trace.Traccia(39, empty, Costanti.TipoMessaggio.ERRORE, StampaDaConsole._conf); flag = false; IL_8D2: if (StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else if (!flag) { Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroNonRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroNonRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } else { Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroRiuscita, StampaDaConsole._conf); Trace.Traccia(Costanti.Informazioni.Docspa_AperturaRegistroRiuscita, StampaDaConsole._conf, Costanti.DispositiviDiLog.Console); } } } } } } } } } catch (Exception ex2) { if (StampaDaConsole.docspa != null && StampaDaConsole.docspa.Errore) { Trace.Traccia(StampaDaConsole.docspa.CodiceErrore, StampaDaConsole._conf); } else { Trace.Traccia(ex2, StampaDaConsole._conf); } } finally { try { Trace.Traccia(209, "Richiesto il LogOut a DocsPa.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); if (StampaDaConsole.docspa != null && StampaDaConsole.docspa.AutenticatoSuDocsPa) { StampaDaConsole.docspa.Logout(); } } catch (Exception ex3) { Trace.Traccia(ex3, StampaDaConsole._conf); } finally { Trace.Traccia(209, "richiesta chiususa connessione ai WS.", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); if (StampaDaConsole.docspa != null) { StampaDaConsole.docspa.Close(); } Trace.Traccia(Costanti.Informazioni.Work_FineProcesso, StampaDaConsole._conf); Console.WriteLine(Trace.GetDescrizioneMessaggio(106)); if (StampaDaConsole._conf.Work_ConfermaChiusuraDopoProcesso) { Console.Read(); } Trace.Traccia(208, "Main()", Costanti.TipoMessaggio.DEBUG, StampaDaConsole._conf); } } }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { //ScaleX = ScaleY = 1; if (MoneyHighlightFrames > 0) { if (--MoneyHighlightFrames == 0) MoneyText.CaptionStyle.Color = TextStyle.DefaultLabel.Color; } int min = NetworkFacade.ServerTime.Minute; int hour = NetworkFacade.ServerTime.Hour; uint budget = 0; if (Game.InLot) { // if ingame, use time from ingame clock // (should be very close to server time anyways, if we set the game pacing up right...) min = Game.vm.Context.Clock.Minutes; hour = Game.vm.Context.Clock.Hours; // update with ingame budget. var cont = Game.LotController; if (cont.ActiveEntity != null && cont.ActiveEntity is VMAvatar) { var avatar = (VMAvatar)cont.ActiveEntity; budget = avatar.TSOState.Budget.Value; //check if we have build/buy permissions //TODO: global build/buy enable/disable (via the global calls) BuyModeButton.Disabled = ((VMTSOAvatarState)(avatar.TSOState)).Permissions < VMTSOAvatarPermissions.Roommate; BuildModeButton.Disabled = ((VMTSOAvatarState)(avatar.TSOState)).Permissions < VMTSOAvatarPermissions.BuildBuyRoommate; HouseModeButton.Disabled = BuyModeButton.Disabled; } if (CurrentPanel == 2 && BuyModeButton.Disabled || CurrentPanel == 3 && BuildModeButton.Disabled) SetPanel(-1); } if (budget != OldMoney) { OldMoney = budget; MoneyText.CaptionStyle.Color = Color.White; MoneyHighlightFrames = 45; } string suffix = (hour > 11) ? "pm" : "am"; hour %= 12; if (hour == 0) hour = 12; TimeText.Caption = hour.ToString() + ":" + ZeroPad(min.ToString(), 2) + " " + suffix; MoneyText.Caption = "$" + budget.ToString("##,#0"); base.Update(state); }
/// <summary> /// Creates a new UILotControl instance. /// </summary> /// <param name="vm">A SimAntics VM instance.</param> /// <param name="World">A World instance.</param> public UILotControl(FSO.SimAntics.VM vm, LotView.World World) { this.vm = vm; this.World = World; ActiveEntity = vm.Entities.FirstOrDefault(x => x is VMAvatar); MouseEvt = this.ListenForMouse(new Microsoft.Xna.Framework.Rectangle(0, 0, GlobalSettings.Default.GraphicsWidth, GlobalSettings.Default.GraphicsHeight), OnMouse); Queue = new UIInteractionQueue(ActiveEntity, vm); this.Add(Queue); ObjectHolder = new UIObjectHolder(vm, World, this); QueryPanel = new UIQueryPanel(World); QueryPanel.OnSellBackClicked += ObjectHolder.SellBack; QueryPanel.X = 0; QueryPanel.Y = -114; //this.Add(QueryPanel); ChatPanel = new UIChatPanel(vm, this); this.Add(ChatPanel); RMBCursor = GetTexture(0x24B00000001); //exploreanchor.bmp vm.OnChatEvent += Vm_OnChatEvent; vm.OnDialog += vm_OnDialog; vm.OnBreakpoint += Vm_OnBreakpoint; Cheats = new UICheatHandler(this); EODs = new UIEODController(this); }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { int min = NetworkFacade.ServerTime.Minute; int hour = NetworkFacade.ServerTime.Hour; if (Game.InLot) //if ingame, use time from ingame clock (should be very close to server time anyways, if we set the game pacing up right...) { min = Game.vm.Context.Clock.Minutes; hour = Game.vm.Context.Clock.Hours; } string suffix = (hour > 11) ? "pm" : "am"; hour %= 12; if (hour == 0) hour = 12; TimeText.Caption = hour.ToString() + ":" + ZeroPad(min.ToString(), 2) + " " + suffix; base.Update(state); }
/// <summary> /// Creates a new UILotControl instance. /// </summary> /// <param name="vm">A SimAntics VM instance.</param> /// <param name="World">A World instance.</param> public UILotControl(FSO.SimAntics.VM vm, LotView.World World) { this.vm = vm; this.World = World; ActiveEntity = vm.Entities.FirstOrDefault(x => x is VMAvatar); MouseEvt = this.ListenForMouse(new Microsoft.Xna.Framework.Rectangle(0, 0, GlobalSettings.Default.GraphicsWidth, GlobalSettings.Default.GraphicsHeight), OnMouse); testimg = new UIImage(); testimg.X = 20; testimg.Y = 20; this.Add(testimg); Queue = new UIInteractionQueue(ActiveEntity, vm); this.Add(Queue); ObjectHolder = new UIObjectHolder(vm, World, this); QueryPanel = new UIQueryPanel(World); QueryPanel.OnSellBackClicked += ObjectHolder.SellBack; QueryPanel.X = 177; QueryPanel.Y = GlobalSettings.Default.GraphicsHeight - 228; this.Add(QueryPanel); ChatPanel = new UIChatPanel(vm, this); this.Add(ChatPanel); vm.OnDialog += vm_OnDialog; }
void vm_OnDialog(FSO.SimAntics.Model.VMDialogInfo info) { if (info.Caller != null && info.Caller != ActiveEntity) return; var options = new UIAlertOptions { Title = info.Title, Message = info.Message, Width = 325 + (int)(info.Message.Length / 3.5f), Alignment = TextAlignment.Left, TextSize = 12 }; var b0Event = (info.Block) ? new ButtonClickDelegate(DialogButton0) : null; var b1Event = (info.Block) ? new ButtonClickDelegate(DialogButton1) : null; var b2Event = (info.Block) ? new ButtonClickDelegate(DialogButton2) : null; switch (info.Operand.Type) { default: case VMDialogType.Message: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.OK, b0Event, info.Yes) }; break; case VMDialogType.YesNo: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.Yes, b0Event, info.Yes), new UIAlertButton(UIAlertButtonType.No, b1Event, info.No), }; break; case VMDialogType.YesNoCancel: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.Yes, b0Event, info.Yes), new UIAlertButton(UIAlertButtonType.No, b1Event, info.No), new UIAlertButton(UIAlertButtonType.Cancel, b2Event, info.Cancel), }; break; case VMDialogType.TextEntry: case VMDialogType.NumericEntry: options.Buttons = new UIAlertButton[] { new UIAlertButton(UIAlertButtonType.OK, b0Event, info.Yes) }; options.TextEntry = true; break; } var alert = UIScreen.ShowAlert(options, true); if (info.Block) BlockingDialog = alert; var entity = info.Icon; if (entity is VMGameObject) { var objects = entity.MultitileGroup.Objects; ObjectComponent[] objComps = new ObjectComponent[objects.Count]; for (int i = 0; i < objects.Count; i++) { objComps[i] = (ObjectComponent)objects[i].WorldUI; } var thumb = World.GetObjectThumb(objComps, entity.MultitileGroup.GetBasePositions(), GameFacade.GraphicsDevice); alert.SetIcon(thumb, 110, 110); } }
/// <summary> /// Updates this Avatar instance. /// </summary> /// <param name="state">An UpdateState instance.</param> public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { }
public void LeggiDaConfig() { try { this._Log_Device = (Costanti.DispositiviDiLog)int.Parse(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Log_Device)); } catch (Exception) { } try { this._Log_LevelTrace = (Costanti.LivelliLog)int.Parse(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Log_LevelTrace)); } catch (Exception) { } try { this._Log_FileName = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Log_FileName); } catch (Exception) { } try { this._Log_PathFolder = FSO.VerificaECreaFolder(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Log_PathFolder)); } catch (Exception) { } try { this._HistoryLog_FilePrefix = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.HistoryLog_FileNamePrefix); } catch (Exception) { } try { this._HistoryLog_PathFolder = FSO.VerificaECreaFolder(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.HistoryLog_PathFolder)); } catch (Exception) { } try { this._Docspa_Versione = (int)Convert.ToInt16(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_Versione)); } catch (Exception) { } try { this._Docspa_UserName = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_UserName); } catch (Exception) { } try { this._Docspa_PWD = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_PWD); } catch (Exception) { } try { this._Docspa_LoginForzata = Convert.ToBoolean(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_LoginForzata)); } catch (Exception) { } try { this._Docspa_IDAmm = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_IDAmm); } catch (Exception) { } try { this._Docspa_Ruolo_IDCorr = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_Ruolo_IDCorr); } catch (Exception) { } try { this._Docspa_IDRegistro = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_IDRegistro); } catch (Exception) { } try { this._Work_ForzaChiusuraReg = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Work_ForzaChiusuraReg); } catch (Exception) { } try { this._Work_ApriRegDopoProcesso = this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Work_ApriRegDopoProcesso); } catch (Exception) { } try { this._Work_ConfermaChiusuraDopoProcesso = Convert.ToBoolean(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Work_ConfermaChiusuraDopoProcesso)); } catch (Exception) { } try { this._Docspa_TimeoutRichiestaWSInMinuti = Convert.ToInt32(this.leggiParamentroDaConfig(Costanti.ListaParametriConfig.Docspa_TimeoutRichiesta_DocsPaWebService_InMinuti)); } catch (Exception) { } }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { base.Update(state); if (m_BgGrow < 1) { m_BgGrow += 1.0 / 30.0; HeadCamera.Zoom = (float)m_BgGrow*5.12f; m_Bg.SetSize((float)m_BgGrow * 200, (float)m_BgGrow * 200); m_Bg.X = (float)m_BgGrow * (-100); m_Bg.Y = (float)m_BgGrow * (-100); } RotateHeadCam(GlobalPoint(new Vector2(state.MouseState.X, state.MouseState.Y))); ShiftDown = state.KeyboardState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.LeftShift); }
public override void Update(FSO.Common.Rendering.Framework.Model.UpdateState state) { GameFacade.Game.IsFixedTimeStep = (vm == null || vm.Ready); base.Update(state); if (ZoomLevel > 3 && CityRenderer.m_Zoomed != (ZoomLevel == 4)) ZoomLevel = (CityRenderer.m_Zoomed) ? 4 : 5; if (InLot) //if we're in a lot, use the VM's more accurate time! CityRenderer.SetTimeOfDay((vm.Context.Clock.Hours / 24.0) + (vm.Context.Clock.Minutes / 1440.0) + (vm.Context.Clock.Seconds / 86400.0)); if (vm != null) vm.Update(); }