Beispiel #1
0
 public OptionalPattern SetOptional(params Element[] optionalElements)
 {
     elementCountsOptional = new Dictionary <Element, int>(elementCounts);
     ElementDisplay[] newDisplays = new ElementDisplay[displays.Length + optionalElements.Length];
     optionalDisplayStart = displays.Length;
     for (int i = 0; i < newDisplays.Length; i++)
     {
         if (i < optionalDisplayStart)
         {
             newDisplays[i] = displays[i];
         }
         else
         {
             Element e = optionalElements[i - optionalDisplayStart];
             newDisplays[i] = new ElementDisplay(e, true);
             if (elementCountsOptional.ContainsKey(e))
             {
                 elementCountsOptional[e] = elementCountsOptional[e] + 1;
             }
             else
             {
                 elementCountsOptional[e] = 1;
             }
         }
     }
     displays = newDisplays;
     return(this);
 }
Beispiel #2
0
    IEnumerator DelayRebuild(Vector3 pos, float zoom)
    {
        yield return(new WaitForSecondsRealtime(.1f));

        ElementDisplay display = GameObject.Find("ActionDisplay").GetComponent <ElementDisplay>();

        Camera.main.transform.position = pos;
        Camera.main.orthographicSize   = zoom;

        display.RebuildList();
    }
Beispiel #3
0
 public ExtendingPattern SetExtension(Element element)
 {
     extensionElement = element;
     ElementDisplay[] newDisplays = new ElementDisplay[displays.Length + 1];
     for (int i = 0; i < displays.Length; i++)
     {
         newDisplays[i] = displays[i];
     }
     newDisplays[displays.Length] = new ElementDisplay(element, false, true);
     displays = newDisplays;
     return(this);
 }
Beispiel #4
0
 public SimplePattern(params Element[] elements)
 {
     displays      = new ElementDisplay[elements.Length];
     elementCounts = new Dictionary <Element, int>();
     for (int i = 0; i < elements.Length; i++)
     {
         displays[i] = new ElementDisplay(elements[i], false);
         if (elementCounts.ContainsKey(elements[i]))
         {
             elementCounts[elements[i]] = elementCounts[elements[i]] + 1;
         }
         else
         {
             elementCounts[elements[i]] = 1;
         }
     }
 }
    private void CreateChildPage2(Atom atom, Vector2 size)
    {
        AtomInfo info = Game.Instance.gameData.FindAtomInfo(atom.GetAtomicNumber());

        if (info == null || (info.GetGroup() == 0 && info.GetPeriod() == 0))
        {
            return;
        }

        // Instantiate
        ElementDisplay display = Instantiate(elementDisplayPrefab, this.transform);

        display.atom = atom;

        elementDisplays.Add(display);

        RectTransform child = display.GetComponent <RectTransform>();

        // Grid Pos
        int gridX = info.GetGroup() - 1;
        int gridY = info.GetPeriod() - 1;

        // Pivot
        child.pivot = Vector2.up;

        // Anchor
        child.anchorMax = Vector2.up;
        child.anchorMin = Vector2.up;

        // Width and Height
        child.sizeDelta = size;

        // LocalPosition - Grid(0, 0)
        float x = size.x * gridX;
        float y = -size.y * gridY - size.y * 2.4f;

        child.anchoredPosition3D = new Vector3(x, y, .0f);

        var elementDiscovery = Instantiate(elementDiscoveryPrefab, elementDiscoveryParent);

        display.SetExclamationImage(elementDiscovery);
    }
Beispiel #6
0
    public override void Render()
    {
        if (!isVisible)
        {
            return;
        }
        Color backgroundHighlight = Color.white;
        Color backgroundDefault   = Color.gray;
        Color foregroundHighlight = Color.yellow;
        Color foregroundDefault   = Color.white;
        bool  highlight           = currentState == State.Hovered || currentState == State.Pressed;

        //battle.rolls[id].Render(pos.x, pos.y);
        ElementDisplay.Render(pos.x, pos.y, battle.rolls[id], true);
        if (highlight)
        {
            RB.DrawRect(new Rect2i(pos.x, pos.y, size.x, size.y), Color.yellow);
        }
        else
        {
            //RB.DrawRect(new Rect2i(pos.x - 1, pos.y - 1, size.x + 2, size.y + 2), Color.black);
        }
    }
Beispiel #7
0
 public void Render(int x, int y, bool large = false)
 {
     ElementDisplay.Render(x, y, element, large, optional, extension ? extensionValue : -1);
 }