예제 #1
0
        void axFlash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(e.request);

            string commandName = xmlDocument.FirstChild.Attributes[0].Value;

            List <string> args  = new List <string>();
            XmlNodeList   nodes = xmlDocument.GetElementsByTagName("arguments");

            if (nodes.Count > 0)
            {
                XmlNodeList parameterNodes = nodes[0].ChildNodes;
                if (parameterNodes.Count > 0)
                {
                    foreach (XmlNode node in parameterNodes)
                    {
                        args.Add(node.InnerText);
                    }
                }
            }
            FlexCallbackCommand cmd = FlexCallbackCommandNames.GetCommand(commandName);

            if (cmd == FlexCallbackCommand.LoadComplete)
            {
                CallFlash(FlexCommand.Resize, new string[] { Width.ToString(), Height.ToString() });
                Resize += FlexControl_Resize;
            }
            if (FlashCallback != null)
            {
                FlashCallback(cmd, args);
            }
        }
예제 #2
0
        /// <summary>
        /// Object callback
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void YTplayer_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            // message is in xml format so we need to parse it
            XmlDocument document = new XmlDocument();

            document.LoadXml(e.request);
            // get attributes to see which command flash is trying to call
            XmlAttributeCollection attributes = document.FirstChild.Attributes;
            String command = attributes.Item(0).InnerText;
            // get parameters
            XmlNodeList list = document.GetElementsByTagName("arguments");

            List <string> listS = (from XmlNode l in list select l.InnerText).ToList();

            // Interpret command
            switch (command)
            {
            case "onYouTubePlayerReady": YTready(listS[0]); break;

            case "YTStateChange": YTStateChange(listS[0]); break;

            case "YTError": YTStateError(listS[0]); break;

            case "document.location.href.toString": YTplayer.SetReturnValue("<string>http://www.youtube.com/watch?v=" + currentlyPlayingVideoId + "</string>"); break;

            default: Console.Write("YTplayer_FlashCall: (unknownCommand)\r\n"); break;
            }
        }
예제 #3
0
파일: FlashPanel.cs 프로젝트: ellil4/PHRV
        private void amFlashCtrl_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            XmlDocument xd = new XmlDocument();

            xd.LoadXml(e.request);
            XmlNodeList xnl = xd.GetElementsByTagName("arguments");

            amSendBackTextLabel.Text = "收到:" + xnl[0].FirstChild.InnerText;
        }
예제 #4
0
        void axShockwaveFlash2_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            string text = e.request;

            if (text.Contains("FINISHEDMULTIBALL") ||
                text.Contains("FINISHEDBALLLOCK") ||
                text.Contains("FINISHEDJACKPOT"))
            {
                axShockwaveFlash2.Visible = false;
            }
            Console.WriteLine(text);
        }
예제 #5
0
        private void flashForeground_FlashCallBack(object sender,
                                                   AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            string text = e.request;

            if (text.Contains("FINISHEDMULTIBALL") ||
                text.Contains("FINISHEDBALLLOCK") ||
                text.Contains("FINISHEDJACKPOT") ||
                text.Contains("ANIMATIONCOMPLETED"))
            {
                lock (_lock)
                {
                    if (InvokeRequired)
                    {
                        return;
                    }
                    flashForeground.Visible = false;
                    flashForeground.Stop(); //foreground is used for cutscenes and may have sounds that don't stop.
                }
                if (OnAnimationCompleted != null)
                {
                    OnAnimationCompleted(new DisplayEventArgs(flashForeground.Tag, "ANIMATIONCOMPLETED"));
                }
            }
            else if (text.Contains("@spellfinished="))
            {
                _cardsLeftToTurn--;
                if (_cardsLeftToTurn <= 0 && flashForeground.Movie.Equals(_showLetterSwfFile))
                {
                    lock (_lock)
                    {
                        if (InvokeRequired)
                        {
                            return;
                        }
                        flashForeground.Visible = false;
                    }
                    if (OnAnimationCompleted != null)
                    {
                        OnAnimationCompleted(new DisplayEventArgs(flashForeground.Tag, "ANIMATIONCOMPLETED"));
                    }
                }
            }
            if (text.StartsWith("<invoke name=\"API")) //DEBUG
            {
                _log.Warn("Foreground API Definition: " + text);
            }
            else
            {
                _log.Debug("Flash Foreground Callback: " + text);
            }
        }
