Beispiel #1
0
    protected override void OnUpdate()
    {
        if (d_Group.Length > 0)
        {
            Camp        deadCamp      = new Camp();
            List <Camp> aliveCampList = ConvertDataType.ComponentDataArrayToList(a_Group.campData);
            bool        campEliminate;

            //Check dead unite is the last menber of a camp or not
            for (int i = 0; i < d_Group.Length; i++)
            {
                deadCamp = d_Group.campData[i];
                if (!aliveCampList.Contains(deadCamp))
                {
                    campEliminate = true;
                }
                else
                {
                    campEliminate = false;
                }
                if (campEliminate = true)
                {
                    Entity        e  = EntityManager.CreateEntity();
                    CampEliminate ce = new CampEliminate();
                    ce.Value = deadCamp;
                    EntityManager.AddComponentData <CampEliminate>(e, ce);
                }
            }
        }
    }
Beispiel #2
0
        public void SetData(Dictionary <int, PriceCandle> pricedata_, ConvertDataType convertFromType, ConvertDataType viewType)
        {
            data = new PriceData();
            data.SetData(pricedata_, convertFromType, viewType);

            /*
             * switch (viewType)
             * {
             *  case ConvertDataType.BAR_5:
             *      SelectButton(buttonMin5.text);
             *      break;
             *  case ConvertDataType.BAR_15:
             *      SelectButton(buttonMin15.text);
             *      break;
             *  case ConvertDataType.BAR_HOUR:
             *      SelectButton(buttonHour.text);
             *      break;
             *  case ConvertDataType.BAR_DAY:
             *      SelectButton(buttonDay.text);
             *      break;
             *  case ConvertDataType.BAR_WEEK:
             *      SelectButton(buttonWeek.text);
             *      break;
             *  case ConvertDataType.BAR_MONTH:
             *      SelectButton(buttonMonth.text);
             *      break;
             * }
             */

            //data.SelectPeriod(viewType);
            ScrollToEnd();
            ReCalc();
        }
Beispiel #3
0
        public void Convert(ConvertDataType viewType)
        {
            List <int> keys15;

            keys15 = new List <int>(origpricedata.Keys);

            pricedata = new Dictionary <int, PriceCandle>();
            DateTime    dt;
            PriceCandle lastprice15 = new PriceCandle();
            ConvertData cdata       = new ConvertData(viewType);

            for (int n = 0; n < keys15.Count; n++)
            {
                if (n == 486)
                {
                }
                dt = Helper.UnixToDateTime(keys15[n].ToString());
                cdata.prevclose = lastprice15.close;
                lastprice15     = origpricedata[keys15[n]];

                cdata.SetCurBar(dt, lastprice15);
                cdata.ProcessBar(pricedata);
            }
            cdata.prevclose = lastprice15.close;
            cdata.AddPrice(pricedata);
        }
Beispiel #4
0
        /// <summary>
        /// 消息分发、处理
        /// </summary>
        /// <param name="strContent">消息内容</param>
        /// <returns></returns>
        public string Dispatcher(string strContent)
        {
            string strResponse = string.Empty;

            if (string.IsNullOrEmpty(strContent))
            {
                return(strResponse);
            }
            //解析微信请求的消息内容,并找出MsgType
            Stream             stream   = ConvertDataType.String2Stream(strContent, Encoding.UTF8);
            XmlHelper <Stream> xo       = new XmlHelper <Stream>(stream);
            string             sMsgType = xo.GetXElementContent("xml.MsgType");

            //根据消息内容的类型,使用不同的类进行处理
            switch (sMsgType.ToLower())
            {
            case "text":
                strResponse = new MsgText(xo.GetObj <MessageTextEntity>("xml")).MsgResponse();
                break;

            case "event":
                strResponse = new MsgEvent(strContent).MsgResponse();
                break;

            default:
                break;
            }

            return(strResponse);
        }
Beispiel #5
0
        public void SetData(Dictionary <int, PriceCandle> pricedata_, ConvertDataType convertFromType, ConvertDataType viewType)
        {
            data = new PriceData();
            data.SetData(pricedata_, convertFromType, viewType);

            ScrollToEnd();
            ReCalc();
        }
