Example #1
0
    public static void OnMonsterAdd(int id, AiNetwork ai, Pathea.PeEntity entity)
    {
        EntityMonsterBeacon mbEntity = Pathea.EntityMgr.Instance.Get(id) as EntityMonsterBeacon;

        if (null != mbEntity)
        {
            mbEntity.OnMonsterCreated(entity);
        }
        else
        {
            if (null != entity)
            {
                Pathea.CommonCmpt cc = entity.GetCmpt <Pathea.CommonCmpt>();
                if (cc != null)
                {
                    AiTowerDefense td = AiTowerDefense.Get <AiTowerDefense>(id);
                    if (null != td)
                    {
                        cc.TDpos = td._pos;
                    }
                }

                Pathea.SkAliveEntity sae = entity.GetCmpt <Pathea.SkAliveEntity>();
                if (sae != null)
                {
                    sae.SetAttribute(Pathea.AttribType.DefaultPlayerID, 8);
                    sae.SetAttribute(Pathea.AttribType.CampID, 26);
                }
            }
        }
    }
Example #2
0
        public override void Start()
        {
            base.Start();

            mTrans      = Entity.peTrans;
            mEntityInfo = Entity.GetCmpt <EntityInfoCmpt>();
            //mServant = Entity.GetCmpt<NpcCmpt>();
            mCommon = Entity.GetCmpt <CommonCmpt>();
        }
Example #3
0
    void CreateDroppableItemList()
    {
        if (_itemListsUpdated)
        {
            return;
        }

        _itemListsUpdated = true;

        //_itemLists.Add(this); // this will be added at the end of this method(foreach)

        Pathea.PeEntity entity = GetComponent <Pathea.PeEntity>();
        if (null == entity)
        {
            return;
        }
        _skAlive = entity.GetCmpt <Pathea.SkAliveEntity>();
        if (_skAlive == null || !_skAlive.isDead)
        {
            return;
        }

        if (Pathea.PeGameMgr.IsMulti)
        {
            return;
        }
        Pathea.CommonCmpt common = entity.GetCmpt <Pathea.CommonCmpt>();
        if (common != null)
        {
            List <ItemSample> items = ItemDropData.GetDropItems(common.ItemDropId);
            if (common.entityProto.proto == Pathea.EEntityProto.Monster)
            {
                if (items == null)
                {
                    items = GetSpecialItem.MonsterItemAdd(common.entityProto.protoId);
                }
                else
                {
                    items.AddRange(GetSpecialItem.MonsterItemAdd(common.entityProto.protoId));   //特殊道具添加
                }
            }
            if (items != null)
            {
                foreach (ItemSample item in items)
                {
                    AddDroppableItem(item);
                }
            }
        }

        return;
    }
        public override void Start()
        {
            base.Start();

            cmptIK        = Entity.GetCmpt <IKCmpt>();
            cmptCommon    = GetComponent <CommonCmpt>();
            cmptEquipment = GetComponent <EquipmentCmpt>();

            Entity.aliveEntity.deathEvent  += OnDeath;
            Entity.aliveEntity.reviveEvent += OnRevive;

            //there is no scene event
            if (SceneMan.self == null)
            {
                this.Invoke(0.1f, Build);
            }
        }
        Texture TakePhoto()
        {
            BiologyViewCmpt v = Entity.biologyViewCmpt;

            if (v == null /*|| v.modelTrans == null*/) //lz-2016.07.23 PeViewStudio.TakePhoto 里面处理了没有模型的情况,这里不用返回
            {
                return(null);
            }

            CommonCmpt c = Entity.commonCmpt;

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

            return(PeViewStudio.TakePhoto(v, 64, 64, PeViewStudio.s_HeadPhotoPos, PeViewStudio.s_HeadPhotoRot));//PhotoStudio.Instance.TakePhoto(v.modelTrans.gameObject, (int)c.sex);
        }
        public override void Start()
        {
            base.Start();
            //mView = Entity.peTrans;
            mCommon      = Entity.GetCmpt <CommonCmpt>();
            mAliveEntity = Entity.GetCmpt <SkAliveEntity>();

            if (mAliveEntity != null)
            {
                //mAliveEntity.onHpChange += mHeadInfo.OnHpChange;
                mAliveEntity.deathEvent += OndeathEnvent;
            }

            // mHeadInfo.SetTheEntity(Entity);
            //mHeadInfo.InitTheentity(Entity);
            SyncObjectName();
            SetVisiable(true);
            // SyncInfo();
        }
Example #7
0
        public void OnHpChange(SkEntity self, SkEntity caster, float hpChange)
        {
            if (null == self)
            {
                return;
            }
            SkAliveEntity skAlive = self as SkAliveEntity;

            if (null != skAlive)
            {
                PeTrans    trans  = skAlive.Entity.peTrans;
                CommonCmpt common = skAlive.Entity.commonCmpt;
                if (null != trans)
                {
                    HPChangeEventData data = new HPChangeEventData();
                    data.m_Self      = self;
                    data.m_HPChange  = hpChange;
                    data.m_Transfrom = trans.trans;
                    data.m_Proto     = (null != common && null != common.entityProto)?common.entityProto.proto:EEntityProto.Doodad;
                    data.m_AddTime   = Time.realtimeSinceStartup;
                    _datas.Push(data);
                }
            }
        }
Example #8
0
        string GetSkeleton()
        {
            CommonCmpt info = Entity.GetCmpt <CommonCmpt>();

            return((null != info && info.sex == PeSex.Male) ? MaleModelPrefabPath : FemaleModelPrefabPath);
        }