コード例 #1
0
 /// <summary>
 /// User special used for all event
 /// </summary>
 /// <param name="senderUserID">Sender user ID</param>
 /// <param name="special">Special</param>
 private void UserSpecialUsedForAllEvent(int senderUserID, ESpecial special)
 {
     if (users.IsIDValid(senderUserID))
     {
         OnUserSpecialUsedForAll?.Invoke(users[senderUserID], special);
     }
 }
コード例 #2
0
    public virtual SCS_SpecialAttack CreateAttackState(ESpecial type)
    {
        SCS_SpecialAttack specialAttack = new SCS_SpecialAttack();

        specialAttack.animationName  = animationName;
        specialAttack.aerialLimit    = aerialLimit;
        specialAttack.attackBuff     = new AttackBuff();
        specialAttack.type           = type;
        specialAttack.comboPowerCost = comboPowerCost;
        return(specialAttack);
    }
コード例 #3
0
    public override SCS_SpecialAttack CreateAttackState(ESpecial type)
    {
        SCS_SpecialAttackProjectile projectileAttack = new SCS_SpecialAttackProjectile();

        projectileAttack.animationName = animationName;
        projectileAttack.aerialLimit   = aerialLimit;
        projectileAttack.attackBuff    = new AttackBuff();

        projectileAttack.projectile         = projectile;
        projectileAttack.projectileVelocity = projectileVelocity;
        projectileAttack.type           = type;
        projectileAttack.comboPowerCost = comboPowerCost;
        return(projectileAttack);
    }
コード例 #4
0
 /// <summary>
 /// Special used for all event
 /// </summary>
 /// <param name="special">Special</param>
 private void SpecialUsedForAllEvent(ESpecial special) => OnSpecialUsedForAll?.Invoke(special);
コード例 #5
0
 /// <summary>
 /// Use special
 /// </summary>
 /// <param name="special">Special</param>
 /// <returns>"true" if possible, otherwise "false"</returns>
 public bool UseSpecial(ESpecial special) => user.InventoryInternal.UseSpecial(special);
コード例 #6
0
 /// <summary>
 /// Send special used message (asynchronous)
 /// </summary>
 /// <param name="senderUser">Sender user</param>
 /// <param name="targetUser">Target user</param>
 /// <param name="special">Special</param>
 /// <returns>Send result task</returns>
 internal Task <SendResult> SendSpecialUsedMessageAsync(IUser senderUser, IUser targetUser, ESpecial special) => SendMessageAsync(messageBuilder.BuildSpecialUsedMessage(senderUser, targetUser, special));
コード例 #7
0
ファイル: MessageBuilder.cs プロジェクト: BigETI/TetriEngine
 /// <summary>
 /// Build special used message
 /// </summary>
 /// <param name="senderUser">Sender user</param>
 /// <param name="targetUser">Target user</param>
 /// <param name="special">Special</param>
 /// <returns>Built message</returns>
 internal string BuildSpecialUsedMessage(IUser senderUser, IUser targetUser, ESpecial special) => ("sb " + targetUser.ID + " " + GetSpecialChar(special) + " " + senderUser.ID);
コード例 #8
0
ファイル: MessageBuilder.cs プロジェクト: BigETI/TetriEngine
        /// <summary>
        /// Get special character
        /// </summary>
        /// <param name="special">Special</param>
        /// <returns>Special character is successful, otherwise "0"</returns>
        private static char GetSpecialChar(ESpecial special)
        {
            char ret = '0';

            switch (special)
            {
            case ESpecial.AddLine:
                ret = 'a';
                break;

            case ESpecial.ClearLine:
                ret = 'c';
                break;

            case ESpecial.ClearSpecialBlocks:
                ret = 'n';
                break;

            case ESpecial.RandomBlocksClear:
                ret = 'r';
                break;

            case ESpecial.BlockBomb:
                ret = 's';
                break;

            case ESpecial.QuakeField:
                ret = 'b';
                break;

            case ESpecial.Gravity:
                ret = 'g';
                break;

            case ESpecial.SwitchFields:
                ret = 'q';
                break;

            case ESpecial.NukeField:
                ret = 'o';
                break;
                //case ESpecial.Immunity:
                //    ret = '';
                //    break;
                //case ESpecial.ClearColumn:
                //    ret = '';
                //    break;
                //case ESpecial.MutatePieces:
                //    ret = '';
                //    break;
                //case ESpecial.Darkness:
                //    ret = '';
                //    break;
                //case ESpecial.Confusion:
                //    ret = '';
                //    break;
                //case ESpecial.LeftGravity:
                //    ret = '';
                //    break;
                //case ESpecial.PieceChange:
                //    ret = '';
                //    break;
                //case ESpecial.ZebraField:
                //    ret = '';
                //    break;
                // TODO
                // Specials
            }
            return(ret);
        }
コード例 #9
0
ファイル: Character.cs プロジェクト: clifordunique/DeathBros
 public virtual void SCS_CountSpecial(ESpecial type)
 {
 }