Beispiel #6
0
        public void SetData(Dictionary <int, PriceCandle> pricedata_, ConvertDataType datatype, ConvertDataType viewType)
        {
            origpricedata = pricedata_;
            curViewType   = viewType;
            Convert(viewType);
            keys = new List <int>(pricedata.Keys);

            //            SelectPeriod(datatype);
        }
Beispiel #7
0
        public void SetData(Dictionary <int, PriceCandle> pricedata_, ConvertDataType datatype, ConvertDataType viewType)
        {
            origpricedata = pricedata_;
            curViewType   = viewType;
            if (datatype == viewType && viewType == ConvertDataType.BAR_5)
            {
                pricedata = origpricedata;
            }
            else
            {
                Convert(viewType);
            }

            keys = new List <int>(pricedata.Keys);
        }
Beispiel #8
0
        /// <summary>
        /// 公众号处理
        /// </summary>
        /// <returns></returns>
        private string GZProcess()
        {
            string           strGzContent = string.Empty;
            WXGZConfigEntity gzConfig     = XmlToEntity.GetGZConfig();

            //如果为公众平台且未使用加密,直接返回文本
            if (string.IsNullOrEmpty(gzConfig.EncodingAESKey))
            {
                strGzContent = ConvertDataType.Strem2String(HttpContext.Current.Request.InputStream, Encoding.UTF8);
                return(strGzContent);
            }
            //校验签名及返回解析后的content
            CheckMsgSignature(ref strGzContent);
            return(strGzContent);
        }
Beispiel #9
0
 private void buttonLoad15MinChart_Click(object sender, EventArgs e)
 {
     if (loadRequeststarted)
     {
         return;
     }
     if (chart == null || ticker == null)
     {
         return;
     }
     timerLastPrice.Stop();
     convertFromPeriod  = ConvertDataType.BAR_5;
     viewResultPeriod   = ConvertDataType.BAR_15;
     loadRequeststarted = true;
     tradeLogic.GetPriceHistoryByPeriod("Min5", DateTime.Now.AddDays(-4), DateTime.Now.AddYears(10), buttonLoadChartData_UIResultHandler);
 }
Beispiel #10
0
        /// <summary>
        /// 校验签名
        /// </summary>
        /// <param name="sToken">token</param>
        /// <param name="sEncodingAESKey">配置的加密字符串</param>
        /// <param name="sID">CropID或AppID</param>
        /// <returns></returns>
        private bool CheckMsgSignature(ref string sMsg)
        {
            string sReqMsgSig    = HttpContext.Current.Request.Params["msg_signature"];
            string sReqTimeStamp = HttpContext.Current.Request.Params["timestamp"];
            string sReqNonce     = HttpContext.Current.Request.Params["nonce"];
            // Post请求的密文数据
            string sReqData = ConvertDataType.Strem2String(HttpContext.Current.Request.InputStream, Encoding.UTF8);

            int ret = this._wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData, ref sMsg);

            if (ret != 0)
            {
                //System.Console.WriteLine("ERR: Decrypt Fail, ret: " + ret);
                return(false);
            }
            return(true);
        }
Beispiel #11
0
        public void SelectPeriod1(ConvertDataType datatype)
        {
            switch (datatype)
            {
            case ConvertDataType.BAR_5:
                pricedata = origpricedata;
                break;

            case ConvertDataType.BAR_15:
                if (min15pricedata != null)
                {
                    pricedata = min15pricedata;
                }
                break;

            case ConvertDataType.BAR_HOUR:
                if (hourpricedata != null)
                {
                    pricedata = hourpricedata;
                }
                break;

            case ConvertDataType.BAR_DAY:
                if (daypricedata != null)
                {
                    pricedata = daypricedata;
                }
                break;

            case ConvertDataType.BAR_WEEK:
                if (weekpricedata != null)
                {
                    pricedata = weekpricedata;
                }
                break;

            case ConvertDataType.BAR_MONTH:
                if (monthpricedata != null)
                {
                    pricedata = monthpricedata;
                }
                break;
            }
            keys = new List <int>(pricedata.Keys);
        }
