summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2016-11-05 16:51:06 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2016-11-05 16:51:06 -0400
commite2af64c7a9a27432d018c4e30934630e983e764f (patch)
tree3c3b3de92bc155964172ba2ca523ba0fdddda693 /src/StardewModdingAPI
parente78c136f52f4dbcbca3809fe9a7c0942c0dadc15 (diff)
downloadSMAPI-e2af64c7a9a27432d018c4e30934630e983e764f.tar.gz
SMAPI-e2af64c7a9a27432d018c4e30934630e983e764f.tar.bz2
SMAPI-e2af64c7a9a27432d018c4e30934630e983e764f.zip
mark extensions deprecated (#165)
Diffstat (limited to 'src/StardewModdingAPI')
-rw-r--r--src/StardewModdingAPI/Extensions.cs40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/StardewModdingAPI/Extensions.cs b/src/StardewModdingAPI/Extensions.cs
index 27278416..d76523cd 100644
--- a/src/StardewModdingAPI/Extensions.cs
+++ b/src/StardewModdingAPI/Extensions.cs
@@ -12,10 +12,24 @@ namespace StardewModdingAPI
public static class Extensions
{
/*********
+ ** Properties
+ *********/
+ /// <summary>The backing field for <see cref="Random"/>.</summary>
+ private static readonly Random _random = new Random();
+
+
+ /*********
** Accessors
*********/
/// <summary>A pseudo-random number generator.</summary>
- public static Random Random = new Random();
+ public static Random Random
+ {
+ get
+ {
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.Random)}", "1.0");
+ return Extensions._random;
+ }
+ }
/*********
@@ -25,12 +39,16 @@ namespace StardewModdingAPI
/// <param name="key">The key to check.</param>
public static bool IsKeyDown(this Keys key)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.IsKeyDown)}", "1.0");
+
return Keyboard.GetState().IsKeyDown(key);
}
/// <summary>Get a random color.</summary>
public static Color RandomColour()
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.RandomColour)}", "1.0");
+
return new Color(Extensions.Random.Next(0, 255), Extensions.Random.Next(0, 255), Extensions.Random.Next(0, 255));
}
@@ -40,6 +58,7 @@ namespace StardewModdingAPI
[Obsolete("The usage of ToSingular has changed. Please update your call to use ToSingular<T>")]
public static string ToSingular(this IEnumerable ienum, string split = ", ")
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.ToSingular)}", "1.0");
Log.Error("The usage of ToSingular has changed. Please update your call to use ToSingular<T>");
return "";
}
@@ -50,6 +69,8 @@ namespace StardewModdingAPI
/// <param name="split">The value separator.</param>
public static string ToSingular<T>(this IEnumerable<T> ienum, string split = ", ")
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.ToSingular)}", "1.0");
+
//Apparently Keys[] won't split normally :l
if (typeof(T) == typeof(Keys))
{
@@ -62,6 +83,8 @@ namespace StardewModdingAPI
/// <param name="o">The value.</param>
public static bool IsInt32(this object o)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.IsInt32)}", "1.0");
+
int i;
return int.TryParse(o.ToString(), out i);
}
@@ -70,6 +93,8 @@ namespace StardewModdingAPI
/// <param name="o">The value.</param>
public static int AsInt32(this object o)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.AsInt32)}", "1.0");
+
return int.Parse(o.ToString());
}
@@ -77,6 +102,8 @@ namespace StardewModdingAPI
/// <param name="o">The value.</param>
public static bool IsBool(this object o)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.IsBool)}", "1.0");
+
bool b;
return bool.TryParse(o.ToString(), out b);
}
@@ -85,6 +112,8 @@ namespace StardewModdingAPI
/// <param name="o">The value.</param>
public static bool AsBool(this object o)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.AsBool)}", "1.0");
+
return bool.Parse(o.ToString());
}
@@ -92,6 +121,8 @@ namespace StardewModdingAPI
/// <param name="enumerable">The values to hash.</param>
public static int GetHash(this IEnumerable enumerable)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.GetHash)}", "1.0");
+
var hash = 0;
foreach (var v in enumerable)
hash ^= v.GetHashCode();
@@ -103,6 +134,8 @@ namespace StardewModdingAPI
/// <param name="o">The value.</param>
public static T Cast<T>(this object o) where T : class
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.Cast)}", "1.0");
+
return o as T;
}
@@ -110,6 +143,7 @@ namespace StardewModdingAPI
/// <param name="o">The object to scan.</param>
public static FieldInfo[] GetPrivateFields(this object o)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.GetPrivateFields)}", "1.0");
return o.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static);
}
@@ -118,6 +152,7 @@ namespace StardewModdingAPI
/// <param name="name">The name of the field to find.</param>
public static FieldInfo GetBaseFieldInfo(this Type t, string name)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.GetBaseFieldValue)}", "1.0");
return t.GetField(name, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static);
}
@@ -127,6 +162,7 @@ namespace StardewModdingAPI
/// <param name="name">The name of the field to find.</param>
public static T GetBaseFieldValue<T>(this Type t, object o, string name) where T : class
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.GetBaseFieldValue)}", "1.0");
return t.GetBaseFieldInfo(name).GetValue(o) as T;
}
@@ -137,6 +173,7 @@ namespace StardewModdingAPI
/// <param name="newValue">The value to set.</param>
public static void SetBaseFieldValue<T>(this Type t, object o, string name, object newValue) where T : class
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.SetBaseFieldValue)}", "1.0");
t.GetBaseFieldInfo(name).SetValue(o, newValue as T);
}
@@ -144,6 +181,7 @@ namespace StardewModdingAPI
/// <param name="st">The string to copy.</param>
public static string RemoveNumerics(this string st)
{
+ Program.DeprecationManager.Warn($"{nameof(Extensions)}.{nameof(Extensions.RemoveNumerics)}", "1.0");
var s = st;
foreach (var c in s)
{