コード例 #1
0
ファイル: RefreshSystem.cs プロジェクト: midgithub/ProjectC
    public Character Refresh(excel_refresh refreshExcel, Scene scn)
    {
        int       index          = Mathf.RandRange(0, refreshExcel.birthpoint.Length - 1);
        string    birthPointName = refreshExcel.birthpoint[index];
        MarkPoint markPoint      = GetMarkPoint(scn.ScnID, birthPointName);

        if (markPoint == null)
        {
            return(null);
        }
        Vector3 targetPos = markPoint.position;
        Vector3 dir       = new Vector3(Mathf.RandRange(-1.0f, 1.0f), 0.0f, Mathf.RandRange(-1.0f, 1.0f));

        dir.Normalize();
        float dist = Mathf.RandRange(0.0f, 1.0f) * refreshExcel.refreshDist;

        targetPos += (dist * dir);
        Vector3 hitPos = Vector3.zero;

        uint layer = NavigationSystem.GetLayer(markPoint.position);

        if (NavigationSystem.LineCast(markPoint.position, targetPos, layer, out hitPos))
        {
            targetPos = hitPos;
        }
        float h = 0.0f;

        if (NavigationSystem.GetLayerHeight(targetPos, layer, out h))
        {
            targetPos.y = h;
        }
        NPC npc = new NPC();

        return(npc);
    }
コード例 #2
0
        /// <summary>
        /// エリアマップ描画
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void AreaMap_Draw_Area(Graphics g, ref CersioCtrl CersioCt, ref Brain BrainCtrl)
        {
            // 書き換えBMP(追加障害物)描画
            LocPreSumpSystem LocSys = BrainCtrl.LocSys;

            // エリアマップ描画
            //g.FillRectangle(Brushes.Black, 0, 0, picbox_AreaMap.Width, picbox_AreaMap.Height);

            g.DrawImage(LocSys.AreaOverlayBmp, 0, 0);


            // ターゲット描画
            if (null != CersioCt)
            {
                int    tgtPosX, tgtPosY;
                double dir = 0;
                tgtPosX = tgtPosY = 0;
                float olScale = (float)LocSys.AreaOverlayBmp.Width / (float)LocSys.AreaBmp.Width;
                BrainCtrl.RTS.getNowTarget(ref tgtPosX, ref tgtPosY);
                BrainCtrl.RTS.getNowTargetDir(ref dir);
                MarkPoint tgtMk = new MarkPoint(LocSys.worldMap.GetAreaX(tgtPosX), LocSys.worldMap.GetAreaY(tgtPosY), dir);

                DrawMaker(g, olScale, tgtMk, Brushes.GreenYellow, 8);

                // ターゲットまでのライン
                DrawMakerLine(g, olScale,
                              new MarkPoint(LocSys.worldMap.GetAreaX(LocSys.R1.X), LocSys.worldMap.GetAreaY(LocSys.R1.Y), 0),
                              tgtMk,
                              Pens.Olive, 1);
            }
        }
コード例 #3
0
    private void makeMarks(int x, int y)
    {
        MarkPoint mpH  = new MarkPoint(x, y, Position.HORIZONTAL);
        MarkPoint mpV  = new MarkPoint(x, y, Position.VERTICAL);
        MarkPoint mpH1 = new MarkPoint(x + 1, y, Position.HORIZONTAL);
        MarkPoint mpV1 = new MarkPoint(x, y + 1, Position.VERTICAL);

        if (!marks.ContainsKey(mpH))
        {
            //Mark mark = MonoBehaviour.Instantiate (markPrefab).GetComponent<Mark> ();
            //marks.Add (mpH, mark);
        }
        if (!marks.ContainsKey(mpV))
        {
            //marks.Add (mpV, Instantiate(markPrefab).GetComponent<Mark>());
        }
        if (!marks.ContainsKey(mpH1))
        {
            //marks.Add (mpH1, Instantiate(markPrefab).GetComponent<Mark>());
        }
        if (!marks.ContainsKey(mpV1))
        {
            //marks.Add (mpV1, Instantiate(markPrefab).GetComponent<Mark>());
        }
    }
コード例 #4
0
    void AddSegment(MarkPoint first, MarkPoint second)
    {
        int segmentIndex = (m_segmentCount % m_segmentArraySize) * 4;

        m_vertices[segmentIndex + 0] = first.posl;
        m_vertices[segmentIndex + 1] = first.posr;
        m_vertices[segmentIndex + 2] = second.posl;
        m_vertices[segmentIndex + 3] = second.posr;

        m_colors[segmentIndex + 0].a = first.intensity;
        m_colors[segmentIndex + 1].a = first.intensity;
        m_colors[segmentIndex + 2].a = second.intensity;
        m_colors[segmentIndex + 3].a = second.intensity;

        m_values[segmentIndex / 4] = new Vector2(first.intensity, second.intensity);

        if (m_segmentCount == 0)
        {
            Vector3 v = m_vertices[0];
            for (int i = 4, c = m_vertices.Length; i < c; i++)
            {
                m_vertices[i] = v;
            }
        }

        m_segmentCount++;
        m_segmentsUpdated = true;
    }
