public void Show(int MyPositionID, HeroEquiptItemList_V2 MyParent) { this.MyParent = MyParent; this.MyPositionID = MyPositionID; var Equiplist = ContainerInfomanager.Instance.GetSSyncContainerGoods_SCList(1); this.equipContainerInfo = Equiplist.FirstOrDefault(P => ItemPlaceToIndex(P.nPlace) == MyPositionID); if (this.equipContainerInfo.uidGoods != 0) { ItemFielInfo creatItemInfo = ContainerInfomanager.Instance.itemFielArrayInfo.SingleOrDefault(P => P.sSyncContainerGoods_SC.uidGoods == equipContainerInfo.uidGoods); if (creatItemInfo != null) { ShowItem(creatItemInfo); } } else { ClearUpItem(); } }
public void ChangeHeroWeapon(object obj) { WeaponInfo = ContainerInfomanager.Instance.GetSSyncContainerGoods_SCList(1).SingleOrDefault(P => P.nPlace == 0); //TraceUtil.Log("当前默认武器ID:"+WeaponInfo.uidGoods); if (WeaponInfo.uidGoods != 0) { if (WeaponInfo.uidGoods != CurrentWeaponID) { CurrentWeaponID = WeaponInfo.uidGoods; string weapon = ContainerInfomanager.Instance.GetContainerGoodsInfo(WeaponInfo).LocalItemData._ModelId; //StartCoroutine(ChangeWeapon(weapon)); DoForTime.DoFunForTime(0.1f, ChangeWeapon, weapon); } } else if (WeaponInfo.uidGoods != CurrentWeaponID) { if (CurrentWeaponID != 0) { CurrentWeaponID = 0; //StartCoroutine(ChangeDefulsWeapon()); DoForTime.DoFunForTime(0.1f, ChangeDefulsWeapon, null); } } }
/// <summary> /// S发送背包栏物品位置同步到C /// </summary> /// <param name="dataBuffer"></param> CommandCallbackType ContainerSyncHandle(byte[] dataBuffer, int socketId) { Package package = PackageHelper.ParseReceiveData(dataBuffer); SMsgContainerCSCHead sMsgContainerCSCHead = SMsgContainerCSCHead.ParsePackage(package); List <SSyncContainerGoods_SC> sSyncContainerGoods_SCs = new List <SSyncContainerGoods_SC>(); int headerLength = Marshal.SizeOf(sMsgContainerCSCHead); int singleLength = Marshal.SizeOf(typeof(SSyncContainerGoods_SC)) - headerLength; int offset = headerLength; //TraceUtil.Log("headerLength:" + headerLength + " singleLength:" + singleLength); //TraceUtil.Log("BufferLength:" + dataBuffer.Length + " dwSysGoodsNum:" + sMsgContainerCSCHead.dwSysGoodsNum); for (int i = 0; i < sMsgContainerCSCHead.dwSysGoodsNum; i++) { sSyncContainerGoods_SCs.Add(SSyncContainerGoods_SC.ParsePackage(package.Data, offset, sMsgContainerCSCHead)); offset += singleLength; } //TraceUtil.Log("收到背包栏物品位置同步消息:" + sSyncContainerGoods_SCs.Count + " 约定个数:" + sMsgContainerCSCHead.dwSysGoodsNum); //sSyncContainerGoods_SCs.ApplyAllItem(P=>TraceUtil.Log(P.nPlace+","+P.byNum)); UI.MainUI.ContainerInfomanager.Instance.SetContainerGoodsPosition(sSyncContainerGoods_SCs); //TraceUtil.Log("Set 完成"); return(CommandCallbackType.Continue); }