Beispiel #12
0
    protected override void OnUpdate()
    {
        if (message.Length > 0)
        {
            Entity      gpm       = GameProcessManager.current_entity;
            CampArray   campArray = EntityManager.GetSharedComponentData <CampArray>(gpm);
            List <Camp> newList   = ConvertDataType.NativeArrayToList(campArray.Value);

            for (int i = 0; i < message.Length; i++)
            {
                if (newList.Contains(message.campEliminate[i].Value))
                {
                    newList.Remove(message.campEliminate[i].Value);
                }
                EntityManager.DestroyEntity(message.entity[i]);
            }
            campArray.Value = ConvertDataType.ListToNativeArray <Camp>(newList);
            EntityManager.SetSharedComponentData(gpm, campArray);
        }
    }
Beispiel #13
0
        private void buttonLoad5MinChart_Click(object sender, EventArgs e)
        {
            if (loadRequeststarted)
            {
                return;
            }
            if (chart == null || ticker == null)
            {
                return;
            }
            timerLastPrice.Stop();
            convertFromPeriod  = ConvertDataType.BAR_5;
            viewResultPeriod   = ConvertDataType.BAR_5;
            loadRequeststarted = true;
            int dayCount = 2;

            if (totalPeriod != TotalPeriod.Default)
            {
                dayCount = GetTotalPeriodDayCount();
            }
            tradeLogic.GetPriceHistoryByPeriod("Min5", DateTime.Now.AddDays(-dayCount), DateTime.Now.AddYears(10), buttonLoadChartData_UIResultHandler);
            totalPeriod = TotalPeriod.Default;
            PrintTotalPeriod();
        }
Beispiel #14
0
 public ConvertData(ConvertDataType datatype_)
 {
     datatype = datatype_;
 }
Beispiel #15
0
        public void Convert(ConvertDataType viewType)
        {
            List <int> keys15;

            keys15 = new List <int>(origpricedata.Keys);

            min15pricedata = new Dictionary <int, PriceCandle>();
            hourpricedata  = new Dictionary <int, PriceCandle>();
            daypricedata   = new Dictionary <int, PriceCandle>();
            weekpricedata  = new Dictionary <int, PriceCandle>();
            monthpricedata = new Dictionary <int, PriceCandle>();

            DateTime    dt;
            PriceCandle lastprice15 = new PriceCandle();
            ConvertData min15data   = new ConvertData(ConvertDataType.BAR_15);
            ConvertData hourdata    = new ConvertData(ConvertDataType.BAR_HOUR);
            ConvertData daydata     = new ConvertData(ConvertDataType.BAR_DAY);
            ConvertData weekdata    = new ConvertData(ConvertDataType.BAR_WEEK);
            ConvertData monthdata   = new ConvertData(ConvertDataType.BAR_MONTH);

            for (int n = 0; n < keys15.Count; n++)
            {
                if (n == 486)
                {
                }
                dt = Helper.UnixToDateTime(keys15[n].ToString());
                //                if (dt.Month == 9 && dt.Day == 15)
                min15data.prevclose = lastprice15.close;
                hourdata.prevclose  = lastprice15.close;
                daydata.prevclose   = lastprice15.close;
                weekdata.prevclose  = lastprice15.close;
                monthdata.prevclose = lastprice15.close;
                lastprice15         = origpricedata[keys15[n]];

                if (viewType == ConvertDataType.BAR_15)
                {
                    min15data.SetCurBar(dt, lastprice15);
                    min15data.ProcessBar(min15pricedata);
                }
                else if (viewType == ConvertDataType.BAR_HOUR)
                {
                    hourdata.SetCurBar(dt, lastprice15);
                    hourdata.ProcessBar(hourpricedata);
                }
                else if (viewType == ConvertDataType.BAR_DAY)
                {
                    daydata.SetCurBar(dt, lastprice15);
                    daydata.ProcessBar(daypricedata);
                }
                else if (viewType == ConvertDataType.BAR_WEEK)
                {
                    weekdata.SetCurBar(dt, lastprice15);
                    weekdata.ProcessBar(weekpricedata);
                }
                else if (viewType == ConvertDataType.BAR_MONTH)
                {
                    monthdata.SetCurBar(dt, lastprice15);
                    monthdata.ProcessBar(monthpricedata);
                }
            }
            min15data.prevclose = lastprice15.close;
            hourdata.prevclose  = lastprice15.close;
            daydata.prevclose   = lastprice15.close;
            weekdata.prevclose  = lastprice15.close;
            monthdata.prevclose = lastprice15.close;

            if (viewType == ConvertDataType.BAR_15)
            {
                min15data.AddPrice(min15pricedata);
                pricedata = min15pricedata;
            }
            else if (viewType == ConvertDataType.BAR_HOUR)
            {
                hourdata.AddPrice(hourpricedata);
                pricedata = hourpricedata;
            }
            else if (viewType == ConvertDataType.BAR_DAY)
            {
                daydata.AddPrice(daypricedata);
                pricedata = daypricedata;
            }
            else if (viewType == ConvertDataType.BAR_WEEK)
            {
                weekdata.AddPrice(weekpricedata);
                pricedata = weekpricedata;
            }
            else if (viewType == ConvertDataType.BAR_MONTH)
            {
                monthdata.AddPrice(monthpricedata);
                pricedata = monthpricedata;
            }
        }
