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 ) ); } } }
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(); }
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(); }
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)); } }
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; } } }
//获取选定的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)); }
private CheckState GetCheckState( PacketItem pi ) { if ( !m_Checked[pi.Cmd] ) return CheckState.Unchecked; else if ( pi.GetIndeterminate() ) return CheckState.Indeterminate; else return CheckState.Checked; }
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; }
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; } } }
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 ); }
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); } }
private CheckState GetCheckState(PacketItem pi) { if (!m_Checked[pi.Cmd]) { return(CheckState.Unchecked); } else if (pi.GetIndeterminate()) { return(CheckState.Indeterminate); } else { return(CheckState.Checked); } }
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; } } }); }
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)); }
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 ); } } } } } }
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(); }
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(); }
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>(); }
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; } } }
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); } }); }