//移动人物 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); } } }
private BoatController boatRoleController; //船控制器 //导入资源 public void LoadResources() { //初始化 roleModelControllers = new RoleModelController[6]; for (int i = 0; i < 6; i++) { roleModelControllers[i] = new RoleModelController(); roleModelControllers[i].CreateRole(PositionModel.roles[i], i < 3 ? true : false, i); } leftLandRoleController = new LandModelController(); leftLandRoleController.CreateLand("left_land", PositionModel.left_land); rightLandRoleController = new LandModelController(); rightLandRoleController.CreateLand("right_land", PositionModel.right_land); foreach (RoleModelController roleModelController in roleModelControllers) { roleModelController.GetRoleModel().role.transform.localPosition = leftLandRoleController.AddRole(roleModelController.GetRoleModel()); } riverModel = new RiverModel(PositionModel.river); boatRoleController = new BoatController(); boatRoleController.CreateBoat(PositionModel.left_boat); moveController = new MoveController(); isRuning = true; time = 60; }
//导入资源 public void LoadResources() { //人物初始化 roleControllers = new RoleModelController[6]; for (int i = 0; i < 6; i++) { roleControllers[i] = new RoleModelController(); roleControllers[i].CreateRole(PositionModel.roles[i], i < 3 ? true : false, i); } //左右岸初始化 leftLandController = new LandModelController(); leftLandController.CreateLand("left_land", PositionModel.left_land); rightLandController = new LandModelController(); rightLandController.CreateLand("right_land", PositionModel.right_land); //将人物添加并定位至左岸 foreach (RoleModelController roleModelController in roleControllers) { roleModelController.GetRoleModel().role.transform.localPosition = leftLandController.AddRole(roleModelController.GetRoleModel()); } //河流Model实例化 riverModel = new RiverModel(PositionModel.river); //船初始化 boatController = new BoatModelController(); boatController.CreateBoat(PositionModel.left_boat); //移动控制器实例化 //moveController = new MoveController(); //数据初始化 isRuning = true; time = 60; }
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); } }
//移动人物 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); } } }
// loading resources for the first scence public void LoadResources() { landRoleController = new LandModelController(); landRoleController.CreateLand(); roleModelControllers = new RoleModelController[6]; for (int i = 0; i < 6; i++) { roleModelControllers[i] = new RoleModelController(); roleModelControllers[i].CreateRole(i < 3? true:false, i); roleModelControllers[i].GetRoleModel().role.transform.localPosition = landRoleController.AddRole(roleModelControllers[i].GetRoleModel()); } boatRoleController = new BoatController(); boatRoleController.CreateBoat(); moveController = new MoveController(); leftPriestNum = leftDevilNum = 3; rightPriestNum = rightDevilNum = 0; isRuning = true; }