Beispiel #16
0
        /// <summary>
        /// 接口,返回数据
        /// </summary>
        /// <returns></returns>
        public string MsgResponse()
        {
            string sRespData = string.Empty;

            if (string.IsNullOrEmpty(this._sContent))
            {
                return(sRespData);
            }
            XmlHelper <Stream> xo     = new XmlHelper <Stream>(ConvertDataType.String2Stream(this._sContent, Encoding.UTF8));
            string             sEvent = xo.GetXElementContent("xml.Event");

            switch (sEvent.ToLower())
            {
            //订阅事件
            case "subscribe":
                sRespData = new Subscribe(xo.GetObj <MessageSubscribeEvent>("xml")).MsgResponse();
                break;

            //取消订阅事件
            case "unsubscribe":
                sRespData = new Unsubscribe(xo.GetObj <MessageSubscribeEvent>("xml")).MsgResponse();
                break;

            //上报地理位置事件
            case "location":
                sRespData = new Location(xo.GetObj <MessageLocationEvent>("xml")).MsgResponse();
                break;

            //点击菜单拉取消息的事件推送
            case "click":
                sRespData = new ClickEvent(xo.GetObj <MessageMenuPushEvent>("xml")).MsgResponse();
                break;

            //点击菜单跳转链接的事件推送
            case "view":
                sRespData = new ViewEvent(xo.GetObj <MessageMenuPushEvent>("xml")).MsgResponse();
                break;

            //扫码推事件的事件推送
            case "scancode_push":
                sRespData = new ScancodePush(xo.GetObj <MessageScancodePushEvent>("xml")).MsgResponse();
                break;

            //扫码推事件且弹出“消息接收中”提示框的事件推送
            case "scancode_waitmsg":
                sRespData = new ScancodeWaitmsg(xo.GetObj <MessageScancodePushEvent>("xml")).MsgResponse();
                break;

            //弹出系统拍照发图的事件推送
            case "pic_sysphoto":
                sRespData = new PicSysPhoto(xo.GetObj <MessagePicSysPhotoEvent>("xml")).MsgResponse();
                break;

            //弹出拍照或者相册发图的事件推送
            case "pic_photo_or_album":
                sRespData = new PicPhotoOrAlbum(xo.GetObj <MessagePicSysPhotoEvent>("xml")).MsgResponse();
                break;

            //弹出微信相册发图器的事件推送
            case "pic_weixin":
                sRespData = new PicWeiXin(xo.GetObj <MessagePicSysPhotoEvent>("xml")).MsgResponse();
                break;

            //弹出地理位置选择器的事件推送
            case "location_select":
                sRespData = new LocationSelect(xo.GetObj <MessageLocationSelectEvent>("xml")).MsgResponse();
                break;

            //成员进入应用的事件推送
            case "enter_agent":
                sRespData = new EnterAgent(xo.GetObj <MessageMenuPushEvent>("xml")).MsgResponse();
                break;

            //异步任务完成事件推送
            case "batch_job_result":
                sRespData = new BatchJobResult(xo.GetObj <MessageBatchJobResultEvent>("xml")).MsgResponse();
                break;

            default: break;
            }
            return(sRespData);
        }