Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
 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);
         }
     }
 }
Exemplo n.º 3
0
    /// <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);
    }