Ejemplo n.º 1
0
		private void bDetails_Click( object sender, System.EventArgs e )
		{
			PacketItem pi = clbPackets.SelectedItem as PacketItem;
			if ( pi != null )
			{
				PacketProp[] props = Packet.PropsTable[pi.Cmd];

				string[] names = new string[props.Length];
				string[] typeNames = new String[props.Length];
				string[] formats = new string[props.Length];
				for ( int i = 0; i < props.Length; i++ )
				{
					names[i] = props[i].PropInfo.Name;
					typeNames[i] = props[i].PropInfo.PropertyType.Name;
					formats[i] = props[i].Attribute.Format;
				}

				PropsFilter pFilter = new PropsFilter( names, typeNames, pi.Props, pi.PropsHave, formats );
				pFilter.TopMost = TopMost;
				if ( pFilter.ShowDialog() == DialogResult.OK )
				{
					pi.Props = pFilter.GetPropValues();
					pi.PropsHave = pFilter.GetPropHaveValues();

					clbPackets.SetItemCheckState( clbPackets.SelectedIndex, GetCheckState( pi ) );
				}
			}
		}
Ejemplo n.º 2
0
        private void UpdatePackets()
        {
            clbPackets.BeginUpdate();
            clbPackets.Items.Clear();

            for (int i = 0; i < m_PacketItems.Length; i++)
            {
                PacketItem pi = m_PacketItems[i];

                if (ShowAll || pi.PacketType != null)
                {
                    CheckState state = GetCheckState(pi);
                    clbPackets.Items.Add(pi, state);
                }
            }

            for (int i = 0; i < m_CommandPacketItems.Length; i++)
            {
                PacketItem pi = m_CommandPacketItems[i];

                if (ShowAll || pi.PacketType != null)
                {
                    CheckState state = GetCheckState(pi);
                    clbPackets.Items.Add(pi, state);
                }
            }

            clbPackets.EndUpdate();
        }
Ejemplo n.º 3
0
        public Filter(PacketFilter filter, bool showAll)
        {
            InitializeComponent();

            m_PacketItems        = new PacketItem[0x100];
            m_CommandPacketItems = new PacketItem[0x100];
            m_Checked            = new bool[0x100];
            m_CommandChecked     = new bool[0x100];

            for (int i = 0; i < m_PacketItems.Length; i++)
            {
                m_PacketItems[i] = new PacketItem(Packet.Table[i], (byte)i, 0, filter.PropsTable[i], filter.PropsHave[i]);
                m_Checked[i]     = filter.Table[i];
            }

            for (int i = 0; i < m_CommandPacketItems.Length; i++)
            {
                m_CommandPacketItems[i] = new PacketItem(Packet.CommandTable[i], 0xBF, (ushort)i, filter.CommandPropsTable[i], filter.CommandPropsHave[i]);
                m_CommandChecked[i]     = filter.CommandTable[i];
            }

            m_Filter          = filter;
            cbShowAll.Checked = showAll;

            UpdatePackets();
        }
Ejemplo n.º 4
0
        private void UpdatePackets()
        {
            if (!_init)
            {
                _init = true;
                Init();
            }

            var toRemove = new List <PacketItem>();

            foreach (PacketItem packet in _packets)
            {
                packet.Ticks++;
                packet.Position = Vector3D.Lerp(Origin, Target, _multiplier * packet.Ticks);

                //delete the packet once it gets to the destination
                if (_multiplier * packet.Ticks > 1)
                {
                    toRemove.Add(packet);
                }
            }

            foreach (PacketItem removePacket in toRemove)
            {
                _packets.Remove(removePacket);
            }

            //if the last packet to go out is more than 10m from origin, add a new one
            PacketItem lastPacket = _packets.LastOrDefault();

            if (lastPacket != null && Vector3D.DistanceSquared(lastPacket.Position, Origin) > _spacingSq)
            {
                _packets.Add(new PacketItem(Origin));
            }
        }
Ejemplo n.º 5
0
        private void bOk_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < m_PacketItems.Length; i++)
            {
                PacketItem pi = m_PacketItems[i];

                bool check = m_Checked[i];
                m_Filter.Table[i] = check;

                if (check)
                {
                    m_Filter.PropsTable[i] = pi.Props;
                    m_Filter.PropsHave[i]  = pi.PropsHave;
                }
            }

            for (int i = 0; i < m_CommandPacketItems.Length; i++)
            {
                PacketItem pi = m_CommandPacketItems[i];

                bool check = m_CommandChecked[i];
                m_Filter.CommandTable[i] = check;

                if (check)
                {
                    m_Filter.CommandPropsTable[i] = pi.Props;
                    m_Filter.CommandPropsHave[i]  = pi.PropsHave;
                }
            }
        }
Ejemplo n.º 6
0
        //获取选定的packet
        private void packetList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            PacketItem selectedItem = (PacketItem)packetList.SelectedItem;

            //Console.WriteLine("Selceted");
            //Console.WriteLine(selectedItem.Packet);
            ShowDetailTree(selectedItem.Packet, Int32.Parse(selectedItem.length));
        }
