Fix /whois not showing days spent, use time as a property to retrieve time spent, it was silly to create a timer to do that..

This commit is contained in:
UnknownShadow200 2016-05-20 23:49:58 +10:00
parent 83a1ba8dc4
commit 6b55ca1399
3 changed files with 8 additions and 13 deletions

View File

@ -93,7 +93,7 @@ namespace MCGalaxy.Commands {
public static string Shorten(TimeSpan value, bool seconds = false) { public static string Shorten(TimeSpan value, bool seconds = false) {
string time = ""; string time = "";
if (value.Days >= 1) time = value.Days + "d " + value.Hours + "h " + value.Minutes + "m"; if (value.Days >= 1) time = value.Days + "d " + value.Hours + "h " + value.Minutes + "m";
if (value.Hours >= 1) time = value.Hours + "h " + value.Minutes + "m"; else if (value.Hours >= 1) time = value.Hours + "h " + value.Minutes + "m";
else time = value.Minutes + "m"; else time = value.Minutes + "m";
if (seconds) time += " " + value.Seconds + "s"; if (seconds) time += " " + value.Seconds + "s";
return time; return time;

View File

@ -23,9 +23,6 @@ namespace MCGalaxy {
public sealed partial class Player : IDisposable { public sealed partial class Player : IDisposable {
void InitTimers() { void InitTimers() {
timespent.Elapsed += TimeSpentElapsed;
timespent.Start();
loginTimer.Elapsed += LoginTimerElapsed; loginTimer.Elapsed += LoginTimerElapsed;
loginTimer.Start(); loginTimer.Start();
extraTimer.Elapsed += ExtraTimerElapsed; extraTimer.Elapsed += ExtraTimerElapsed;
@ -37,11 +34,6 @@ namespace MCGalaxy {
if (Server.afkminutes > 0) if (Server.afkminutes > 0)
afkTimer.Start(); afkTimer.Start();
} }
static readonly TimeSpan delta = TimeSpan.FromSeconds(1);
void TimeSpentElapsed(object sender, ElapsedEventArgs e) {
time = time.Add(delta);
}
void LoginTimerElapsed(object sender, ElapsedEventArgs e) { void LoginTimerElapsed(object sender, ElapsedEventArgs e) {
if ( !Loading ) { if ( !Loading ) {

View File

@ -71,7 +71,6 @@ namespace MCGalaxy {
internal string truename, skinName; internal string truename, skinName;
internal bool dontmindme = false; internal bool dontmindme = false;
public Socket socket; public Socket socket;
System.Timers.Timer timespent = new System.Timers.Timer(1000);
System.Timers.Timer loginTimer = new System.Timers.Timer(1000); System.Timers.Timer loginTimer = new System.Timers.Timer(1000);
System.Timers.Timer pingTimer = new System.Timers.Timer(2000); System.Timers.Timer pingTimer = new System.Timers.Timer(2000);
System.Timers.Timer extraTimer = new System.Timers.Timer(22000); System.Timers.Timer extraTimer = new System.Timers.Timer(22000);
@ -87,7 +86,13 @@ namespace MCGalaxy {
byte[] buffer = new byte[0]; byte[] buffer = new byte[0];
byte[] tempbuffer = new byte[0xFF]; byte[] tempbuffer = new byte[0xFF];
public bool disconnected = false; public bool disconnected = false;
public TimeSpan time;
DateTime startTime;
public TimeSpan time {
get { return DateTime.UtcNow - startTime; }
set { startTime = DateTime.UtcNow.Add(-value); }
}
public string name; public string name;
public string DisplayName; public string DisplayName;
public string realName; public string realName;
@ -563,8 +568,6 @@ namespace MCGalaxy {
afkTimer.Dispose(); afkTimer.Dispose();
muteTimer.Stop(); muteTimer.Stop();
muteTimer.Dispose(); muteTimer.Dispose();
timespent.Stop();
timespent.Dispose();
afkCount = 0; afkCount = 0;
afkStart = DateTime.Now; afkStart = DateTime.Now;
IsAfk = false; IsAfk = false;