예제 #6
0
        /// <summary>
        /// 量表结束后返回结果的响应事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FromFlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            System.Diagnostics.Debug.Write("解析nodeXml:" + NodeXml(e.request.ToString()) + "\n");
            String xmlStr = e.request.ToString();

            xmlStr = ((xmlStr.Replace("&lt;", "<")).Replace("&gt;", ">")).Replace("&quot;", "\"");
            int resultID = stDB.GetReslutID();

            stDB.OnSaveSacleTableReslut(xmlStr, scaleTableID, isShowResult, resultID);
            this.ScaleListTreeView.IsEnabled = true;
            this.playerPanel.Children.Clear();
            CreateReslutList(scaleTableID);
        }
예제 #7
0
        private void flashPlayer_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            XElement xelement = XElement.Parse(e.request);
            string   value    = xelement.Attribute("name").Value;

            if (xelement.HasAttributes && xelement.Attribute("name").Value == "packet")
            {
#if TESTING
                System.Console.WriteLine("[RECIEVED] : " + xelement.Element("arguments").Value);
#endif
                if (AQWConnect.discord != null)
                {
                    AQWConnect.discord.Analyse(xelement.Element("arguments").Value);
                }
            }
        }
예제 #8
0
파일: FrmCourse.cs 프로젝트: NingMoe/pula
        private void swf_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            XmlDocument document = new XmlDocument();

            document.LoadXml(e.request);
            // get attributes to see which command flash is trying to call
            XmlAttributeCollection attributes = document.FirstChild.Attributes;
            // get function
            String command = attributes.Item(0).InnerText;
            // get parameters
            XmlNodeList list = document.GetElementsByTagName("arguments");

            var node = list.Item(0);

            //MessageBox.Show(node.InnerXml);

            var paramList = node.ChildNodes;

            processParams(paramList);
        }
예제 #9
0
        private void flashBackground_FlashCallBack(object sender,
                                                   AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            string text = e.request;

            if (text.Contains("ANIMATIONCOMPLETED"))
            {
                if (OnAnimationCompleted != null)
                {
                    OnAnimationCompleted(new DisplayEventArgs(flashBackground.Tag, "ANIMATIONCOMPLETED"));
                }
            }
            if (text.StartsWith("<invoke name=\"API"))
            {
                _log.Warn("Background API Definition: " + text);
            }
            else
            {
                _log.Debug("Flash Background Callback: " + e.request);
            }
        }
