Esempio n. 1
0
 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);
         }
     }
 }
Esempio n. 2
0
 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;
             }
         }
     }
 }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
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;
                }
            }
        }
Esempio n. 6
0
 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);
         }
     }
 }
Esempio n. 7
0
 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);
     }
 }
Esempio n. 8
0
 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);
         }
     }
 }
Esempio n. 9
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);
 }