Exemplo n.º 1
0
        BehaveResult Init(Tree sender)
        {
            if (!GetData <Data>(sender, ref m_Data))
            {
                return(BehaveResult.Failure);
            }

            if (m_Data.followEntity == null)
            {
                return(BehaveResult.Failure);
            }

            if (!Enemy.IsNullOrInvalid(attackEnemy))
            {
                return(BehaveResult.Failure);
            }

            PeEntityCreator.InitRobotInfo(entity, m_Data.followEntity);

            if (Random.value > m_Data.prob)
            {
                return(BehaveResult.Failure);
            }

            m_HoverPosition = GetAroundPos();
            m_StartTime     = Time.time;
            //m_LastTime = Time.time;
            m_Time = Random.Range(m_Data.minTime, m_Data.maxTime);
            return(BehaveResult.Running);
        }
Exemplo n.º 2
0
        BehaveResult Init(Tree sender)
        {
            if (!GetData <Data>(sender, ref m_Data))
            {
                return(BehaveResult.Failure);
            }

            if (Enemy.IsNullOrInvalid(attackEnemy))
            {
                return(BehaveResult.Failure);
            }


            if (entity.robotCmpt == null)
            {
                return(BehaveResult.Failure);
            }

            if (m_Data.followEntity == null)
            {
                return(BehaveResult.Failure);
            }

            PeEntityCreator.InitRobotInfo(entity, m_Data.followEntity);
            //m_StartTime = Time.time;
            m_Data.changrPos = true;
            //m_findAttack = true;
            //startFindPosTime = Time.time;
            m_AttcakPos = GetAroundPos(attackEnemy.centerPos);

            //m_Arrived = false;
            return(BehaveResult.Running);
        }