/// <summary> /// <see cref="IDocumentService.IndexDocument(string, JObject)"/> /// </summary> public object IndexDocument(string id, JObject document, UpdateIndex updateIndex) { Console.WriteLine("[Indexing] Indexing document with id: " + id); id = HttpUtility.UrlEncode(id); return(_elasticSearchRepository.IndexDocument(id, document, updateIndex)); }
/// <summary> /// <see cref="IDocumentService.GetDocument(string)(string)"/> /// </summary> /// <param name="identifier">Document with field <c>resoruceID</c>.</param> /// <param name="searchIndex">The index from which the document should be fetched.</param> public object GetDocument(string identifier, UpdateIndex searchIndex) { if (string.IsNullOrWhiteSpace(identifier)) { throw new ArgumentNullException(nameof(identifier), "The identifier must not be null or empty."); } var documentIdentifier = HttpUtility.UrlEncode(identifier); //Delete document with the unique identifer. return(_elasticSearchRepository.GetDocument(documentIdentifier, searchIndex)); }
public IActionResult GetDocument([FromQuery(Name = "id")] string identifier, [FromQuery(Name = "index")] UpdateIndex updateIndex = UpdateIndex.Published) { try { return(Ok(_documentService.GetDocument(identifier, updateIndex))); } catch (ArgumentNullException ex) { return(BadRequest(ex.Message)); } catch (EntityNotFoundException ex) { return(NotFound(ex.Message)); } }
/// <summary> /// <see cref="IDocumentService.IndexDocuments(JObject[])"/> /// </summary> public object IndexDocuments(JObject[] documents, UpdateIndex updateIndex) { return(_elasticSearchRepository.IndexDocuments(documents, updateIndex)); }
public bool UpdateReady(GameTime gameTime) { Vector3 v1, v2; dt1 = double.Parse((string)((Hashtable)parameters["UpdateReady"])["dt1"]); dt2 = double.Parse((string)((Hashtable)parameters["UpdateReady"])["dt2"]); dt3 = double.Parse((string)((Hashtable)parameters["UpdateReady"])["dt3"]); if (time < TimeSpan.FromSeconds(dt1)) { v1 = new Vector3(character[0].RecVisible.Center,0.0f); camera.Target = v1; v2 = v1 + new Vector3( float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition1X"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition1Y"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition1Z"]) ); camera.Position = v2; } else if (time < TimeSpan.FromSeconds(dt1 + dt2)) { v1 = new Vector3(character[1].RecVisible.Center, 0.0f); camera.Target = v1; v2 = v1 + new Vector3( float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition2X"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition2Y"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition2Z"]) ); camera.Position = v2; } else if (time < TimeSpan.FromSeconds(dt1 + dt2 + dt3)) { v1 = camera.initTarget;//new Vector3(character[0].RecVisible.Center + character[1].RecVisible.Center, 0.0f); v1.X *= 0.5f; v1.Y *= 0.5f; camera.Target = v1; Vector3 s = new Vector3( float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition3StartX"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition3StartY"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition3StartZ"]) ); Vector3 e = camera.initPos - v1;/*new Vector3( float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition3EndX"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition3EndY"]), float.Parse((string)((Hashtable)parameters["UpdateReady"])["cameraPosition3EndZ"]) );*/ double t = time.TotalSeconds - dt1 - dt2; t /= dt3; e -= s; s += new Vector3(e.X * (float)t, e.Y * (float)t, e.Z * (float)t); camera.Position = v1 + s; } else { time = TimeSpan.Zero; ui = UpdateIndex.FIGHT; } camera.Flush(); return true; }
public bool UpdatePause(GameTime gameTime) { if (flg != 0) { double v = double.Parse((string)((Hashtable)parameters["UpdatePause"])["v"]); for (int i = 0; i < offset.Length; i++) { offset[i] += flg * v * gameTime.ElapsedGameTime.TotalSeconds; } if (flg < 0) { if (offset[3] <= 0) { for (int i = 0; i < offset.Length; i++) { offset[i] = 0; } flg = 0; } } else { if (offset[3] > 400) { for (int i = 0; i < offset.Length; i++) { offset[i] = 400; } switch (cursor) { case 0: ui = UpdateIndex.FIGHT; break; case 1: nextScene = new Loading(player, stage[5] - '1'); break; case 2: nextScene = new Title(); break; } flg = -1; time = TimeSpan.Zero; return true; } } } else { if (input.isDown(BUTTON.A) || input.isDown(BUTTON.START)) { flg = 1; pause = GLOBAL.soundBank.GetCue(cursor == 0 ? "pause" : "enter"); pause.Play(); } if (input.isDown(BUTTON.UP)) { offset[cursor] = 0; time = TimeSpan.Zero; cursor--; cursor += MAX_CURSOR; cursor %= MAX_CURSOR; scursor = GLOBAL.soundBank.GetCue("cursor"); scursor.Play(); } if (input.isDown(BUTTON.DOWN)) { offset[cursor] = 0; time = TimeSpan.Zero; cursor++; cursor %= MAX_CURSOR; scursor = GLOBAL.soundBank.GetCue("cursor"); scursor.Play(); } offset[cursor] = -double.Parse((string)((Hashtable)parameters["UpdatePause"])["A"]) * Math.Cos(double.Parse((string)((Hashtable)parameters["UpdatePause"])["w"]) * time.TotalSeconds); } return true; }
public bool UpdateFight(GameTime gameTime) { if (input.isDown(BUTTON.START)) { time = TimeSpan.Zero; ui = UpdateIndex.PAUSE; pause = GLOBAL.soundBank.GetCue("pause"); pause.Play(); return true; } if (time <= gameTime.ElapsedGameTime) { dt1 = double.Parse((string)((Hashtable)parameters["UpdateFight"])["dt1"]); } // エンティティの更新 /* for (int i = 0; i < character.Length; i++) { character[i].Update(gameTime); } * */ for (int i = 0; i < entities.Count; i++) { bool res = ((Entity)entities[i]).Update(gameTime); if (res == false) { attackerList.Remove(entities[i]); solidList.Remove(entities[i]); entities.RemoveAt(i); i--; } } camera.Update(gameTime); return true; }
public void Initialize() { imGage = GLOBAL.game1.Content.Load<Texture2D>("Gage"); imCube = GLOBAL.game1.Content.Load<Texture2D>("Cube"); imSphere = GLOBAL.game1.Content.Load<Texture2D>("Sphere"); imTexts = GLOBAL.game1.Content.Load<Texture2D>("FightTexts"); gageFont = GLOBAL.game1.Content.Load<SpriteFont>("GageFont"); // パラメータを読み込む parameters = new Hashtable(); LoadParameters(); Object o = parameters[stage]; if (o != null) { Hashtable ht = (Hashtable)o; imBG = GLOBAL.game1.Content.Load<Texture2D>((o = ht["backGround"]) != null ? (string)o : "imStageModel1"); } // Construct our particle system components. GLOBAL.explosionParticles = new MyParticleSystem(GLOBAL.game1, GLOBAL.game1.Content, (Hashtable)parameters["ExplosionParticles"]); GLOBAL.attackedParticles = new MyParticleSystem(GLOBAL.game1, GLOBAL.game1.Content, (Hashtable)parameters["AttackedParticles"]); GLOBAL.deadParticles = new MyParticleSystem(GLOBAL.game1, GLOBAL.game1.Content, (Hashtable)parameters["DeadParticles"]); GLOBAL.smokeParticles = new MyParticleSystem(GLOBAL.game1, GLOBAL.game1.Content, (Hashtable)parameters["SmokeParticles"]); // Set the draw order so the explosions and fire // will appear over the top of the smoke. GLOBAL.explosionParticles.DrawOrder = 100; GLOBAL.attackedParticles.DrawOrder = 200; GLOBAL.deadParticles.DrawOrder = 300; GLOBAL.smokeParticles.DrawOrder = 400; // Register the particle system components. GLOBAL.game1.Components.Add(GLOBAL.explosionParticles); GLOBAL.game1.Components.Add(GLOBAL.attackedParticles); GLOBAL.game1.Components.Add(GLOBAL.deadParticles); GLOBAL.game1.Components.Add(GLOBAL.smokeParticles); // 各エンティティの初期化 entities = new ArrayList(); attackerList = new ArrayList(); solidList = new ArrayList(); deadBlockList = new ArrayList(); // キャラクター character = new Character[] { new Character(this, (Hashtable)parameters["Character"], player[0]), new Character(this, (Hashtable)parameters["Character"], player[1]) }; entities.Add(character[0]); entities.Add(character[1]); // カメラ camera = new Camera(this, (Hashtable)parameters["Camera"]); // ステージ o = parameters[stage]; if (o != null) { Hashtable param = (Hashtable)o; Object o1 = param["Count"]; if (o1 != null) { int cnt = int.Parse((string)o1); StagePart sp; for (int i = 0; i < cnt; i++) { sp = new StagePart(this, (Hashtable)parameters[stage], i); entities.Add(sp); solidList.Add(sp); } double x = double.Parse((o = param["aliveZoneX"]) != null ? (string)o : "0"); double y = double.Parse((o = param["aliveZoneY"]) != null ? (string)o : "0"); double h = double.Parse((o = param["aliveZoneH"]) != null ? (string)o : "0"); double w = double.Parse((o = param["aliveZoneW"]) != null ? (string)o : "0"); double d = 100; sp = new StagePart(this, (Hashtable)parameters[stage], cnt); sp.RecVisible.Copy(new RectangleD(x - d, y + h, w + 2 * d, d)); // 上 sp.Depth = 200; entities.Add(sp); deadBlockList.Add(sp); sp = new StagePart(this, (Hashtable)parameters[stage], cnt + 4); sp.RecVisible.Copy(new RectangleD(x - d, y + h, w + 2 * d, d)); // 上 sp.Depth = 1; entities.Add(sp); deadBlockList.Add(sp); sp = new StagePart(this, (Hashtable)parameters[stage], cnt+1); sp.RecVisible.Copy(new RectangleD(x - d, y - d, w + 2 * d, d)); // 下 sp.Depth = 200; entities.Add(sp); deadBlockList.Add(sp); sp = new StagePart(this, (Hashtable)parameters[stage], cnt+2); sp.RecVisible.Copy(new RectangleD(x - d, y, d, h + 2 * d)); // 左 sp.Depth = 200; entities.Add(sp); deadBlockList.Add(sp); sp = new StagePart(this, (Hashtable)parameters[stage], cnt + 3); sp.RecVisible.Copy(new RectangleD(x + w, y, d, h + 2 * d)); // 右 sp.Depth = 200; entities.Add(sp); deadBlockList.Add(sp); } else { MessageBox.Show("parameter[\"" + stage + "\"][\"Count\"]が存在しません"); } } else { MessageBox.Show("parameter[\"" + stage + "\"]が存在しません"); } // Pause imButton = GLOBAL.game1.Content.Load<Texture2D>("PauseButton"); imScreen = GLOBAL.game1.Content.Load<Texture2D>("PauseScreen"); nextScene = this; time = TimeSpan.Zero; ui = UpdateIndex.READY; funcs = new UpdateFuncs[(int)UpdateIndex.Size + 1]; funcs[(int)UpdateIndex.READY] = UpdateReady; funcs[(int)UpdateIndex.FIGHT] = UpdateFight; funcs[(int)UpdateIndex.PAUSE] = UpdatePause; funcs[(int)UpdateIndex.RESULT] = UpdateResult; funcs[(int)ui](new GameTime(TimeSpan.Zero, TimeSpan.Zero)); }
public void GameSet(int winner) { ui = UpdateIndex.RESULT; this.winner = winner; time = TimeSpan.Zero; }
protected DocumentBase() { Index = UpdateIndex.Published; }
public async Task UpdateIndexes(UpdateIndex update) { await UpdateIndexes(new List <UpdateIndex> { update }); }
/// <summary> /// <see cref="IDocumentService.GetDocument(string)(string)"/> /// </summary> /// <param name="identifier">Document with field <c>resoruceID</c>.</param> /// <param name="searchIndex">The index from which the document should be fetched.</param> public object GetSchemaUIResource(DisplayTableAndColumn identifiers, UpdateIndex searchIndex) { if (identifiers == null) { throw new ArgumentNullException(nameof(identifiers), "The identifier must not be null or empty."); } SchemaUI schemaUI = new SchemaUI(); if (identifiers.columns != null && identifiers.columns.Count > 0) { var colresult = identifiers.columns.Select (x => x.pidURI).AsEnumerable(); schemaUI.columns = _elasticSearchRepository.GetSchemaUIResource(colresult, searchIndex)?.ToList <object>(); for (int i = 0; i < schemaUI.columns.Count; i++) { var columnObject = identifiers.columns.Where(x => x.pidURI == GetPidUrl((JObject)schemaUI.columns[i])).FirstOrDefault(); if (columnObject.subColumns.Count > 0) { JObject jsonColumnDocument = JObject.Parse(schemaUI.columns[i].ToString()); jsonColumnDocument.Add(new JProperty("hasSubColumns", GetSubcolumns(columnObject))); schemaUI.columns[i] = jsonColumnDocument; } } } if (identifiers.tables != null && identifiers.tables.Count > 0) { var identifierList = identifiers.tables.Select(x => x.pidURI).AsEnumerable(); var tableDocuments = _elasticSearchRepository.GetSchemaUIResource(identifierList, searchIndex); var columnIDs = identifiers.tables.Where(x => x.linkedTableFiled != null).SelectMany(x => x.linkedTableFiled).Select(y => y.pidURI).AsEnumerable(); var columnDocuments = _elasticSearchRepository.GetSchemaUIResource(columnIDs, searchIndex); foreach (var table in identifiers.tables) { try { Table tableObj = new Table(); tableObj.resourceDetail = tableDocuments.Where(x => GetPidUrl(x) == table.pidURI).FirstOrDefault(); tableObj.linkedColumnResourceDetail = table.linkedTableFiled .Where(x => x != null && columnDocuments.Any(y => GetPidUrl(y) == x.pidURI)) .Select(col => { return(columnDocuments.Where(x => GetPidUrl(x) == col.pidURI).FirstOrDefault()); }).ToList <object>(); for (int i = 0; i < tableObj.linkedColumnResourceDetail.Count; i++) { var columnObject = table.linkedTableFiled.Where(x => x.pidURI == GetPidUrl((JObject)tableObj.linkedColumnResourceDetail[i])).FirstOrDefault(); if (columnObject.subColumns.Count > 0) { JObject jsonColumnDocument = JObject.Parse(tableObj.linkedColumnResourceDetail[i].ToString()); jsonColumnDocument.Add(new JProperty("hasSubColumns", GetSubcolumns(columnObject))); tableObj.linkedColumnResourceDetail[i] = jsonColumnDocument; } } if (tableObj.resourceDetail != null) { schemaUI.tables.Add(tableObj); } } catch (System.Exception ex) { _logger.LogInformation(ex, ex.Message); continue; } } } return(schemaUI); }