using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SunVoteARSPPT
{
public class ARSRushAnswer : IResponse
{
///
/// 选择类
///
public SunVote.RushAnswer RushAnswer = null;
///
/// 构造函数
///
public ARSRushAnswer()
{
RushAnswer = new SunVote.RushAnswer();
//事件绑定
RushAnswer.KeyStatus += new SunVote.IRushAnswerEvents_KeyStatusEventHandler(RushAnswer_KeyStatus);
//杨斌 2015-01-09
RushAnswer.KeyStatusSN += new SunVote.IRushAnswerEvents_KeyStatusSNEventHandler(RushAnswer_KeyStatusSN);
//PVS事件。杨斌 2015-03-17
FrmPvsServer.GetFrmPvs().OnKeyVote += myPVS_KeyVote;
TagSet = new TagSet();
}
void RushAnswer_KeyStatusSN(string BaseTag, string KeySN, string KeyValue, double KeyTime)
{
ResponsePar ObjResponseValue = new ResponsePar();
ObjResponseValue.BaseTag = BaseTag;
ObjResponseValue.KeyID = KeySN;
ObjResponseValue.KeyValue = KeyValue;
ObjResponseValue.Speed = KeyTime;
if (ResponseEventHander != null)
ResponseEventHander(ObjResponseValue);
}
void myPVS_KeyVote(int ID, int iMode, string sInfo)
{
string KeyValue = "";
double KeyTime = 0;
ResponsePar ObjResponseValue = new ResponsePar();
//ObjResponseValue.BaseTag = BaseTag;
ObjResponseValue.KeyID = ID.ToString();
string[] ary = sInfo.Split(new char[] { ',' });
KeyValue = ary[0];
if (ary.Length >= 2)
double.TryParse(ary[1], out KeyTime);
ObjResponseValue.KeyValue = KeyValue;
ObjResponseValue.Speed = KeyTime;
if (ResponseEventHander != null)
ResponseEventHander(ObjResponseValue);
}
///
/// 键盘状态事件
///
///
///
///
///
void RushAnswer_KeyStatus(string BaseTag, int KeyID, string KeyValue, double KeyTime)
{
RushAnswer_KeyStatusSN(BaseTag, KeyID.ToString(), KeyValue, KeyTime);
}
#region IResponse 成员
public event ResponseEventHander ResponseEventHander;
public TagSet TagSet { get; set; }
///
/// 反馈类型
///
public ResponseType ResponseType { get; set; }
///
/// 基站连接
///
public SunVote.BaseConnection BaseConnection { get; set; }
///
/// 启用
///
public void Start()
{
if (GlobalInfo.GetSdkType() == 0)
{
//设置参数
RushAnswer.BaseConnection = (SunVote.BaseConnection)BaseConnection;
RushAnswer.Mode = 0;
RushAnswer.StartMode = 1;
RushAnswer.Start();
}
else if (GlobalInfo.GetSdkType() == 1)
{
int pvsVoteMode = 6;
string pvsVoteSetting = "6";
FrmPvsServer.GetFrmPvs().VoteStart(pvsVoteMode, pvsVoteSetting);
}
}
///
/// 停止
///
public void Stop()
{
if (GlobalInfo.GetSdkType() == 0)
RushAnswer.Stop();
else if (GlobalInfo.GetSdkType() == 1)
FrmPvsServer.GetFrmPvs().VoteStop();
}
#endregion
}
}