Ejemplo n.º 1
0
        public void SetLineTargetPos(Vector3 tPos)
        {
            if (m_ent == null)
            {
                return;
            }

            EffectEntity eEnt = m_ent as EffectEntity;

            if (eEnt == null)
            {
                return;
            }
            eEnt.SetLineEnd(tPos);
        }
Ejemplo n.º 2
0
        public void SetLineStartPos(Vector3 sPos)
        {
            if (m_ent == null)
            {
                return;
            }

            EffectEntity eEnt = m_ent as EffectEntity;

            if (eEnt == null)
            {
                return;
            }
            eEnt.SetLineStart(sPos);
        }
Ejemplo n.º 3
0
        public int CreateEntity(eEntityType eType, EntityBaseInfo baseInfo, Action <Entity> initEnd)
        {
            // 在这里可以让各种Entity继承EntityManager单独做个管理类
            // 然后通过管理类去new实体对象,暂时先用switch了
            // tips:这种静态的公共变量,如果在多个异步调用时,它的值会被最新值替换掉,在下面add时,就不能使用这个变量
            ++s_entityHandleId;
            // 如果缓存中有,就取缓存,如果没有就创建
            Entity entity = TryGetEntityFromCache(s_entityHandleId, initEnd, baseInfo);

            if (entity == null)
            {
                switch (eType)
                {
                case eEntityType.eNone:
                    entity = new Entity(s_entityHandleId, initEnd, eType, baseInfo);
                    break;

                case eEntityType.eSceneEntity:
                    entity = new SceneEntity(s_entityHandleId, initEnd, eType, baseInfo);
                    break;

                case eEntityType.eBoneEntity:
                    entity = new BoneEntity(s_entityHandleId, initEnd, eType, baseInfo);
                    break;

                case eEntityType.eEffectEntity:
                    entity = new EffectEntity(s_entityHandleId, initEnd, eType, baseInfo);
                    break;

                case eEntityType.eSoundEntity:
                    entity = new SoundEntity(s_entityHandleId, initEnd, eType, baseInfo);
                    break;

                case eEntityType.eBattleEntity:
                    entity = new BattleEntity(s_entityHandleId, initEnd, eType, baseInfo);
                    break;
                }
                if (null == entity)
                {
                    Debug.LogError("error eType:" + eType);
                    return(0);
                }
            }
            m_entityMap.Add(entity.m_hid, entity);
            return(entity.m_hid);
        }