コード例 #5
0
        public void LoadFrom(MyReader mr)
        {
            id               = mr.LoadInt();
            ShowShape.X      = mr.LoadInt();
            ShowShape.Y      = mr.LoadInt();
            ShowShape.Width  = mr.LoadInt();
            ShowShape.Height = mr.LoadInt();
            ShowShape.Angle  = mr.LoadDouble();

            int mpc = mr.LoadInt();
            int cpc = mr.LoadInt();

            mr.LoadLineEnd();

            for (int i = 0; i < mpc; i++)
            {
                MarkPoint mp = new MarkPoint();
                mp.LoadFrom(mr);
                AddWin(mp);
            }
            for (int i = 0; i < cpc; i++)
            {
                WinType      wt = mr.LoadType();
                CheckWinBase cw = NewComponent(wt);
                cw.LoadFrom(mr);
                AddWin(cw);
            }
        }
コード例 #6
0
 public void AddMarkPoint(MarkPoint mp)
 {
     if (MarkPoints == null)
     {
         MarkPoints = new List <MarkPoint>();
     }
     MarkPoints.Add(mp);
 }
コード例 #7
0
 public void AddMarkpoint(MarkPoint mp)
 {
     if (AllMarkPoints == null)
     {
         AllMarkPoints = new List <MarkPoint>();
     }
     AllMarkPoints.Add(mp);
 }
コード例 #8
0
        private void DrawMakerLine(Graphics g, float fScale, MarkPoint robotA, MarkPoint robotB, Pen pen, int size)
        {
            var P1 = new PointF(
                (float)(robotA.X * fScale),
                (float)(robotA.Y * fScale));
            var P2 = new PointF(
                (float)(robotB.X * fScale),
                (float)(robotB.Y * fScale));

            g.DrawLine(pen, P1, P2);
        }
コード例 #9
0
ファイル: GameManager.cs プロジェクト: Gomsoz/CardRPGScripts
 private void Awake()
 {
     Singleton();
     _cardSystem           = transform.GetComponent <Time_CardSystem>();
     _markPoint            = transform.GetComponent <MarkPoint>();
     _createItemBox        = GetComponent <ItemBox_Creating>();
     DontDestoryGameObject = new GameObject {
         name = "DontDestoryGameOject"
     }.transform;
     GameObject.DontDestroyOnLoad(DontDestoryGameObject);
 }
コード例 #10
0
        //static int areaMapDrawCnt = 0;

        public void AreaMap_Draw_WorldMap(Graphics g, ref CersioCtrl CersioCt, ref Brain BrainCtrl)
        {
            LocPreSumpSystem LocSys = BrainCtrl.LocSys;

            // 全体マップ描画
            float viewScale;

            g.FillRectangle(Brushes.Black, 0, 0, worldMapBmp.Width, worldMapBmp.Height);

            if (((float)LocSys.worldMap.WorldSize.w / (float)worldMapBmp.Width) < ((float)LocSys.worldMap.WorldSize.h / (float)worldMapBmp.Height))
            {
                viewScale = (float)(1.0 / ((float)LocSys.worldMap.WorldSize.h / (float)worldMapBmp.Height));
            }
            else
            {
                viewScale = (float)(1.0 / ((float)LocSys.worldMap.WorldSize.w / (float)worldMapBmp.Width));
            }

            //g.ResetTransform();
            //g.TranslateTransform(-ctrX, -ctrY, MatrixOrder.Append);
            //g.RotateTransform((float)layer.wAng, MatrixOrder.Append);
            //g.ScaleTransform(viewScale, viewScale, MatrixOrder.Append);

            if (null != worldMapBmp)
            {
                g.DrawImage(worldMapBmp, 0, 0);
            }

            //g.ResetTransform();

            // 各マーカーの位置を描画
            LocSys.DrawWorldMap(g, viewScale);

            // ターゲット描画
            if (null != CersioCt)
            {
                int    tgtPosX, tgtPosY;
                double dir = 0;
                tgtPosX = tgtPosY = 0;

                BrainCtrl.RTS.getNowTarget(ref tgtPosX, ref tgtPosY);
                BrainCtrl.RTS.getNowTargetDir(ref dir);
                MarkPoint tgtMk = new MarkPoint(tgtPosX, tgtPosY, dir + 180);

                DrawMaker(g, viewScale, tgtMk, Brushes.GreenYellow, 8);

                // ターゲットまでのライン
                DrawMakerLine(g, viewScale,
                              LocSys.R1,
                              tgtMk,
                              Pens.Olive, 1);
            }
        }