Ejemplo n.º 7
0
		private CheckState GetCheckState( PacketItem pi )
		{
			if ( !m_Checked[pi.Cmd] )
				return CheckState.Unchecked;
			else if ( pi.GetIndeterminate() )
				return CheckState.Indeterminate;
			else
				return CheckState.Checked;
		}
Ejemplo n.º 8
0
		private void UpdateDetails( CheckState check )
		{
			int index = clbPackets.SelectedIndex;
			PacketItem pi = clbPackets.SelectedItem as PacketItem;
			if ( pi != null && pi.Props != null && check != CheckState.Unchecked )
				bDetails.Enabled = true;
			else
				bDetails.Enabled = false;
		}
Ejemplo n.º 9
0
 private void SetAllProps(PacketItem pi)
 {
     if (pi.Props != null)
     {
         for (int i = 0; i < pi.Props.Length; i++)
         {
             pi.Props[i]     = null;
             pi.PropsHave[i] = true;
         }
     }
 }
Ejemplo n.º 10
0
		private void clbPackets_ItemCheck( object sender, ItemCheckEventArgs e )
		{
			PacketItem pi = clbPackets.SelectedItem as PacketItem;
			if ( pi != null )
			{
				m_Checked[pi.Cmd] = e.NewValue != CheckState.Unchecked;

				if ( e.NewValue == CheckState.Checked )
					SetAllProps( pi );
			}

			UpdateDetails( e.NewValue );
		}
Ejemplo n.º 11
0
 private CheckState GetCheckState(PacketItem pi)
 {
     if ((pi.ID == 0xBF && !m_CommandChecked[pi.Cmd]) || (pi.ID != 0xBF && !m_Checked[pi.ID]))
     {
         return(CheckState.Unchecked);
     }
     else if (pi.GetIndeterminate())
     {
         return(CheckState.Indeterminate);
     }
     else
     {
         return(CheckState.Checked);
     }
 }
Ejemplo n.º 12
0
 private CheckState GetCheckState(PacketItem pi)
 {
     if (!m_Checked[pi.Cmd])
     {
         return(CheckState.Unchecked);
     }
     else if (pi.GetIndeterminate())
     {
         return(CheckState.Indeterminate);
     }
     else
     {
         return(CheckState.Checked);
     }
 }
Ejemplo n.º 13
0
    void Awake()
    {
        close.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            gameObject.SetActive(false);
        });
        useButton.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            if (selectItemId > 0)
            {
                PacketItem pi = itemGo[selectItemId].GetComponent <PacketItem>();
                if (pi.count < 1)
                {
                    Debug.LogError("count is " + pi.count + ",can not use");
                    return;
                }

                ItemTable itemTable = Params.itemTables[selectItemId];
                switch ((ItemType)(itemTable.ItemType))
                {
                case ItemType.Energy:
                    CSUseItem useItem = new CSUseItem();
                    PBItem item       = new PBItem();
                    item.Count        = 1;
                    item.ItemId       = itemTable.Id;
                    useItem.Item      = item;
                    SocketManager.SendMessageAsyc((int)MiGongOpcode.CSUseItem, CSUseItem.SerializeToBytes(useItem), delegate(int opcode, byte[] data) {
                        SCUseItem ret = SCUseItem.Deserialize(data);
                        string[] args = ret.Ret.Split(';');
                        Params.startEnergySchedule(int.Parse(args[0]), long.Parse(args[1]));
                        // 减少数量
//						PacketItem pi = itemGo[item.ItemId].GetComponent<PacketItem>();
                        pi.decCount(1);
                        if (pi.count <= 0)
                        {
                            init();
                        }
                    });
                    break;
                }
            }
        });
    }
Ejemplo n.º 14
0
        public ActionResult AjaxForm()
        {
            var model = new PacketItem
            {
                Sort       = 0,
                LstBedDesk = new List <BedDeskItem>(),
                LstProduct = new List <ProductItem>(),
            };

            if (DoAction == ActionType.Edit)
            {
                model = _api.GetPacketItems(ArrId.FirstOrDefault());
            }

            ViewBag.Action    = DoAction;
            ViewBag.AgencyID  = UserItem.AgencyID;
            ViewBag.BedDeskID = _bedDeskApi.GetList(UserItem.AgencyID);
            ViewBag.Product   = _productApi.GetListByAgency(UserItem.AgencyID);
            return(View(model));
        }
Ejemplo n.º 15
0
		public void SaveFilter( BinaryWriter writer )
		{
			writer.Write( (int)0 ); // Version

			writer.Write( cbShowAll.Checked );

			for ( int i = 0; i < 0x100; i++ )
			{
				bool check = m_Checked[i];
				writer.Write( check );

				if ( check )
				{
					PacketItem pi = m_PacketItems[i];
					if ( pi.Props == null )
					{
						writer.Write( (int)0 );
					}
					else
					{
						int length = pi.Props.Length;

						writer.Write( length );
						for ( int j = 0; j < length; j++ )
						{
							if ( pi.Props[j] != null )
							{
								writer.Write( true );

								writer.Write( pi.Props[j] );
								writer.Write( pi.PropsHave[j] );
							}
							else
							{
								writer.Write( false );
							}
						}
					}
				}
			}
		}
