コード例 #1
0
 public void Execute(ref RemoteParamData paramsValue, ProcessCallInfo callInfo)
 {
     _script.Process.ProcessCallInfo(callInfo);
     try
     {
         RemoteParam[] localParamsValue = new RemoteParam[paramsValue.Params == null ? 0 : paramsValue.Params.Length];
         for (int index = 0; index < (paramsValue.Params == null ? 0 : paramsValue.Params.Length); index++)
         {
             localParamsValue[index].Name     = paramsValue.Params[index].Name;
             localParamsValue[index].TypeName = paramsValue.Params[index].TypeName;
             localParamsValue[index].Modifier = paramsValue.Params[index].Modifier;
         }
         if (IsExpression())
         {
             PlanDescriptor planDescriptor;
             IRemoteServerExpressionPlan plan = PrepareExpression(localParamsValue, out planDescriptor);
             try
             {
                 ProgramStatistics programStatistics;
                 plan.Close(plan.Open(ref paramsValue, out programStatistics, _script.Process.EmptyCallInfo()), _script.Process.EmptyCallInfo());
                 // TODO: Provide a mechanism for determining whether or not an expression should be evaluated or opened through the remoting CLI.
             }
             finally
             {
                 UnprepareExpression(plan);
             }
         }
         else
         {
             PlanDescriptor             planDescriptor;
             IRemoteServerStatementPlan plan = PrepareStatement(localParamsValue, out planDescriptor);
             try
             {
                 ProgramStatistics programStatistics;
                 plan.Execute(ref paramsValue, out programStatistics, callInfo);
             }
             finally
             {
                 UnprepareStatement(plan);
             }
         }
     }
     catch (Exception E)
     {
         throw WrapException(E);
     }
 }
コード例 #2
0
ファイル: CameraCtrl.cs プロジェクト: yunxiacomeon/MiaokitJS
    /// 立即设置新的摄像机控制模式。
    public void Jump(CTRL_MODE eMode, object pParam_)
    {
        m_eCtrlMode = eMode;

        if (CTRL_MODE.REMOTE == eMode)
        {
            RemoteParam pParam = (RemoteParam)pParam_;
            m_nLng      = pParam.m_nLng;
            m_nLat      = pParam.m_nLat;
            m_nDistance = pParam.m_nHeight;
            m_nPitch    = 90.0f;
            m_nYaw      = 0.0f;
            m_mTarget   = Vector3.zero;
        }
        else if (CTRL_MODE.EAGLE == eMode)
        {
            EagleParam pParam = (EagleParam)pParam_;
            m_nLng      = pParam.m_nLng;
            m_nLat      = pParam.m_nLat;
            m_nDistance = pParam.m_nDistance;
            m_nPitch    = pParam.m_nPitch;
            m_nYaw      = pParam.m_nYaw;
            m_mTarget   = Vector3.zero;
        }
        else if (CTRL_MODE.PANORAMA == eMode)
        {
            PanoramaParam pParam = (PanoramaParam)pParam_;
            m_nLng      = pParam.m_nLng;
            m_nLat      = pParam.m_nLat;
            m_nDistance = pParam.m_nDistance;
            m_nPitch    = pParam.m_nPitch;
            m_nYaw      = pParam.m_nYaw;
            m_mTarget   = pParam.m_mTarget;
        }
        else if (CTRL_MODE.WANDER == eMode)
        {
            WanderParam pParam = (WanderParam)pParam_;
            m_nLng      = pParam.m_nLng;
            m_nLat      = pParam.m_nLat;
            m_nDistance = 0.0f;
            m_nPitch    = pParam.m_nPitch;
            m_nYaw      = pParam.m_nYaw;
            //m_mTarget = pParam.m_mTarget;
        }
    }
コード例 #3
0
        // Parameter Translation
        public RemoteParam[] DataParamsToRemoteParams(DataParams paramsValue)
        {
            int paramCount = paramsValue != null ? paramsValue.Count : 0;

            if (paramCount > 0)
            {
                RemoteParam[] localParamsValue = new RemoteParam[paramCount];

                for (int index = 0; index < paramCount; index++)
                {
                    localParamsValue[index].Name     = paramsValue[index].Name;
                    localParamsValue[index].TypeName = paramsValue[index].DataType.Name;
                    localParamsValue[index].Modifier = ModifierToRemoteModifier(paramsValue[index].Modifier);
                }
                return(localParamsValue);
            }
            else
            {
                return(null);
            }
        }
コード例 #4
0
        public bool AddPlug5Configure(string id, string AreaIds, string ExcludeAreaIds, int priority, string RemoteSections)
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            var         Sections     = jss.Deserialize <List <RemoteSection> >(RemoteSections);
            var         areaids      = AreaIds.Split(new char[] { ',', ',' });
            var         eareaids     = ExcludeAreaIds.Split(new char[] { ',', ',' });
            RemoteParam param        = new RemoteParam
            {
                AreaIds        = areaids.ToList().Select(x => int.Parse(x)).ToList(),
                ExcludeAreaIds = eareaids.ToList().Select(x => int.Parse(x)).ToList(),
                Priority       = priority,
                RemoteSections = Sections
            };

            var plug = AdminCarriageClient.Instance.GetPlugConfigure(5);


            var ret = jss.Deserialize <Myzj.OPC.UI.Model.AdminCarriage._RemoteParams>(plug);

            ret.RemoteParams.Add(param);
            return(AdminCarriageClient.Instance.UpdatePlugConfigure(5, jss.Serialize(ret)));
        }
コード例 #5
0
        public ActionResult Detail5Operation(int rowindex = -1)
        {
            var plug = AdminCarriageClient.Instance.GetPlugConfigure(5);

            JavaScriptSerializer jss = new JavaScriptSerializer();
            var ret = jss.Deserialize <_RemoteParams>(plug);

            RemoteParam param = new RemoteParam();

            if (rowindex >= 0)
            {
                param = ret.RemoteParams[rowindex];
            }
            else
            {
                param.Priority       = 1;
                param.AreaIds        = new List <int>();
                param.ExcludeAreaIds = new List <int>();
                param.RemoteSections = new List <RemoteSection>();
            }

            ViewBag.rowindex = rowindex;
            return(View(param));
        }