12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using System;
- using System.Runtime.Serialization;
- using System.Runtime.Serialization.Formatters.Binary;
- using System.IO;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace KairoEngine.Core
- {
- public static class Utilities
- {
- public static string RandomString(int length = 8)
- {
- var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
- var stringChars = new char[length];
- var random = new System.Random();
- for (int i = 0; i < stringChars.Length; i++)
- {
- stringChars[i] = chars[random.Next(chars.Length)];
- }
- var finalString = new string(stringChars);
- return finalString;
- }
- public static string TimeToString(float time)
- {
- string t = "";
- int minutes = (int)time / 60;
- int hours = (int)minutes / 60;
- minutes = (int)minutes % 60;
- int seconds = (int)time % 60;
- if(hours > 1) t += hours.ToString() + " hours ";
- else if(hours == 1) t += hours.ToString() + " hour ";
- if(minutes > 1) t += minutes.ToString() + " minutes ";
- else if(minutes == 1) t += minutes.ToString() + " minute ";
- if(seconds == 1) t += seconds.ToString() + " second";
- else t += seconds.ToString() + " seconds";
- return t;
- }
- public static float Round(float value, int digits = 2)
- {
- float mult = Mathf.Pow(10.0f, (float)digits);
- return Mathf.Round(value * mult) / mult;
- }
- public static Stream Serialize(System.Object source)
- {
- IFormatter formater = new BinaryFormatter();
- Stream stream = new MemoryStream();
- formater.Serialize(stream, source);
- return stream;
- }
- public static T Deserialze<T>(Stream stream)
- {
- IFormatter formatter = new BinaryFormatter();
- stream.Position = 0;
- return (T)formatter.Deserialize(stream);
- }
- public static T Clone<T>(System.Object source)
- {
- return Deserialze<T>(Serialize(source));
- }
- }
- }
|