示例#1
0
    IEnumerator CreateSpaces()
    {
        gameover   = false;
        player1Die = false;
        player2Die = false;
        int angle = 360 / nSegments;

        MainLine      = new LineRenderer[nSegments];
        EnemyPresence = new bool[nSegments];
        player1       = 1;
        player2       = nSegments - 1;
        player1goal   = player2;
        player2goal   = player1;
        for (int i = 0; i < nSegments / 2; ++i)
        {
            MainLine[i] = Instantiate(Services.Prefabs.CurvedLine,
                                      Services.Prefabs.CurvedLine.transform.position,
                                      Services.Prefabs.CurvedLine.transform.rotation).GetComponent <LineRenderer>();
            MainLine[i].gameObject.SetActive(true);
            MainLine[i].transform.SetParent(Services.GameManager.GetComponentInChildren <Line>().transform);
            MainLine[i].transform.localEulerAngles = new Vector3(0, 0, i * angle);

            MainLine[nSegments - 1 - i] = Instantiate(Services.Prefabs.CurvedLine,
                                                      Services.Prefabs.CurvedLine.transform.position,
                                                      Services.Prefabs.CurvedLine.transform.rotation).GetComponent <LineRenderer>();
            MainLine[nSegments - 1 - i].gameObject.SetActive(true);
            MainLine[nSegments - 1 - i].transform.SetParent(Services.GameManager.GetComponentInChildren <Line>().transform);
            MainLine[nSegments - 1 - i].transform.localEulerAngles = new Vector3(0, 0, (nSegments - 1 - i) * angle);

            MainLine[i].material = Services.GameManager.mats[0];
            MainLine[nSegments - 1 - i].material = Services.GameManager.mats[0];

            float r = Random.Range(0f, 1f);
            if (i == 0) //nSegments-1-i = 89
            {
                MainLine[i].material = Services.GameManager.mats[5];
            }
            else
            {
                if ((5 < i && nSegments - 1 - i < nSegments - 5) && (r > enemyProbability)) //spawning enemy
                {
                    MainLine[i].material = Services.GameManager.mats[4];
                    MainLine[nSegments - 1 - i].material = Services.GameManager.mats[4];
                    EnemyPresence[i] = true;
                    EnemyPresence[nSegments - 1 - i] = true;
                }
            }
            Services.GameManager.GetComponentInChildren <Line>().transform.localEulerAngles = new Vector3(0, 0, 88f);
            yield return(new WaitForSeconds(0.003f));
        }
        currentTraffic = Traffic.Green;
        startTraffic   = true;
        redHold        = false;
        // timeToGo1 = Time.fixedTime + speed;
        // timeToGo2 = Time.fixedTime + speed;

        DOTween.Init();
        cameraShaking = false;
        changePitch   = false;
    }
示例#2
0
    IEnumerator WaitRandomTraffic()
    {
        yield return(new WaitForSeconds(Random.Range(0.6f, 2.5f)));

        changePitch    = true;
        currentTraffic = Traffic.Yellow;
        yield return(new WaitForSeconds(1f));

        changePitch    = true;
        currentTraffic = Traffic.Red;

        yield return(new WaitForSeconds(0.1f));

        redHold = true;

        yield return(new WaitForSeconds(Random.Range(1f, 3f)));


        changePitch = true;
        redHold     = false;

        currentTraffic = Traffic.Green;

        startTraffic = true;
    }
示例#3
0
        static void TestTraffic()
        {
            Traffic traffic = new Traffic();

            traffic.GetCounts();
            traffic.ShowData();
        }
示例#4
0
 private void SetState(Traffic state)
 {
     _currentState = state;
     OnStateChanged?.Invoke(_trafficStatesData.GetState(_currentState).Message);
     SwitchLightBox();
     Debug.Log(_trafficStatesData.GetState(_currentState).Message);
 }
