本文整理汇总了C#中Info.DisableAbility方法的典型用法代码示例。如果您正苦于以下问题:C# Info.DisableAbility方法的具体用法?C# Info.DisableAbility怎么用?C# Info.DisableAbility使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Info
的用法示例。
在下文中一共展示了Info.DisableAbility方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UseNonagressionPact
/// <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 ( );
} );
}
示例2: UseConversion
/// <summary>
/// Uses the Conversion ability by stealing the opponent's piece for the player's own use.
/// </summary>
public void UseConversion( Piece convertedPiece, Info info )
{
//Deactivate ability
info.selectedPiece.ability.IsActive = false;
info.DisableAbility ( Conversion.ID, info.currentPlayer );
//Check for any abilities
if ( convertedPiece.ability != null )
{
//Remove the ability
info.DisableAbility ( convertedPiece.ability.ID, convertedPiece.owner );
convertedPiece.ability = null;
}
//Remove any nonagression partners
convertedPiece.nonagressionPartners.Clear ( );
//Convert piece
convertedPiece.owner = info.currentPlayer;
info.currentPlayer.pieces.Add ( convertedPiece );
info.opponent.pieces.Remove ( convertedPiece );
//Change piece's color
convertedPiece.color = PieceColor.Grey;
//Animate conversion
Vector3 rot;
if ( convertedPiece.owner == info.player1 )
rot = new Vector3 ( 0, 0, 45 );
else
rot = new Vector3 ( 0, 0, 225 );
Sequence s = DOTween.Sequence ( )
.AppendInterval ( ANIMATE_TIME )
.Append ( convertedPiece.sprite.DOColor ( Piece.Display.Grey, ANIMATE_TIME ) )
.Insert ( ANIMATE_TIME, convertedPiece.transform.DORotate ( rot, ANIMATE_TIME ) );
}
示例3: UseMadHatter
/// <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 ( );
} );
}
示例4: UseArmor
/// <summary>
/// Uses the armor ability to avoid a capture.
/// </summary>
public void UseArmor( Piece p, Info info )
{
//Deactivate ability
p.ability.IsActive = false;
info.DisableAbility ( Armor.ID, p.owner );
//Check if jumped by a piece with sacrifice
if ( HasSacrifice ( info.selectedPiece ) )
{
//Allow the piece to double jump armor
info.sacrificeArmorTile = info.selectedPiece.currentTile;
}
//Animate armor
p.sprite.DOFade ( 0, ANIMATE_TIME ).SetLoops ( 2, LoopType.Yoyo );
}