コード例 #11
0
ファイル: BridgeHand.cs プロジェクト: slyher/C-Academy
        public int CountHandPoints()
        {
            var Points = 0;

            foreach (var Card in Hand)
            {
                foreach (var MarkPoint in Enum.GetNames(typeof(ValuedCardValues)))
                {
                    if (MarkPoint.ToString().Equals(Card.mark.ToString()))
                    {
                        Points += (int)Enum.Parse(typeof(ValuedCardValues), Card.mark.ToString());
                    }
                }
            }
            return(Points);
        }
コード例 #12
0
    public int AddPathPoint(Vector3 pos, float intensity, int lastIndex)
    {
        Vector3 normal = Vector3.up;

        if (!isActiveAndEnabled || m_markArraySize == 0)
        {
            return(-1);
        }

        intensity = Mathf.Clamp01(intensity);

        Vector3 newPos = pos + normal * groundOffset;

        if (lastIndex >= 0 && Vector3.Distance(newPos, m_markPoints[lastIndex % m_markArraySize].pos) < minDistance)
        {
            return(lastIndex);
        }


        MarkPoint current = m_markPoints[m_markCount % m_markArraySize];

        current.pos       = newPos;
        current.intensity = intensity;
        current.lastIndex = lastIndex;

        if (lastIndex >= 0 && lastIndex > m_markCount - m_markArraySize)
        {
            MarkPoint last     = m_markPoints[lastIndex % m_markArraySize];
            Vector3   dir      = (current.pos - last.pos);
            Vector3   crossDir = Vector3.Cross(dir, normal).normalized;
            Vector3   widthDir = 0.5f * width * crossDir;

            current.posl = current.pos + widthDir;
            current.posr = current.pos - widthDir;

            if (last.lastIndex < 0)
            {
                last.posl = current.pos + widthDir;
                last.posr = current.pos - widthDir;
            }

            AddSegment(last, current);
        }

        m_markCount++;
        return(m_markCount - 1);
    }
コード例 #13
0
        /// <summary>
        /// マーカー描画
        /// </summary>
        /// <param name="g"></param>
        /// <param name="fScale"></param>
        /// <param name="robot"></param>
        /// <param name="brush"></param>
        /// <param name="size"></param>
        static public void DrawMaker(Graphics g, float fScale, MarkPoint robot, Brush brush, int size)
        {
            double mkX   = robot.X * fScale;
            double mkY   = robot.Y * fScale;
            double mkDir = robot.Theta - 90.0;

            var P1 = new PointF(
                (float)(mkX + size * Math.Cos(mkDir * Math.PI / 180.0)),
                (float)(mkY + size * Math.Sin(mkDir * Math.PI / 180.0)));
            var P2 = new PointF(
                (float)(mkX + size * Math.Cos((mkDir - 150) * Math.PI / 180.0)),
                (float)(mkY + size * Math.Sin((mkDir - 150) * Math.PI / 180.0)));
            var P3 = new PointF(
                (float)(mkX + size * Math.Cos((mkDir + 150) * Math.PI / 180.0)),
                (float)(mkY + size * Math.Sin((mkDir + 150) * Math.PI / 180.0)));

            g.FillPolygon(brush, new PointF[] { P1, P2, P3 });
        }
コード例 #14
0
ファイル: RefreshSystem.cs プロジェクト: midgithub/ProjectC
    public MarkPoint GetMarkPoint(int scnID, string name)
    {
        List <MarkPoint> markPoints = null;

        if (!mScnMarkPoints.TryGetValue(scnID, out markPoints))
        {
            return(null);
        }
        for (int i = 0; i < markPoints.Count; ++i)
        {
            MarkPoint pt = markPoints[i];
            if (pt.name == name)
            {
                return(pt);
            }
        }
        return(null);
    }