示例#5
0
 /// <summary>
 /// Initializes the state of the TrafficCar objects.
 /// </summary>
 public void InitalizeTraffic()
 {
     Traffic.Add(new TrafficCar(ActiveLane.LEFT, GameObjectConfig.CarWidth, GameObjectConfig.CarHeight, -200));
     Traffic.Add(new TrafficCar(ActiveLane.MIDDLE, GameObjectConfig.CarWidth, GameObjectConfig.CarHeight, -200));
     Traffic.Add(new TrafficCar(ActiveLane.RIGHT, GameObjectConfig.CarWidth, GameObjectConfig.CarHeight, -200));
     Traffic.Add(new PoliceCar(ActiveLane.MIDDLE, GameObjectConfig.CarWidth, GameObjectConfig.CarHeight, -200));
 }
示例#6
0
        public void GenerateTraffic()
        {
            int        cellsCount         = 500;
            int        trafficForCustomer = 5;
            Random     random             = new Random();
            TrafficDao trafficDao         = new TrafficDao();

            List <Customer> allCustomersList = GetAllCustomers();

            foreach (var customer in allCustomersList)
            {
                for (int i = 0; i < trafficForCustomer; i++)
                {
                    List <Cell> cells = Utilities.GetRandomCells(cellsCount);
                    Cell        cell  = cells[random.Next(0, cellsCount)];

                    Traffic traffic = new Traffic
                    {
                        ANumber       = customer.Number,
                        Direction     = Utilities.GetTrafficDirection(),
                        BNumber       = Utilities.GetRandomTrafficBNumber(),
                        StartDateTime = DateTime.Now.AddDays(new Random().Next(-100, 100)),
                        CellLongitude = cell.Longitude,
                        CellLatitude  = cell.Latitude
                    };

                    trafficDao.InsertTraffic(traffic);
                }
            }
        }
示例#7
0
        public void InsertTraffic(Traffic traffic)
        {
            string insertTrafficStoredProcedure = "InsertTraffic";

            List <SqlParameter> parametersList = new List <SqlParameter>
            {
                new SqlParameter {
                    ParameterName = "aNumber", Value = traffic.ANumber
                },
                new SqlParameter {
                    ParameterName = "direction", Value = traffic.Direction
                },
                new SqlParameter {
                    ParameterName = "bNumber", Value = traffic.BNumber
                },
                new SqlParameter {
                    ParameterName = "startDateTime", Value = traffic.StartDateTime
                },
                new SqlParameter {
                    ParameterName = "cellLong", Value = traffic.CellLongitude
                },
                new SqlParameter {
                    ParameterName = "cellLat", Value = traffic.CellLatitude
                }
            };

            ExecuteQuery(insertTrafficStoredProcedure, parametersList);
        }
        public async Task <JsonResult> SendData(Traffic webTraffic)
        {
            try
            {
                using (var httpClient = new HttpClient())
                {
                    //post data structure
                    dynamic jsonData = new ExpandoObject();
                    jsonData.message = JsonConvert.SerializeObject(webTraffic);
                    jsonData.topic   = ConfigVars.Instance.KafkaTopic;

                    httpClient.DefaultRequestHeaders.Accept.Clear();
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpRequestMessage request = new HttpRequestMessage
                    {
                        Content    = new StringContent(JsonConvert.SerializeObject(jsonData), Encoding.UTF8, "application/json"),
                        Method     = HttpMethod.Post,
                        RequestUri = new Uri(string.Format("{0}", ConfigVars.Instance.EnpointUrl))
                    };
                    var response = await httpClient.SendAsync(request);

                    return(Json(response));
                }
            }
            catch (Exception exception)
            {
                return(Json(null));
            }
        }
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] Traffic traffic)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != traffic.Id)
            {
                return(BadRequest());
            }

            _context.Entry(traffic).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TrafficExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#10
