Example #1
0
        public static EquipInfo SwichEquipInfo(ItemAsset.ItemObject obj)
        {
            if (obj == null)
            {
                return(null);
            }


            switch (obj.protoData.id)
            {
            //手榴弹处理
            case  60: EInfo.SetEquipInfo(EequipEditorType.gun, EeqSelect.combat);
                return(EInfo);

            //能源盾
            case 167:
            case 168:
            case 169:
            case 170:
                EInfo.SetEquipInfo(EequipEditorType.energy_sheild, EeqSelect.energy_sheild);
                return(EInfo);

            //电池
            case 228: EInfo.SetEquipInfo(EequipEditorType.battery, EeqSelect.energy);
                return(EInfo);

            default:
                break;
            }

            EequipEditorType type = (EequipEditorType)obj.protoData.editorTypeId;

            switch (type)
            {
            case EequipEditorType.sword:
                EInfo.SetEquipInfo(type, EeqSelect.combat);
                break;

            case EequipEditorType.axe:
                EInfo.SetEquipInfo(type, EeqSelect.tool);
                break;

            case EequipEditorType.bow:
                EInfo.SetEquipInfo(type, EeqSelect.combat);
                break;

            case EequipEditorType.gun:
                EInfo.SetEquipInfo(type, EeqSelect.combat);
                break;

            case EequipEditorType.shield:
                EInfo.SetEquipInfo(type, EeqSelect.protect);
                break;

            default:
                return(null);
            }

            return(EInfo);
        }
 void OnNetResponse(ItemAsset.ItemObject itemObj)
 {
     if (item.type != OBJECT.OBJECTTYPE.ItemProto)
     {
         return;
     }
     if (item.isSpecificPrototype)
     {
         if (item.Id == itemObj.protoId)
         {
             Post();
         }
     }
     else if (item.isAnyPrototypeInCategory)
     {
         if (ItemAsset.ItemProto.Mgr.Instance == null)
         {
             return;
         }
         ItemAsset.ItemProto proto = ItemAsset.ItemProto.Mgr.Instance.Get(itemObj.protoId);
         if (proto == null)
         {
             return;
         }
         if (item.Group == proto.editorTypeId)
         {
             Post();
         }
     }
     else if (item.isAnyPrototype && itemObj != null)
     {
         Post();
     }
 }
Example #3
0
        public static RailwayTrain GetTrain(int itemInstanceId)
        {
            ItemAsset.ItemObject trainItem = ItemAsset.ItemMgr.Instance.Get(itemInstanceId);
            if (null == trainItem)
            {
                return(null);
            }

            ItemAsset.Instantiate train = trainItem.GetCmpt <ItemAsset.Instantiate>();
            if (null == train)
            {
                return(null);
            }

            GameObject obj = train.CreateViewGameObj(null);

            if (null == obj)
            {
                return(null);
            }

            obj.transform.parent = railRoot;

            return(obj.GetComponent <RailwayTrain>());
        }
Example #4
0
        public override bool CanDoAction(PEActionParam para = null)
        {
            if (motionMgr.IsActionRunning(PEActionType.Build))
            {
                PeTipMsg.Register(PELocalization.GetString(9500246), PeTipMsg.EMsgLevel.Warning);
                return(false);
            }

            PEActionParamDrive paramDrive = para as PEActionParamDrive;

            m_DrivingController = paramDrive.controller;
            if (m_DrivingController == null)
            {
                return(false);
            }
            ItemAsset.ItemObject item = m_DrivingController.itemObject;
            if (item != null && skillTreeMgr != null && RandomMapConfig.useSkillTree)
            {
                if (!skillTreeMgr.CheckDriveEnable(item.protoData.itemClassId, item.protoData.level))
                {
                    return(false);
                }
            }
            return(true);
        }
 public override void InitEquipment(PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     m_MotionEquip = m_Entity.GetCmpt <Motion_Equip>();
     m_MotionMgr   = m_Entity.GetCmpt <MotionMgrCmpt>();
     m_Durability  = itemObj.GetCmpt <ItemAsset.Durability>();
 }
    public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
    {
        base.InitEquipment(entity, itemObj);
        m_Equip.SetEnergySheild(this);
        m_EnergyAttr = m_ItemObj.GetCmpt <ItemAsset.Energy>();

        if (null != m_EnergyAttr)
        {
            m_Entity.SetAttribute(AttribType.Shield, m_EnergyAttr.energy.current);
            m_EnergyAttr.SetMax(m_MaxEnergy);
        }
        m_Entity.SetAttribute(AttribType.ShieldMax, m_MaxEnergy);

        lastUsedTime = Time.time;

        m_Time             = new UTimer();
        m_Time.ElapseSpeed = -1f;
        m_Time.Second      = GameConfig.NetUpdateInterval;
        m_LastNetValue     = enCurrent;

        if (!m_Active)
        {
            DeactiveSheild();
        }
    }
