public ObjectListPage()
        {
            InitializeComponent();
            CurrentObjects telesa = new CurrentObjects();

            BindingContext = telesa;
        }
Exemplo n.º 2
0
        private void handleNewTick(New_TickPacket pkt)
        {
            sendMove(pkt.TickId, (int)tick.ElapsedMilliseconds, Player.Position, null);
            prevTickId   = currentTickId;
            prevTickTime = currentTickTime;

            currentTickId   = pkt.TickId;
            currentTickTime = pkt.TickTime;

            foreach (Status i in pkt.UpdateStatuses)
            {
                foreach (StatData data in i.StatData)
                {
                    if (data.StatsType == StatsType.NAME)
                    {
                        if (!NameToId.ContainsKey(data.obf2))
                        {
                            NameToId[data.obf2] = i.ObjectId;
                        }
                        else
                        {
                            NameToId.Add(data.obf2, i.ObjectId);
                        }
                    }
                }

                if (i.ObjectId == Player.ObjectID)
                {
                    foreach (StatData data in i.StatData)
                    {
                        if (Player.StatData == null)
                        {
                            Player.StatData = new Dictionary <StatsType, object>();
                        }

                        if (Player.StatData.ContainsKey(data.StatsType))
                        {
                            if (data.IsUTFData())
                            {
                                Player.StatData[data.StatsType] = data.obf2;
                            }
                            else
                            {
                                Player.StatData[data.StatsType] = data.obf1;
                            }
                        }
                        else
                        {
                            if (data.IsUTFData())
                            {
                                Player.StatData.Add(data.StatsType, data.obf2);
                            }
                            else
                            {
                                Player.StatData.Add(data.StatsType, data.obf1);
                            }
                        }
                    }
                }

                if (CurrentObjects.ContainsKey(i.ObjectId))
                {
                    foreach (StatData s in i.StatData)
                    {
                        foreach (var y in CurrentObjects[i.ObjectId].Stats.StatData)
                        {
                            if (s.StatsType == y.StatsType)
                            {
                                if (s.IsUTFData())
                                {
                                    s.obf2 = y.obf2;
                                }
                                else
                                {
                                    s.obf1 = y.obf1;
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void handleUpdatePacket(UpdatePacket pkt)
        {
            SendPacket(new UpdateAckPacket());
            UpdateAckPacketsSend++;

            foreach (int i in pkt.Drops)
            {
                if (CurrentObjects.ContainsKey(i))
                {
                    CurrentObjects.Remove(i);
                }
            }

            foreach (ObjectDef def in pkt.NewObjects)
            {
                foreach (StatData data in def.Stats.StatData)
                {
                    if (data.StatsType == StatsType.NAME)
                    {
                        if (!NameToId.ContainsKey(data.obf2))
                        {
                            NameToId.Add(data.obf2, def.Stats.ObjectId);
                        }
                    }
                }

                if (CurrentObjects.ContainsKey(def.Stats.ObjectId))
                {
                    CurrentObjects[def.Stats.ObjectId] = def;
                }
                else
                {
                    CurrentObjects.Add(def.Stats.ObjectId, def);
                }

                if (def.Stats.ObjectId == Player.ObjectID)
                {
                    Player.ObjectDefinition = def;
                    foreach (StatData data in def.Stats.StatData)
                    {
                        if (data.StatsType == StatsType.NAME)
                        {
                            Player.Name        = data.obf2;
                            Player.IsConnected = true;
                        }

                        if (Player.StatData == null)
                        {
                            Player.StatData = new Dictionary <StatsType, object>();
                        }

                        if (Player.StatData.ContainsKey(data.StatsType))
                        {
                            if (data.IsUTFData())
                            {
                                Player.StatData[data.StatsType] = data.obf2;
                            }
                            else
                            {
                                Player.StatData[data.StatsType] = data.obf1;
                            }
                        }
                        else
                        {
                            if (data.IsUTFData())
                            {
                                Player.StatData.Add(data.StatsType, data.obf2);
                            }
                            else
                            {
                                Player.StatData.Add(data.StatsType, data.obf1);
                            }
                        }
                    }
                }
            }
        }