private void TryUpdateValue() { if (1 == m_ParamNum && m_X.HaveValue) { m_HaveValue = true; object objX = m_X.Value; float x = ValueHelper.CastTo <float>(objX); m_Value = (float)Math.Exp(x); } else if (2 == m_ParamNum && m_X.HaveValue && m_Y.HaveValue) { m_HaveValue = true; object objX = m_X.Value; object objY = m_Y.Value; if (objX is int && objY is int) { int x = ValueHelper.CastTo <int>(objX); int y = ValueHelper.CastTo <int>(objY); m_Value = (int)Math.Pow(x, y); } else { float x = ValueHelper.CastTo <float>(objX); float y = ValueHelper.CastTo <float>(objY); m_Value = (float)Math.Pow(x, y); } } }
private void TryUpdateValue() { if (m_X.HaveValue && m_Y.HaveValue) { m_HaveValue = true; object objX = m_X.Value; object objY = m_Y.Value; if (objX is string || objY is string) { string x = ValueHelper.CastTo <string>(objX); string y = ValueHelper.CastTo <string>(objY); m_Value = x + y; } else { if (objX is int && objY is int) { int x = ValueHelper.CastTo <int>(objX); int y = ValueHelper.CastTo <int>(objY); m_Value = x + y; } else { float x = ValueHelper.CastTo <float>(objX); float y = ValueHelper.CastTo <float>(objY); m_Value = x + y; } } } }
private void TryUpdateValue() { if (m_X.HaveValue) { m_HaveValue = true; object objX = m_X.Value; float x = ValueHelper.CastTo <float>(objX); m_Value = (float)Math.Cosh(x); } }
private void TryUpdateValue() { if (m_X.HaveValue && m_Y.HaveValue) { m_HaveValue = true; object objX = m_X.Value; object objY = m_Y.Value; float x = ValueHelper.CastTo <float>(objX); float y = ValueHelper.CastTo <float>(objY); m_Value = (x > y ? 1 : 0); } }
private void TryUpdateValue() { bool isInt = true; bool canCalc = true; for (int i = 0; i < m_List.Count; i++) { if (m_List[i].HaveValue) { if (!(m_List[i].Value is int)) { isInt = false; } } else { canCalc = false; break; } } if (canCalc) { m_HaveValue = true; if (isInt) { int maxV = int.MinValue; for (int i = 0; i < m_List.Count; i++) { int v = ValueHelper.CastTo <int>(m_List[i].Value); if (maxV < v) { maxV = v; } } m_Value = maxV; } else { float maxV = float.MinValue; for (int i = 0; i < m_List.Count; i++) { float v = ValueHelper.CastTo <float>(m_List[i].Value); if (maxV < v) { maxV = v; } } m_Value = maxV; } } }
private void TryUpdateValue() { if (m_X.HaveValue) { m_HaveValue = true; object objX = m_X.Value; if (objX is int) { int x = ValueHelper.CastTo <int>(objX); m_Value = x; } else { float x = ValueHelper.CastTo <float>(objX); m_Value = (int)Math.Round(x); } } }
private void TryUpdateValue() { if (1 == m_ParamNum && m_X.HaveValue) { m_HaveValue = true; object objX = m_X.Value; float x = ValueHelper.CastTo <float>(objX); m_Value = (float)Math.Log(x); } else if (2 == m_ParamNum && m_X.HaveValue && m_Y.HaveValue) { m_HaveValue = true; object objX = m_X.Value; object objY = m_Y.Value; float x = ValueHelper.CastTo <float>(objX); float y = ValueHelper.CastTo <float>(objY); m_Value = (float)Math.Log(x, y); } }
private void TryUpdateValue() { if (m_X.HaveValue && m_Y.HaveValue) { m_HaveValue = true; object objX = m_X.Value; object objY = m_Y.Value; if (objX is string || objY is string) { string x = ValueHelper.CastTo <string>(objX); string y = ValueHelper.CastTo <string>(objY); m_Value = (x != y ? 1 : 0); } else { int x = (int)Convert.ChangeType(objX, typeof(int)); int y = (int)Convert.ChangeType(objY, typeof(int)); m_Value = (x != y ? 1 : 0); } } }
protected override ExecResult ExecCommand(IInstance instance, long delta) { if (m_VarName.StartsWith("@@")) { if (null != instance.GlobalVariables) { if (instance.GlobalVariables.ContainsKey(m_VarName)) { object oval = instance.GlobalVariables[m_VarName]; if (oval is int) { int ov = ValueHelper.CastTo <int>(oval); if (m_ParamNum > 1 && m_Value.HaveValue) { int v = ValueHelper.CastTo <int>(m_Value.Value); ov -= v; instance.GlobalVariables[m_VarName] = ov; } else { --ov; instance.GlobalVariables[m_VarName] = ov; } } else { float ov = ValueHelper.CastTo <float>(oval); if (m_ParamNum > 1 && m_Value.HaveValue) { float v = ValueHelper.CastTo <float>(m_Value.Value); ov -= v; instance.GlobalVariables[m_VarName] = ov; } else { --ov; instance.GlobalVariables[m_VarName] = ov; } } } } } else if (m_VarName.StartsWith("@")) { if (instance.LocalVariables.ContainsKey(m_VarName)) { object oval = instance.LocalVariables[m_VarName]; if (oval is int) { int ov = ValueHelper.CastTo <int>(oval); if (m_ParamNum > 1 && m_Value.HaveValue) { int v = ValueHelper.CastTo <int>(m_Value.Value); ov -= v; instance.LocalVariables[m_VarName] = ov; } else { --ov; instance.LocalVariables[m_VarName] = ov; } } else { float ov = ValueHelper.CastTo <float>(oval); if (m_ParamNum > 1 && m_Value.HaveValue) { float v = ValueHelper.CastTo <float>(m_Value.Value); ov -= v; instance.LocalVariables[m_VarName] = ov; } else { --ov; instance.LocalVariables[m_VarName] = ov; } } } } return(ExecResult.Finished); }