Example #7
0
 public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     m_Anim = GetComponentInChildren <Animator>();
     m_View.AttachObject(gameObject, AttachBone);
     SetOpenState(false);
 }
Example #8
0
 public override void InitEquipment(PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     if (null != m_View)
     {
         m_View.AttachObject(gameObject, AttachBoneName);
     }
 }
Example #9
0
 public override void InitEquipment(PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     if (null != m_LHandWeapon)
     {
         m_View.AttachObject(m_LHandWeapon, m_LHandPutOffBone);
     }
 }
Example #10
0
 public override void InitEquipment(SkillAsset.SkillRunner runner, ItemAsset.ItemObject item)
 {
     base.InitEquipment(runner, item);
     if (null != mGlideObj)
     {
         mAnimator = mGlideObj.GetComponent <Animator>();
     }
     mPCM = runner.GetComponent <PhysicsCharacterMotor>();
 }
Example #11
0
        public float GetCdByItemInstance(ItemAsset.ItemObject itemObj)
        {
            if (itemObj == null)
            {
                return(0f);
            }

            return(GetCd(itemObj.protoData.skillId));
        }
Example #12
0
 public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     m_Entity      = entity;
     m_ItemObj     = itemObj;
     m_View        = m_Entity.biologyViewCmpt;
     m_MotionEquip = m_Entity.motionEquipment;
     m_MotionMgr   = m_Entity.motionMgr;
     m_View.AttachObject(gameObject, m_HandChangeAttr.m_PutOffBone);
 }
Example #13
0
        public static bool IsEquipItemObject(ItemAsset.ItemObject obj)
        {
            if (obj == null)
            {
                return(false);
            }

            return(SwichEquipInfo(obj) != null);
        }
Example #14
0
 public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     if (null != m_SubPart)
     {
         m_View.AttachObject(m_SubPart, subPartAttachBone);
     }
     m_View.AttachObject(gameObject, attachBone);
 }
Example #15
0
        public bool Request(ItemAsset.ItemObject item)
        {
            if (null == item)
            {
                return(false);
            }

            if (item.protoId == ReviveItemProtoId)
            {
                return(false);
            }

            Pathea.SkAliveEntity a = Entity.GetCmpt <Pathea.SkAliveEntity>();
            if (a != null)
            {
                if (a.isDead)
                {
                    return(false);
                }
            }

            //net
            if (NetworkInterface.IsClient && null != mNet)
            {
                float cd = GetCdByItemProtoId(item.protoId);
                if (cd > 0)
                {
                    return(false);
                }

                //ConsumeItem(item.GetCmpt<ItemAsset.Consume>());
                ItemAsset.Equip equip = item.GetCmpt <ItemAsset.Equip>();
                if (null != equip)
                {
                    if (mNet.network is PlayerNetwork)
                    {
                        Pathea.EquipmentCmpt cmpt = (mNet.network as PlayerNetwork).PlayerEntity.GetCmpt <Pathea.EquipmentCmpt>();
                        if (null != cmpt)
                        {
                            if (!cmpt.NetTryPutOnEquipment(item))
                            {
                                return(false);
                            }
                        }
                    }
                }
                LearnReplicatorFormula(item.GetCmpt <ItemAsset.ReplicatorFormula>(), false);
                LearnMetalScan(item.GetCmpt <ItemAsset.MetalScan>(), false);
                mNet.RequestUseItem(item.instanceId);
                return(true);
            }
            else
            {
                return(Use(item));
            }
        }
