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); }
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; }
/// <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"); }
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); }
/// <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); }