コード例 #15
0
ファイル: RefreshSystem.cs プロジェクト: midgithub/ProjectC
    void LoadScnMark(int scnID, string markPath)
    {
        if (string.IsNullOrEmpty(markPath))
        {
            return;
        }

        List <MarkPoint> scnMarkPoints = null;

        if (!mScnMarkPoints.TryGetValue(scnID, out scnMarkPoints))
        {
            scnMarkPoints = new List <MarkPoint>();
            mScnMarkPoints.Add(scnID, scnMarkPoints);
        }

        string jsonText = string.Empty;

        using (FileStream fsRead = new FileStream(@"../Data/RefreshInfo/" + markPath + ".json", FileMode.Open))
        {
            byte[] configDatas = new byte[fsRead.Length];
            fsRead.Read(configDatas, 0, configDatas.Length);
            jsonText = System.Text.Encoding.UTF8.GetString(configDatas);
            fsRead.Close();
        }
        JsonData json = JsonMapper.ToObject(jsonText);

        JsonData markPoints = json["MarkPoints"];

        for (int i = 0; i < markPoints.Count; ++i)
        {
            JsonData markPoint = markPoints[i];
            JsonData nameJson  = markPoint["name"];
            JsonData posJson   = markPoint["Pos"];
            JsonData dirJson   = markPoint["Dir"];

            MarkPoint pt = new MarkPoint();
            pt.name      = nameJson.AsString;
            pt.position  = new Vector3(posJson[0].AsFloat, posJson[1].AsFloat, posJson[2].AsFloat);
            pt.direction = new Vector3(dirJson[0].AsFloat, dirJson[1].AsFloat, dirJson[2].AsFloat);
            scnMarkPoints.Add(pt);
        }
    }
