2016-03-04 22:05:36 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace StardewModdingAPI.Events
|
|
|
|
|
{
|
|
|
|
|
public static class GameEvents
|
|
|
|
|
{
|
|
|
|
|
public static event EventHandler GameLoaded = delegate { };
|
|
|
|
|
public static event EventHandler Initialize = delegate { };
|
|
|
|
|
public static event EventHandler LoadContent = delegate { };
|
2016-03-21 08:52:26 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every update (1/60 of a second)
|
|
|
|
|
/// </summary>
|
2016-03-04 22:05:36 +08:00
|
|
|
|
public static event EventHandler UpdateTick = delegate { };
|
2016-03-21 08:52:26 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every other update (1/30 of a second)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static event EventHandler SecondUpdateTick = delegate { };
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every fourth update (1/15 of a second)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static event EventHandler FourthUpdateTick = delegate { };
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every eighth update (roughly 1/8 of a second)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static event EventHandler EighthUpdateTick = delegate { };
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every fifthteenth update (1/4 of a second)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static event EventHandler QuarterSecondTick = delegate { };
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every thirtieth update (1/2 of a second)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static event EventHandler HalfSecondTick = delegate { };
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fires every sixtieth update (a second)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static event EventHandler OneSecondTick = delegate { };
|
2016-03-04 22:05:36 +08:00
|
|
|
|
|
|
|
|
|
public static void InvokeGameLoaded()
|
|
|
|
|
{
|
|
|
|
|
GameLoaded.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeInitialize()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Initialize.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
2016-03-05 14:32:04 +08:00
|
|
|
|
Log.Error("An exception occured in XNA Initialize: " + ex.ToString());
|
2016-03-04 22:05:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeLoadContent()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
LoadContent.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
2016-03-05 14:32:04 +08:00
|
|
|
|
Log.Error("An exception occured in XNA LoadContent: " + ex.ToString());
|
2016-03-04 22:05:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeUpdateTick()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
UpdateTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
2016-03-05 14:32:04 +08:00
|
|
|
|
Log.Error("An exception occured in XNA UpdateTick: " + ex.ToString());
|
2016-03-04 22:05:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2016-03-21 08:52:26 +08:00
|
|
|
|
|
|
|
|
|
public static void InvokeSecondUpdateTick()
|
|
|
|
|
{
|
|
|
|
|
SecondUpdateTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeFourthUpdateTick()
|
|
|
|
|
{
|
|
|
|
|
FourthUpdateTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeEighthUpdateTick()
|
|
|
|
|
{
|
|
|
|
|
EighthUpdateTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeQuarterSecondTick()
|
|
|
|
|
{
|
|
|
|
|
QuarterSecondTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeHalfSecondTick()
|
|
|
|
|
{
|
|
|
|
|
HalfSecondTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InvokeOneSecondTick()
|
|
|
|
|
{
|
|
|
|
|
OneSecondTick.Invoke(null, EventArgs.Empty);
|
|
|
|
|
}
|
2016-03-04 22:05:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|