Example #16
0
    public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
    {
        base.InitEquipment(entity, itemObj);
        BiologyViewCmpt view = m_Entity.biologyViewCmpt;

        if (null != view)
        {
            view.AttachObject(gameObject, AttachBone);
        }
    }
Example #17
0
 public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     m_Equip.SetJetPackLogic(this);
     m_ItemAttr         = itemObj.GetCmpt <ItemAsset.JetPkg>();
     m_Time             = new UTimer();
     m_Time.ElapseSpeed = -1f;
     m_Time.Second      = GameConfig.NetUpdateInterval;
     m_LastNetValue     = enCurrent;
 }
    public static ItemAsset.Drag CreateItemDrag(int protoId)
    {
        ItemAsset.ItemObject itemObj = ItemAsset.ItemMgr.Instance.CreateItem(protoId);
        if (null == itemObj)
        {
            Debug.LogError("create item failed, protoId:" + protoId);
            return(null);
        }

        return(itemObj.GetCmpt <ItemAsset.Drag>());
    }
Example #19
0
 public override void InitEquipment(SkillRunner runner, ItemAsset.ItemObject item)
 {
     base.InitEquipment(runner, item);
     if (mMainPlayerEquipment)
     {
         mOpCube.Active = true;
         mOpCube.Enable = true;
     }
     else
     {
         mOpCube.Active = false;
     }
 }
Example #20
0
 public override void InitEquipment(PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     m_Effect = GetComponent <EquipmentActiveEffect>();
     if (null != m_Anim)
     {
         m_Anim.Stop();
     }
     if (null != m_Indicator)
     {
         m_Indicator.m_AddHeight = 1;
     }
 }
Example #21
0
 static ItemAsset.ItemObject GetCanEatItemFromCSStorage(PeEntity entity, CSStorage storage, int[] eatIds)
 {
     ItemAsset.ItemObject item = null;
     for (int i = 0; i < eatIds.Length; i++)
     {
         item = storage.m_Package.FindItemByProtoId(eatIds[i]);
         if (item != null)
         {
             break;
         }
     }
     return(item);
 }
Example #22
0
 public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     m_Energy = m_ItemObj.GetCmpt <ItemAsset.Energy>();
     if (null != m_Energy)
     {
         m_Entity.SetAttribute(AttribType.EnergyMax, m_Energy.valueMax);
         m_Entity.SetAttribute(AttribType.Energy, m_Energy.floatValue.current);
     }
     m_LastNetValue     = m_Entity.GetAttribute(AttribType.Energy);
     m_Time             = new UTimer();
     m_Time.ElapseSpeed = -1f;
     m_Time.Second      = GameConfig.NetUpdateInterval;
 }
    protected void PutDown(bool isCreation = false)
    {
        ItemAsset.Drag dragging = itemDragging;

        //some item stack count > 1, seed eg.
        if (itemDragging.itemObj.stackCount > 1)
        {
            ItemAsset.ItemObject itemobj = ItemAsset.ItemMgr.Instance.CreateItem(itemDragging.itemObj.protoId);
            dragging = itemobj.GetCmpt <ItemAsset.Drag>();
        }

        /*DragArticleAgent agent = */
        DragArticleAgent.Create(dragging, transform.position, transform.localScale, transform.rotation, SceneMan.InvalidID, null, isCreation);

        RemoveFromBag();
    }
Example #24
0
 public override void InitEquipment(Pathea.PeEntity entity, ItemAsset.ItemObject itemObj)
 {
     base.InitEquipment(entity, itemObj);
     if (null != mBackPack)
     {
         if (null != m_View)
         {
             m_View.AttachObject(mBackPack.gameObject, "Bow_box");
         }
         else
         {
             mBackPack.gameObject.SetActive(false);
         }
     }
     m_Effect = GetComponent <EquipmentActiveEffect>();
 }
Example #25
0
 public override void InitEquipment(SkillRunner runner, ItemAsset.ItemObject item)
 {
     base.InitEquipment(runner, item);
     Transform[] bones = runner.GetComponentsInChildren <Transform>();
     foreach (Transform tran in bones)
     {
         if (tran.name == "Bow_box")
         {
             mArrowBag.transform.parent        = tran;
             mArrowBag.transform.localPosition = Vector3.zero;
             mArrowBag.transform.localScale    = Vector3.one;
             mArrowBag.transform.localRotation = Quaternion.identity;
             break;
         }
     }
 }
