Exemplo n.º 1
0
        Vector3 GetRetreatPos(Vector3 TargetPos, Transform selfTrans, float minr, float maxr)
        {
            Vector3 selfPos = selfTrans.position;
            Vector3 dir     = (selfPos - TargetPos).normalized;
            Vector3 retreat = PEUtil.GetRandomPosition(selfTrans.position, dir, minr, maxr, -90.0f, 90.0f);

            if (PEUtil.CheckPositionUnderWater(retreat) || PEUtil.CheckPositionInSky(retreat))
            {
                dir     = Random.value > 0.5 ? selfTrans.right : -selfTrans.right;
                retreat = selfPos + dir * 20.0f;
            }

//			Vector3 newpos;
//			if(AiUtil.GetNearNodePosWalkable(retreat,out newpos))
//			{
//				return newpos;
//			}
            return(retreat);
        }