public void CharacterClicked(MySpace.CharacterController characterCtr) { if (userGUI.status == -1 || userGUI.status == 1) { return; } if (characterCtr.character.OnBoat) { CoastController tempCoast = (boatCtr.boat.location == Location.right ? rightCoastCtr : leftCoasrCtr); boatCtr.GetOffBoat(characterCtr.character.Name); characterCtr.MoveTo(tempCoast.GetEmptyPosition()); characterCtr.GetOnCoast(tempCoast); tempCoast.GetOnCoast(characterCtr); } else { CoastController tempCoast = characterCtr.character.coast; if (tempCoast.coast.location != boatCtr.boat.location) { return; //不再同一边的人上不去 } if (boatCtr.GetEmptyIndex() == -1) { return; //船上没人 } tempCoast.GetOffCoast(characterCtr.character.Name); characterCtr.MoveTo(boatCtr.GetEmptyPosition()); characterCtr.GetOnBoat(boatCtr); boatCtr.GetOnBoat(characterCtr); } userGUI.status = CheckGameOver(); }
public void CharacterClicked(MyNamespace.CharacterController characterCtrl) { if (characterCtrl.character.IsOnBoat) { CoastController tempCoast = (boatCtrl.boat.Location == Location.right ? rightCoastCtrl : leftCoastCtrl); boatCtrl.GetOffBoat(characterCtrl.character.Name); actionManager.MoveCharacter(characterCtrl, tempCoast.GetEmptyPosition()); characterCtrl.GetOnCoast(tempCoast); tempCoast.GetOnCoast(characterCtrl); } else { CoastController tempCoast = characterCtrl.character.Coast; if (tempCoast.coast.Location != boatCtrl.boat.Location) { return; // Boat at another side } if (boatCtrl.GetEmptyIndex() == -1) { return; // Boat is full } tempCoast.GetOffCoast(characterCtrl.character.Name); actionManager.MoveCharacter(characterCtrl, boatCtrl.GetEmptyPosition()); characterCtrl.GetOnBoat(boatCtrl); boatCtrl.GetOnBoat(characterCtrl); } UserGUI.status = CheckGameOver(); }
public void CharacterIsClicked(CharacterController characterCtrl) { if (CheckGameOver() == 0) { if (characterCtrl.IsOnBoat()) { CoastController whichCoast; if (boat.Get_end_or_start() == -1) { // end->-1; start->1 whichCoast = endCoast; } else { whichCoast = startCoast; } boat.GetOffBoat(characterCtrl.GetName()); characterCtrl.moveToPosition(whichCoast.GetEmptyPosition()); //actionManager.MoveCharacter(characterCtrl, whichCoast.GetEmptyPosition()); characterCtrl.GetOnCoast(whichCoast); whichCoast.GetOnCoast(characterCtrl); } else // character on coast { CoastController whichCoast = characterCtrl.GetCoastController(); if (boat.GetEmptyIndex() == -1) { // full return; } if (whichCoast.Get_end_or_start() != boat.Get_end_or_start()) { return; } whichCoast.GetOffCoast(characterCtrl.GetName()); characterCtrl.moveToPosition(boat.GetEmptyPosition()); //actionManager.MoveCharacter(characterCtrl, boat.GetEmptyPosition()); characterCtrl.GetOnBoat(boat); boat.GetOnBoat(characterCtrl); } } userGUI.status = CheckGameOver(); }
public void CharacterClicked(MySpace.CharacterController characterCtr) { if (judgeCtr.Flag == -1 || judgeCtr.Flag == 1) { return; //lock } if (characterCtr.character.OnBoat) { CoastController tempCoast = (boatCtr.boat.location == Location.right ? rightCoastCtr : leftCoasrCtr); boatCtr.GetOffBoat(characterCtr.character.Name); //characterCtr.MoveTo(tempCoast.GetEmptyPosition()); actionController.CharacterMove(characterCtr, tempCoast.GetEmptyPosition()); characterCtr.GetOnCoast(tempCoast); tempCoast.GetOnCoast(characterCtr); } else { CoastController tempCoast = characterCtr.character.coast; if (tempCoast.coast.location != boatCtr.boat.location) { return; } if (boatCtr.GetEmptyIndex() == -1) { return; } tempCoast.GetOffCoast(characterCtr.character.Name); //characterCtr.MoveTo(boatCtr.GetEmptyPosition()); actionController.CharacterMove(characterCtr, boatCtr.GetEmptyPosition()); //Debug.Log("boat" + boatCtr.GetEmptyPosition()); characterCtr.GetOnBoat(boatCtr); boatCtr.GetOnBoat(characterCtr); } userGUI.status = judgeCtr.judgeGameOver(); }
public void CharacterIsClicked(ICharacterController characterController) { if (characterController.IsOnBoat()) { CoastController whichCoast; if (boat.Get_to_or_from() == -1) // to -1; from 1 { whichCoast = toCoast; } else { whichCoast = fromCoast; } boat.GetOffBoat(characterController.GetName()); characterController.MoveToPosition(whichCoast.GetEmptyPosition()); characterController.GetOnCoast(whichCoast); whichCoast.GetOnCoast(characterController); } else { CoastController whichCoast = characterController.GetCoastController(); if (boat.GetEmptyIndex() == -1) { return; } if (whichCoast.GetToOrFrom() != boat.Get_to_or_from()) { return; } whichCoast.GetOffCoast(characterController.GetName()); characterController.MoveToPosition(boat.GetEmptyPosition()); characterController.GetOnBoat(boat); boat.GetOnBoat(characterController); } userUI.status = CheckGameOver(); }