0
    public void Process()
    {
        using (StreamReader sr = new StreamReader(inFile))
        {
            using (StreamWriter sw = new StreamWriter(outFile))
            {
                int numCases = int.Parse(sr.ReadLine());
                Console.WriteLine("There are {0} test cases.", numCases);
                for (int @case = 1; @case <= numCases; @case++)
                {
                    int[] ss = Array.ConvertAll <string, int>(sr.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), int.Parse);

                    int m = ss[0];
                    int n = ss[1];

                    Traffic[,] a = new Traffic[m, n];
                    for (int i = 0; i < m; i++)
                    {
                        ss = Array.ConvertAll <string, int>(sr.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), int.Parse);
                        for (int j = 0; j < n; j++)
                        {
                            a[i, j] = new Traffic(ss[j * 3], ss[j * 3 + 1], ss[j * 3 + 2]);
                        }
                    }

                    string res = Solve(m, n, a);
                    sw.WriteLine("Case #{0}: {1}", @case, res);
                    Console.WriteLine("Done test case {0}...", @case);
                }
            }
        }
    }
        public async Task <IActionResult> Post([FromBody] Traffic traffic)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var promotionPromoterId =
                    Convert.ToInt32(((ClaimsIdentity)HttpContext.User.Identity).FindFirst(ClaimTypes.GroupSid).Value);
                var promotionPromoter =
                    await _context.PromotionPromoter.SingleOrDefaultAsync(a => a.Id == promotionPromoterId);

                traffic.PromoterId  = promotionPromoter.PromoterId;
                traffic.PromotionId = promotionPromoter.PromotionId;

                traffic.ModifiedUserId =
                    Convert.ToInt32(((ClaimsIdentity)HttpContext.User.Identity).FindFirst(ClaimTypes.Sid).Value);
                traffic.ModifiedDate = DateTime.Now;
                traffic.IsActive     = true;

                _context.Traffic.Add(traffic);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("Get", new { id = traffic.Id }, traffic));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
示例#12
0
        public ECommerce(Traffic traffic, LandingPage landingPage, SalesPage salesPage, UpSell upSell)
        {
            (Traffic, LandingPage, SalesPage, UpSell) = (traffic, landingPage, salesPage, upSell);
            double actions = Traffic.Amount * LandingPage.CTR * SalesPage.CR;

            Costs = new Number
            {
                Name  = "Total Costs",
                Total = Traffic.TotalCost
                        + (actions * SalesPage.Cost)
                        + (actions * UpSell.CR * UpSell.Cost)
            };

            Profits = new Number
            {
                Name  = "Total Profits",
                Total = (actions * SalesPage.Price)
                        + (actions * UpSell.CR * UpSell.Price)
            };

            Balance = new Number
            {
                Name  = "Balance",
                Total = Profits.Total - Costs.Total
            };
        }
示例#13
0
 public void Send(string[] users, Traffic traffic)
 {
     for (int i = 0; i < users.Length; i++)
     {
         Send(users[i], traffic);
     }
 }
示例#14
0
        //private Task threadListenToServerByTCP = null;
        public MainWindow()
        {
            InitializeComponent();
            //SetFullScreen();//设置本程序全屏显示
            LoadVectorMap(); //加载矢量地图
            LoadImageMap();  //加载影像地图-------考虑异步加载,节省程序加载时间
            PublicParams.pubMainMap    = mainMap;
            PublicParams.pubLayoutRoot = LayoutRoot;
            PublicParams.pubInfoWin    = mainInfoWindow;
            //PublicParams.pubCanvasChild1 = canvasChild1;

            Task listenToClient = new Task(ListenToClientByTCP, TaskCreationOptions.LongRunning); //长时间监听

            listenToClient.Start();                                                               //建立监听,等待客户端连接大屏

            Thread threadRefreshMainMap = new Thread(MapMethods.RefreshMainMapThread)
            {
                IsBackground = true
            };

            threadRefreshMainMap.Start();

            if (PublicParams.IsInitLayers != "0") //暂时没有图层服务器,不显示图层
            {
                MapLayers.InitMapLayers();        //初始化地图所需的图层,静态方法
            }
            //ShowOneCrimePoint();//添加一个案件点

            PadHelper.InitPads();
            PoliceCarGPS gps     = new PoliceCarGPS(); //MQ相关,接收警车GPS信号
            Traffic      traffic = new Traffic();      //红绿灯和道路

            ParamsHelper.ReloadModularsFromXML();
        }
