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(); } } }
//[Obsolete] void RPC_S2C_PutItem(uLink.BitStream stream, uLink.NetworkMessageInfo info) { int id = stream.Read <int>(); Vector3 pos = stream.Read <Vector3>(); Vector3 scale = stream.Read <Vector3>(); Quaternion rot = stream.Read <Quaternion>(); ItemObject item = ItemMgr.Instance.Get(id); if (null == item) { return; } Drag drag = item.GetCmpt <Drag>(); if (null == drag) { return; } // if (item.protoId == 1339) // KillNPC.ashBox_inScene++; /*DragArticleAgent dragItem = */ DragArticleAgent.Create(drag, pos, scale, rot, id); }
// 构造对象 public ArmorPartObject(PlayerArmorCmpt character, ArmorPartData data, ItemObject item) { _character = character; _data = data; _item = item; _armorID[0] = item.instanceId; _boneGroup = -1; _boneIndex = -1; if (data.type == ArmorType.Decoration) { _character._decorationCount++; } _durability = _item.GetCmpt <Durability>(); SyncAttachedBone(); // 添加防御效果 AddDefence(); if (_character.hasModelLayer) { CreateModel(); } _character.TriggerAddOrRemoveEvent(); }
/// <summary> /// �����е�����������ϵ�����ʹ�ã��ͻ�����ʵ��������ɷ��� /// </summary> void CreatTower() { if (mHasCreated) { return; } if (mItemSample == null) { return; } ItemObject obj = mItemSample as ItemObject; ItemAsset.Drag drag = null; if (null != obj) { drag = obj.GetCmpt <ItemAsset.Drag>(); } // if (mItemPlace == null) // unreachable code ! // return; if (obj != null && drag != null && (mItemPlace == ItemPlaceType.IPT_Bag || mItemPlace == ItemPlaceType.IPT_HotKeyBar) && !GameUI.Instance.bMainPlayerIsDead ) { ItemObjDragging dragging = new ItemObjDragging(drag); DraggingMgr.Instance.Begin(dragging); } else { //mCurrenReq = null; } mHasCreated = true; }
void CreateLogic(ItemObject itemObj) { if (mLogics.ContainsKey(itemObj.instanceId)) { return; } ItemAsset.Equip equip = itemObj.GetCmpt <ItemAsset.Equip>(); if (null == equip) { return; } GameObject obj = equip.CreateLogicObj(); if (null == obj) { return; } PEEquipmentLogic equ = obj.GetComponent <PEEquipmentLogic>(); if (null == equ) { Debug.LogError("Equip can't find:" + itemObj.nameText); GameObject.Destroy(obj); return; } obj.transform.parent = m_EquipmentLogicParent; equ.InitEquipment(Entity, itemObj); mLogics[itemObj.instanceId] = equ; }
void RPC_S2C_Plant_PutOut(uLink.BitStream stream, uLink.NetworkMessageInfo info) { Vector3 pos = stream.Read <Vector3>(); Quaternion rot = stream.Read <Quaternion>(); Vector3 scale = stream.Read <Vector3>(); int instanceId = stream.Read <int>(); ItemObject itemobj = ItemMgr.Instance.Get(instanceId); DragArticleAgent dragItem = DragArticleAgent.Create(itemobj.GetCmpt <Drag>(), pos, scale, rot, instanceId); FarmPlantLogic plant = dragItem.itemLogic as FarmPlantLogic; plant.InitInMultiMode(); stream.Read <FarmPlantLogic>(); plant.UpdateInMultiMode(); //DragItem item = new DragItem(objID); //item.position = plantPos; //item.rotation = transform.rotation; //item.itemScript = null; ////item.DependType = dependType; //item.network = this; //DragItem.Mgr.Instance.Add(item); }
public void DropTrain(Grid_N grid) { if (null == mSelectedStation || null == e_SetTrain) { return; } ItemObject itemObj = SelectItem_N.Instance.ItemObj; if (null == itemObj) { return; } ItemAsset.Train train = itemObj.GetCmpt <ItemAsset.Train>(); if (null == train) { return; } int routeId = mSelectedStation.mRailPointData.routeId; Railway.Route route = Railway.Manager.Instance.GetRoute(routeId); if (!route.trainRunning) { mRailIcon.SetItem(itemObj); e_SetTrain(routeId, itemObj); if (null != e_SetTrainToStation) { e_SetTrainToStation(mSelectedStation.mRailPointData.routeId, mSelectedStation.mRailPointData.id); } } }
//public static bool CanEquip(ItemObject item, int sex) //{ // PeSex targetSex = (sex == 1) ? Pathea.PeSex.Female : Pathea.PeSex.Male; // return CanEquip(item, targetSex); //} public static bool CanEquip(ItemObject item, PeSex targetSex) { if (null == item) { return(false); } ItemAsset.Equip equip = item.GetCmpt <ItemAsset.Equip>(); if (null == equip) { return(false); } if (equip.equipPos == 0) { return(false); } if (!Pathea.PeGender.IsMatch(equip.sex, targetSex)) { return(false); } return(true); }
void RPC_S2C_CLN_PlantPutOut(uLink.BitStream stream, uLink.NetworkMessageInfo info) { Vector3 pos = stream.Read <Vector3>(); Quaternion rot = stream.Read <Quaternion>(); int objID = stream.Read <int>(); /*byte type = */ stream.Read <byte>(); //FarmPlantLogic mPlant = FarmManager.Instance.GetPlantByItemObjID (objID); //if(null == mPlant) //{ // mPlant = FarmManager.Instance.CreatePlant(objID, PlantInfo.GetPlantInfoByItemId(m_ItemID).mTypeID, pos); // mPlant.mTerrianType = type; // mPlant.UpdateGrowRate(0); //} //mPlant.mPos = pos; //DragArticleAgent item = DragArticleAgent.PutItemByProroId(objID, pos, transform.rotation); ItemObject itemobj = ItemMgr.Instance.Get(objID); DragArticleAgent dragItem = DragArticleAgent.Create(itemobj.GetCmpt <Drag>(), pos, Vector3.one, rot, objID); FarmPlantLogic plant = dragItem.itemLogic as FarmPlantLogic; plant.InitInMultiMode(); stream.Read <FarmPlantLogic>(); plant.UpdateInMultiMode(); }
void EquipSheild() { if (entity.NpcCmpt.EqSelect.BetterAtkObj != null) { AttackMode m_Atkmode = entity.NpcCmpt.EqSelect.BetterAtkObj.protoData.weaponInfo.attackModes[0]; if (m_Atkmode.type == AttackType.Ranged) { return; } } ItemObject m_BetterDefObj = null; if (entity.NpcCmpt.EqSelect.SetSelectObjsDef(entity, EeqSelect.protect)) { m_BetterDefObj = entity.NpcCmpt.EqSelect.GetBetterDefObj(); } if (m_BetterDefObj == null) { return; } ItemAsset.Equip equip = m_BetterDefObj.GetCmpt <ItemAsset.Equip>(); if (null == equip) { return; } bool HasEquipUsed = false; for (int i = 0; i < entity.equipmentCmpt._ItemList.Count; ++i) { ItemObject item = entity.equipmentCmpt._ItemList[i]; ItemAsset.Equip existEquip = item.GetCmpt <ItemAsset.Equip>(); if (null != existEquip) { if (System.Convert.ToBoolean(equip.equipPos & existEquip.equipPos)) { HasEquipUsed = true; break; } } } if (HasEquipUsed && entity.motionEquipment.sheild == null) { return; } //Def if ((!HasEquipUsed && m_BetterDefObj != null))// entity.motionEquipment.sheild == null { SelectItem.EquipByObj(entity, m_BetterDefObj); } else if ((HasEquipUsed && m_BetterDefObj != null && entity.motionEquipment.sheild.m_ItemObj != m_BetterDefObj)) { SelectItem.EquipByObj(entity, m_BetterDefObj); } }
void RemoveItemEff(ItemObject itemObj) { ItemAsset.Equip equip = itemObj.GetCmpt <ItemAsset.Equip>(); if (null != equip) { equip.RemoveBuff(mSkEntity); } }
void OnCreatRobot(ItemObject obj, GameObject gameobj) { if (obj == null) { return; } mLifeCmpt = obj.GetCmpt <LifeLimit>(); mEnergyCmpt = obj.GetCmpt <Energy>(); mShowLifeTip = true; mShowEnergyTip = true; mRobot.mItemObj = obj; mRobot.mGameobj = gameobj; mRobot.Show(); mNeedReposition = true; ResetPostion(); }
public bool SetItem(ItemObject itemObj) { if (itemObj == null) { if (onItemChanded != null) { onItemChanded(m_Index, itemObj); } m_Grid.SetItem(itemObj); energyItem = null; return(true); } if (!IsChargeable(itemObj)) { return(false); } //if (itemObj.instanceId < CreationData.s_ObjectStartID) //{ // if (!(itemObj is LifeLimitItem)) // { // if (m_bUseMsgBox) // MessageBox_N.ShowOkBox(PELocalization.GetString(8000094)); // else // CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000094), Color.red); // return false; // } //} //else if (m_bCanChargeLargedItem) //{ // if ((itemObj.prototypeData.m_OpType & ItemOperationType.EquipmentItem) != 0) // { // if (m_bUseMsgBox) // MessageBox_N.ShowOkBox(PELocalization.GetString(8000094)); // else // CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000094), Color.red); // return false; // } //} //else //{ // if (m_bUseMsgBox) // MessageBox_N.ShowOkBox(PELocalization.GetString(8000095)); // else // CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000095), Color.red); // return false; //} if (onItemChanded != null) { onItemChanded(m_Index, itemObj); } m_Grid.SetItem(itemObj); energyItem = itemObj.GetCmpt <Energy>(); return(true); }
public bool EnergyObjCanUse(ItemObject obj) { if (obj == null) { return(false); } Energy enery = obj.GetCmpt <Energy>(); return(enery != null && enery.floatValue.current > PETools.PEMath.Epsilon); }
void ApplyItemEff(ItemObject itemObj) { ItemAsset.Equip equip = itemObj.GetCmpt <ItemAsset.Equip>(); if (null != equip) { if (mSkEntity == null) { mSkEntity = GetComponent <SkEntity>(); } equip.AddBuff(mSkEntity); } }
/// <summary> /// multiMode used only /// </summary> public void SetItemUI(ItemObject itemObj) { m_Grid.SetItem(itemObj); if (itemObj != null) { energyItem = itemObj.GetCmpt <Energy>(); } else { energyItem = null; } }
void RefreshInfo() { if (mItemObj == null) { return; } mHeadTex.mainTexture = mItemObj.iconTex; mLifeCmpt = mItemObj.GetCmpt <LifeLimit>(); mEnergyCmpt = mItemObj.GetCmpt <Energy>(); mHealth.sliderValue = mLifeCmpt.floatValue.percent; mEnergy.sliderValue = mEnergyCmpt.floatValue.percent; if (mEnergyCmpt.floatValue.percent < 0.30f) { mAnimation.enabled = true; } else { mAnimation.enabled = false; mForeground.alpha = 1f; } }
void OnGirdItemChanged(ItemObject item, ItemObject oldItem, int index) { if (oldItem != null) { if (item == null) { CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mTakeAwayFromMachine.GetString(), oldItem.protoData.GetName(), CSUtils.GetEntityName(m_Type))); } else if (item == oldItem) { //log:lz-2016.04.14: 这里点击的是自己Item不做操作 //CSUI_MainWndCtrl.ShowStatusBar(UIMsgBoxInfo.mNotEnoughGrid.GetString(), Color.red); } else { CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mPutIntoMachine.GetString(), item.protoData.GetName(), CSUtils.GetEntityName(m_Type))); } } else if (item != null) { CSUI_MainWndCtrl.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mPutIntoMachine.GetString(), item.protoData.GetName(), CSUtils.GetEntityName(m_Type))); } if (item != null) { m_enhanceItem = item.GetCmpt <Strengthen>(); m_repairItem = item.GetCmpt <Repair>(); m_recycleItem = item.GetCmpt <Recycle>(); } else { m_enhanceItem = null; m_repairItem = null; m_recycleItem = null; } OnItemChanged(item); }
private ItemObject CompearEnery(ItemObject obj0, ItemObject obj1) { Energy enery0 = obj0.GetCmpt <Energy>(); Energy enery1 = obj1.GetCmpt <Energy>(); if (enery0.floatValue.current > enery1.floatValue.current) { return(obj0); } else { return(obj1); } }
public static bool EqEnergySheildCanUse(PeEntity npc, ItemObject obj) { ItemAsset.Equip equip = obj.GetCmpt <ItemAsset.Equip>(); if (null == equip) { return(false); } if (!Pathea.PeGender.IsMatch(equip.sex, npc.ExtGetSex())) { return(false); } return(true); }
void ReduceWeaponDurability(ItemObject itemObj) { if (null != itemObj) { if (GameConfig.IsMultiMode) { PlayerNetwork.mainPlayer.RequestWeaponDurability(Entity.Id, itemObj.instanceId); } else { ItemAsset.Equip equipCmpt = itemObj.GetCmpt <ItemAsset.Equip>(); equipCmpt.ExpendAttackDurability(mSkEntity); } } }
void RPC_S2C_WeaponDurability(uLink.BitStream stream, uLink.NetworkMessageInfo info) { float hp = stream.Read <float>(); int objId = stream.Read <int>(); ItemObject item = ItemMgr.Instance.Get(objId); if (item != null) { Durability d = item.GetCmpt <Durability>(); if (d != null) { d.floatValue.current = hp; } } }
//[Obsolete] void RPC_S2C_Plant_FarmInfo(uLink.BitStream stream, uLink.NetworkMessageInfo info) { byte[] data = stream.Read <byte[]> (); List <FarmPlantInitData> initList = FarmManager.Instance.ImportPlantData(data); foreach (FarmPlantInitData plantData in initList) { ItemObject itemObj = ItemMgr.Instance.Get(plantData.mPlantInstanceId); DragArticleAgent dragItem = DragArticleAgent.Create(itemObj.GetCmpt <Drag>(), plantData.mPos, Vector3.one, plantData.mRot, plantData.mPlantInstanceId); FarmPlantLogic plant = dragItem.itemLogic as FarmPlantLogic; plant.InitDataFromPlant(plantData); FarmManager.Instance.AddPlant(plant); plant.UpdateInMultiMode(); } }
void RPC_Tower_InitData(uLink.BitStream stream, uLink.NetworkMessageInfo info) { _pos = transform.position = stream.Read <Vector3>(); rot = transform.rotation = stream.Read <Quaternion>(); ItemObject itemObj = stream.Read <ItemObject>(); if (null == itemObj) { LogManager.Error("Invalid tower item"); return; } //[zhujiangbo] // int itemProtoId = itemObj.protoId; ItemAsset.Drag drag = itemObj.GetCmpt <ItemAsset.Drag>(); if (null == drag) { return; } DragTowerAgent item = new DragTowerAgent(drag, transform.position, Vector3.one, transform.rotation, Id, this); item.Create(); SceneMan.AddSceneObj(item); _entity = EntityMgr.Instance.Get(Id); if (null == _entity) { return; } Pathea.TowerProtoDb.Item tower = Pathea.TowerProtoDb.Get(itemObj.protoData.towerEntityId); if (null != tower) { gameObject.name = tower.name + "_" + Id; } OnSpawned(_entity.GetGameObject()); //OnSkAttrInitEvent += InitForceData; InitMapInfo(); }
void CreateModel(ItemObject itemObj) { if (mViewCmpt == null) { mViewCmpt = Entity.biologyViewCmpt; } if (null == mViewCmpt.modelTrans) { return; } ItemAsset.Equip equip = itemObj.GetCmpt <ItemAsset.Equip>(); if (null == equip) { return; } GameObject obj = equip.CreateGameObj(); if (null == obj) { return; } PEEquipment equ = obj.GetComponent <PEEquipment>(); if (null == equ) { Debug.LogError("Equip can't find:" + itemObj.nameText); GameObject.Destroy(obj); return; } //IgnoreCollision // PETools.PEUtil.IgnoreCollision(obj, gameObject); equ.InitEquipment(Entity, itemObj); mEquipments.Add(equ); HideEquipmentByFirstPerson(equ, m_HideEquipmentByFirstPerson); HideEquipmentByVehicle(equ, m_HideEquipmentByVehicle); HidEquipmentByRagdoll(equ, m_HideEquipmentByRagdoll); mMotionEquip.SetEquipment(equ, true); PreLoadEquipmentEffect(equ); }
protected override void RPC_S2C_InitData(uLink.BitStream stream, uLink.NetworkMessageInfo info) { ItemObject item = stream.Read <ItemObject>(); float rotY = stream.Read <float>(); rot = transform.rotation = Quaternion.Euler(0, rotY, 0); //InitData parameter member //and add data to creator _ColonyObj._RecordData.m_Position = transform.position;//network's position _ColonyObj._RecordData.ItemID = ExternId; _ColonyObj._RecordData.ID = Id; MultiColonyManager.Instance.AddDataToCreator(this, TeamId); // if(Application.isEditor) // Debug.Log("<color=red>Get colony InitData!</color>"); if (null == item) { return; } Drag drag = item.GetCmpt <Drag>(); if (null == drag) { return; } DragArticleAgent dragItem = DragArticleAgent.Create(drag, transform.position, transform.localScale, transform.rotation, Id, this); if (dragItem.itemLogic != null) { CSBuildingLogic csbl = dragItem.itemLogic as CSBuildingLogic; if (csbl != null) { csbl.InitInMultiMode(m_Entity, _ownerId); OnTeamChange(); _entity = Pathea.EntityMgr.Instance.Get(Id); OnSpawned(csbl.gameObject); } } }
IEnumerator PreLoad() { if (mItemList != null) { //Object asset; for (int i = 0; i < mItemList.Count; i++) // using foreach may cause exception when mItemList changed out of this method { ItemObject itemObj = mItemList [i]; if (!ISAvatarModel(itemObj)) { ItemAsset.Equip equip = itemObj.GetCmpt <ItemAsset.Equip> (); if (null != equip) { AssetsLoader.Instance.AddReq(new AssetReq(equip.protoData.resourcePath)); yield return(new WaitForSeconds(0.2f)); } } } } }
void ReduceArmorDurability(float damage, SkEntity caster) { if (GameConfig.IsMultiMode) { int[] equipIds = mItemList.Select(iter => null != iter ? iter.instanceId : -1).ToArray(); PlayerNetwork.mainPlayer.RequestArmorDurability(Entity.Id, equipIds, damage, caster); } else { for (int i = 0; i < mItemList.Count; ++i) { ItemObject itemObj = mItemList[i]; if (null != itemObj) { ItemAsset.Equip equipCmpt = itemObj.GetCmpt <ItemAsset.Equip>(); equipCmpt.ExpendDefenceDurability(mSkEntity, damage); } } } }
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); } }
public bool IsChargeable(ItemObject itemObj) { if (null == itemObj) { return(false); } ItemAsset.Energy energy = itemObj.GetCmpt <ItemAsset.Energy>(); if (null == energy || itemObj.protoData.unchargeable) { if (m_bUseMsgBox) { //lz-2016.10.24 把对话框的提示改成左上角提示 PeTipMsg.Register(PELocalization.GetString(8000094), PeTipMsg.EMsgLevel.Error); } else { CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000094), Color.red); } return(false); } if ((!(energy is ItemAsset.EnergySmall)) && !m_bCanChargeLargedItem) { if (m_bUseMsgBox) { //lz-2016.10.24 把对话框的提示改成左上角提示 PeTipMsg.Register(PELocalization.GetString(8000095), PeTipMsg.EMsgLevel.Warning); } else { CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000095), Color.red); } return(false); } return(true); }