Пример #1
0
    protected override void OnStart()
    {
        base.OnStart();
        WareHouseManager.AddWareHouseObjectList(this);
        if (_itemPak == null && PeGameMgr.IsSingleStory)
        {
            _itemPak = DescToItemPack(WareHouseManager.GetWareHouseData(_id).m_itemsDesc);
        }
        else if (_itemPak == null && PeGameMgr.playerType == PeGameMgr.EPlayerType.Tutorial)//这个位置在教程做完之后可能需要改
        {
            _itemPak = DescToItemPack(WareHouseManager.GetWareHouseData(_id).m_itemsDesc);
        }
        else if (/*_itemPak == null && */ PeGameMgr.IsMulti)
        {
            GlobalBehaviour.RegisterEvent(RequestCreate);
        }

        if (null == _itemPak && PeGameMgr.IsSingle)
        {
            _itemPak = new ItemPackage(PakCapacity);
        }
        operateDistance = MaxOperateDistance;
        _entity         = gameObject.GetComponentInParent <PeEntity>();
        if (_entity != null)
        {
            MapObjNetwork net = MapObjNetwork.GetNet(_entity.Id);
            if (net != null)
            {
                net.wareHouseObj = this;
                _id = net.AssetId;
                InitForNet(net);
            }
        }
    }
Пример #2
0
    /// <summary>
    /// 打开界面或放物品进来的回调
    /// </summary>
    /// <param name="_idarray"></param>
    public void OnMultiOpenDropCallBack(MapObjNetwork net, int[] _idarray)
    {
        if (_net != null && _net == net)
        {
            if (mChargingItemUi == null)
            {
                return;
            }
            for (int i = 0; i < _idarray.Length; i++)
            {
                if (_idarray[i] != -1)
                {
                    ItemObject obj = ItemMgr.Instance.Get(_idarray[i]);
                    mChargingItemUi[i].SetItem(obj);
                }
                else
                {
                    mChargingItemUi[i].SetItem(null);
                }
            }

            SelectItem_N.Instance.SetItem(null);
            GameUI.Instance.mItemPackageCtrl.ResetItem();
        }
    }
Пример #3
0
 public void DropItemByNet(MapObjNetwork net, int _instanceId)
 {
     if (_net != null && _net == net)
     {
         if (mRepairMachine == null)
         {
             return;
         }
         if (_instanceId != -1)
         {
             ItemObject itemObj = ItemMgr.Instance.Get(_instanceId);
             if (null != itemObj)
             {
                 UpdateItem(itemObj.GetCmpt <Repair>());
             }
             SelectItem_N.Instance.SetItem(null);
             GameUI.Instance.mItemPackageCtrl.ResetItem();
         }
         else
         {
             mRepairMachine.m_Repair.m_Item = null;
             mRepairItem.SetItem(null);
             UpdateItem(null);
             GameUI.Instance.mItemPackageCtrl.ResetItem();
         }
     }
 }
Пример #4
0
    /*
     * public static string ItemPackToByteArray(ItemAsset.ItemPackage pak)
     * {
     *  for (int i = 0; i < pak.Length; i++)
     *  {
     *      string[] itemlist = items[i].Split(',');
     *      if (itemlist.Length == 2)
     *      {
     *          int id = Convert.ToInt32(itemlist[0]);
     *          int cnt = Convert.ToInt32(itemlist[1]);
     *          pak.Add(id, cnt);
     *      }
     *  }
     *  return;
     * }
     */


    public void InitForNet(MapObjNetwork net)
    {
        if (_itemPak == null)
        {
            _itemPak = new ItemAsset.ItemPackage(PakCapacity);
        }
        _objNet = net;
    }
Пример #5
0
 public void SetCounterByNet(MapObjNetwork net, float curTime, float finalTime)
 {
     if (_net != null && _net == net)
     {
         this.mRepairMachine.m_Repair.StopCounter();
         this.mRepairMachine.m_Repair.onRepairedTimeUp = this.RepairComplate;
         this.mRepairMachine.m_Repair.StartCounter(curTime, finalTime);
         this.UpdateBtnState();
     }
 }
Пример #6
0
 public void UpdateItemForNet(MapObjNetwork net)
 {
     if (_net != null && _net == net)
     {
         if (mRepairMachine == null || mRepairMachine.m_Repair == null)
         {
             return;
         }
         UpdateItem(mRepairMachine.m_Repair.m_Item);
         _net.RequestRepairTime();
         GameUI.Instance.mItemPackageCtrl.ResetItem();
     }
 }
Пример #7
0
    /// <summary>
    /// 取出物品回调
    /// </summary>
    /// <param name="_index"></param>
    /// <param name="_id"></param>
    public void OnMultiRemoveCallBack(MapObjNetwork net, int _index, int _id)
    {
        if (_net != null && _net == net)
        {
            if (mChargingItemUi == null)
            {
                return;
            }
//            ItemObject obj = ItemMgr.Instance.Get(_id);
            mChargingItemUi[_index].SetItem(null);
            GameUI.Instance.mItemPackageCtrl.ResetItem();
        }
    }