Ejemplo n.º 16
0
		public void LoadFilter( BinaryReader reader )
		{
			int version = reader.ReadInt32();

			cbShowAll.Checked = reader.ReadBoolean();

			for ( int i = 0; i < 0x100; i++ )
			{
				bool check = reader.ReadBoolean();
				m_Checked[i] = check;

				if ( check )
				{
					PacketItem pi = m_PacketItems[i];

					int length = reader.ReadInt32();

					for ( int j = 0; j < length; j++ )
					{
						if ( reader.ReadBoolean() )
						{
							string s = reader.ReadString();
							bool b = reader.ReadBoolean();
							if ( pi.Props != null && j < pi.Props.Length )
							{
								pi.Props[j] = s;
								pi.PropsHave[j] = b;
							}
						}
						else if ( pi.Props != null && j < pi.Props.Length )
						{
							pi.Props[j] = null;
							pi.PropsHave[j] = true;
						}
					}
				}
			}

			UpdatePackets();
		}
Ejemplo n.º 17
0
		public Filter( PacketFilter filter, bool showAll )
		{
			InitializeComponent();

			m_PacketItems = new PacketItem[0x100];
			m_Checked = new bool[0x100];
			for ( int i = 0; i < 0x100; i++ )
			{
				m_PacketItems[i] = new PacketItem( Packet.Table[i], (byte)i, filter.PropsTable[i], filter.PropsHave[i] );
				m_Checked[i] = filter.Table[i];
			}

			m_Filter = filter;
			cbShowAll.Checked = showAll;

			UpdatePackets();
		}
Ejemplo n.º 18
0
 public Packet()
 {
     _packet = new PacketItem
     {
         Type = 0x00,
         Direction = 0x00,
         Res_1 = 0x00,
         Res_2 = 0x00,
         Guid = Guid.NewGuid(),
         DataLength = 0,
         Data = new byte[0]
     };
     _parameters = new List<Parameter>();
 }
Ejemplo n.º 19
0
		private void SetAllProps( PacketItem pi )
		{
			if ( pi.Props != null )
			{
				for ( int i = 0; i < pi.Props.Length; i++ )
				{
					pi.Props[i] = null;
					pi.PropsHave[i] = true;
				}
			}
		}
Ejemplo n.º 20
0
    private void init()
    {
        showSelectImage.Clear();

        for (int i = 0; i < contentGo.transform.childCount; i++)
        {
            Destroy(contentGo.transform.GetChild(i).gameObject);
        }

        itemGo.Clear();
        selectItemId = 0;

        CSGetItems getItems = new CSGetItems();

        SocketManager.SendMessageAsyc((int)MiGongOpcode.CSGetItems, CSGetItems.SerializeToBytes(getItems), delegate(int opcode, byte[] data) {
            Object packetItemObj = Resources.Load("packetItem");
            SCGetItems ret       = SCGetItems.Deserialize(data);

            RectTransform contentTrans = contentGo.GetComponent <RectTransform> ();
            contentTrans.sizeDelta     = new Vector2(0, 160 * (ret.Items.Count / 4 + (ret.Items.Count % 4 == 0?0:1)));


            int step = Screen.width / 8;

            float scale = Screen.width / 640f;

            int index = 0;

            Button btn1          = null;
            int initSelectItemId = 0;
            foreach (PBItem item in ret.Items)
            {
                if (item.Count > 0)
                {
                    GameObject go = Instantiate(packetItemObj) as GameObject;

                    itemGo[item.ItemId] = go;

                    PacketItem pi = go.GetComponent <PacketItem>();
                    pi.itemId     = item.ItemId;
                    pi.count      = item.Count;

                    int x = index % 4;
                    int y = index / 4;


                    go.transform.localPosition = new Vector3(step * (x * 2 + 1), -160 * y, 0);

                    go.transform.localScale = new Vector3(scale, scale, 1);
                    go.transform.SetParent(contentGo.transform, false);

                    Button btn = go.GetComponent <Button>();

                    btn.onClick.AddListener(delegate() {
                        Sound.playSound(SoundType.Click);
                        selectItemId = pi.itemId;
                        showInfoByItemType(pi.itemId, btn);
                    });
                    showSelectImage.Add(btn.GetComponent <Image>());

                    if (btn1 == null)
                    {
                        btn1             = btn;
                        initSelectItemId = pi.itemId;
                    }

                    index++;
                }
            }
            //调用会触发Button的按钮变色
            if (btn1 != null)
            {
                showInfoByItemType(initSelectItemId, btn1);
                btn1.Select();
                selectItemId = initSelectItemId;
            }
            else
            {
                text.text = "";
                useButton.gameObject.SetActive(false);
            }
        });
    }
Ejemplo n.º 21
0
		private CheckState GetCheckState( PacketItem pi )
		{
			if ( !m_Checked[pi.Cmd] )
				return CheckState.Unchecked;
			else if ( pi.GetIndeterminate() )
				return CheckState.Indeterminate;
			else
				return CheckState.Checked;
		}