示例#15
0
        private void AddNewTraffic()
        {
            if (cbxFrom.SelectedItem == cbxTo.SelectedItem)
            {
                MessageBox.Show("Операция Отклонена! Указанные города должны быть разными.");
                return;
            }

            if (idCargoesToList.Count == 0)
            {
                MessageBox.Show("Добавьте груз");
                return;
            }
            Traffic traffic = new Traffic
            {
                IdAirplane    = (cbxAirplanes.Items[cbxAirplanes.SelectedIndex] as Airplane).Id,
                IdAirportFrom = (cbxFrom.Items[cbxFrom.SelectedIndex] as Airport).Id,
                IdAirportTo   = (cbxTo.Items[cbxTo.SelectedIndex] as Airport).Id
            };

            var cargos = db.Cargoes
                         .Where(c => idCargoesToList.Contains(c.Id))
                         .ToList();

            cargos.ForEach(c => traffic.Cargos.Add(c));



            //db.Entry(traffic).State = EntityState.Modified;
            db.Traffics.Add(traffic);
            db.SaveChanges();
            this.Close();
        }
示例#16
0
            public static EDSMResponse <Traffic> Convert(this TrafficJSON traffic, int?htmlStatus, string htmlStatusMessage)
            {
                if (traffic == null || traffic.traffic == null)
                {
                    return new EDSMResponse <Traffic> {
                               HTMLStatus         = htmlStatus ?? -1,
                               HTMLStatusResponse = htmlStatusMessage,
                               Message            = "The API responded with an empty Object. There is probably no such system.",
                               MessageNumber      = 1
                    }
                }
                ;

                var returnObj = new Traffic {
                    Day        = traffic.traffic.day,
                    Week       = traffic.traffic.week,
                    AllTime    = traffic.traffic.total,
                    SystemName = traffic.name,
                    SystemURL  = traffic.url,
                    Breakdown  = traffic.breakdown
                };

                return(new EDSMResponse <Traffic> {
                    HTMLStatus = htmlStatus ?? -1,
                    HTMLStatusResponse = htmlStatusMessage,
                    Data = returnObj,
                    Message = null,
                    MessageNumber = -1 // N/A on this endpoint
                });
            }
        }
示例#17
0
 private void SendToUser(string user, Traffic traffic)
 {
     if (UserExists(user))
     {
         ConnectedUsers[user].SendString(JsonConvert.SerializeObject(traffic));
     }
 }
        protected override void OnExecute()
        {
            using (Traffic.AcquireLock())
            {
                Traffic.Clear();
            }
            ErrorText = String.Empty;

            try
            {
                /*var commandDocument = XDocument.Parse(UserCommandText);
                 *
                 * var cookie = string.Empty;
                 * var cookieAttribute = commandDocument.Root.Attribute("Cookie");
                 * if (cookieAttribute != null)
                 * {
                 *  cookie = cookieAttribute.Value;
                 * }*/

                EventAggregatorContext.Current.GetEvent <SendDataEvent>().Publish(new SendDataEventArgs(UserCommandText, this, string.Empty));
            }
            catch (Exception exception)
            {
                ErrorText = exception.Message;
            }
        }