コード例 #16
0
        /// <summary>
        /// マップイメージログ出力
        /// </summary>
        /// <param name="BrainCtrl"></param>
        /// <returns></returns>
        public bool Output_ImageLog(ref Brain BrainCtrl)
        {
            try
            {
                // 軌跡ログ出力
                if (!string.IsNullOrEmpty(saveLogFname))
                {
                    MarkPoint tgtMaker = null;

                    // 次の目的地取得
                    {
                        int    tgtPosX = 0;
                        int    tgtPosY = 0;
                        double dir     = 0;

                        BrainCtrl.RTS.getNowTarget(ref tgtPosX, ref tgtPosY);
                        BrainCtrl.RTS.getNowTargetDir(ref dir);

                        tgtMaker = new MarkPoint(tgtPosX, tgtPosY, dir);
                    }

                    {
                        Bitmap bmp = BrainCtrl.LocSys.MakeMakerLogBmp(false, tgtMaker);
                        if (null != bmp)
                        {
                            // 画像ファイル保存
                            string saveImageLogFname = Path.ChangeExtension(saveLogFname, "png");
                            bmp.Save(saveImageLogFname, System.Drawing.Imaging.ImageFormat.Png);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + System.Environment.NewLine + ex.StackTrace);
                return(false);
            }

            return(true);
        }
コード例 #17
0
        public void LoadFrom(MyReader mr)
        {
            pcbName             = mr.LoadString();
            pcbWidth            = mr.LoadInt();
            pcbHeight           = mr.LoadInt();
            spareWidth          = mr.LoadInt();
            _pixelSize          = mr.LoadDouble();
            useMainBoardBarcode = mr.LoadBool();
            useSubBoardBarcode  = mr.LoadBool();
            customer            = mr.LoadString();
            halftoneHeight      = mr.LoadDouble();

            int mpc = mr.LoadInt();
            int sbc = mr.LoadInt();
            int cpc = mr.LoadInt();

            mr.LoadLineEnd();
            for (int i = 0; i < mpc; i++)
            {
                MarkPoint mp = new MarkPoint();
                mp.LoadFrom(mr);
                AddWin(mp);
            }
            for (int i = 0; i < sbc; i++)
            {
                SubBoard sb = new SubBoard();
                sb.LoadFrom(mr);
                AddWin(sb);
            }
            for (int i = 0; i < cpc; i++)
            {
                WinType      wt = mr.LoadType();
                CheckWinBase cw = NewComponent(wt);
                cw.LoadFrom(mr);
                AddWin(cw);
            }
        }
コード例 #18
0
    void OnEnable()
    {
        transform.position = Vector3.zero;
        transform.rotation = Quaternion.identity;

        MeshFilter meshFilter = gameObject.GetComponent <MeshFilter>();

        if (meshFilter == null)
        {
            meshFilter = gameObject.AddComponent <MeshFilter>();
        }

        MeshRenderer meshRenderer = gameObject.GetComponent <MeshRenderer>();

        if (meshRenderer == null)
        {
            meshRenderer = gameObject.AddComponent <MeshRenderer>();
            meshRenderer.shadowCastingMode = ShadowCastingMode.Off;
            meshRenderer.material          = material;
        }

        if (maxMarks < 10)
        {
            maxMarks = 10;
        }


        m_markPoints = new MarkPoint[maxMarks * 2];
        for (int i = 0, c = m_markPoints.Length; i < c; i++)
        {
            m_markPoints[i] = new MarkPoint();
        }

        m_markCount     = 0;
        m_markArraySize = m_markPoints.Length;

        m_vertices  = new Vector3[maxMarks * 4];
        m_colors    = new Color[maxMarks * 4];
        m_uvs       = new Vector2[maxMarks * 4];
        m_triangles = new int[maxMarks * 6];
        m_values    = new Vector2[maxMarks];

        m_segmentCount     = 0;
        m_segmentArraySize = maxMarks;
        m_segmentsUpdated  = false;

        // Elements that will be invariant

        for (int i = 0; i < m_segmentArraySize; i++)
        {
            m_uvs[i * 4 + 0] = new Vector2(0, textureOffsetY);
            m_uvs[i * 4 + 1] = new Vector2(1, textureOffsetY);
            m_uvs[i * 4 + 2] = new Vector2(0, 1 - textureOffsetY);
            m_uvs[i * 4 + 3] = new Vector2(1, 1 - textureOffsetY);

            m_triangles[i * 6 + 0] = i * 4 + 0;
            m_triangles[i * 6 + 2] = i * 4 + 1;
            m_triangles[i * 6 + 1] = i * 4 + 2;

            m_triangles[i * 6 + 3] = i * 4 + 2;
            m_triangles[i * 6 + 5] = i * 4 + 1;
            m_triangles[i * 6 + 4] = i * 4 + 3;
        }

        m_mesh      = new Mesh();
        m_mesh.name = "Path_Mesh";
        m_mesh.MarkDynamic();
        m_mesh.vertices  = m_vertices;
        m_mesh.colors    = m_colors;
        m_mesh.triangles = m_triangles;
        m_mesh.uv        = m_uvs;
        m_mesh.RecalculateBounds();

        meshFilter.mesh = m_mesh;
    }
コード例 #19
0
        void AddMarkPoint()
        {
            MarkPoint mp = new MarkPoint();
              markPoints.Push(mp);

              mp.FileOffset = stream.Position;
              stream.Write(new byte[] { 0, 0, 0, 0 }, 0, 4);
        }
コード例 #20
0
    protected internal void MarkSet()
    {
        Manager mg = GameObject.Find("Manager").GetComponent <Manager> ();

        coordinate = mg.sy_Mark.coordinate;

        markGroup = new GameObject("Mark");
        GameObject target  = new GameObject("Target");
        GameObject setting = new GameObject("Setting");

        target.transform.parent  = markGroup.transform;
        setting.transform.parent = markGroup.transform;

        if (coordinate != null)
        {
            for (int i = 0; i < coordinate.Length; i++)
            {
                GameObject table = new GameObject(mg.sy_Mark.table_name [i]);
                table.transform.parent = setting.transform;
                GameObject tableTarget = new GameObject(mg.sy_Mark.table_name [i]);
                tableTarget.transform.parent = target.transform;

                for (int k = 0; k < coordinate[i].Length; k++)
                {
                    string     objName = mg.sy_Mark.field_name [i] [k];
                    GameObject mark    = new GameObject(objName);
                    mark.transform.parent = tableTarget.transform;

                    GameObject markImg = new GameObject(objName);
                    markImg.transform.parent     = table.transform;
                    markImg.transform.localScale = Vector3.zero;

                    MarkPoint mp = (MarkPoint)markImg.AddComponent <MarkPoint> ();
                    mp.mg               = GameObject.Find("Manager").GetComponent <Manager> ();
                    mp.markCoordinate   = coordinate [i] [k];
                    mp.target           = mark.transform;
                    mp.offset           = Vector3.zero;
                    mp.hoverMouseSprite = Resources.Load("UI/" + mg.sy_Mark.field_contents [i] [k] [3].ToString()) as Texture2D;
                    mp.activeSprite     = Resources.Load("UI/" + mg.sy_Mark.field_contents [i] [k] [4]) as Texture2D;
                    GUITexture _markImg = (GUITexture)markImg.AddComponent(typeof(GUITexture));
                    _markImg.texture = Resources.Load("UI/" + mg.sy_Mark.field_contents [i] [k] [2].ToString()) as Texture2D;

                    _markImg.pixelInset = new Rect(float.Parse(mg.sy_Mark.field_contents [i] [k] [9]),
                                                   float.Parse(mg.sy_Mark.field_contents [i] [k] [10]),
                                                   float.Parse(mg.sy_Mark.field_contents [i] [k] [11]),
                                                   float.Parse(mg.sy_Mark.field_contents [i] [k] [12]));

                    _markImg.color = new Color(float.Parse(mg.sy_Mark.field_contents [i] [k] [5]) / 255,
                                               float.Parse(mg.sy_Mark.field_contents [i] [k] [6]) / 255,
                                               float.Parse(mg.sy_Mark.field_contents [i] [k] [7]) / 255,
                                               float.Parse(mg.sy_Mark.field_contents [i] [k] [8]) / 255);

                    if (mg.sy_Mark.field_contents [i] [k] [13] == "true")
                    {
                        GUIText _text = markImg.AddComponent(typeof(GUIText)) as GUIText;
                        _text.text        = objName;
                        _text.pixelOffset = new Vector2(float.Parse(mg.sy_Mark.field_contents [i] [k] [14]), float.Parse(mg.sy_Mark.field_contents [i] [k] [15]));
                        _text.fontSize    = int.Parse(mg.sy_Mark.field_contents [i] [k] [16]);
# if OnColor
                        _text.color = new Color(float.Parse(mg.sy_Mark.field_contents [i] [k] [17]) / 255,
                                                float.Parse(mg.sy_Mark.field_contents [i] [k] [18]) / 255,
                                                float.Parse(mg.sy_Mark.field_contents [i] [k] [19]) / 255,
                                                float.Parse(mg.sy_Mark.field_contents [i] [k] [20]) / 255);
#endif
                        string tex = System.Enum.GetName(typeof(TextAlignment), int.Parse(mg.sy_Mark.field_contents [i] [k] [21]));
                        _text.alignment = (TextAlignment)System.Enum.Parse(typeof(TextAlignment), tex);
                    }
                }
            }
        }
コード例 #21
0
        /// <summary>
        /// 数据项初始化
        /// </summary>
        /// <param name="option"></param>
        private void OptionSeries(Option option)
        {
            SeriesRectangle series = new SeriesRectangle {
                Name = "最高温度", Type = "line"
            };

            MarkPoint          mp            = new MarkPoint();
            MarkPointDataThree markPointData = new MarkPointDataThree {
                Type = "max", Name = "最大"
            };
            MarkPointDataThree markPointDataT = new MarkPointDataThree {
                Type = "min", Name = "最小的值"
            };

            mp.Data          = new MarkPointData[] { markPointData, markPointDataT };
            series.MarkPoint = mp;

            MarkLine ml = new MarkLine
            {
                //Data = new MarkLineData[]
                //{
                //    new MarkLineDataThree {Name = "最小", Type = "min"},
                //    new MarkLineDataThree {Name = "最大", Type = "max"},
                //    new MarkLineDataThree {Name = "平均", Type = "average"},
                //},
                DataGroup = new MarkLineData[, ]
                {
                    {
                        new MarkLineDataThree {
                            Name = "最小", Type = "min"
                        },
                        new MarkLineDataThree {
                            Name = "最大", Type = "max"
                        },
                    }
                },
            };

            series.MarkLine = ml;

            series.Data = new SeriesData[]
            {
                new SeriesDataOne {
                    Value = "12"
                },
                new SeriesDataOne {
                    Value = "11"
                },
                new SeriesDataOne {
                    Value = "13"
                },
                new SeriesDataOne {
                    Value = "14"
                },
                new SeriesDataOne {
                    Value = "12"
                },
                new SeriesDataOne {
                    Value = "18"
                },
                new SeriesDataOne {
                    Value = "19"
                },
                new SeriesDataOne {
                    Value = "22"
                },
            };
            option.Series = new Series[] { series };
        }
コード例 #22
0
        // -----------------------------------------------------------------
        // マップスクロール
        private void picbox_AreaMap_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left /*&& selAreaMapMode == MAP_MODE.AREA_MAP*/)
            {
                //どの修飾子キー(Shift、Ctrl、およびAlt)が押されているか

                /*
                 * if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift)
                 *  Console.WriteLine("Shiftキーが押されています。");
                 * if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
                 *  Console.WriteLine("Ctrlキーが押されています。");
                 * if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt)
                 *  Console.WriteLine("Altキーが押されています。");
                 */
                if (checkBoxCheckPointModifi.Checked)
                {
                    LocationSystem LocSys = BrainCtrl.LocSys;

                    DrawMarkPoint drawCenter = new DrawMarkPoint(LocSys.R1, LocSys);

                    // センターを左下にずらす Width x 0.1, Height x 0.1
                    double viewCenterX = formDraw.GetMapWndowCenterX(picbox_AreaMap); // (picbox_AreaMap.Width * 0.5) - (picbox_AreaMap.Width * 0.1);
                    double viewCenterY = formDraw.GetMapWndowCenterY(picbox_AreaMap); //(picbox_AreaMap.Height * 0.5) + (picbox_AreaMap.Height * 0.1);

                    int       msPosX      = e.X - (int)((-drawCenter.x + viewCenterX) - viewScrollX);
                    int       msPosY      = e.Y - (int)((-drawCenter.y + viewCenterY) - viewScrollY);
                    MarkPoint mouseRosPos = new MarkPoint(new DrawMarkPoint(msPosX, msPosY, 0.0), LocSys);

                    if (radioButtonPointMove.Checked && (Control.ModifierKeys & Keys.Control) == Keys.Control)
                    {
                        // 移動チェックポイント選択
                        selCpIndex = LocSys.GetCheckPointIndex(mouseRosPos.x, mouseRosPos.y);
                        if (selCpIndex != -1)
                        {
                            // 移動チェックポイント取得
                            moveCpPos = LocSys.RTS.GetCheckPoint(selCpIndex);
                        }
                        else
                        {
                            // スクロール
                            bMouseMove = true;
                        }
                    }
                    else if (radioButtonPointAdd.Checked)
                    {
                        // チェックポイント新規追加
                        Vector3 baseCpPos = new Vector3(mouseRosPos.x, mouseRosPos.y, 0.0);

                        LocSys.RTS.AddCheckPoint((int)numericUD_CheckPoint.Value, baseCpPos);
                    }
                    else if (radioButtonPointDelete.Checked)
                    {
                        // チェックポイント削除
                        Vector3 baseCpPos = new Vector3(mouseRosPos.x, mouseRosPos.y, 0.0);

                        selCpIndex = LocSys.GetCheckPointIndex(mouseRosPos.x, mouseRosPos.y);
                        if (selCpIndex != -1)
                        {
                            LocSys.RTS.RemoveCheckPoint(selCpIndex);
                        }
                        selCpIndex = -1;
                    }
                    else
                    {
                        // スクロール
                        bMouseMove = true;
                    }
                }
                else
                {
                    // スクロール
                    bMouseMove = true;
                }

                MouseStX     = e.X;
                MouseStY     = e.Y;
                viewMoveAddX = 0;
                viewMoveAddY = 0;
            }
        }
コード例 #23
0
        private void picbox_AreaMap_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                //
                if (bMouseMove)
                {
                    viewMoveAddX = (MouseStX - e.X);
                    viewMoveAddY = (MouseStY - e.Y);
                }
                else if (selCpIndex != -1)
                {
                    LocationSystem LocSys = BrainCtrl.LocSys;

                    int       msPosX    = (e.X - MouseStX);
                    int       msPosY    = (e.Y - MouseStY);
                    MarkPoint _checkPos = new MarkPoint(new DrawMarkPoint(msPosX, msPosY, 0.0), LocSys);

                    Vector3 baseCpPos = new Vector3((moveCpPos.x + _checkPos.x)
                                                    , (moveCpPos.y + _checkPos.y)
                                                    , 0.0);

                    Vector3 nowCpPos = LocSys.RTS.GetCheckPoint(selCpIndex);

                    if (nowCpPos != baseCpPos)
                    {
                        LocSys.RTS.SetCheckPoint(selCpIndex, baseCpPos);
                    }
                }
            }
            else if (e.Button == MouseButtons.Right)
            {
            }
            else
            {
                if (checkBoxCheckPointModifi.Checked)
                {
                    //if (radioButtonPointMove.Checked && (Control.ModifierKeys & Keys.Control) == Keys.Control)
                    {
                        LocationSystem LocSys = BrainCtrl.LocSys;

                        DrawMarkPoint drawCenter = new DrawMarkPoint(LocSys.R1, LocSys);

                        // センターを左下にずらす Width x 0.1, Height x 0.1
                        double viewCenterX = (picbox_AreaMap.Width * 0.5) - (picbox_AreaMap.Width * 0.1);
                        double viewCenterY = (picbox_AreaMap.Height * 0.5) + (picbox_AreaMap.Height * 0.1);

                        int msPosX = e.X - (int)((-drawCenter.x + viewCenterX) - viewScrollX);
                        int msPosY = e.Y - (int)((-drawCenter.y + viewCenterY) - viewScrollY);

                        MarkPoint mouseRosPos = new MarkPoint(new DrawMarkPoint(msPosX, msPosY, 0.0), LocSys);

                        {
                            // 移動チェックポイント選択
                            selCpIndex = LocSys.GetCheckPointIndex(mouseRosPos.x, mouseRosPos.y);
                            if (selCpIndex != -1)
                            {
                                // 移動チェックポイント取得
                                moveCpPos = LocSys.RTS.GetCheckPoint(selCpIndex);
                            }
                        }
                    }
                }
            }
        }
