// TODO: добавить отграничение скорострельность /// <summary> /// Обработчик события выстрела /// </summary> /// <param name="args"></param> private void Shoot(GameEventArgs args) { var bullet = GameObjectsFactory.CreateBullet(_ship.GetPoint()); _bullets.Add(bullet); AddDrawable(bullet); }
public void StartAccepting() { Socket listenSocket = null; var builder = new StringBuilder(); var bytesReceived = 0; var lengthBuffer = new byte[1]; while (true) { listenSocket = ObjSocket.Accept(); Console.Write("New Connection: "); bytesReceived = listenSocket.Receive(lengthBuffer); var buffer = new byte[lengthBuffer[0]]; bytesReceived = listenSocket.Receive(buffer); builder.Clear(); builder.Append(Encoding.ASCII.GetString(buffer), 0, bytesReceived); Console.WriteLine(builder); ClientList.Add(listenSocket, Encoding.ASCII.GetString(buffer)); ThreadList.Add(listenSocket, new Thread(delegate() { Server.MessageHandler(this, listenSocket); })); ThreadList[listenSocket].Start(); } }
public ServiceResult <int> WatermarkFile(byte[] msFile, string sUsername, string sCompany) { var result = new ServiceResult <int>() { Success = true }; try { DelWatermarkedFile delWatermarkedFile = new DelWatermarkedFile(delReturnFile); PrepareFileThread pft = new PrepareFileThread(new MemoryStream(msFile), delWatermarkedFile, sUsername, sCompany); Thread thread = new Thread(new ThreadStart(pft.Start)); thread.Start(); if (ThreadList == null) { ThreadList = new List <Thread>(); } result.Data = thread.GetHashCode(); ThreadList.Add(thread); } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }
public ThreadListViewModel(SingleProcess process) { ProcessLabel = $"Process: {process.Id} {process.Name}"; _threadList = new ObservableCollection <SingleThread>(); foreach (ProcessThread processThread in process.ThreadList) { ThreadList.Add(new SingleThread(processThread, process.Accessible)); } }
protected override void OnLoad() { Logger.Print("Space scene start load"); EventManager.AddEventListener(EventManager.Events.ShootEvent, Shoot); EventManager.AddEventListener(EventManager.Events.ChangeScoreEvent, OnChangeScore); Score = 0; _stars.Clear(); _asteroids.Clear(); _bullets.Clear(); for (var i = 0; i < 100; i++) { _stars.Add(GameObjectsFactory.CreateStar()); } Logger.Print("Created {0} stars", _stars.Count); _ship = GameObjectsFactory.CreateSpaceShip(); var random = new Random(); _timer = new Timer(); _timer.Interval = 2000; _timer.Tick += (sender, args) => { GameObjects obj; var next = random.Next(100); if (next % 2 == 0) { obj = GameObjectsFactory.CreateAsteroid(); _asteroids.Add(obj as Asteroid); AddUpdatable(obj); } else { obj = GameObjectsFactory.CreateMedic(); _medics.Add(obj as Medic); } AddDrawable(obj); }; _timer.Start(); AddDrawable(_stars); AddDrawable(_ship); AddUpdatable(_stars); }
/// <summary> /// Adds a new Thread to the thread list and puts the thread in the waiting threads queue. /// </summary> /// <param name="start"></param> public void Add(ThreadStart start) { var thread = new Thread(start); lock (ThreadList) { ThreadList.Add(thread); } lock (WaitingThreads) { WaitingThreads.Enqueue(thread); } }
//ThreadSafeDictionary<string, ConnObj> ConnObjlist = new ThreadSafeDictionary<string, ConnObj>(); protected void p2psev_EventUpdataConnSoc(System.Net.Sockets.Socket soc) { ConnObj cobj = new ConnObj(); cobj.Soc = soc; IPEndPoint clientipe = (IPEndPoint)soc.RemoteEndPoint; cobj.Token = EncryptDES(clientipe.Address.ToString() + "|" + DateTime.Now.ToString(), "lllssscc"); try { if (p2psev.send(soc, 0xff, "token|" + cobj.Token + "")) { ConnObjlist.Add(cobj); } int len = ConnObjlist.Count / Proportion; foreach (CommandItem ci in CommandItemS) { if (len > ci.Client.Count) { P2Pclient p2p = new P2Pclient(false); p2p.receiveServerEvent += V_receiveServerEvent; p2p.timeoutevent += V_timeoutevent; p2p.ErrorMge += V_ErrorMge; if (p2p.start(ci.Ip, ci.Port, false)) { ci.Client.Add(p2p); } } } int count = CommandItemS.Count; CommandItem[] comItems = new CommandItem[count]; CommandItemS.CopyTo(0, comItems, 0, count); foreach (CommandItem ci in comItems) { ci.Client[0].send(0xff, "in|" + cobj.Token); } } catch (Exception ex) { if (EventMylog != null) { EventMylog("EventUpdataConnSoc", ex.Message); } } }
/// <summary> /// Обработчик события добавления нового объекта волны на сцену /// </summary> /// <param name="args"></param> private void OnNextObject(ThrowObjectWaveEventArgs args) { var obj = args.Object; switch (obj) { case Asteroid _: _asteroids.Add(obj as Asteroid); AddUpdatable(obj); break; case Medic _: _medics.Add(obj as Medic); break; } AddDrawable(obj); }
public void StartNewThread(string JobName = "") { Thread NewThread = new Thread(() => ThreadAction(JobName)); // Function To Execute NewThread.IsBackground = true; int threadNum = 1; if (ThreadList != null) { threadNum = ThreadList.Count; threadNum++; } // next available thread # to use NewThread.Name = JobName + threadNum.ToString(); // unique thread name (jobname + next available num) NewThread.Start(); ThreadList.Add(NewThread); // Save Thread to List of Running Threads UpdateThreadStatusDisp(); // Update Gui with Thread Details }
public void Start(Thread thread, string Name = "") { if (ThreadList == null) { ThreadList = new List <Thread>(); //ahk.MsgBox("Must Add \"Setup(); Reference To Initialize ThreadList First"); //return; } thread.IsBackground = true; if (Name != "") { thread.Name = Name; } thread.Start(); ThreadList.Add(thread); // Save Thread to List of Running Threads TelTreeDisp(); }
protected void AddDrawable(IDrawable drawable) { _toDraw.Add(drawable); }
protected void AddUpdatable(IUpdatable updatable) { _toUpdate.Add(updatable); }
async Task LoadData(int page) { ObservableCollection <messages> tempOpenData; if (page == 1) { tempOpenData = new ObservableCollection <messages>(); } else { tempOpenData = new ObservableCollection <messages>(MessageList); } using (HttpClient hc = new HttpClient()) { try { IsBusy = true; bool IsBookMarkSelect = false; if (App.FrameImage != null) { ImageUrl = App.FrameImage; isImageVisible = true; } if (App.FileName != null) { FileName = App.FileName; isDocsVisible = true; } var jsonString = await hc.GetStringAsync(Config.MESSAGE_THREAD_API + threadId + "/" + page); if (jsonString != "") { var obj = JsonConvert.DeserializeObject <DealMessageThreadList>(jsonString); if (obj != null) { foreach (var user in obj.messages) { ThreadList.Clear(); if (string.IsNullOrEmpty(user.plainContent)) { user.plainContent = ""; } if (user.plainContent.Contains("<p><br/></p>")) { string value = user.plainContent.Replace("<p><br/></p>", null); user.plainContent = value; } if (user.plainContent.Contains("<li>")) { string value = user.plainContent.Replace("?", ""); user.plainContent = value; } if (user.plainContent.Contains("data:image")) { string[] delim1 = { "<img src=\"data:image/png;base64," }; var MessageValue = user.plainContent.Split(delim1, StringSplitOptions.None)[0]; var image = user.plainContent.Split(delim1, StringSplitOptions.None)[1]; var image1 = image.Split('"')[0]; //Debug.Write(image1); string[] delim = { "alt=\"\">" }; var stringMsg = image.Split(delim, StringSplitOptions.None); var Base64Stream = Convert.FromBase64String(image1); user.MsgImageUrl = ImageSource.FromStream(() => new MemoryStream(Base64Stream)); user.IsImageVisible = true; int index = 2; if (index == stringMsg.Length) { if (stringMsg[1] != null) { user.plainContent = MessageValue + stringMsg[1]; } } else { string message = Regex.Replace(MessageValue, HTML_TAG_PATTERN, string.Empty); if (!string.IsNullOrEmpty(message)) { user.plainContent = MessageValue; } else { user.plainContent = string.Empty; } } } string authorIdStr = user.authorId; if (user.messageUsers != null) { foreach (var thread in user.messageUsers) { if (thread.userid_10 == userId) { if (thread.followUp == true) { IsBookMarkSelect = true; } else { IsBookMarkSelect = false; } } ThreadList.Add(thread); } if (IsBookMarkSelect == true) { user.BookMarkImg = "orange_bookmark.png"; } else { user.BookMarkImg = "bookmark.png"; } } if (authorIdStr == null) { user.HorizontalOption = LayoutOptions.StartAndExpand; user.IsSenderBookMarkVisible = false; user.IsSenderProfileVisible = true; user.IsProfileVisible = false; user.IsBookMarkVisible = true; } else if (authorIdStr.Equals(userId)) { user.HorizontalOption = LayoutOptions.EndAndExpand; user.IsSenderBookMarkVisible = true; user.IsSenderProfileVisible = false; user.IsProfileVisible = true; user.IsBookMarkVisible = false; } else { user.HorizontalOption = LayoutOptions.StartAndExpand; user.IsSenderBookMarkVisible = false; user.IsSenderProfileVisible = true; user.IsProfileVisible = false; user.IsBookMarkVisible = true; } if (user.plainContent == null) { user.IsStopVisible = false; user.HeightRequest = 0; } else if (user.plainContent.Count() < 150) { user.IsStopVisible = false; user.HeightRequest = 0; } else if (user.plainContent.Count() > 150) { user.IsStopVisible = true; user.moreBtnText = "more"; user.HeightRequest = 35; user.MaxLines = 3; } tempOpenData.Add(user); } TotalRecords = obj.totalRecords; _LastPage = Convert.ToInt32(obj.totalPages); ObservableCollection <messages> OrderbyIdDesc = new ObservableCollection <messages>(tempOpenData.OrderByDescending(x => x.createdDate.Date)); MessageList = new ObservableCollection <messages>(OrderbyIdDesc); } } } catch (Exception ex) { Debug.WriteLine("Exception:>" + ex); } finally { IsBusy = false; } } }
async Task LoadData(int page) { var tempOpenData = new ObservableCollection <messages>(MessageList); using (HttpClient hc = new HttpClient()) { try { IsBusy = true; bool IsBookMarkSelect = false; if (Settings.TypedMessage != null) { TypedMessage = Settings.TypedMessage; } var jsonString = await hc.GetStringAsync(Config.MESSAGE_THREAD_API + threadId + "/" + page); if (jsonString != "") { var obj = JsonConvert.DeserializeObject <DealMessageThreadList>(jsonString); if (obj != null) { foreach (var user in obj.messages) { ThreadList.Clear(); string authorIdStr = user.authorId; if (user.messageUsers != null) { foreach (var thread in user.messageUsers) { if (thread.userid_10 == userId) { if (thread.followUp == true) { IsBookMarkSelect = true; } else { IsBookMarkSelect = false; } } ThreadList.Add(thread); } if (IsBookMarkSelect == true) { user.BookMarkImg = "orange_bookmark.png"; } else { user.BookMarkImg = "bookmark.png"; } } if (authorIdStr == null) { user.HorizontalOption = LayoutOptions.StartAndExpand; user.IsSenderBookMarkVisible = false; user.IsSenderProfileVisible = true; user.IsProfileVisible = false; user.IsBookMarkVisible = true; } else if (authorIdStr.Equals(userId)) { user.HorizontalOption = LayoutOptions.EndAndExpand; user.IsSenderBookMarkVisible = true; user.IsSenderProfileVisible = false; user.IsProfileVisible = true; user.IsBookMarkVisible = false; } else { user.HorizontalOption = LayoutOptions.StartAndExpand; user.IsSenderBookMarkVisible = false; user.IsSenderProfileVisible = true; user.IsProfileVisible = false; user.IsBookMarkVisible = true; } if (user.plainContent == null) { user.IsStopVisible = false; user.HeightRequest = 0; } else if (user.plainContent.Count() < 150) { user.IsStopVisible = false; user.HeightRequest = 0; } else if (user.plainContent.Count() > 150) { user.IsStopVisible = true; user.moreBtnText = "more"; user.HeightRequest = 35; user.MaxLines = 3; } TotalRecords = obj.totalRecords; _LastPage = Convert.ToInt32(obj.totalPages); tempOpenData.Add(user); } ObservableCollection <messages> OrderbyIdDesc = new ObservableCollection <messages>(tempOpenData.OrderByDescending(x => x.createdDate.Date)); MessageList = new ObservableCollection <messages>(OrderbyIdDesc); } } } finally { IsBusy = false; } } }
public void Run(WorkerThread thread) { thread.Run(Allocator); ThreadList.Add(thread); }