/// <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));
 }
Exemple #5
0
        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;
        }
Exemple #6
0
        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;
        }
Exemple #7
0
        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;
        }
Exemple #8
0
        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));
        }
Exemple #9
0
 public void GameSet(int winner)
 {
     ui = UpdateIndex.RESULT;
     this.winner = winner;
     time = TimeSpan.Zero;
 }
Exemple #10
0
 protected DocumentBase()
 {
     Index = UpdateIndex.Published;
 }
Exemple #11
0
 public async Task UpdateIndexes(UpdateIndex update)
 {
     await UpdateIndexes(new List <UpdateIndex> {
         update
     });
 }
Exemple #12
0
        /// <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);
        }