コード例 #24
0
 public SeriesItem()
 {
     data      = new List <double>();
     markPoint = new MarkPoint();
     markLine  = new MarkLine();
 }
コード例 #25
0
        void DoPatrol()
        {
            if (mNPC.mRefreshList == null)
            {
                return;
            }
            int          npcAIID = mNPC.mRefreshList.npcAI;
            excel_npc_ai npcAI   = excel_npc_ai.Find(npcAIID);

            if (npcAI == null)
            {
                return;
            }
            if (NormalBehaviourPhase.PatrolInterval == mPhase)
            {
                mIntervalTime -= Time.DeltaTime;
                if (mIntervalTime > 0.0f)
                {
                    return;
                }
                PatrolType patrolType = (PatrolType)npcAI.patrolType;
                if (patrolType == PatrolType.Scope)
                {
                    if (mNPC.mRefreshList.birthpoint.Length <= 0)
                    {
                        return;
                    }
                    string    birthpoint = mNPC.mRefreshList.birthpoint[0];
                    MarkPoint markPoint  = RefreshSystem.Instance.GetMarkPoint(mNPC.mScene.ScnID, birthpoint);
                    if (markPoint == null)
                    {
                        return;
                    }
                    Vector3 targetPos = markPoint.position;
                    Vector3 dir       = new Vector3(Mathf.RandRange(-1.0f, 1.0f), 0.0f, Mathf.RandRange(-1.0f, 1.0f));
                    dir.Normalize();
                    float dist = Mathf.RandRange(0.0f, 1.0f) * npcAI.patrolRadius;
                    targetPos += (dist * dir);

                    Vector3 hitPos = Vector3.zero;
                    if (NavigationSystem.LineCast(mNPC.Position, targetPos, mNPC.mNavLayer, out hitPos))
                    {
                        targetPos = hitPos;
                    }
                    mPath      = new Vector3[1];
                    mPath[0]   = targetPos;
                    mPathIndex = 0;

                    mPhase = NormalBehaviourPhase.Patrol;
                }
            }
            else if (NormalBehaviourPhase.Patrol == mPhase)
            {
                if (mPath == null || mPathIndex >= mPath.Length)
                {
                    mIntervalTime = Mathf.RandRange(npcAI.patrolMinInterval, npcAI.patrolMaxInterval);
                    mPhase        = NormalBehaviourPhase.PatrolInterval;
                    return;
                }
                Vector3 targetPos = mPath[mPathIndex];
                if (!mNPC.IsSearchMoving())
                {
                    mNPC.SearchMove(targetPos);
                }
                float dist = (targetPos - mNPC.Position).Length();
                if (dist <= 0.3f)
                {
                    ++mPathIndex;
                }
            }
        }
