コード例 #1
0
        public virtual bool isTrue(ESMSTeam team, ESMSTeam away, int min)
        {
            /* I need to know if player is a number or a position */
            int  number   = -1;
            bool isNumber = true;

            if (team.RedCarded == null)
            {
                return(false);
            }

            try
            {
                number = System.Int32.Parse(this.player);
            }
            catch (System.FormatException err)
            {
                isNumber = false;
            }

            if (!isNumber)
            {
                if (team.getPosition(team.RedCarded).Equals(player))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                if (team.RedCarded.Name.Equals(team.getPlayer(number).Name))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
コード例 #2
0
        public virtual void  execute(ESMSTeam team)
        {
            //Ovvio che così non funzioni, devo stabilire se si tratta di un numero e se è una
            //posizione devo trovare il peggiore in quel ruolo
            bool isNumber = true;
            int  p        = -1;

            if (lastMinuteActive == CSEsMS.ESMS.ESMS.currentMinute && lastActiveTeam.Equals(team.Abbreviation))
            {
                return;
            }
            try
            {
                p = System.Int32.Parse(player);
            }
            catch (System.FormatException e)
            {
                isNumber = false;
            }
            if (!isNumber)
            {
                p = team.electWorsePlayer(player);
            }
            //if (p==-1) throw new Exception("Unable to detect player to substitute");
            if (p == -1)
            {
                return;
            }
            if (team.getPosition(p).Equals(newpos))
            {
                return;
            }
            lastMinuteActive = CSEsMS.ESMS.ESMS.currentMinute;
            lastActiveTeam   = team.Abbreviation;
            team.changePosition(p, newpos);
            string[] params_Renamed = new string[] { System.Convert.ToString(CSEsMS.ESMS.ESMS.currentMinute), team.Abbreviation, team.getPlayer(p).Name, newpos };
            CSEsMS.ESMS.ESMS.output.Write("<ChangePosition min=\"" + params_Renamed[0] + "\" team=\"" + params_Renamed[1] + "\" player=\"" + params_Renamed[2] + "\" newPosition=\"" + params_Renamed[3] + "\">");
            CSEsMS.ESMS.ESMS.output.Write(Comment.getComment().getCommentString("CHANGEPOSITION", params_Renamed));
            CSEsMS.ESMS.ESMS.output.Write("</ChangePosition>");
        }