コード例 #1
0
        // TODO: добавить отграничение скорострельность
        /// <summary>
        /// Обработчик события выстрела
        /// </summary>
        /// <param name="args"></param>
        private void Shoot(GameEventArgs args)
        {
            var bullet = GameObjectsFactory.CreateBullet(_ship.GetPoint());

            _bullets.Add(bullet);
            AddDrawable(bullet);
        }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
ファイル: MyICPService.cs プロジェクト: sbegusch/Development
        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);
        }
コード例 #4
0
 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));
     }
 }
コード例 #5
0
        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);
        }
コード例 #6
0
        /// <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);
            }
        }
コード例 #7
0
        //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);
                }
            }
        }
コード例 #8
0
        /// <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);
        }
コード例 #9
0
ファイル: _Threads.cs プロジェクト: brillyints/sharpAHK_Dev
        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
        }
コード例 #10
0
ファイル: _Threads.cs プロジェクト: brillyints/sharpAHK_Dev
        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();
        }
コード例 #11
0
 protected void AddDrawable(IDrawable drawable)
 {
     _toDraw.Add(drawable);
 }
コード例 #12
0
 protected void AddUpdatable(IUpdatable updatable)
 {
     _toUpdate.Add(updatable);
 }
コード例 #13
0
        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;
                }
            }
        }
コード例 #14
0
        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;
                }
            }
        }
コード例 #15
0
 public void Run(WorkerThread thread)
 {
     thread.Run(Allocator);
     ThreadList.Add(thread);
 }