//移动人物
    public void MoveRole(RoleModel roleModel)
    {
        //判断当前游戏是否在进行,同时是否有对象正在移动
        if ((!isRuning) || actionManager.IsMoving())
        {
            return;
        }

        Vector3 destination, mid_destination;

        if (roleModel.isInBoat)
        {
            //若人在船上,则将其移向岸上
            if (boatController.GetBoatModel().isRight)
            {
                destination = rightLandController.AddRole(roleModel);
            }
            else
            {
                destination = leftLandController.AddRole(roleModel);
            }
            if (roleModel.role.transform.localPosition.y > destination.y)
            {
                mid_destination = new Vector3(destination.x, roleModel.role.transform.localPosition.y, destination.z);
            }
            else
            {
                mid_destination = new Vector3(roleModel.role.transform.localPosition.x, destination.y, destination.z);
            }
            actionManager.MoveRole(roleModel.role, mid_destination, destination, 5);
            roleModel.isRight = boatController.GetBoatModel().isRight;
            boatController.RemoveRole(roleModel);
        }
        else
        {
            //若人在岸上,则将其移向船
            if (boatController.GetBoatModel().isRight == roleModel.isRight)
            {
                if (roleModel.isRight)
                {
                    rightLandController.RemoveRole(roleModel);
                }
                else
                {
                    leftLandController.RemoveRole(roleModel);
                }
                destination = boatController.AddRole(roleModel);
                if (roleModel.role.transform.localPosition.y > destination.y)
                {
                    mid_destination = new Vector3(destination.x, roleModel.role.transform.localPosition.y, destination.z);
                }
                else
                {
                    mid_destination = new Vector3(roleModel.role.transform.localPosition.x, destination.y, destination.z);
                }
                actionManager.MoveRole(roleModel.role, mid_destination, destination, 5);
            }
        }
    }
 public void MoveRole(RoleModel roleModel)
 {
     if (!isRuning || moveController.GetIsMoving())
     {
         return;
     }
     if (roleModel.isInBoat)
     {
         roleModel.isRight = boatRoleController.GetBoatModel().isRight;
         moveController.SetMove(landRoleController.AddRole(roleModel), roleModel.role);
         boatRoleController.RemoveRole(roleModel);
     }
     else if (boatRoleController.GetBoatModel().isRight == roleModel.isRight)
     {
         landRoleController.RemoveRole(roleModel);
         moveController.SetMove(boatRoleController.AddRole(roleModel), roleModel.role);
     }
 }
Beispiel #3
0
    //移动人物
    public void MoveRole(RoleModel roleModel)
    {
        //判断当前游戏是否在进行,同时是否有对象正在移动
        if ((!isRuning) || moveController.GetIsMoving())
        {
            return;
        }

        if (roleModel.isInBoat)
        {
            //若人在船上,则将其移向岸上
            if (boatRoleController.GetBoatModel().isRight)
            {
                moveController.SetMove(rightLandRoleController.AddRole(roleModel), roleModel.role);
            }
            else
            {
                moveController.SetMove(leftLandRoleController.AddRole(roleModel), roleModel.role);
            }
            roleModel.isRight = boatRoleController.GetBoatModel().isRight;
            boatRoleController.RemoveRole(roleModel);
        }
        else
        {
            //若人在岸上,则将其移向船
            if (boatRoleController.GetBoatModel().isRight == roleModel.isRight)
            {
                if (roleModel.isRight)
                {
                    rightLandRoleController.RemoveRole(roleModel);
                }
                else
                {
                    leftLandRoleController.RemoveRole(roleModel);
                }
                moveController.SetMove(boatRoleController.AddRole(roleModel), roleModel.role);
            }
        }
    }
    //移动人物,判断当前游戏是否在进行,同时是否有对象正在移动,然后判断人在船上还是岸上,再移动
    public void MoveRole(RoleModel roleModel)
    {
        //
        if ((!isRuning) || moveController.GetIsMoving())
        {
            return;
        }

        if (roleModel.isInBoat)
        {
            if (boatRoleController.GetBoatModel().isRight)
            {
                moveController.SetMove(rightLandRoleController.AddRole(roleModel), roleModel.role);
            }
            else
            {
                moveController.SetMove(leftLandRoleController.AddRole(roleModel), roleModel.role);
            }
            roleModel.isRight = boatRoleController.GetBoatModel().isRight;
            boatRoleController.RemoveRole(roleModel);
        }
        else
        {
            if (boatRoleController.GetBoatModel().isRight == roleModel.isRight)
            {
                if (roleModel.isRight)
                {
                    rightLandRoleController.RemoveRole(roleModel);
                }
                else
                {
                    leftLandRoleController.RemoveRole(roleModel);
                }
                moveController.SetMove(boatRoleController.AddRole(roleModel), roleModel.role);
            }
        }
    }