private void Animation(object Sender, EventArgs e) { GameForm form1Ref = (GameForm)Application.OpenForms["GameForm"]; DTO_MOVEMENT movement = restoredGame.movements[animationProgress]; CheckerPB checker = GameController.checkers[movement.Checker_ID]; form1Ref.animationHolder.initAnimation(new Point(movement.Col * form1Ref.getCellSize().X, (movement.Row * form1Ref.getCellSize().Y) + form1Ref.getCellSize().Y)); form1Ref.animationHolder.startAnimation(); GameController.OnFinishCheckerMove(ref checker, new Point(movement.Row, movement.Col)); GameController.UpdateOpponentsVisabilityOnGameRestore(checker.checker.checkerType); animationProgress++; if (animationProgress == restoredGame.movements.Length) { StopAnimation(); form1Ref.animationHolder.stopAnimation(); // if (restoredGame.gameStatus == Constants.GAME_STATUS_END) { if (checker.checker.checkerType == Constants.whiteChecker) { form1Ref.OnGameWon(restoredGame.players[0]); } else { form1Ref.OnGameWon(restoredGame.players[1]); } // } } }
// adds game movment for future restoring of game public static void AddGameMovement(int gameID, DTO_MOVEMENT movement) { Thread thread = new Thread(delegate() { soapServiceClient.AddGameMovement(gameID, movement); }); thread.Start(); }
public void AddGameMovement(int gameID, DTO_MOVEMENT movement) { //get game for this player var query = from gp in db.GamePlays where gp.GAME_ID == gameID select gp; GamePlay gpFromDB = null; foreach (GamePlay gamePlay in query) { gpFromDB = gamePlay; } movement.Game_ID = gpFromDB.GAME_ID; db.Movements.InsertOnSubmit(new Movement { Id = movement.Id, Checker_ID = movement.Checker_ID, Col = movement.Col, Game_ID = movement.Game_ID, Row = movement.Row }); db.SubmitChanges(); }