示例#1
0
            public override IValue GetIValue(Agent self, IInstanceMember firstParam)
            {
                Agent agent = Utils.GetParentAgent(self, _instance);

                bVector3 result = ((CInstanceMember <bVector3>)firstParam).GetValue(self);

                _returnValue.value = ((SoilderAgent)agent).MoveTo(result);
                return(_returnValue);
            }
示例#2
0
    private Vector3 curTargetPos;//当前目标位置
    /// <summary>
    /// 向一个位置移动,主动移动放在agent里,driver只负责位置同步
    /// </summary>
    /// <param name="targetPos"></param>
    /// <returns></returns>
    public behaviac.EBTStatus MoveTo(bVector3 targetPos)
    {
        if (curActionStatus != ActionStatus.Moving)
        {
            curActionStatus = ActionStatus.Moving;
            curTargetPos    = targetPos.UnityVec();
            MgrCenter.Instance.SendMsg(Msgs.GetMsgMoveRequest((ushort)MoveEvent.MoveClientRequest, Id, transform.position, curTargetPos));
        }

        return(behaviac.EBTStatus.BT_RUNNING);
    }
示例#3
0
 /// <summary>
 /// 设置一个撤退点
 /// </summary>
 /// <param name="retreatPosition"></param>
 public void SetRetreatPos(bVector3 retreatPosition)
 {
     _set_retreatPos(retreatPosition);
 }
示例#4
0
 public void _set_retreatPos(bVector3 value)
 {
     retreatPos = value;
 }
示例#5
0
 public void _set_fleePos(bVector3 value)
 {
     fleePos = value;
 }
示例#6
0
 public void _set_position(bVector3 value)
 {
     position = value;
 }
示例#7
0
 public void _set_homePoint(bVector3 value)
 {
     homePoint = value;
 }
示例#8
0
 public void _set_curTacticAtkPos(bVector3 value)
 {
     curTacticAtkPos = value;
 }
示例#9
0
 public static Vector3 UnityVec(this bVector3 bVector)
 {
     return(new Vector3(bVector.x, bVector.y, bVector.z));
 }