Files
OpenRA/OpenRA.Game/Server/Exts.cs
Caleb Anderson 7bdf6a953f New slider Range parameter. Palette modifications. Potential crash fix. Clamp function.
Range parameter added to slider. Supports returning a range of values
rather than just 0-1. Allows you to not have to post process the offset.
Modified palette selector to not have full range, which was causing
blown out units.
Introduced exension method Clamp<T>(min, max)
Fixed crash deserializing out of bound color value using above
extension.
2010-10-05 17:25:25 +13:00

48 lines
1.1 KiB
C#
Executable File

#region Copyright & License Information
/*
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see LICENSE.
*/
#endregion
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System;
namespace OpenRA.Server
{
static class Exts
{
public static void Write( this Stream s, byte[] data )
{
s.Write( data, 0, data.Length );
}
public static byte[] Read( this Stream s, int len )
{
var data = new byte[ len ];
s.Read( data, 0, len );
return data;
}
public static IEnumerable<T> Except<T>( this IEnumerable<T> ts, T t )
{
return ts.Except( new[] { t } );
}
public static T Clamp<T>(this T val, T min, T max) where T : IComparable<T>
{
if (val.CompareTo(min) < 0)
return min;
else if (val.CompareTo(max) > 0)
return max;
else
return val;
}
}
}