示例#19
0
        public void updateTraffic(double income, double outcome)
        {
            var traffic = (from x in db.Traffic
                           where x.Status == false
                           select x).ToList();

            if (traffic.Count == 0)
            {
                Traffic f = new Traffic()
                {
                    DayDate      = DateTime.Now,
                    TotalIncome  = income,
                    TotalOutcome = outcome,
                    Status       = false,
                };
                db.Traffic.Add(f);
                db.SaveChanges();
            }
            else
            {
                foreach (var item in traffic)
                {
                    if (item.Status == false)
                    {
                        item.TotalIncome  = item.TotalIncome + income;
                        item.TotalOutcome = item.TotalOutcome + outcome;
                        break;
                    }
                }
                db.SaveChanges();
            }
        }
    /// <summary>
    /// Function that receives the Traffic vehicle and sets its initial values for the Traffic to Initialize
    /// </summary>
    /// <param name="traffic_">Traffic vehicle</param>
    private void SetTrafficVehicle(Traffic traffic_)
    {
        int spawnPosCount       = trafficSpawnPositions.Count;
        int randomSpawnPosIndex = RandomSpawnPosIndex(0, spawnPosCount);

        traffic_.InitTraffic(1.5f, trafficSpawnPositions[randomSpawnPosIndex].position, spawnOffset);
    }
 public IActionResult Get()
 {
     Console.WriteLine("Dishing");
     var data = new Traffic().getTrafficData();
     Response.Headers.Add("Content-Length", 3241662.ToString());
     return new ObjectResult(data);
 }
示例#22
0
        static void GetTraffic(int hotelId, string cityCode, string hotelCode)
        {
            var url =
                $"http://hotel.qunar.com/detail/detailMapData.jsp?seq={cityCode}_city_{hotelCode}&type=traffic,subway,canguan,jingdian,ent";

            using (var client = new HttpClient())
            {
                var result = client.GetAsync(url);
                var json   = result.Result.Content.ReadAsStringAsync().Result;
                var jo     = JsonConvert.DeserializeObject(json) as JObject;
                foreach (var items in jo.Root.Last.Values())
                {
                    var category = ((JProperty)items).Name;
                    if (category != "attrs")
                    {
                        foreach (var item in items.Values())
                        {
                            var traffic = new Traffic();
                            traffic.GPoint   = item["gpoint"].ToString().Replace("\r\n", "").Replace("[", "").Replace("]", "").Trim();
                            traffic.BPoint   = item["bpoint"].ToString().Replace("\r\n", "").Replace("[", "").Replace("]", "").Trim();
                            traffic.Name     = item["name"].ToString();
                            traffic.Distance = item["distance"].ToString();
                            traffic.HotelId  = hotelId;
                            traffic.Category = category;
                            trafficService.Insert(traffic);
                        }
                    }
                }
            }
        }
