Beispiel #1
0
    public void OnButtonNewGameClick()
    {
        FieldOperator fc = gameObject.GetComponent <FieldOperator>();

        switch ((int)slider.value)
        {
        case 0:
            fc.InitializeMe(10, 10, 9, 0);
            fc.StartNewGame();
            break;

        case 1:
            fc.InitializeMe(15, 15, 35, 1);
            fc.StartNewGame();
            break;

        case 2:
            fc.InitializeMe(20, 20, 50, 2);
            fc.StartNewGame();
            break;
        }


        mainMenuFadeOut = true;
        gui.SetActive(true);
    }
Beispiel #2
0
 public ConditionObject(String feld, String wert, FieldOperator so)
 {
     //ctro
     Feld     = feld;
     Wert     = wert;
     Operator = so;
 }
 void Start()
 {
     gm            = GameObject.Find("GM");
     gameManager   = gm.GetComponent <GameManager>();
     allCells      = gm.GetComponentsInChildren <CellOperator>();
     numbersCanvas = GameObject.Find("CanvasNumbers");
     fieldOperator = gm.GetComponent(typeof(FieldOperator)) as FieldOperator;
 }
Beispiel #4
0
        /// <summary>
        /// Macht aus ENums den entsprechenden String.
        /// </summary>
        /// <param name="so"></param>
        /// <returns></returns>
        private String GetGermanStringoperators(FieldOperator so)
        {
            switch (so)
            {
            case FieldOperator.Contains:
                return("Enthält");

            case FieldOperator.EndWith:
                return("Endet mit");

            case FieldOperator.StartsWith:
                return("Beginnt mit");

            case FieldOperator.Equal:
                return("Ist Gleich");

            case FieldOperator.NonEqual:
                return("Ungleich");

            case FieldOperator.Bigger:
                return("Größer");

            case FieldOperator.Smaler:
                return("Kleiner");

            case FieldOperator.ContainsNot:
                return("Enthält Nicht");

            case FieldOperator.Yes:
                return("Ja");

            case FieldOperator.No:
                return("Nein");
            }
            return("Fehler");
        }
