static void CountCollision(object In) { IntersectController IC = (IntersectController)In; while (true) { Initialize(IC); foreach (var i in IC.PersList) { Rectangle R1 = new Rectangle(i.X, i.Y, 60, 70); foreach (var j in IC.BulletList) { if (j.ParentPerson.ID == i.ID) { continue; } Rectangle R2 = new Rectangle((int)j.X, (int)j.Y, 5, 5); if (R1.IntersectsWith(R2)) { IC.ObjDrawer.IsPersonInList(i.ID, true); } } } } }
static void Initialize(IntersectController In) { In.PersList.Clear(); In.BulletList.Clear(); lock (In.ObjDrawer.ObjectTicks) foreach (var i in In.ObjDrawer.ObjectTicks) { if (i is PersonDrawTickImage && ((PersonDrawTickImage)i).IsNeedToDestroy == false) { In.PersList.Add(((PersonDrawTickImage)i)._Person); } else if (i is BulletDrawTickImage && ((BulletDrawTickImage)i).IsNeedToDestroy == false) { In.BulletList.Add(((BulletDrawTickImage)i).Bul); } } }
private void MainWindow_Load(object sender, EventArgs e) { /////////////////////////////////////////// PersonList.Add(new Person() { X = Size.Width / 2, Y = Size.Height / 2, ID = byte.Parse(Dns.GetHostAddresses(Dns.GetHostName())[Dns.GetHostAddresses(Dns.GetHostName()).Length - 1].ToString().Split('.')[3]) }); //////////////////////////////// EventAddToDrawList += AddToDrList; PackgeWasGot += AddNetObject; ObjDraw = new ObjectDrawer(BattleField.Image, EventAddToDrawList, SynchronizationContext.Current); IC = new IntersectController(ObjDraw); OutNetConnect = new PackageSender(); AddToNetAddrList += OutNetConnect.AddToAddrIPList; InNetConnect = new PackageReciever(PackgeWasGot, PersonList, AddToNetAddrList); //////////////////////////////////////////////// AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting e0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting se0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting s0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting sw0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting w0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting nw0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting n0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "shooting ne0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "walking n0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "walking w0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "walking s0*.bmp")); AddToAnimationList(Directory.GetFiles("Resourses//Person//", "walking e0*.bmp")); Anims = LoadAnimations(Animations.ToArray()); }