/// <summary> /// Uses the Nonagression Pact by marking two pieces that cannot interact with one another. /// </summary> public void UseNonagressionPact( Tile t1, Tile t2, Info info ) { //Add each piece as each other's nonagression partner t1.currentPiece.nonagressionPartners.Add ( t2.currentPiece.color ); t2.currentPiece.nonagressionPartners.Add ( t1.currentPiece.color ); //Animate nonaggression pact Sequence s = DOTween.Sequence ( ) .Append ( t1.currentPiece.sprite.DOColor ( new Color32 ( 150, 50, 255, 255 ), ANIMATE_TIME ).SetLoops ( 2, LoopType.Yoyo ) ) .Insert ( 0, t2.currentPiece.sprite.DOColor ( new Color32 ( 150, 50, 255, 255 ), ANIMATE_TIME ).SetLoops ( 2, LoopType.Yoyo ) ) .OnComplete ( () => { //Deactivate ability info.abilityInUse.IsActive = false; info.DisableAbility ( info.abilityInUse.ID, info.currentPlayer ); //Enable abilities use buttons info.EnableAbilityButtons ( ); //Reset ability selection list info.abilityTileSelection.Clear ( ); //Reset board info.ResetBoardColor ( ); //Highlight pieces info.HighlightCurrentPlayerPieces ( ); } ); }
/// <summary> /// Uses the Mad Hatter ability by swapping two pieces. /// </summary> public void UseMadHatter( Tile t1, Tile t2, Info info ) { //Store temporary value Piece temp = t1.currentPiece; //Swap pieces t1.currentPiece.currentTile = t2; t2.currentPiece.currentTile = t1; t1.currentPiece = t2.currentPiece; t2.currentPiece = temp; //Bring pieces to front t1.currentPiece.sprite.sortingOrder = 2; t2.currentPiece.sprite.sortingOrder = 2; //Animate mad hatter Sequence s = DOTween.Sequence ( ) .Append ( t1.currentPiece.transform.DOMove ( t1.transform.position, ANIMATE_TIME ) ) .Insert ( 0, t2.currentPiece.transform.DOMove ( t2.transform.position, ANIMATE_TIME ) ) .OnComplete ( () => { //Deactivate ability info.abilityInUse.IsActive = false; info.DisableAbility ( info.abilityInUse.ID, info.currentPlayer ); //Enable abilities use buttons info.EnableAbilityButtons ( ); //Reset ability selection list info.abilityTileSelection.Clear ( ); //Reset board info.ResetBoardColor ( ); //Highlight pieces info.HighlightCurrentPlayerPieces ( ); } ); }