Beispiel #5
0
        public Tridion.ContentDelivery.DynamicContent.Query.Query ToTridionQuery()
        {
            string[] basedOnSchemas              = QuerySchemas;
            DateTime lastPublishedDate           = LastPublishedDate;
            IList <MetaQueryItem> metaQueryItems = MetaQueryValues;
            QueryLogic            metaQueryLogic = MetaQueryLogic;
            int maxmimumComponents = MaximumComponents;

            Query q = null;
            //PublicationCriteria publicationAndLastPublishedDateCriteria = new PublicationCriteria(PublicationId);
            PublicationCriteria publicationAndLastPublishedDateCriteria = new PublicationCriteria(PublicationId);
            //format DateTime // 00:00:00.000
            ItemLastPublishedDateCriteria dateLastPublished = new ItemLastPublishedDateCriteria(lastPublishedDate.ToString("yyyy-MM-dd HH:mm:ss.fff"), Criteria.GreaterThanOrEqual);
            //publicationAndLastPublishedDateCriteria.AddCriteria(dateLastPublished);

            Criteria basedOnSchemaAndInPublication;

            if (basedOnSchemas.Length > 0)
            {
                Criteria[] schemaCriterias = new Criteria[basedOnSchemas.Length];
                int        i = 0;
                foreach (var schema in basedOnSchemas)
                {
                    TcmUri schemaUri = new TcmUri(schema);
                    schemaCriterias.SetValue(new ItemSchemaCriteria(schemaUri.ItemId), i);
                    i++;
                }
                Criteria basedOnSchema = CriteriaFactory.Or(schemaCriterias);
                basedOnSchemaAndInPublication = CriteriaFactory.And(publicationAndLastPublishedDateCriteria, basedOnSchema);
            }
            else
            {
                basedOnSchemaAndInPublication = publicationAndLastPublishedDateCriteria;
            }

            // Add filtering for meta data
            Criteria schemasAndMetaData;

            if (metaQueryItems.Count > 0)
            {
                Criteria   metaQuery;
                Criteria[] metaCriterias = new Criteria[metaQueryItems.Count];
                int        metaCount     = 0;
                foreach (MetaQueryItem queryItem in metaQueryItems)
                {
                    CustomMetaKeyCriteria   metaField = new CustomMetaKeyCriteria(queryItem.MetaField);
                    CustomMetaValueCriteria metaCriteria;
                    FieldOperator           metaOperator = typeof(Criteria).GetField(queryItem.MetaOperator.ToString()).GetValue(null) as FieldOperator;

                    switch (queryItem.MetaValue.GetType().Name)
                    {
                    case "DateTime":
                        DateTime tempDate = (DateTime)queryItem.MetaValue;
                        metaCriteria = new CustomMetaValueCriteria(metaField, tempDate.ToString("yyyy-MM-dd HH:mm:ss.fff"), "yyyy-MM-dd HH:mm:ss.SSS", metaOperator);
                        break;

                    case "Float":
                        metaCriteria = new CustomMetaValueCriteria(metaField, (float)queryItem.MetaValue, metaOperator);
                        break;

                    case "String":
                        metaCriteria = new CustomMetaValueCriteria(metaField, queryItem.MetaValue as string, metaOperator);
                        break;

                    default:
                        throw new System.Exception("Unexpected query item data type; " + queryItem.MetaValue.GetType().Name);
                    }

                    metaCriterias.SetValue(metaCriteria, metaCount);
                    metaCount++;
                }

                if (MetaQueryLogic == QueryLogic.AllCriteriaMatch)
                {
                    metaQuery = CriteriaFactory.And(metaCriterias);
                }
                else
                {
                    metaQuery = CriteriaFactory.Or(metaCriterias);
                }
                schemasAndMetaData = CriteriaFactory.And(basedOnSchemaAndInPublication, metaQuery);
            }
            else
            {
                schemasAndMetaData = basedOnSchemaAndInPublication;
            }

            Criteria allConditions;

            if (KeywordValues.Count > 0)
            {
                Criteria[] keywordCriterias = new Criteria[KeywordValues.Count];
                int        keywordCount     = 0;
                foreach (KeywordItem keyCriteria in KeywordValues)
                {
                    TaxonomyKeywordCriteria keywordField = new TaxonomyKeywordCriteria(keyCriteria.CategoryUri, keyCriteria.KeywordUri, false);
                    keywordCriterias.SetValue(keywordField, keywordCount);
                    keywordCount++;
                }

                Criteria keyQuery;
                if (KeywordQueryLogic == QueryLogic.AllCriteriaMatch)
                {
                    keyQuery = CriteriaFactory.And(keywordCriterias);
                }
                else
                {
                    keyQuery = CriteriaFactory.Or(keywordCriterias);
                }
                allConditions = CriteriaFactory.And(schemasAndMetaData, keyQuery);
            }
            else
            {
                allConditions = schemasAndMetaData;
            }


            q = new Query(allConditions);
            if (maxmimumComponents != 0 && maxmimumComponents != int.MaxValue)
            {
                LimitFilter limitResults = new LimitFilter(maxmimumComponents);
                q.SetResultFilter(limitResults);
            }

            // Sort column should either be a standard or custom metaData field
            SortColumn paramSort;

            if (typeof(SortParameter).GetField(QuerySortField) != null)
            {
                paramSort = typeof(SortParameter).GetField(QuerySortField).GetValue(null) as SortColumn;
            }
            else
            {
                // Why do we need to tell Tridion what data type the field is! Its in the database already!
                /* FIX: Does not work (null pointer exception): var sType = typeof(MetadataType).GetField(SortType.ToString()).GetValue(null) as MetadataType;*/
                paramSort = new CustomMetaKeyColumn(QuerySortField, SortType);
            }
            SortDirection paramSortDirection = typeof(SortParameter).GetField(QuerySortOrder.ToString()).GetValue(null) as SortDirection;
            SortParameter sortParameter      = new SortParameter(paramSort, paramSortDirection);

            q.AddSorting(sortParameter);
            return(q);
        }
Beispiel #6
0
        /// <summary>
        /// 將條件組合後加到ArrayList
        /// </summary>
        /// <param name="TSQLOperatorItem">TSQL運算子</param>
        /// <param name="FieldName">欄位名稱</param>
        /// <param name="LikeCheck">Like檢查</param>
        /// <param name="FieldOperatorItem">欄位運算子</param>
        /// <param name="FieldValueTypeItem">欄位值型態</param>
        /// <param name="FieldValue">欄位值</param>
        /// <param name="ConditionList">組合條件後回傳ArrayList</param>
        public static void AddConditionEntry(TSQLOperator TSQLOperatorItem,
                                             string FieldName,
                                             bool LikeCheck,
                                             FieldOperator FieldOperatorItem,
                                             FieldValueType FieldValueTypeItem,
                                             string FieldValue,
                                             ref ArrayList ConditionList
                                             )
        {
            //建立條件Entry
            QueryCondition ConditionEntry = new QueryCondition();

            //TSQL運算子
            ConditionEntry.ConditionTSQLOperator = TSQLOperatorItem;
            //欄位名稱
            ConditionEntry.ConditionField = FieldName;
            //欄位運算子
            ConditionEntry.ConditionFieldOperator = (LikeCheck) ? FieldOperator.LIKE : FieldOperatorItem;
            //欄位值屬性
            ConditionEntry.ConditionFieldValue.ValueType = (LikeCheck) ? FieldValueType.LIKESTRING : FieldValueTypeItem;
            //欄位值
            ConditionEntry.ConditionFieldValue.Value = FieldValue;
            //加入到ArrayList
            ConditionList.Add(ConditionEntry);
        }