public CollectingResourcesEffect(IGame game, ICollectingResources collectingResources)
            : base("Collect Resources", GetDescription(collectingResources), game)
        {
            if (collectingResources == null)
            {
                throw new ArgumentNullException("collectingResources");
            }

            this.collectingResources = collectingResources;
        }
        private static string GetDescription(ICollectingResources collectingResources)
        {
            if (!collectingResources.IsCollectingResources || collectingResources.ResourcesToCollect == 0)
            {
                return(string.Format("{0} does not collect any resources", collectingResources.Character.Title));
            }

            return(collectingResources.ResourcesToCollect > 1 ?
                   string.Format("{0} collects {1} resources", collectingResources.Character.Title, collectingResources.ResourcesToCollect)
                : string.Format("{0} collects 1 resource", collectingResources.Character.Title));
        }