ReStocked/Source/Restock/PartModuleExtensions.cs
blowfish a453ed89eb Unify logging
And add helpful tags to everything
2019-03-01 00:06:59 -08:00

17 lines
908 B
C#

using System;
using UnityEngine;
namespace Restock
{
public static class PartModuleExtensions
{
public static void Log(this PartModule module, string message) => Debug.Log(FormatMessage(module, message));
public static void LogWarning(this PartModule module, string message) => Debug.LogWarning(FormatMessage(module, message));
public static void LogError(this PartModule module, string message) => Debug.LogError(FormatMessage(module, message));
public static void LogException(this PartModule module, string message, Exception exception) => Debug.LogException(new Exception(FormatMessage(module, message), exception));
private static string FormatMessage(PartModule module, string message) => $"[{GetPartName(module.part)} {module.GetType()}] {message}";
private static string GetPartName(Part part) => part.partInfo?.name ?? part.name;
}
}