From db063fc394796858097f3c223842b1612767f42e Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 27 Feb 2024 08:36:39 +0100 Subject: [PATCH] Update accento shadow + blink su TAB3 --- MP-TAB3/Components/MachineBlock.razor | 2 +- MP-TAB3/Components/MachineBlock.razor.cs | 9 ++- MP-TAB3/Components/MachineBlock.razor.css | 50 ++++++++++++-- MP-TAB3/Components/MachineBlock.razor.less | 67 +++++++++++++++++-- MP-TAB3/Components/MachineBlock.razor.min.css | 2 +- MP-TAB3/MP-TAB3.csproj | 2 +- MP-TAB3/Pages/BasePage.razor.cs | 58 ++++++++++++---- MP-TAB3/Pages/StatusMap.razor | 2 +- MP-TAB3/Pages/StatusMap.razor.cs | 33 ++++++++- MP-TAB3/Resources/ChangeLog.html | 2 +- MP-TAB3/Resources/VersNum.txt | 2 +- MP-TAB3/Resources/manifest.xml | 2 +- MP-TAB3/appsettings.json | 2 +- MP.Data/Services/MonDataFeeder.cs | 20 +----- MP.Data/Services/StatusData.cs | 2 +- MP.Data/Services/TabDataFeeder.cs | 28 +++++--- MP.Mon/MP.Mon.csproj | 2 +- MP.Mon/Resources/ChangeLog.html | 2 +- MP.Mon/Resources/VersNum.txt | 2 +- MP.Mon/Resources/manifest.xml | 2 +- 20 files changed, 226 insertions(+), 65 deletions(-) diff --git a/MP-TAB3/Components/MachineBlock.razor b/MP-TAB3/Components/MachineBlock.razor index 9db94763..826fb913 100644 --- a/MP-TAB3/Components/MachineBlock.razor +++ b/MP-TAB3/Components/MachineBlock.razor @@ -46,7 +46,7 @@ else { if (Width > 640) { -
+
@RecMSE.CodMacchina
diff --git a/MP-TAB3/Components/MachineBlock.razor.cs b/MP-TAB3/Components/MachineBlock.razor.cs index c2395ae0..cc561157 100644 --- a/MP-TAB3/Components/MachineBlock.razor.cs +++ b/MP-TAB3/Components/MachineBlock.razor.cs @@ -36,6 +36,9 @@ namespace MP_TAB3.Components [Parameter] public int Width { get; set; } = 0; + [Parameter] + public bool doBlink { get; set; } = false; + #endregion Public Properties #region Public Methods @@ -110,16 +113,18 @@ namespace MP_TAB3.Components get { string answ = "border-3"; + // se blink --> bianco! + if (RecMSE != null) { switch (RecMSE.Semaforo) { case "sGi": - answ += " border-warning"; + answ += doBlink ? " border-secondary shadow shadow-primary" : " border-warning shadow shadow-warning"; break; case "sRo": - answ += " border-danger"; + answ += doBlink ? " border-secondary shadow shadow-primary" : " border-danger shadow shadow-danger"; break; case "sGr": diff --git a/MP-TAB3/Components/MachineBlock.razor.css b/MP-TAB3/Components/MachineBlock.razor.css index 461d2fd7..110d6974 100644 --- a/MP-TAB3/Components/MachineBlock.razor.css +++ b/MP-TAB3/Components/MachineBlock.razor.css @@ -83,26 +83,68 @@ color: #fff; } /*end semafori */ +/* shadow customizzate */ +/* Custom shadow class definitions */ +.shadow { + --bs-shadow-rgb: 0, 0, 0; + box-shadow: 0 0.5rem 1rem rgba(var(--bs-shadow-rgb), 0.15) !important; +} +.shadow-sm { + --bs-shadow-rgb: 0, 0, 0; + box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-shadow-rgb), 0.075) !important; +} +.shadow-lg { + --bs-shadow-rgb: 0, 0, 0; + box-shadow: 0 1rem 3rem rgba(var(--bs-shadow-rgb), 0.175) !important; +} +.shadow-none { + box-shadow: none !important; +} +/* Custom shadow classes with specific colors */ +.shadow-primary { + --bs-shadow-rgb: var(--bs-primary-rgb); +} +.shadow-secondary { + --bs-shadow-rgb: var(--bs-secondary-rgb); +} +.shadow-success { + --bs-shadow-rgb: var(--bs-success-rgb); +} +.shadow-info { + --bs-shadow-rgb: var(--bs-info-rgb); +} +.shadow-warning { + --bs-shadow-rgb: var(--bs-warning-rgb); +} +.shadow-danger { + --bs-shadow-rgb: var(--bs-danger-rgb); +} +.shadow-light { + --bs-shadow-rgb: var(--bs-light-rgb); +} +.shadow-dark { + --bs-shadow-rgb: var(--bs-dark-rgb); +} .card-body { background-color: currentColor; background-image: linear-gradient(121deg, rgba(255, 255, 255, 0.2) -0.71%, rgba(255, 255, 255, 0.05) 97.66%); } .imgFitToSize { - height: 11rem; + height: 10rem; object-fit: cover; } .pholderHeight { - height: 6rem; + height: 7rem; object-fit: cover; } @media (max-width: 640.98px) { .imgFitToSize { - height: 8rem; + height: 7.5rem; } .card-body { background-color: transparent; } .pholderHeight { - height: 4rem; + height: 5rem; } } \ No newline at end of file diff --git a/MP-TAB3/Components/MachineBlock.razor.less b/MP-TAB3/Components/MachineBlock.razor.less index 2ef91c54..7a5936f9 100644 --- a/MP-TAB3/Components/MachineBlock.razor.less +++ b/MP-TAB3/Components/MachineBlock.razor.less @@ -90,30 +90,89 @@ color: #fff; } /*end semafori */ + +/* shadow customizzate */ +/* Custom shadow class definitions */ + +.shadow { + --bs-shadow-rgb: 0, 0, 0; + box-shadow: 0 0.5rem 1rem rgba(var(--bs-shadow-rgb), 0.15) !important; +} + +.shadow-sm { + --bs-shadow-rgb: 0, 0, 0; + box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-shadow-rgb), 0.075) !important; +} + +.shadow-lg { + --bs-shadow-rgb: 0, 0, 0; + box-shadow: 0 1rem 3rem rgba(var(--bs-shadow-rgb), 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + + +/* Custom shadow classes with specific colors */ + +.shadow-primary { + --bs-shadow-rgb: var(--bs-primary-rgb); +} + +.shadow-secondary { + --bs-shadow-rgb: var(--bs-secondary-rgb); +} + +.shadow-success { + --bs-shadow-rgb: var(--bs-success-rgb); +} + +.shadow-info { + --bs-shadow-rgb: var(--bs-info-rgb); +} + +.shadow-warning { + --bs-shadow-rgb: var(--bs-warning-rgb); +} + +.shadow-danger { + --bs-shadow-rgb: var(--bs-danger-rgb); +} + +.shadow-light { + --bs-shadow-rgb: var(--bs-light-rgb); +} + +.shadow-dark { + --bs-shadow-rgb: var(--bs-dark-rgb); +} + + .card-body { background-color: currentColor; background-image: linear-gradient(121deg, rgba(255, 255, 255, 0.20) -0.71%, rgba(255, 255, 255, 0.05) 97.66%); } .imgFitToSize { - height: 11rem; + height: 10rem; object-fit: cover; } .pholderHeight { - height: 6rem; + height: 7rem; object-fit: cover; } @media (max-width: 640.98px){ .imgFitToSize{ - height: 8rem; + height: 7.5rem; } .card-body{ background-color: transparent; } .pholderHeight { - height: 4rem; + height: 5rem; } } diff --git a/MP-TAB3/Components/MachineBlock.razor.min.css b/MP-TAB3/Components/MachineBlock.razor.min.css index 04344d49..b29425e6 100644 --- a/MP-TAB3/Components/MachineBlock.razor.min.css +++ b/MP-TAB3/Components/MachineBlock.razor.min.css @@ -1 +1 @@ -.mapBlock{font-family:'Open Sans Condensed',sans-serif;color:#fff;background-image:linear-gradient(#111,#000);min-width:8em;}.labelTop{padding:.1em;width:auto;min-height:0;top:0;left:auto;bottom:auto;color:#fff;background:#2200de;background:rgba(33,36,39,.75);border-radius:15px 15px 0 0;}.scroll-left{height:1.5em;overflow:hidden;position:relative;width:70%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(0%);-webkit-transform:translateX(0%);transform:translateX(0%);-moz-animation:scroll-left 8s ease infinite;-webkit-animation:scroll-left 8s ease infinite;animation:scroll-left 8s ease infinite;}@keyframes scroll-left{0%{transform:translateX(0%);}30%{transform:translateX(0%);}80%{transform:translateX(-50%);}}.sVe{text-align:left;background:#198754;color:#fff;}.sGi{text-align:left;background:#ffc107;background:rgba(255,220,0,.6);color:#fff;}.sRo{text-align:left;background-color:#e2001a;background:rgba(240,0,10,.6);color:#fff;}.sBl{text-align:left;background:#3690ff;background:rgba(0,80,255,.6);color:#fff;}.sGr{text-align:left;background-color:#bcbcbc;background:rgba(180,180,180,.6);color:#fff;}.card-body{background-color:currentColor;background-image:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);}.imgFitToSize{height:11rem;object-fit:cover;}.pholderHeight{height:6rem;object-fit:cover;}@media(max-width:640.98px){.imgFitToSize{height:8rem;}.card-body{background-color:transparent;}.pholderHeight{height:4rem;}} \ No newline at end of file +.mapBlock{font-family:'Open Sans Condensed',sans-serif;color:#fff;background-image:linear-gradient(#111,#000);min-width:8em;}.labelTop{padding:.1em;width:auto;min-height:0;top:0;left:auto;bottom:auto;color:#fff;background:#2200de;background:rgba(33,36,39,.75);border-radius:15px 15px 0 0;}.scroll-left{height:1.5em;overflow:hidden;position:relative;width:70%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(0%);-webkit-transform:translateX(0%);transform:translateX(0%);-moz-animation:scroll-left 8s ease infinite;-webkit-animation:scroll-left 8s ease infinite;animation:scroll-left 8s ease infinite;}@keyframes scroll-left{0%{transform:translateX(0%);}30%{transform:translateX(0%);}80%{transform:translateX(-50%);}}.sVe{text-align:left;background:#198754;color:#fff;}.sGi{text-align:left;background:#ffc107;background:rgba(255,220,0,.6);color:#fff;}.sRo{text-align:left;background-color:#e2001a;background:rgba(240,0,10,.6);color:#fff;}.sBl{text-align:left;background:#3690ff;background:rgba(0,80,255,.6);color:#fff;}.sGr{text-align:left;background-color:#bcbcbc;background:rgba(180,180,180,.6);color:#fff;}.shadow{--bs-shadow-rgb:0,0,0;box-shadow:0 .5rem 1rem rgba(var(--bs-shadow-rgb),.15)!important;}.shadow-sm{--bs-shadow-rgb:0,0,0;box-shadow:0 .125rem .25rem rgba(var(--bs-shadow-rgb),.075)!important;}.shadow-lg{--bs-shadow-rgb:0,0,0;box-shadow:0 1rem 3rem rgba(var(--bs-shadow-rgb),.175)!important;}.shadow-none{box-shadow:none!important;}.shadow-primary{--bs-shadow-rgb:var(--bs-primary-rgb);}.shadow-secondary{--bs-shadow-rgb:var(--bs-secondary-rgb);}.shadow-success{--bs-shadow-rgb:var(--bs-success-rgb);}.shadow-info{--bs-shadow-rgb:var(--bs-info-rgb);}.shadow-warning{--bs-shadow-rgb:var(--bs-warning-rgb);}.shadow-danger{--bs-shadow-rgb:var(--bs-danger-rgb);}.shadow-light{--bs-shadow-rgb:var(--bs-light-rgb);}.shadow-dark{--bs-shadow-rgb:var(--bs-dark-rgb);}.card-body{background-color:currentColor;background-image:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);}.imgFitToSize{height:10rem;object-fit:cover;}.pholderHeight{height:7rem;object-fit:cover;}@media(max-width:640.98px){.imgFitToSize{height:7.5rem;}.card-body{background-color:transparent;}.pholderHeight{height:5rem;}} \ No newline at end of file diff --git a/MP-TAB3/MP-TAB3.csproj b/MP-TAB3/MP-TAB3.csproj index b9b8d4f5..2163d4b3 100644 --- a/MP-TAB3/MP-TAB3.csproj +++ b/MP-TAB3/MP-TAB3.csproj @@ -3,7 +3,7 @@ net6.0 enable - 6.16.2402.2620 + 6.16.2402.2708 enable MP_TAB3 diff --git a/MP-TAB3/Pages/BasePage.razor.cs b/MP-TAB3/Pages/BasePage.razor.cs index 6045369a..2657a516 100644 --- a/MP-TAB3/Pages/BasePage.razor.cs +++ b/MP-TAB3/Pages/BasePage.razor.cs @@ -42,6 +42,7 @@ namespace MP_TAB3.Pages IdxMacc = ""; CurrMSE = null; TDFeeder.dataPipe.EA_NewMessage -= DataPipe_EA_NewMessage; + TDFeeder.blinkPipe.EA_NewMessage -= BlinkPipe_EA_NewMessage; } #endregion Public Methods @@ -57,6 +58,7 @@ namespace MP_TAB3.Pages await base.OnInitializedAsync(); await ReloadData(); TDFeeder.dataPipe.EA_NewMessage += DataPipe_EA_NewMessage; + TDFeeder.blinkPipe.EA_NewMessage += BlinkPipe_EA_NewMessage; } /// @@ -100,10 +102,25 @@ namespace MP_TAB3.Pages } } + protected virtual async Task ReloadData() + { + if (string.IsNullOrEmpty(IdxMacc)) + { + IdxMacc = await MsgServ.IdxMaccGet(); + } + // recupero MSE macchina.... + if (!string.IsNullOrEmpty(IdxMacc)) + { + CurrMSE = await MsgServ.GetMachineMse(IdxMacc); + } + } + #endregion Protected Methods #region Private Fields + private bool doBlink = false; + /// /// DateTime ultimo salvataggio in LocalStorage /// @@ -113,6 +130,34 @@ namespace MP_TAB3.Pages #region Private Methods + /// + /// Ricezione evento blink + /// + /// + /// + private void BlinkPipe_EA_NewMessage(object? sender, EventArgs e) + { + PubSubEventArgs currArgs = (PubSubEventArgs)e; + // conversione on-the-fly List --> allarmi + if (!string.IsNullOrEmpty(currArgs.newMessage)) + { + try + { + var dataRaw = JsonConvert.DeserializeObject(currArgs.newMessage); + if (dataRaw != null) + { + bool.TryParse($"{dataRaw}", out doBlink); + } + } + catch + { } + InvokeAsync(() => + { + StateHasChanged(); + }); + } + } + /// /// Ricevuto nuovi dati da mostrare! /// @@ -142,19 +187,6 @@ namespace MP_TAB3.Pages }); } - protected virtual async Task ReloadData() - { - if (string.IsNullOrEmpty(IdxMacc)) - { - IdxMacc = await MsgServ.IdxMaccGet(); - } - // recupero MSE macchina.... - if (!string.IsNullOrEmpty(IdxMacc)) - { - CurrMSE = await MsgServ.GetMachineMse(IdxMacc); - } - } - #endregion Private Methods } } \ No newline at end of file diff --git a/MP-TAB3/Pages/StatusMap.razor b/MP-TAB3/Pages/StatusMap.razor index f159c690..7302b820 100644 --- a/MP-TAB3/Pages/StatusMap.razor +++ b/MP-TAB3/Pages/StatusMap.razor @@ -14,7 +14,7 @@ { currIdx++;
- +
@if (currIdx >= maxBlocks) { diff --git a/MP-TAB3/Pages/StatusMap.razor.cs b/MP-TAB3/Pages/StatusMap.razor.cs index f2b75bdb..9085e713 100644 --- a/MP-TAB3/Pages/StatusMap.razor.cs +++ b/MP-TAB3/Pages/StatusMap.razor.cs @@ -19,6 +19,7 @@ namespace MP_TAB3.Pages { ListMSE = null; TDFeeder.dataPipe.EA_NewMessage -= DataPipe_EA_NewMessage; + TDFeeder.blinkPipe.EA_NewMessage -= BlinkPipe_EA_NewMessage; GC.Collect(); } @@ -138,6 +139,7 @@ namespace MP_TAB3.Pages ListMSE = null; setDefaults(); TDFeeder.dataPipe.EA_NewMessage += DataPipe_EA_NewMessage; + TDFeeder.blinkPipe.EA_NewMessage += BlinkPipe_EA_NewMessage; Random rnd = new Random(); await Task.Delay(rnd.Next(1, 50)); SetupConf(); @@ -162,8 +164,7 @@ namespace MP_TAB3.Pages #region Private Fields - private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); - + private static Logger Log = LogManager.GetCurrentClassLogger(); private bool doBlink = false; #endregion Private Fields @@ -180,6 +181,34 @@ namespace MP_TAB3.Pages #region Private Methods + /// + /// Ricezione evento blink + /// + /// + /// + private void BlinkPipe_EA_NewMessage(object? sender, EventArgs e) + { + PubSubEventArgs currArgs = (PubSubEventArgs)e; + // conversione on-the-fly List --> allarmi + if (!string.IsNullOrEmpty(currArgs.newMessage)) + { + try + { + var dataRaw = JsonConvert.DeserializeObject(currArgs.newMessage); + if (dataRaw != null) + { + bool.TryParse($"{dataRaw}", out doBlink); + } + } + catch + { } + InvokeAsync(() => + { + StateHasChanged(); + }); + } + } + /// /// Ricevuto nuovi dati da mostrare! /// diff --git a/MP-TAB3/Resources/ChangeLog.html b/MP-TAB3/Resources/ChangeLog.html index 1df8a689..c547cec1 100644 --- a/MP-TAB3/Resources/ChangeLog.html +++ b/MP-TAB3/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOSPEC -

Versione: 6.16.2402.2620

+

Versione: 6.16.2402.2708


Note di rilascio:
  • diff --git a/MP-TAB3/Resources/VersNum.txt b/MP-TAB3/Resources/VersNum.txt index 9fdb0fad..d9bc2f65 100644 --- a/MP-TAB3/Resources/VersNum.txt +++ b/MP-TAB3/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2402.2620 +6.16.2402.2708 diff --git a/MP-TAB3/Resources/manifest.xml b/MP-TAB3/Resources/manifest.xml index ccf0e254..2fbe9898 100644 --- a/MP-TAB3/Resources/manifest.xml +++ b/MP-TAB3/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2402.2620 + 6.16.2402.2708 https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/MP-TAB3.zip https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/ChangeLog.html false diff --git a/MP-TAB3/appsettings.json b/MP-TAB3/appsettings.json index 96acfc3c..22547405 100644 --- a/MP-TAB3/appsettings.json +++ b/MP-TAB3/appsettings.json @@ -17,7 +17,7 @@ "MP.Mag": "Server=SQL2016DEV;Database=MoonPro_MAG; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=MP.TAB3;" }, "OptConf": { - "msRefresh": "1100", + "msRefresh": "1500", "BaseAddr": "https://localhost:7295/MP/TAB3/", "BaseUrl": "/MP/TAB3", "ImgBasePath": "https://iis01.egalware.com/MP/images/macchine/small/", diff --git a/MP.Data/Services/MonDataFeeder.cs b/MP.Data/Services/MonDataFeeder.cs index aefec545..4f6fe9ec 100644 --- a/MP.Data/Services/MonDataFeeder.cs +++ b/MP.Data/Services/MonDataFeeder.cs @@ -40,16 +40,6 @@ namespace MP.Data.Services stopTimers(); } -#if false - /// - /// Richiesta attivazione --> sposto avanti 1 minuto il periodo limite x fast running - /// - public void doActivate() - { - fastLimit = DateTime.Now.AddMinutes(1); - } -#endif - /// /// Impostazione forzata timer refresh /// @@ -85,15 +75,7 @@ namespace MP.Data.Services private static System.Timers.Timer fastTimer = new System.Timers.Timer(4000); - private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); - -#if false - /// - /// Limite in formato data-ora per inviare dati rapidamente (incrementato come now + 1 min - /// ad ogni chiamata client) - /// - private DateTime fastLimit = DateTime.Now; -#endif + private static Logger Log = LogManager.GetCurrentClassLogger(); private int fastRefreshMs = 1000; diff --git a/MP.Data/Services/StatusData.cs b/MP.Data/Services/StatusData.cs index 067fc076..87a3b34a 100644 --- a/MP.Data/Services/StatusData.cs +++ b/MP.Data/Services/StatusData.cs @@ -307,7 +307,7 @@ namespace MP.Data.Services /// /// Cache brevissima durata /// - private TimeSpan UltraFastCache = TimeSpan.FromMilliseconds(1100); + private TimeSpan UltraFastCache = TimeSpan.FromMilliseconds(1500); /// /// Cache lunga durata diff --git a/MP.Data/Services/TabDataFeeder.cs b/MP.Data/Services/TabDataFeeder.cs index 5d47434a..6199f72d 100644 --- a/MP.Data/Services/TabDataFeeder.cs +++ b/MP.Data/Services/TabDataFeeder.cs @@ -16,9 +16,7 @@ namespace MP.Data.Services // setup canali pub/sub dataPipe = new MessagePipe(redisConn, Constants.TAB_ACT_MSE_DATA_KEY, false); -#if false blinkPipe = new MessagePipe(redisConn, Constants.TAB_ACT_BLINK_KEY, false); -#endif // avvio timers... startTimers(); @@ -28,9 +26,7 @@ namespace MP.Data.Services #region Public Properties -#if false public MessagePipe blinkPipe { get; set; } = null!; -#endif public MessagePipe dataPipe { get; set; } = null!; @@ -93,10 +89,26 @@ namespace MP.Data.Services { var pUpd = Task.Run(async () => { - var newData = await MseGetAll(); - // invio tramite la pipe... - dataPipe.sendMessage(JsonConvert.SerializeObject(newData)); - Log.Debug("Elapsed Fast Timer reload"); + // secondi pari --> blink, secondi dispari --> ricarica + DateTime adesso = DateTime.Now; + int resto = 0; + Math.DivRem(adesso.Second, 2, out resto); + if (resto == 0) + { + // invio in channel blink il segnale + blinkPipe.sendMessage("true"); + Log.Debug("Elapsed Fast Timer Blink"); + } + else + { + // invio in channel blink segnale false + blinkPipe.sendMessage("false"); + // rileggo dati... + var newData = await MseGetAll(); + // invio tramite la pipe... + dataPipe.sendMessage(JsonConvert.SerializeObject(newData)); + Log.Debug("Elapsed Fast Timer reload"); + } }); pUpd.Wait(); } diff --git a/MP.Mon/MP.Mon.csproj b/MP.Mon/MP.Mon.csproj index 140e79bc..67746464 100644 --- a/MP.Mon/MP.Mon.csproj +++ b/MP.Mon/MP.Mon.csproj @@ -4,7 +4,7 @@ net6.0 enable enable - 6.16.2402.2615 + 6.16.2402.2708 diff --git a/MP.Mon/Resources/ChangeLog.html b/MP.Mon/Resources/ChangeLog.html index 4b52071c..74db3fb7 100644 --- a/MP.Mon/Resources/ChangeLog.html +++ b/MP.Mon/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MON MAPO -

    Versione: 6.16.2402.2615

    +

    Versione: 6.16.2402.2708


    Note di rilascio:
    • diff --git a/MP.Mon/Resources/VersNum.txt b/MP.Mon/Resources/VersNum.txt index 5d451f5d..d9bc2f65 100644 --- a/MP.Mon/Resources/VersNum.txt +++ b/MP.Mon/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2402.2615 +6.16.2402.2708 diff --git a/MP.Mon/Resources/manifest.xml b/MP.Mon/Resources/manifest.xml index d81ba4c9..b20f9520 100644 --- a/MP.Mon/Resources/manifest.xml +++ b/MP.Mon/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2402.2615 + 6.16.2402.2708 https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/MP.Mon.zip https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/ChangeLog.html false