Exemple #1
0
    RectTransforms pin4Satellites(SolarOrbitRenderer rend, Mode1Lookup lookup)
    {
        if (!rend)
        {
            return(new RectTransforms(0));
        }
        var s = rend.GC <SolarOrbit> ();
        var r = new RectTransforms(s.moons.Length);

        for (int i = 0; i < r.Length; i++)
        {
            var pin = Instantiate(pinPrefab).GC <PinButton> ();
            var p   = data.GetPlanet(s.id);
            var m   = p.GetMoon(s.moons [i].id);
            pin.SetUp(lookup, s.moons [i], m.scheme, detail.GetPlanet(p).GetMoon(m.id).label);
            pin.transform.SetParent(pinParent, false);
            pin.target       = s.moons [i].transform;
            r [i]            = pin.GC <RectTransform> ();
            r [i].localScale = Vector3.zero;
            s.moons[i].GC <SolarOrbitRenderer>().SetScheme(m.scheme);
        }
        return(r);
    }
Exemple #2
0
    void AllocateSlot(ref SolarSlot slot, ref int idx, ref int seek, Mode0Navigator nav, Mode1Lookup lookup, RectTransform pin, SolarOrbitRenderer rend)
    {
        var meta = detail.metadata;

        if (slot == null || seek >= meta.SlotCounts [idx])
        {
            if (slot)
            {
                slot.SetUp();
            }
            slot = pinParent.gameObject.AddComponent <SolarSlot> ();
            idx++;
            seek = 0;
            var count = meta.SlotCounts [idx];
            slot.buttons          = new RectTransform[count];
            slot.orbits           = new SolarOrbitRenderer[count];
            slot.caption          = meta.SlotCaptions [idx];
            slot.camDistance      = meta.SlotDistances [idx];
            slot.satelliteButtons = new RectTransforms[count];
            nav.slots [idx]       = slot;
        }
        slot.orbits [seek]  = rend;
        slot.buttons [seek] = pin;


        slot.satelliteButtons [seek] = pin4Satellites(rend, lookup);
        pin.SetParent(pinParent, false);
        seek++;
    }