コード例 #26
0
    public override void OnInspectorGUI()
    {
        ScnMarkManger scnMarkMgr = target as ScnMarkManger;

        if (GUILayout.Button("生成JSon"))
        {
            JsonData root = new JsonData();

            JsonData markPoints = new JsonData();
            root["MarkPoints"] = markPoints;
            MarkPoint[] pts = scnMarkMgr.GetComponentsInChildren <MarkPoint>();
            for (int i = 0; i < pts.Length; ++i)
            {
                MarkPoint pt        = pts[i];
                JsonData  markPoint = new JsonData();

                markPoint["name"] = new JsonData(pt.name);

                JsonData position = new JsonData();
                position.Add(FloatToDouble(pt.transform.position.x));
                position.Add(FloatToDouble(pt.transform.position.y));
                position.Add(FloatToDouble(pt.transform.position.z));
                markPoint["Pos"] = position;

                JsonData direction = new JsonData();
                direction.Add(FloatToDouble(pt.transform.forward.x));
                direction.Add(FloatToDouble(pt.transform.forward.y));
                direction.Add(FloatToDouble(pt.transform.forward.z));
                markPoint["Dir"] = direction;

                markPoints.Add(markPoint);
            }

            string jsonText = root.ToJson();
            string path     = Application.dataPath;

            int slash1 = path.LastIndexOf('/');
            int slash2 = path.LastIndexOf('\\');
            path  = path.Substring(0, Mathf.Max(slash1, slash2));
            path += "/Data";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            path += "/";
            path += UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene().name;
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            path += "/refreshInfo.json";

            using (FileStream file = new FileStream(path, FileMode.CreateNew))
            {
                byte[] data = System.Text.Encoding.UTF8.GetBytes(jsonText);
                file.Write(data, 0, data.Length);
                file.Flush();
                file.Close();
            }
            Debug.LogError(jsonText);
        }
    }