示例#23
0
    int waitTime(int time, Traffic b, bool goNorth)
    {
        if (goNorth)
        {
            if (time >= b.Z)
            {
                time = (time - b.Z) % (b.X + b.Y);

                if (time < b.X)
                {
                    return(0);
                }
                else
                {
                    return(b.Y - (time - b.X));
                }
            }
            else
            {
                time = (b.Z - time);
                if (time > b.Y)
                {
                    return(0);
                }
                else
                {
                    return(time);
                }
            }
        }
        else
        {
            if (time >= b.Z)
            {
                time = (time - b.Z) % (b.X + b.Y);

                if (time < b.X)
                {
                    return(b.X - time);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                time = (b.Z - time);
                if (time > b.Y)
                {
                    return(time - b.Y);
                }
                else
                {
                    return(0);
                }
            }
        }
    }
            public static long IN()
            {
                long c = Traffic.IN();
                long x = c - T_IN;

                T_IN = c;
                return(x);
            }
            public static long OUT()
            {
                long c = Traffic.OUT();
                long x = c - T_OUT;

                T_OUT = c;
                return(x);
            }
示例#26
0
 private void DisableLight(Traffic state)
 {
     if (state == _definedState)
     {
         StopAllCoroutines();
         SetLampGray();
     }
 }
示例#27
0
        public async Task Send(Traffic t, uint id)
        {
            var data = string.Format(CultureInfo.InvariantCulture,
                "XTRAFFIC{0},{1},{2:0.#####},{3:0.#####},{4:0.#},{5:0.#},{6},{7:0.###},{8:0.#},{9}",
                SimId, id, t.Latitude, t.Longitude, t.Altitude, t.VerticalSpeed, t.OnGround ? 0 : 1,
                t.TrueHeading, t.GroundVelocity, TryGetFlightNumber(t) ?? t.TailNumber);

            await Send(data).ConfigureAwait(false);
        }
示例#28
0
        static void RunTraffic()
        {
            Traffic traffic = new Traffic();

            traffic.EnterCounts();
            traffic.ShowData();
            traffic.ShowTotal();
            traffic.Busiest();
        }
示例#29
0
        public MainWindow()
        {
            InitializeComponent();

            LogHelper.WriteLog("<-------加载开始了!");
            LoadVectorMap(); //加载矢量地图
            LoadImageMap();  //加载影像地图-------考虑异步加载,节省程序加载时间

            PublicParams.pubMainMap      = mainMap;
            PublicParams.pubLayoutRoot   = LayoutRoot;
            PublicParams.pubInfoWin      = mainInfoWindow;
            PublicParams.pubCanvasChild1 = canvasChild1;

            if (PublicParams.IsInitLayers != "0")
            {
                MapLayers.InitMapLayers();//初始化地图所需的图层,静态方法
            }

            //ShowOneCrimePoint();//添加一个模拟的案件点

            //Task taskConnectDVCSServer = new Task(ConnectDVCSServerInTask);//DVCS服务器连接相关
            //taskConnectDVCSServer.Start();
            PublicParams.dvcsServerMain = new DVCSServer()
            {
                dvcsServerIP = PublicParams.DVCSIP, dvcsServerPort = PublicParams.DVCSPort, dvcsName = PublicParams.dvcsServerMainName
            };
            ConnectDVCSServerInTask(PublicParams.dvcsServerMain);
            PublicParams.dvcsServer2 = new DVCSServer()
            {
                dvcsServerIP = PublicParams.DVCSIP2, dvcsServerPort = PublicParams.DVCSPort2, dvcsName = PublicParams.dvcsServer2Name
            };
            ConnectDVCSServerInTask(PublicParams.dvcsServer2);

            PadHelper.InitPads();                //初始化信息窗
            WallVideosHelper.InitOpenedVideos(); //初始化已打开视频列表


            PoliceCarGPS gpsPoliceCar = new PoliceCarGPS(); //MQ相关,接收警车GPS信号
            Cases        cases        = new Cases();        //MQ相关,接收案件信息
            Traffic      traffic      = new Traffic();

            drawBuffer = new Draw(mainMap)
            {
                LineSymbol = App.Current.Resources["DrawLineSymbol"] as LineSymbol,
                FillSymbol = App.Current.Resources["DrawFillSymbol"] as FillSymbol
            };
            drawBuffer.DrawComplete += drawBuffer_DrawComplete;

            drawLenOrArea = new Draw(PublicParams.pubMainMap)
            {
                LineSymbol = App.Current.Resources["DrawLineSymbol"] as LineSymbol,
                FillSymbol = App.Current.Resources["DrawFillSymbol"] as FillSymbol
            };
            drawLenOrArea.DrawComplete += drawLenOrArea_DrawComplete;
            LogHelper.WriteLog("<-------加载完成了!");
        }
示例#30
0
 public void DisableTraffic()
 {
     trafficSpawner.gameObject.SetActive(false);
     while (liveVehilces.Count != 0)
     {
         Traffic traffic = liveVehilces[0];
         liveVehilces.RemoveAt(0);
         TrafficDespawn(traffic);
     }
 }
			public LaneVehicleTypes(uint laneId, Traffic.ExtVehicleType vehicleTypes) {
				this.laneId = laneId;
				this.vehicleTypes = vehicleTypes;
			}