当前位置: 首页>>代码示例>>C#>>正文


C# Info.DisableAbility方法代码示例

本文整理汇总了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 ( );
            } );
    }
开发者ID:ethancaraway,项目名称:Evasion,代码行数:32,代码来源:Ability.cs

示例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 ) );
    }
开发者ID:ethancaraway,项目名称:Evasion,代码行数:39,代码来源:Ability.cs

示例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 ( );
            } );
    }
开发者ID:ethancaraway,项目名称:Evasion,代码行数:41,代码来源:Ability.cs

示例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 );
    }
开发者ID:ethancaraway,项目名称:Evasion,代码行数:19,代码来源:Ability.cs


注:本文中的Info.DisableAbility方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。