コード例 #1
0
ファイル: VBase.cs プロジェクト: mengtest/fs
        /// <summary>
        /// 创建模型
        /// </summary>
        public virtual void Create(sVOjectBaseInfo baseInfo)
        {
            m_baseInfo = baseInfo;
            EntityBaseInfo info = new EntityBaseInfo();

            info.m_uid    = baseInfo.m_uid;
            info.m_resID  = baseInfo.m_resId;
            info.m_ilayer = (int)LusuoLayer.eEL_Dynamic;
            info.m_vPos   = baseInfo.m_pos;
            info.m_vScale = Vector3.one * baseInfo.m_scale;
            if (baseInfo.m_dir != Vector3.zero)
            {
                info.m_vRotate = Quaternion.LookRotation(baseInfo.m_dir).eulerAngles;
            }

            eEntityType eType = eEntityType.eBattleEntity;

            if (this is VObject)
            {
                eType = eEntityType.eBattleEntity;
            }
            else if (this is VTrigger)
            {
                eType = eEntityType.eEffectEntity;
            }

            int hid = EntityManager.Inst.CreateEntity(eType, info, CreateEnd);

            SetDir(baseInfo.m_dir);
            SetPos(baseInfo.m_pos, true);
            SetSpeed(baseInfo.m_speed);
            m_ent = EntityManager.Inst.GetEnity(hid);
        }
コード例 #2
0
ファイル: VObject.cs プロジェクト: mengtest/fs
        public override void Create(sVOjectBaseInfo baseInfo)
        {
            base.Create(baseInfo);

            if (m_baseInfo.m_showHead)
            {
                m_head = new CThingHead("1111");
            }
        }
コード例 #3
0
        public override bool Create(int csvId, string name, Vector2d pos, Vector2d dir, float scale = 1)
        {
            // 通过不同类型,读取不同配置表
            BuffTriggerCsv buffCsv = CsvManager.Inst.GetCsv <BuffTriggerCsv>((int)eAllCSV.eAc_BuffTrigger);

            m_triggerData = buffCsv.GetData(csvId);

            InitPos(ref pos, ref dir);

            if (m_triggerData.ModelResId != 0)
            {
                // 表现
                m_vCreature = VObjectMgr.Create(eVOjectType.SkillTrigger);
                sVOjectBaseInfo info = new sVOjectBaseInfo();
                info.m_resId      = m_triggerData.ModelResId;
                info.m_pos        = pos.ToVector3() + Vector3.up * m_triggerData.vBulletDeltaPos.y;
                info.m_dir        = dir.ToVector3();
                info.m_headHeight = m_triggerData.HeadHeight;
                info.m_showHead   = false;
                m_vCreature.Create(info);
            }

            SetPos(pos, true);
            SetDir(dir);
            SetScale(scale);
            SetSpeed(new FixedPoint(m_triggerData.FlySpeed));

            CFrameTimeMgr.Inst.RegisterEvent(m_triggerData.ContinuanceTime, () =>
            {
                if (!m_destroy)
                {
                    Destory();
                }
            });

            if (m_triggerData.DelayCheckTime == 0)
            {
                m_bStartCheck = true;
                Trigger();
            }
            else
            {
                CFrameTimeMgr.Inst.RegisterEvent(m_triggerData.DelayCheckTime, () =>
                {
                    m_bStartCheck = true;
                    Trigger();
                });
            }
            InitObstacle(pos);
            return(true);
        }
コード例 #4
0
ファイル: CCreature_VObject.cs プロジェクト: mengtest/fs
        public virtual void UpdateVO_Create(int resId, float headHeight, eVOjectType type = eVOjectType.Creature)
        {
            if (resId == 0)
            {
                Debug.LogError("严重错误,模型id为空");
                return;
            }

            m_vCreature = VObjectMgr.Create(type);
            if (type == eVOjectType.Creature)
            {
                ((VObject)m_vCreature).UpdateMaster(IsMaster());
            }
            sVOjectBaseInfo info = new sVOjectBaseInfo();

            info.m_uid        = (int)GetUid();
            info.csvId        = m_csvData.Id;
            info.m_resId      = resId;
            info.m_pos        = GetPos().ToVector3();
            info.m_dir        = GetDir().ToVector3();
            info.m_scale      = GetScale();
            info.m_speed      = GetSpeed().value;
            info.m_headHeight = headHeight;
            //if (m_csvData != null)
            //{
            //    info.m_dieSound = m_csvData.dieSound;
            //    info.m_speakId = m_csvData.speakId;
            //    info.m_dieEffect = m_csvData.dieEffect;
            //}
            if (string.IsNullOrEmpty(m_name))
            {
                info.m_showHead = false;
            }
            else
            {
                info.m_showHead = true;
            }
            m_vCreature.Create(info);
        }