예제 #10
0
        private void haxMovie_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            try
            {
                XmlDocument document = new XmlDocument();
                document.LoadXml(e.request);

                XmlAttributeCollection attributes = document.FirstChild.Attributes;
                String      command = attributes.Item(0).InnerText;
                XmlNodeList param   = document.GetElementsByTagName("arguments");

                switch (command)
                {
                case "toSend":
                    // To send encryption keys!
                    LemonEnvironment.encPublicKey = param[0].FirstChild.InnerText;
                    Debug.WriteLine("encPublicKey == " + LemonEnvironment.encPublicKey);

                    LemonEnvironment.decPublicKey = param[0].ChildNodes[1].InnerText;
                    Debug.WriteLine("decPublicKey == " + LemonEnvironment.decPublicKey);
                    break;

                case "encKey":
                    // Encryption (encipher) shared key
                    LemonEnvironment.sharedKeyEnc = param[0].FirstChild.InnerText;
                    Debug.WriteLine("sharedKeyEnc == " + LemonEnvironment.encPublicKey);
                    break;

                case "decKey":
                    // Encryption (decipher) shared key
                    LemonEnvironment.sharedKeyDec = param[0].FirstChild.InnerText;
                    Debug.WriteLine("sharedKeyDec == " + LemonEnvironment.encPublicKey);
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #11
0
        private void AxShockwaveFlash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            InvokeRequestEventArgs request = InvokeRequestEventArgs.Parse(e.request);

            switch (request.Name)
            {
            case "receivePacket":
                string   extension = (string)request.Arguments[0];
                string   command   = (string)request.Arguments[1];
                object[] array     = (object[])request.Arguments[2];
                packet = new Packet(extension, command, array);
                handle.Set();
                break;

            default:
                if (InvokeRequest != null)
                {
                    InvokeRequest(this, request);
                }
                break;
            }
        }
예제 #12
0
        /// <summary>
        /// 接受flash传过来的值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FromFlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            System.Diagnostics.Debug.Write("解析nodeXml:" + e.request.ToString() + "\n");
            Hashtable requestInfo = NodeXmlToHashtable(e.request.ToString());

            //           MessageBox.Show(requestInfo["rType"].ToString());
            if (requestInfo != null)
            {
                if (requestInfo["rType"].ToString() == "test")
                {
                    //                    MessageBox.Show("test");
                    Hashtable historyInfo = new Hashtable();
                    historyInfo["trid"]  = tdb.GetTrainRecordID();
                    historyInfo["tid"]   = tInfo["tid"];
                    historyInfo["score"] = requestInfo["S"];
                    historyInfo["gate"]  = requestInfo["Gate"];
                    historyInfo["diff"]  = requestInfo["Diff"];
                    historyInfo["o"]     = requestInfo["O"];
                    historyInfo["r"]     = requestInfo["R"];
                    historyInfo["t"]     = requestInfo["T"];
                    historyInfo["e"]     = requestInfo["E"];
                    historyInfo["w"]     = requestInfo["W"];
                    historyInfo["bo"]    = UserInfoStatic.O;
                    historyInfo["br"]    = UserInfoStatic.R;
                    historyInfo["bt"]    = UserInfoStatic.T;
                    historyInfo["be"]    = UserInfoStatic.E;
                    historyInfo["bw"]    = UserInfoStatic.W;
                    tdb.OnInsertTrainToHistory(historyInfo);

                    UserInfoStatic.O += Convert.ToDouble(requestInfo["O"]);
                    UserInfoStatic.R += Convert.ToDouble(requestInfo["R"]);
                    UserInfoStatic.T += Convert.ToDouble(requestInfo["T"]);
                    UserInfoStatic.E += Convert.ToDouble(requestInfo["E"]);
                    UserInfoStatic.W += Convert.ToDouble(requestInfo["W"]);
                    tdb.OnUpdateTrainDataToUserPara();
                    if (UserInfoStatic.O >= 500 && UserInfoStatic.R >= 500 && UserInfoStatic.T >= 500 && UserInfoStatic.E >= 500 && UserInfoStatic.W >= 500)
                    {
                        tdb.OnUpdateTrainAll();
                    }
                    TrainBack tb = tListView as TrainBack;

                    //结束游戏
                    //    MessageBox.Show("结束游戏");

                    isGameStart = false;
                    if (HRVData.Count > 128)
                    {
                        HMMath    hdMath      = new HMMath(HRVData, EPData);          //计算14项数据,调节指数,稳定指数,综合得分和给出评价报告
                        Hashtable HRVDataCalc = hdMath.HRVCalc();                     //用于存放HRV测量后计算的相关数据
                        HRVDataCalc["HRVScore"]  = EPScore;                           //HRV得分
                        HRVDataCalc["Time"]      = (Single)HRVData.Count / 2.0;       //测试时间,单位是秒
                        HRVDataCalc["EndTime"]   = DateTime.Now;                      //结束时间,datetime格式
                        HRVDataCalc["StartTime"] = startTime;                         //开始时间,datetime格式
                        //                HRVDataCalc["TimeType"] = this.SelectComboBox + 1;//HRV检测时间类型
                        HRVDataCalc["TimeType"] = Convert.ToInt32(tInfo["tid"]) + 40; //HRV检测时间类型
                        //                HRVDataCalc["Mood"] = this.systemMeg["Mood"];//测量时心情状态
                        HRVDataCalc["Mood"]    = 101;
                        HRVDataCalc["HRVMark"] = hrvMarkArr;//事件标记

                        //开始数据库操作
                        //lich
                        if (UserInfoStatic.ipAdd != null)
                        {
                            hrvdb.OnInsertHRVDataAndEpData(HRVData, EPData, hrvMarkArr, HRVDataCalc, PPGData, "2");
                        }
                        else
                        {
                            UserHrvRecord hrvRecord = new UserHrvRecord();
                            hrvRecord.HRVData  = HRVData;
                            hrvRecord.EPData   = EPData;
                            hrvRecord.MarkData = hrvMarkArr;
                            hrvRecord.PWRData  = (ArrayList)HRVDataCalc["FS"];
                            hrvRecord.TimeData.Add(HRVDataCalc["fMean"]);
                            hrvRecord.TimeData.Add(HRVDataCalc["fStdDev"]);
                            hrvRecord.TimeData.Add(HRVDataCalc["fSDNN"]);
                            hrvRecord.TimeData.Add(HRVDataCalc["fRMSSD"]);
                            hrvRecord.TimeData.Add(HRVDataCalc["fSD"]);
                            hrvRecord.TimeData.Add(HRVDataCalc["fSDSD"]);
                            hrvRecord.TimeData.Add(HRVDataCalc["fPNN"]);
                            hrvRecord.FreData.Add(HRVDataCalc["tp"]);
                            hrvRecord.FreData.Add(HRVDataCalc["vlf"]);
                            hrvRecord.FreData.Add(HRVDataCalc["lf"]);
                            hrvRecord.FreData.Add(HRVDataCalc["hf"]);
                            hrvRecord.FreData.Add(HRVDataCalc["lhr"]);
                            hrvRecord.FreData.Add(HRVDataCalc["lfnorm"]);
                            hrvRecord.FreData.Add(HRVDataCalc["hfnorm"]);
                            hrvRecord.AnsBalance = Convert.ToDouble(HRVDataCalc["NB"]);
                            hrvRecord.Pressure   = Convert.ToDouble(HRVDataCalc["Pressure"]);
                            hrvRecord.Adjust     = Convert.ToDouble(HRVDataCalc["adjust"]);
                            hrvRecord.Stable     = Convert.ToDouble(HRVDataCalc["stable"]);
                            hrvRecord.Score      = Convert.ToDouble(HRVDataCalc["score"]);
                            hrvRecord.HrvScore   = Convert.ToDouble(HRVDataCalc["HRVScore"]);
                            hrvRecord.TimeLength = Convert.ToDouble(HRVData.Count / 2.0);
                            hrvRecord.StartTime  = Convert.ToDateTime(HRVDataCalc["StartTime"]);
                            hrvRecord.EndTime    = Convert.ToDateTime(HRVDataCalc["EndTime"]);
                            hrvRecord.RecordType = Convert.ToInt32(HRVDataCalc["TimeType"]);
                            hrvRecord.Mood       = Convert.ToInt32(HRVDataCalc["Mood"]);
                            hrvRecord.Report     = Convert.ToString(HRVDataCalc["report"]);

                            MainRightPerson.TmpHrvRecord.Add(hrvRecord);
                        }
                    }
                    //or (int i = 0; i < tb.TrainButtonGrid.Children.Count; i++)
                    //
                    //rainList tl = tb.TrainButtonGrid.Children[i] as TrainList;
                    //f (tl.HistoryButton.Tag.ToString() == tInfo["tid"].ToString())
                    //
                    //   tl.HistoryButton.IsEnabled = true;
                    //   break;
                    //
                    //
                }
                else if (requestInfo["rType"].ToString() == "start")
                {
                    isGameStart = true;
                    HRVData     = new ArrayList(); //初始化HRV曲线数组
                    EPData      = new ArrayList(); //初始化EP数组
                    IBIData     = new ArrayList(); //初始化IBI数组
                    PPGData     = new ArrayList(); //初始化PPG数组
                    hrvMarkArr  = new ArrayList(); //初始化时间标记数组
                    OnChartPaint(HRVData);         //初始化曲线图表
                    OnAnimationForEP(0);           //协调状态条
                    EPScore = 0;
                    //     MessageBox.Show("开始游戏");
                }
                else if (requestInfo["rType"].ToString() == "enter")
                {
                }
                else if (requestInfo["rType"].ToString() == "cmd")
                {
                    //                   MessageBox.Show("cmd");
                    if (requestInfo["cmd"].ToString() == "1")
                    {
                        OnStartHrvToFlash();
                    }
                    else
                    {
                        OnEndHrvToFlash();
                    }
                }
                else if (requestInfo["rType"].ToString() == "click")
                {
                    //                   MessageBox.Show("click");
                }
            }
        }
