Example #1
0
        /// <summary>
        /// Actor 出生
        /// </summary>
        /// <param name="point"></param>
        /// <param name="actorArt"></param>
        protected virtual void Born(LevelPoint point, string actorArt)
        {
            // 创建角色
            GameObject prefab  = LevelAsset.GetGameObject(actorArt);
            var        actorGo = GameObject.Instantiate <GameObject>(prefab);

            actorGo.transform.parent = transform;
            actorGameObject          = actorGo.GetComponent <ActorGameObject>();

            // 组件获取
            m_animator     = actorGameObject.GetComponent <Animator>();
            m_rigidbody    = actorGameObject.GetComponent <Rigidbody>();
            m_navMeshAgent = actorGameObject.GetComponent <NavMeshAgent>();

            // 基础设置
            actorGameObject.actor = this;
            actorGameObject.transform.position         = point.position;
            actorGameObject.transform.localEulerAngles = point.rotationAngle;

            // 寻路设置
            m_navMeshAgent.speed = attribute.GetAttribute(ActorAttributeType.MoveSpeed);

            m_moveVt = Vector3.zero;
            m_dirVt  = actorGameObject.transform.forward;
        }
Example #2
0
 public override void Born(LevelPoint point)
 {
     base.Born(point, m_dataCSV.art);
     canMove   = true;
     canAttack = true;
     attack    = false;
 }
Example #3
0
        public override void Born(LevelPoint point)
        {
            base.Born(point, m_dataCSV.art);

            // 怪行为设置
            m_behaviorTree = actorGameObject.gameObject.AddComponent <BehaviorTree>();
            m_behaviorTree.StartWhenEnabled    = false;
            m_behaviorTree.RestartWhenComplete = true;
            m_behaviorTree.ExternalBehavior    = LevelAsset.GetExternalBehaviorTree(m_dataCSV.behavior);
            m_behaviorTree.SetVariableValue("Target", Game.hero.actorGameObject.gameObject.transform);
            m_behaviorTree.EnableBehavior();
        }
Example #4
0
        /// <summary>
        /// 获取 points
        /// </summary>
        /// <param name="_xml"></param>
        private List <LevelPoint> GetPoints(SecurityElement _xml)
        {
            List <LevelPoint> points = new List <LevelPoint>();

            if (_xml.Children != null)
            {
                foreach (SecurityElement xmlChild in _xml.Children)
                {
                    LevelPoint point = new LevelPoint(xmlChild);
                    points.Add(point);
                }
            }
            return(points);
        }
Example #5
0
 /// <summary>
 /// Actor 出生
 /// </summary>
 /// <param name="point"></param>
 public virtual void Born(LevelPoint point)
 {
 }