protected override void OnPaint(PaintEventArgs e)
        {
            if (!isDrawn)
            {
                Graphics g = this.CreateGraphics();
                Block block = new Block(Brushes.Invisible, g, 0, 0, 0, 0, false);
                block = new Row1().AddRow(block);
                block = new Row2().AddRow(block);
                block = new Row3().AddRow(block);
                block = new Row4().AddRow(block);
                block = new Row5().AddRow(block);
                block = new Row6().AddRow(block);
                block = new Row7().AddRow(block);
                block = new Row8().AddRow(block);
                block = new Row9().AddRow(block);
                block = new Row10().AddRow(block);
                block = new Row11().AddRow(block);
                block = new Row12().AddRow(block);
                block = new Row13().AddRow(block);
                block = new Row14().AddRow(block);

                if (DrawDiamondOnlyAtEnd) CutOutDiamond(g);

                isDrawn = true;
            }
            base.OnPaint(e);
        }
Esempio n. 2
0
        /// <summary>マトリックスデータを取得 float[25]</summary>
        /// <returns></returns>
        public float[] GetMatrix()
        {
            var m = new float[25];

            m[24] = 1;

            try
            {
                var f = Row1.Split(',').Take(4).ToArray();
                for (var i = 0; i < f.Length; i++)
                {
                    m[i] = float.Parse(f[i]);
                }

                f = Row2.Split(',').Take(4).ToArray();
                for (var i = 0; i < f.Length; i++)
                {
                    m[i + 5] = float.Parse(f[i]);
                }

                f = Row3.Split(',').Take(4).ToArray();
                for (var i = 0; i < f.Length; i++)
                {
                    m[i + 10] = float.Parse(f[i]);
                }

                f = Row4.Split(',').Take(4).ToArray();
                for (var i = 0; i < f.Length; i++)
                {
                    m[i + 15] = float.Parse(f[i]);
                }

                f = Row5.Split(',').Take(4).ToArray();
                for (var i = 0; i < f.Length; i++)
                {
                    m[i + 20] = float.Parse(f[i]);
                }
            }
            catch
            {
                // 設定ファイルに不正データがあった場合 反転なし状態で初期化
                // (パース失敗がわかりやすいので)
                m     = new float[25];
                m[0]  = 1;
                m[6]  = 1;
                m[12] = 1;
                m[18] = 1;
                m[24] = 1;
            }

            return(m);
        }
Esempio n. 3
0
        public void Compare_Correct()
        {
            Assert.AreEqual(0, Row.Empty.CompareTo(Row.Empty));
            Assert.AreEqual(-1, Row.Empty.CompareTo(Row1));
            Assert.AreEqual(-1, Row.Empty.CompareTo(Row2));
            Assert.AreEqual(-1, Row.Empty.CompareTo(Row3));
            Assert.AreEqual(-1, Row.Empty.CompareTo(Row4));
            Assert.AreEqual(-1, Row.Empty.CompareTo(Row5));

            Assert.AreEqual(1, Row1.CompareTo(Row.Empty));
            Assert.AreEqual(0, Row1.CompareTo(Row1));
            Assert.AreEqual(-1, Row1.CompareTo(Row2));
            Assert.AreEqual(-1, Row1.CompareTo(Row3));
            Assert.AreEqual(-1, Row1.CompareTo(Row4));
            Assert.AreEqual(-1, Row1.CompareTo(Row5));

            Assert.AreEqual(1, Row2.CompareTo(Row.Empty));
            Assert.AreEqual(1, Row2.CompareTo(Row1));
            Assert.AreEqual(0, Row2.CompareTo(Row2));
            Assert.AreEqual(-1, Row2.CompareTo(Row3));
            Assert.AreEqual(-1, Row2.CompareTo(Row4));
            Assert.AreEqual(-1, Row2.CompareTo(Row5));

            Assert.AreEqual(1, Row3.CompareTo(Row.Empty));
            Assert.AreEqual(1, Row3.CompareTo(Row1));
            Assert.AreEqual(1, Row3.CompareTo(Row2));
            Assert.AreEqual(0, Row3.CompareTo(Row3));
            Assert.AreEqual(-1, Row3.CompareTo(Row4));
            Assert.AreEqual(-1, Row3.CompareTo(Row5));

            Assert.AreEqual(1, Row4.CompareTo(Row.Empty));
            Assert.AreEqual(1, Row4.CompareTo(Row1));
            Assert.AreEqual(1, Row4.CompareTo(Row2));
            Assert.AreEqual(1, Row4.CompareTo(Row3));
            Assert.AreEqual(0, Row4.CompareTo(Row4));
            Assert.AreEqual(-1, Row4.CompareTo(Row5));

            Assert.AreEqual(1, Row5.CompareTo(Row.Empty));
            Assert.AreEqual(1, Row5.CompareTo(Row1));
            Assert.AreEqual(1, Row5.CompareTo(Row2));
            Assert.AreEqual(1, Row5.CompareTo(Row3));
            Assert.AreEqual(1, Row5.CompareTo(Row4));
            Assert.AreEqual(0, Row5.CompareTo(Row5));
        }
        void ReleaseDesignerOutlets()
        {
            if (Row1 != null)
            {
                Row1.Dispose();
                Row1 = null;
            }

            if (Row2 != null)
            {
                Row2.Dispose();
                Row2 = null;
            }

            if (Row3 != null)
            {
                Row3.Dispose();
                Row3 = null;
            }

            if (Row4 != null)
            {
                Row4.Dispose();
                Row4 = null;
            }

            if (Row5 != null)
            {
                Row5.Dispose();
                Row5 = null;
            }

            if (Shift != null)
            {
                Shift.Dispose();
                Shift = null;
            }
        }
    IEnumerator ApplyPositions()
    {
        yield return(new WaitUntil(() => GameManager.k_Manager.CharactersUp));

        yield return(new WaitUntil(() => GameManager.k_Manager.EnemiesUp));

        foreach (Transform tp_spawn in transform)
        {
            if (tp_spawn.name == "SpawnPoint" && tp_spawn.transform.FindChild("Character(Clone)") != null)
            {
                while (true)
                {
                    if (Column1.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 1, true);
                        break;
                    }
                    if (Column2.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 2, true);
                        break;
                    }
                    if (Column3.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 3, true);
                        break;
                    }
                    if (Column4.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 4, true);
                        break;
                    }
                }
                while (true)
                {
                    if (Row1.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 1, false);
                        break;
                    }
                    if (Row2.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 2, false);
                        break;
                    }
                    if (Row3.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 3, false);
                        break;
                    }
                    if (Row4.Contains(tp_spawn))
                    {
                        SetPosition(tp_spawn, 4, false);
                        break;
                    }
                }

                ApplyPositionToCharacter(tp_spawn.transform.FindChild("Character(Clone)").GetComponent <CharacterClass> ());
            }
        }

        GameManager.k_Manager.Applied = true;
    }