private static ValData Calculate(Calc.Formula1 numerical, object a, object b) { switch (a) { case int num3: int num1 = (int)ValData.Cast(b, typeof(int)); switch (numerical) { case Calc.Formula1.PlusEqual: return(new ValData((object)(num3 + num1))); case Calc.Formula1.MinusEqual: return(new ValData((object)(num3 - num1))); case Calc.Formula1.AstaEqual: return(new ValData((object)(num3 * num1))); case Calc.Formula1.SlashEqual: return(new ValData((object)(num3 / num1))); } break; case float num3: float num2 = (float)ValData.Cast(b, typeof(float)); switch (numerical) { case Calc.Formula1.PlusEqual: return(new ValData((object)(float)((double)num3 + (double)num2))); case Calc.Formula1.MinusEqual: return(new ValData((object)(float)((double)num3 - (double)num2))); case Calc.Formula1.AstaEqual: return(new ValData((object)(float)((double)num3 * (double)num2))); case Calc.Formula1.SlashEqual: return(new ValData((object)(float)((double)num3 / (double)num2))); } break; case bool flag2: bool flag1 = (bool)ValData.Cast(b, typeof(bool)); switch (numerical) { case Calc.Formula1.PlusEqual: return(new ValData((object)((!flag2 ? 0 : 1) + (!flag1 ? 0 : 1) > 0))); case Calc.Formula1.MinusEqual: return(new ValData((object)((!flag2 ? 0 : 1) - (!flag1 ? 0 : 1) > 0))); case Calc.Formula1.AstaEqual: return(new ValData((object)(flag2 | flag1))); case Calc.Formula1.SlashEqual: return(new ValData((object)(flag2 & flag1))); } break; default: string str = a.ToString(); string oldValue = b.ToString(); if (numerical == Calc.Formula1.PlusEqual) { return(new ValData((object)(str + oldValue))); } if (numerical == Calc.Formula1.MinusEqual) { return(new ValData((object)str.Replace(oldValue, string.Empty))); } break; } Debug.LogError((object)(numerical.ToString() + a + b)); return(new ValData((object)null)); }
public static ValData operator -(ValData a, ValData b) { return(ValData.Calculate(Calc.Formula1.MinusEqual, a.o, b.o)); }
public static ValData operator /(ValData a, ValData b) { return(ValData.Calculate(Calc.Formula1.SlashEqual, a.o, b.o)); }
public static bool operator >=(ValData a, ValData b) { return(ValData.IF(Utils.Comparer.Type.Over, a.o, b.o)); }