Exemple #1
0
        bool ChangeOrCheckPlayer(string impactTarget, string impactContent, PlayerItem playerItem, EffectExeType effectExeType)
        {
            bool canExecute = true;

            switch (impactTarget)
            {
            case "Hand":
                playerItem.DrawCard(Convert.ToInt32(impactContent));
                break;

            //资源上限
            case "ManaUpperLimit":
                playerItem.ChangeManaUpperLimit(Convert.ToInt32(impactContent));
                break;

            case "ManaUsable":
                if (effectExeType == EffectExeType.Execute)
                {
                    //恢复至上限使用Max,是不能被转为数字的
                    if (impactContent == "Max")
                    {
                        playerItem.RestoreToTheUpperLimit();
                    }
                    else
                    {
                        playerItem.ChangeManaUsable(Convert.ToInt32(impactContent));
                    }
                }
                else if (effectExeType == EffectExeType.Check)
                {
                    //恢复至上限使用Max,是不能被转为数字的
                    if (impactContent == "Max")
                    {
                    }
                    else
                    {
                        canExecute = playerItem.CheckCanChangeManaUsable(Convert.ToInt32(impactContent));
                    }
                }
                break;

            //科技相关
            case "TraitAddOne":
                playerItem.AddTraitType(impactContent);
                break;

            case "Score":
                playerItem.ChangeSocre(Convert.ToInt32(impactContent));
                break;

            case "CanUseResourceNum":
                if (impactContent == "Max")
                {
                    // 使用资源牌恢复到最大次数
                    playerItem.RestoreCanUseResourceNumMax();
                }
                else
                {
                }
                break;
            }
            return(canExecute);
        }