Ejemplo n.º 1
0
    void Awake()
    {
        LRenderer = LR.GetComponent <LineRenderer>();
        LRenderer.positionCount = 0;

        pairComparer = new PairComparer();

        lines            = new HashSet <Pair>(pairComparer);
        spellsDictionary = new Dictionary <HashSet <Pair>, Spells>();

        HashSet <Pair> fireSet = new HashSet <Pair>(pairComparer);

        fireSet.Add(new Pair(6, 3));
        fireSet.Add(new Pair(3, 0));
        fireSet.Add(new Pair(0, 1));
        fireSet.Add(new Pair(1, 2));
        fireSet.Add(new Pair(2, 5));
        fireSet.Add(new Pair(5, 8));
        fireSet.Add(new Pair(8, 4));
        spellsDictionary.Add(fireSet, Spells.Fire);

        HashSet <Pair> teleportSet = new HashSet <Pair>(pairComparer);

        teleportSet.Add(new Pair(6, 3));
        teleportSet.Add(new Pair(3, 1));
        teleportSet.Add(new Pair(1, 5));
        teleportSet.Add(new Pair(5, 8));
        spellsDictionary.Add(teleportSet, Spells.Teleport);

        HashSet <Pair> levitateSet = new HashSet <Pair>(pairComparer);

        levitateSet.Add(new Pair(1, 3));
        levitateSet.Add(new Pair(3, 4));
        levitateSet.Add(new Pair(4, 5));
        levitateSet.Add(new Pair(5, 1));
        spellsDictionary.Add(levitateSet, Spells.Levitate);
    }
Ejemplo n.º 2
0
        public void initSquareLookup()
        {
            PairComparer <int> p = new PairComparer <int>();

            squareDict        = new Dictionary <Pair <int>, int>(p);
            reverseSquareDict = new Dictionary <int, List <Pair <int> > >();

            for (int i = 1; i <= 9; i++)
            {
                for (int j = 1; j <= 9; j++)
                {
                    if (i <= 3)
                    {
                        if (j <= 3)
                        {
                            squareDict.Add(new Pair <int>(i, j), 1);
                            if (!reverseSquareDict.ContainsKey(1))
                            {
                                reverseSquareDict.Add(1, new List <Pair <int> >());
                            }
                            reverseSquareDict[1].Add(new Pair <int>(i, j));
                        }
                        else if (j > 3 && j <= 6)
                        {
                            squareDict.Add(new Pair <int>(i, j), 2);
                            if (!reverseSquareDict.ContainsKey(2))
                            {
                                reverseSquareDict.Add(2, new List <Pair <int> >());
                            }
                            reverseSquareDict[2].Add(new Pair <int>(i, j));
                        }
                        else
                        {
                            squareDict.Add(new Pair <int>(i, j), 3);
                            if (!reverseSquareDict.ContainsKey(3))
                            {
                                reverseSquareDict.Add(3, new List <Pair <int> >());
                            }
                            reverseSquareDict[3].Add(new Pair <int>(i, j));
                        }
                    }
                    else if (i > 3 && i <= 6)
                    {
                        if (j <= 3)
                        {
                            squareDict.Add(new Pair <int>(i, j), 4);
                            if (!reverseSquareDict.ContainsKey(4))
                            {
                                reverseSquareDict.Add(4, new List <Pair <int> >());
                            }
                            reverseSquareDict[4].Add(new Pair <int>(i, j));
                        }
                        else if (j > 3 && j <= 6)
                        {
                            squareDict.Add(new Pair <int>(i, j), 5);
                            if (!reverseSquareDict.ContainsKey(5))
                            {
                                reverseSquareDict.Add(5, new List <Pair <int> >());
                            }
                            reverseSquareDict[5].Add(new Pair <int>(i, j));
                        }
                        else
                        {
                            squareDict.Add(new Pair <int>(i, j), 6);
                            if (!reverseSquareDict.ContainsKey(6))
                            {
                                reverseSquareDict.Add(6, new List <Pair <int> >());
                            }
                            reverseSquareDict[6].Add(new Pair <int>(i, j));
                        }
                    }
                    else
                    {
                        if (j <= 3)
                        {
                            squareDict.Add(new Pair <int>(i, j), 7);
                            if (!reverseSquareDict.ContainsKey(7))
                            {
                                reverseSquareDict.Add(7, new List <Pair <int> >());
                            }
                            reverseSquareDict[7].Add(new Pair <int>(i, j));
                        }
                        else if (j > 3 && j <= 6)
                        {
                            squareDict.Add(new Pair <int>(i, j), 8);
                            if (!reverseSquareDict.ContainsKey(8))
                            {
                                reverseSquareDict.Add(8, new List <Pair <int> >());
                            }
                            reverseSquareDict[8].Add(new Pair <int>(i, j));
                        }
                        else
                        {
                            squareDict.Add(new Pair <int>(i, j), 9);
                            if (!reverseSquareDict.ContainsKey(9))
                            {
                                reverseSquareDict.Add(9, new List <Pair <int> >());
                            }
                            reverseSquareDict[9].Add(new Pair <int>(i, j));
                        }
                    }
                }
            }
        }