예제 #13
0
 void axShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
 {
     Console.WriteLine(e.request);
 }
예제 #14
0
 void flashFlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
 {
 }
예제 #15
0
        ///// <summary>
        ///// 退出游戏
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //public void quietGame(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        //{
        //    OnStopAllTimerAndHD();
        //    host = null;
        //    shockwave = null;
        //    this.Close();
        //}

        public void flash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            ArrayList paraList = GetParaList(e.request);

            if (paraList[0].Equals("startGame"))
            {
                //开始游戏
                XmlDocument document = new XmlDocument();
                document.LoadXml(e.request);
                // get attributes to see which command flash is trying to call
                XmlAttributeCollection attributes = document.FirstChild.Attributes;

                // get function
                String command = attributes.Item(0).InnerText;

                // get parameters
                XmlNodeList list = document.GetElementsByTagName("arguments");

                isGameStart = true;
                HRVData     = new ArrayList(); //初始化HRV曲线数组
                EPData      = new ArrayList(); //初始化EP数组
                IBIData     = new ArrayList(); //初始化IBI数组
                PPGData     = new ArrayList(); //初始化PPG数组
                hrvMarkArr  = new ArrayList(); //初始化时间标记数组

                //               MessageBox.Show("开始游戏");
            }
            else if (paraList[0].Equals("endGame"))
            {
                //结束游戏
//                MessageBox.Show("结束游戏");

                isGameStart = false;
                if (HRVData.Count > 128)
                {
                    HMMath    hdMath      = new HMMath(HRVData, EPData); //计算14项数据,调节指数,稳定指数,综合得分和给出评价报告
                    Hashtable HRVDataCalc = hdMath.HRVCalc();            //用于存放HRV测量后计算的相关数据
                    //                HRVDataCalc["HRVScore"] = EPScore;//HRV得分
                    HRVDataCalc["HRVScore"]  = 0;
                    HRVDataCalc["Time"]      = (Single)HRVData.Count / 2.0;  //测试时间,单位是秒
                    HRVDataCalc["EndTime"]   = DateTime.Now;                 //结束时间,datetime格式
                    HRVDataCalc["StartTime"] = startTime;                    //开始时间,datetime格式
                    //                HRVDataCalc["TimeType"] = this.SelectComboBox + 1;//HRV检测时间类型
                    HRVDataCalc["TimeType"] = Convert.ToInt32(tInfo["tid"]); //HRV检测时间类型
                    //                HRVDataCalc["Mood"] = this.systemMeg["Mood"];//测量时心情状态
                    HRVDataCalc["Mood"]    = 101;
                    HRVDataCalc["HRVMark"] = hrvMarkArr;//事件标记

                    //开始数据库操作
                    //lich
                    if (UserInfoStatic.ipAdd != null)
                    {
                        hrvdb.OnInsertHRVDataAndEpData(HRVData, EPData, hrvMarkArr, HRVDataCalc, PPGData, "2");
                    }
                    else
                    {
                        UserHrvRecord hrvRecord = new UserHrvRecord();
                        hrvRecord.HRVData  = HRVData;
                        hrvRecord.EPData   = EPData;
                        hrvRecord.MarkData = hrvMarkArr;
                        hrvRecord.PWRData  = (ArrayList)HRVDataCalc["FS"];
                        hrvRecord.TimeData.Add(HRVDataCalc["fMean"]);
                        hrvRecord.TimeData.Add(HRVDataCalc["fStdDev"]);
                        hrvRecord.TimeData.Add(HRVDataCalc["fSDNN"]);
                        hrvRecord.TimeData.Add(HRVDataCalc["fRMSSD"]);
                        hrvRecord.TimeData.Add(HRVDataCalc["fSD"]);
                        hrvRecord.TimeData.Add(HRVDataCalc["fSDSD"]);
                        hrvRecord.TimeData.Add(HRVDataCalc["fPNN"]);
                        hrvRecord.FreData.Add(HRVDataCalc["tp"]);
                        hrvRecord.FreData.Add(HRVDataCalc["vlf"]);
                        hrvRecord.FreData.Add(HRVDataCalc["lf"]);
                        hrvRecord.FreData.Add(HRVDataCalc["hf"]);
                        hrvRecord.FreData.Add(HRVDataCalc["lhr"]);
                        hrvRecord.FreData.Add(HRVDataCalc["lfnorm"]);
                        hrvRecord.FreData.Add(HRVDataCalc["hfnorm"]);
                        hrvRecord.AnsBalance = Convert.ToDouble(HRVDataCalc["NB"]);
                        hrvRecord.Pressure   = Convert.ToDouble(HRVDataCalc["Pressure"]);
                        hrvRecord.Adjust     = Convert.ToDouble(HRVDataCalc["adjust"]);
                        hrvRecord.Stable     = Convert.ToDouble(HRVDataCalc["stable"]);
                        hrvRecord.Score      = Convert.ToDouble(HRVDataCalc["score"]);
                        hrvRecord.HrvScore   = Convert.ToDouble(HRVDataCalc["HRVScore"]);
                        hrvRecord.TimeLength = Convert.ToDouble(HRVData.Count / 2.0);
                        hrvRecord.StartTime  = Convert.ToDateTime(HRVDataCalc["StartTime"]);
                        hrvRecord.EndTime    = Convert.ToDateTime(HRVDataCalc["EndTime"]);
                        hrvRecord.RecordType = Convert.ToInt32(HRVDataCalc["TimeType"]);
                        hrvRecord.Mood       = Convert.ToInt32(HRVDataCalc["Mood"]);
                        hrvRecord.Report     = Convert.ToString(HRVDataCalc["report"]);

                        MainRightPerson.TmpHrvRecord.Add(hrvRecord);
                    }
                }
            }
            else if (paraList[0].Equals("quietGame"))
            {
                //退出游戏
                OnStopAllTimerAndHD();
                host      = null;
                shockwave = null;
                this.Close();
            }
        }