Пример #8
0
    public void OpenWnd(CSPowerPlantObject powerPlantSolor)
    {
        //lz-2016.11.09 Cursh bug 错误 #5603
        if (null == powerPlantSolor || null == powerPlantSolor.m_Entity)
        {
            Debug.LogError("powerPlantSolor is null.");
            return;
        }

        mPowerPlantSolor = powerPlantSolor;

        PeEntity entity = powerPlantSolor.GetComponentInParent <PeEntity>();

        if (null != entity)
        {
            mMachinePos = entity.transform.position;
        }

        Show();
        //多人模式
        if (Pathea.PeGameMgr.IsMulti)
        {
            _net = MapObjNetwork.GetNet(mPowerPlantSolor.m_Entity.ID);
            if (_net != null)
            {
                _net.RequestItemList();
            }
            else
            {
                Debug.LogError("can't find net id = " + mPowerPlantSolor.m_Entity.ID);
            }
            return;
        }

        if (null != mPowerPlantSolor.m_PowerPlant && mPowerPlantSolor.m_PowerPlant.GetChargingItemsCnt() > 0)
        {
            for (int i = 0; i < mPowerPlantSolor.m_PowerPlant.GetChargingItemsCnt(); i++)
            {
                ItemObject itemObject = mPowerPlantSolor.m_PowerPlant.GetChargingItem(i);
                if (i >= mChargingItemUi.Length)
                {
                    Debug.LogError("too many charing item to show on solar ui");
                    break;
                }

                mChargingItemUi[i].SetItem(itemObject);
            }
        }
    }
Пример #9
0
    public void OpenWnd(CSRepairObject repMachine)
    {
        Show();
        mRepairMachine = repMachine;
        mMachinePos    = repMachine.GetComponentInParent <PeEntity>().transform.position;

        if (null != PeCreature.Instance && null != PeCreature.Instance.mainPlayer)
        {
            m_PlayerPackageCmpt = PeCreature.Instance.mainPlayer.GetCmpt <PlayerPackageCmpt>();
        }

        if (Pathea.PeGameMgr.IsMulti)
        {
            _net = MapObjNetwork.GetNet(mRepairMachine.m_Entity.ID);
            if (_net != null)
            {
                Net.RequestItemList();
            }
            else
            {
                Debug.LogError("net id is error id = " + mRepairMachine.m_Entity.ID);
            }
            return;
        }
        if (mRepairMachine != null && mRepairMachine.m_Repair != null)
        {
            if (this.mRepairMachine.m_Repair.IsRepairingM)
            {
                if (this.mRepairMachine.m_Repair.onRepairedTimeUp == null)
                {
                    this.mRepairMachine.m_Repair.onRepairedTimeUp = this.RepairComplate;
                }
                if (!mRepairMachine.m_Repair.IsRunning)
                {
                    this.mRepairMachine.m_Repair.CounterToRunning();
                }
            }
            UpdateItem(mRepairMachine.m_Repair.m_Item);
        }
        else
        {
            //lz-2016.08.18 修理机里的东西为空的时候需要更新UI状态
            this.UpdateBtnState();
        }

        TutorialData.AddActiveTutorialID(8);
    }
Пример #10
0
 public void SetItemByNet(MapObjNetwork net, int itemId)
 {
     if (_net != null && _net == net)
     {
         if (itemId != -1)
         {
             ItemObject obj = ItemMgr.Instance.Get(itemId);
             if (null != obj)
             {
                 mRepairMachine.m_Repair.m_Item = obj.GetCmpt <Repair>();
             }
         }
         else
         {
             mRepairMachine.m_Repair.m_Item = null;
             mRepairItem.SetItem(null);
         }
         UpdateItemForNet(_net);
     }
 }
Пример #11
0
 bool RequestCreate()
 {
     while (PlayerNetwork.mainPlayer == null)
     {
         return(false);
     }
     //if (PeGameMgr.IsStory)
     {
         if (MapObjNetwork.HadCreate(_id, (int)DoodadType.DoodadType_SceneBox))
         {
             MapObjNetwork obj = MapObjNetwork.GetNet(_id, (int)DoodadType.DoodadType_SceneBox);
             if (obj != null)
             {
                 obj.RequestItemList();
             }
         }
         else
         {
             PlayerNetwork.mainPlayer.CreateSceneBox(_id);
         }
     }
     return(true);
 }
Пример #12
0
 public void ResetItemByNet(MapObjNetwork net, int _instanceId)
 {
     if (this.mRepairMachine.m_Repair == null || !this.mRepairMachine.m_Repair.IsRepairingM)
     {
         return;
     }
     if (_net != null && _net == net)
     {
         if (mRepairMachine == null)
         {
             return;
         }
         if (_instanceId != -1)
         {
             Repair repairItem = ItemMgr.Instance.Get(_instanceId).GetCmpt <Repair>();
             if (repairItem == this.mRepairMachine.m_Repair.m_Item)
             {
                 this.mRepairMachine.m_Repair.StopCounter();
                 this.UpdateBtnState();
             }
         }
     }
 }
Пример #13
0
    public ItemBox AddItemMultiPlay(int id, int opID, Vector3 pos, MapObjNetwork netWork = null)
    {
        ItemBox newBox = CreateItemBox();

        newBox.transform.parent = transform;
        newBox.mID           = id;
        newBox.mPos          = pos;
        newBox.mNetWork      = netWork;
        mItemBox[newBox.mID] = newBox;

        if (null != Pathea.PeCreature.Instance.mainPlayer)
        {
            Pathea.SkAliveEntity sk = GameUI.Instance.mMainPlayer.GetCmpt <Pathea.SkAliveEntity>();
            if (sk != null)
            {
                if (opID == sk.GetId())
                {
                    newBox.InsertItem(mDropReq);
                    mDropReq.Clear();
                }
            }
        }
        return(newBox);
    }
Пример #14
0
 protected override void OnClose()
 {
     _net        = null;
     mMachinePos = Vector3.zero;
     base.OnClose();
 }
Пример #15
0
 public void SetNet(MapObjNetwork net)
 {
     _net = net;
 }