Example #26
0
    public override void SetItemObject(ItemAsset.ItemObject itemObj)
    {
        base.SetItemObject(itemObj);

        mItemTower = mItemObj.GetCmpt <ItemAsset.Tower>();

        mItemEnergy = mItemObj.GetCmpt <ItemAsset.Energy>();

        mLifeLimit = mItemObj.GetCmpt <ItemAsset.LifeLimit>();

        mDurability = mItemObj.GetCmpt <ItemAsset.Durability>();

        if (!Pathea.PeGameMgr.IsMulti && null != tower && null != mLifeLimit)
        {
            tower.Entity.SetAttribute(Pathea.AttribType.Hp, mLifeLimit.floatValue.current);
        }
    }
Example #27
0
        public bool ReviveServent(bool usePlayer = true)
        {
            NpcPackageCmpt Serventpackage = this.GetComponent <NpcPackageCmpt>();

            if (Serventpackage == null)
            {
                return(false);
            }
            ItemAsset.SlotList   package = Serventpackage.GetSlotList();
            ItemAsset.ItemObject Obj     = package.FindItemByProtoId(ReviveItemProtoId);

            if (null == Obj)
            {
                package = Serventpackage.GetHandinList();
                Obj     = package.FindItemByProtoId(ReviveItemProtoId);
            }

            if (Obj == null && !usePlayer)
            {
                return(false);
            }

            if (Obj == null)
            {
                if (GameUI.Instance.mMainPlayer == null)
                {
                    return(false);
                }
                PlayerPackageCmpt playerPackage = GameUI.Instance.mMainPlayer.GetCmpt <PlayerPackageCmpt>();

                if (playerPackage == null)
                {
                    return(false);
                }
                ItemAsset.ItemObject Obj2 = playerPackage.package.FindItemByProtoId(ReviveItemProtoId);
                if (Obj2 == null)
                {
                    return(false);
                }

                return(Use(Obj2, playerPackage));
                //return false ;
            }

            return(Use(Obj));
        }
Example #28
0
        public bool Revive()
        {
            //only player package
            PlayerPackageCmpt playerPkg = mPkg as PlayerPackageCmpt;

            if (playerPkg == null)
            {
                return(false);
            }

            ItemAsset.ItemObject Obj = playerPkg.package.FindItemByProtoId(ReviveItemProtoId);
            if (Obj == null)
            {
                return(false);
            }

            return(Use(Obj));
        }
Example #29
0
        public static bool CanEatFromStorage(PeEntity entity, CSStorage storage, out ItemAsset.ItemObject item)
        {
            item = null;
            List <AttrPer> attrpers;

            if (IsWantEat(entity, out attrpers))
            {
                for (int i = 0; i < attrpers.Count; i++)
                {
                    int[] eatids = GetEatIDs(attrpers[i].mTypeId, attrpers[i].mCurPercent);
                    item = GetCanEatItemFromCSStorage(entity, storage, eatids);
                    if (item != null)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
    void Mission953(int nMissionID, int itemId)
    {
        if (nMissionID != MissionManager.m_SpecialMissionID93)
        {
            return;
        }
        ItemAsset.ItemObject itemObj = ItemAsset.ItemMgr.Instance.Get(itemId);
        if (itemObj == null)
        {
            return;
        }

        int itemid = 0;

        if (itemObj.protoId > 100000000)
        {
            itemid = StroyManager.Instance.ItemClassIdtoProtoId(itemObj.protoData.itemClassId);
        }
        else
        {
            itemid = itemObj.protoId;
        }
        if (nMissionID == MissionManager.m_SpecialMissionID93 && MissionManager.Instance.m_PlayerMission.IsSpecialID(itemid) == ECreation.SimpleObject)
        {
            CreationData creationData = CreationMgr.GetCreation(itemObj.instanceId);
            if (creationData != null)
            {
                int costNum = 0;
                foreach (var cost in creationData.m_Attribute.m_Cost.Values)
                {
                    costNum += cost;
                }
                if (costNum <= 300)
                {
                    StroyManager.Instance.GetMissionOrPlotById(10954);
                }
                else
                {
                    StroyManager.Instance.GetMissionOrPlotById(10955);
                }
            }
        }
    }