예제 #16
0
        //public void startGame(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        //{
        //    XmlDocument document = new XmlDocument();
        //    document.LoadXml(e.request);
        //    // get attributes to see which command flash is trying to call
        //    XmlAttributeCollection attributes = document.FirstChild.Attributes;

        //    // get function
        //    String command = attributes.Item(0).InnerText;

        //    // get parameters
        //    XmlNodeList list = document.GetElementsByTagName("arguments");

        //    isGameStart = true;
        //    HRVData = new ArrayList();//初始化HRV曲线数组
        //    EPData = new ArrayList();//初始化EP数组
        //    IBIData = new ArrayList();//初始化IBI数组
        //    PPGData = new ArrayList();//初始化PPG数组
        //    hrvMarkArr = new ArrayList();//初始化时间标记数组

        ////    MessageBox.Show("开始游戏");
        //    //switch (command)
        //    //{
        //    //    case "callCSharp":
        //    //        callCSharp();
        //    //        break;

        //    //}
        //}

        public void endGame(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            XmlDocument document = new XmlDocument();

            document.LoadXml(e.request);
            // get attributes to see which command flash is trying to call
            XmlAttributeCollection attributes = document.FirstChild.Attributes;

            // get function
            String command = attributes.Item(0).InnerText;

            // get parameters
            XmlNodeList list = document.GetElementsByTagName("arguments");

            // arguments paramters
            XmlNodeList pList = list[0].ChildNodes;

//            MessageBox.Show("结束游戏");

            isGameStart = false;
            if (HRVData.Count > 128)
            {
                HMMath    hdMath      = new HMMath(HRVData, EPData); //计算14项数据,调节指数,稳定指数,综合得分和给出评价报告
                Hashtable HRVDataCalc = hdMath.HRVCalc();            //用于存放HRV测量后计算的相关数据
//                HRVDataCalc["HRVScore"] = EPScore;//HRV得分
                HRVDataCalc["HRVScore"]  = 0;
                HRVDataCalc["Time"]      = (Single)HRVData.Count / 2.0;  //测试时间,单位是秒
                HRVDataCalc["EndTime"]   = DateTime.Now;                 //结束时间,datetime格式
                HRVDataCalc["StartTime"] = startTime;                    //开始时间,datetime格式
//                HRVDataCalc["TimeType"] = this.SelectComboBox + 1;//HRV检测时间类型
                HRVDataCalc["TimeType"] = Convert.ToInt32(tInfo["tid"]); //HRV检测时间类型
//                HRVDataCalc["Mood"] = this.systemMeg["Mood"];//测量时心情状态
                HRVDataCalc["Mood"]    = 101;
                HRVDataCalc["HRVMark"] = hrvMarkArr;//事件标记

                //开始数据库操作
                //lich
                if (UserInfoStatic.ipAdd != null)
                {
                    hrvdb.OnInsertHRVDataAndEpData(HRVData, EPData, hrvMarkArr, HRVDataCalc, PPGData, "2");
                }
                else
                {
                    UserHrvRecord hrvRecord = new UserHrvRecord();
                    hrvRecord.HRVData  = HRVData;
                    hrvRecord.EPData   = EPData;
                    hrvRecord.MarkData = hrvMarkArr;
                    hrvRecord.PWRData  = (ArrayList)HRVDataCalc["FS"];
                    hrvRecord.TimeData.Add(HRVDataCalc["fMean"]);
                    hrvRecord.TimeData.Add(HRVDataCalc["fStdDev"]);
                    hrvRecord.TimeData.Add(HRVDataCalc["fSDNN"]);
                    hrvRecord.TimeData.Add(HRVDataCalc["fRMSSD"]);
                    hrvRecord.TimeData.Add(HRVDataCalc["fSD"]);
                    hrvRecord.TimeData.Add(HRVDataCalc["fSDSD"]);
                    hrvRecord.TimeData.Add(HRVDataCalc["fPNN"]);
                    hrvRecord.FreData.Add(HRVDataCalc["tp"]);
                    hrvRecord.FreData.Add(HRVDataCalc["vlf"]);
                    hrvRecord.FreData.Add(HRVDataCalc["lf"]);
                    hrvRecord.FreData.Add(HRVDataCalc["hf"]);
                    hrvRecord.FreData.Add(HRVDataCalc["lhr"]);
                    hrvRecord.FreData.Add(HRVDataCalc["lfnorm"]);
                    hrvRecord.FreData.Add(HRVDataCalc["hfnorm"]);
                    hrvRecord.AnsBalance = Convert.ToDouble(HRVDataCalc["NB"]);
                    hrvRecord.Pressure   = Convert.ToDouble(HRVDataCalc["Pressure"]);
                    hrvRecord.Adjust     = Convert.ToDouble(HRVDataCalc["adjust"]);
                    hrvRecord.Stable     = Convert.ToDouble(HRVDataCalc["stable"]);
                    hrvRecord.Score      = Convert.ToDouble(HRVDataCalc["score"]);
                    hrvRecord.HrvScore   = Convert.ToDouble(HRVDataCalc["HRVScore"]);
                    hrvRecord.TimeLength = Convert.ToDouble(HRVData.Count / 2.0);
                    hrvRecord.StartTime  = Convert.ToDateTime(HRVDataCalc["StartTime"]);
                    hrvRecord.EndTime    = Convert.ToDateTime(HRVDataCalc["EndTime"]);
                    hrvRecord.RecordType = Convert.ToInt32(HRVDataCalc["TimeType"]);
                    hrvRecord.Mood       = Convert.ToInt32(HRVDataCalc["Mood"]);
                    hrvRecord.Report     = Convert.ToString(HRVDataCalc["report"]);

                    MainRightPerson.TmpHrvRecord.Add(hrvRecord);
                }
            }
            //Console.WriteLine("游戏结果:" + pList[0].InnerText);
            // Console.WriteLine("游戏得分:" + pList[1].InnerText);
            // Console.WriteLine("剩余秒数(游戏总长300s):" + pList[2].InnerText);

            //标记当前节点
            //XmlNode currentNode;
            //遍历所有二级节点
            //for (int i = 0; i < list[0].ChildNodes.Count; i++)
            //{
            //二级
            // currentNode = list[0].ChildNodes[i];
            //currentNode.child
            // }
        }
예제 #17
0
 private void axFlash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
 {
 }
예제 #18
0
 private void Flash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
 {
     FlashCall?.Invoke(this, new FlashEventArgs(e.request));
 }
예제 #19
0
        // Handles the Flash -> C# communication
        private void YoutubeVideo_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            // Interpret the Command
            XmlDocument document = new XmlDocument();

            document.LoadXml(e.request);
            XmlAttributeCollection attributes = document.FirstChild.Attributes;
            string        command             = attributes.Item(0).InnerText;
            XmlNodeList   list  = document.GetElementsByTagName("arguments");
            List <string> listS = new List <string>();

            foreach (XmlNode l in list)
            {
                listS.Add(l.InnerText);
            }

            // Event Handler Flash -> C#
            switch (command)
            {
            // Initialize the Listeners
            case "onYouTubePlayerReady":
                YoutubeVideo_CallFlash("addEventListener(\"onStateChange\",\"YTStateChange\")");
                YoutubeVideo_CallFlash("addEventListener(\"onError\",\"YTError\")");
                break;

            // On State Change
            case "YTStateChange":
                switch (int.Parse(listS[0]))
                {
                // Not Started
                case -1:
                    YoutubeVideo_CallFlash("playVideo()");
                    break;

                // Ended
                case 0:
                    // To avoid having clients finish shortly before/after
                    if (Hosting)
                    {
                        // Repeat All
                        if (repeatAllToolStripMenuItem.Checked)
                        {
                            if (PlaylistURLs.Count - 1 > CurrentlyPlaying)
                            {
                                PlayVideo(CurrentlyPlaying + 1, false);
                            }
                            else
                            {
                                PlayVideo(0, false);
                            }
                        }

                        // Play Next
                        else if (playNextToolStripMenuItem.Checked)
                        {
                            if (PlaylistURLs.Count - 1 > CurrentlyPlaying)
                            {
                                PlayVideo(CurrentlyPlaying + 1, false);
                            }
                            else
                            {
                                Internal_Command = true;
                                YoutubeVideo_CallFlash("seekTo(0, 0)");
                                YoutubeVideo_CallFlash("pauseVideo()");
                                Internal_Command = false;
                            }
                        }

                        // Repeat One
                        else if (repeatOneToolStripMenuItem.Checked)
                        {
                            PlayVideo(CurrentlyPlaying, false);
                        }

                        // Shuffle
                        else if (shuffleToolStripMenuItem.Checked)
                        {
                            Random random    = new Random();
                            int    nextVideo = random.Next(0, PlaylistURLs.Count);

                            PlayVideo(nextVideo, false);
                        }
                        else
                        {
                            Internal_Command = true;
                            YoutubeVideo_CallFlash("seekTo(0, 0)");
                            YoutubeVideo_CallFlash("pauseVideo()");
                            Internal_Command = false;
                        }
                    }
                    else
                    {
                        Internal_Command = true;
                        YoutubeVideo_CallFlash("seekTo(0, 0)");
                        YoutubeVideo_CallFlash("pauseVideo()");
                        Internal_Command = false;
                    }
                    break;

                // Playing
                case 1:
                    if (!Internal_Command)
                    {
                        Seek_Immunity = true;
                        string sTime = YoutubeVideo_CallFlash("getCurrentTime()");
                        sTime = sTime.Remove(sTime.Length - 9).Remove(0, 8);
                        if (Hosting)
                        {
                            Broadcast("PLAY " + sTime, "", false);
                        }
                        else if (!First_Connect)
                        {
                            ClientBroadcast("PLAY$" + sTime + "$");
                        }
                        else
                        {
                            First_Connect = false;
                        }
                    }
                    First_Connect = false;
                    break;

                // Paused
                case 2:
                    if (!Internal_Command)
                    {
                        string CurrentTime = YoutubeVideo_CallFlash("getCurrentTime()");
                        CurrentTime = CurrentTime.Remove(CurrentTime.Length - 9).Remove(0, 8);
                        double iCurrentTime = Convert.ToDouble(CurrentTime);

                        string Duration = YoutubeVideo_CallFlash("getDuration()");
                        Duration = Duration.Remove(Duration.Length - 9).Remove(0, 8);
                        double iDuration = Convert.ToDouble(Duration);

                        double Difference = iDuration - iCurrentTime;

                        if (iCurrentTime != 0 && Difference >= 1)
                        {
                            if (Hosting)
                            {
                                Broadcast("PAUSE", "", false);
                            }
                            else
                            {
                                ClientBroadcast("PAUSE$");
                            }
                        }
                    }
                    break;

                // Buffering
                case 3:
                    if (!Internal_Command)
                    {
                        if (Seek_Immunity)
                        {
                            Internal_Command = true;
                            YoutubeVideo_CallFlash("playVideo()");
                            Internal_Command = false;
                        }
                        else if (YoutubeVideo_CallFlash("getCurrentTime()") != YoutubeVideo_CallFlash("getDuration()") && YoutubeVideo_CallFlash("getCurrentTime()") != "<number>0</number>")
                        {
                            if (Hosting)
                            {
                                Broadcast("PAUSE", "", false);
                            }
                            else
                            {
                                ClientBroadcast("PAUSE$");
                            }
                        }
                    }
                    break;

                default:
                    break;
                }
                break;

            default:
                break;
            }
        }
예제 #20
0
 private void FromFlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
 {
     //   System.Diagnostics.Debug.Write("解析nodeXml:"+NodeXml( e.request.ToString())+"\n");
 }
예제 #21
0
 private void AxShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
 {
     throw new NotImplementedException();
 }