//画线
    private void setLine(GoddessAstrolabeStarCtrl _gas)
    {
        GoddessAstrolabeSample ss = _gas.getInfo();

        if (ss.father == 0 || !GoddessAstrolabeManagerment.Instance.getFatherStarIsOpen(ss))
        {
            return;
        }
        if (getFatherStar(ss.father) != null)
        {
            if (_gas.getInfo().mainType == 1)
            {
                LineRenderer renderActive = (Instantiate(lineActive) as GameObject).GetComponent <LineRenderer> ();

                renderActive.transform.parent = _gas.transform;
                renderActive.SetPosition(0, _gas.getPos());
                renderActive.SetPosition(1, getFatherStar(ss.father).getPos());
                renderActive.enabled = true;
            }
            else
            {
                LineRenderer renderNotActive = (Instantiate(lineNotActive) as GameObject).GetComponent <LineRenderer> ();

                renderNotActive.transform.parent = _gas.transform;
                renderNotActive.SetPosition(0, _gas.getPos());
                renderNotActive.SetPosition(1, getFatherStar(ss.father).getPos());
                renderNotActive.enabled = true;
            }
        }
    }
    private void findStar()
    {
        lookType = 1;
        Vector3        pos;
        List <Vector3> list = getStarPos();

        if (list == null || list.Count <= 0)
        {
            //没有可激活星星时定位到最后一颗
            if (stars != null && stars.Count > 0)
            {
                GoddessAstrolabeStarCtrl a = null;
                for (int i = 0; i < stars.Count; i++)
                {
                    if (stars[i].getInfo().id == GoddessAstrolabeManagerment.Instance.getLastStarIdById(nebulaId))
                    {
                        a = stars[i];
                    }
                }
                if (a == null)
                {
                    pos = new Vector3(stars[0].getPos().x, stars[0].getPos().y, (stars[0].getPos().y *zByZPer - zByZPer2));
                }
                else
                {
                    pos = new Vector3(a.getPos().x, a.getPos().y, (a.getPos().y *zByZPer - zByZPer2));
                }
            }
            else
            {
                pos = new Vector3(0, 0, -5);
            }
        }
        else
        {
            if (lookingId >= list.Count - 1)
            {
                lookingId = 0;
            }
            else
            {
                lookingId++;
            }
            pos = new Vector3(list[lookingId].x, list[lookingId].y, (list[lookingId].y * zByZPer - zByZPer2));
        }

//		gaCamera.transform.localRotation = new Quaternion(0,0,0,0);
        iTween.MoveTo(gaCamera.gameObject, iTween.Hash("position", pos, "easetype", iTween.EaseType.easeInOutCubic, "oncomplete", "over", "time", 0.3f));
    }
    //获得下一颗可激活主星的坐标,如果没有,就回去原点
    private void getStarPosByMainType()
    {
        if (stars == null)
        {
            return;
        }
        bool    isHave             = false;
        Vector3 pos                = new Vector3(0, 0, -5);
        GoddessAstrolabeStarCtrl a = null;

        for (int i = 0; i < stars.Count; i++)
        {
            if (stars[i].getInfo().id == GoddessAstrolabeManagerment.Instance.getLastStarIdById(nebulaId))
            {
                a = stars[i];
            }
            if (stars[i].getInfo().mainType == 1)
            {
                GoddessAstrolabeSample ss = stars[i].getInfo();
                if (!GoddessAstrolabeManagerment.Instance.getFatherStarIsOpen(ss))
                {
                    continue;
                }
                else
                {
                    if (stars[i].getInfo().isOpen)
                    {
                        continue;
                    }
                    else
                    {
                        isHave = true;
                        pos    = new Vector3(stars[i].getPos().x, stars[i].getPos().y, (stars[i].getPos().y *zByZPer - zByZPer2));
                        break;
                    }
                }
            }
        }
        if (!isHave)
        {
            findStar();
        }
        else
        {
//			gaCamera.transform.localRotation = new Quaternion(0,0,0,0);
            iTween.MoveTo(gaCamera.gameObject, iTween.Hash("position", pos, "easetype", iTween.EaseType.easeInOutCubic, "oncomplete", "over", "time", 0.3f));
        }
    }
    //填充星空
    private void creatStar()
    {
        if (infoByFront == null)
        {
            return;
        }
        stars = new List <GoddessAstrolabeStarCtrl>();

        for (int i = 0; i < infoByFront.Count; i++)
        {
            GameObject a = instantiateStar(infoByFront[i]);
//			GameObject a = MonoBase.Create3Dobj("Goddess/Star").obj;
            if (GoddessAstrolabeManagerment.Instance.getLastStarIdById(nebulaId) == infoByFront[i].id)
            {
                GameObject last = Instantiate(starLast) as GameObject;
                last.transform.parent     = a.transform;
                last.transform.localScale = Vector3.one;
                last.GetComponent <Animator>().Play(0);
            }
            GoddessAstrolabeStarCtrl b = a.AddComponent <GoddessAstrolabeStarCtrl>();
            b.init(infoByFront[i], this);
            b.transform.parent     = starParent.transform;
            b.transform.localScale = Vector3.one;
            b.transform.FindChild("star").gameObject.particleSystem.Play();

            pos.localPosition    = getTransform(infoByFront[i].position);
            b.transform.position = pos.position;
            b.name = infoByFront[i].id + "";

            stars.Add(b);
        }

        if (stars == null || stars.Count == 0)
        {
            return;
        }

        for (int i = 0; i < stars.Count; i++)
        {
            setLine(stars[i]);
        }
    }
    //激活指定星星
    IEnumerator changeStarById(int id)
    {
        yield return(new WaitForSeconds(0.2f));

        //先清理旧的
        for (int i = 0; i < UIEffectRoot.childCount; i++)
        {
            Transform t = UIEffectRoot.GetChild(i);
            if (t.name == id.ToString())
            {
                Destroy(t.gameObject);
            }
        }

        for (int i = 0; i < starParent.transform.childCount; i++)
        {
            Transform t = starParent.transform.GetChild(i);
            if (t.name == id.ToString())
            {
                Destroy(t.gameObject);
            }
        }

        yield return(new WaitForSeconds(0.2f));

        //可以开始创建了
        for (int i = 0; i < infoByFront.Count; i++)
        {
            if (infoByFront[i].id == id)
            {
                GameObject a = instantiateStar(infoByFront[i]);
                if (GoddessAstrolabeManagerment.Instance.getLastStarIdById(nebulaId) == infoByFront[i].id)
                {
                    GameObject last = Instantiate(starLast) as GameObject;
                    last.transform.parent     = a.transform;
                    last.transform.localScale = Vector3.one;
                    last.GetComponent <Animator>().Play(0);
                    if (nebulaId == 6)
                    {
                        TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("astrolabe04"));
                    }
                    else
                    {
                        TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("astrolabe03"));
                    }
                }
                GoddessAstrolabeStarCtrl b = a.AddComponent <GoddessAstrolabeStarCtrl>();
                b.init(infoByFront[i], this);
                b.transform.parent     = starParent.transform;
                b.transform.localScale = Vector3.one;
                b.transform.FindChild("star").gameObject.particleSystem.Play();

                pos.localPosition    = getTransform(infoByFront[i].position);
                b.transform.position = pos.position;
                b.name = infoByFront[i].id + "";
                yield return(new WaitForSeconds(0.8f));

                setLine(b);
                stars.Add(b);
                if (b.getInfo().awardType != 3)
                {
                    UiManager.Instance.createMessageLintWindow(b.getInfo().awardDesc);
                }
                else
                {
                    PrizeSample ps = new PrizeSample(b.getInfo().award.awardType, b.getInfo().award.awardSid, b.getInfo().award.awardNum);
                    UiManager.Instance.createPrizeMessageLintWindow(ps);
                }


                yield return(new WaitForSeconds(0.5f));

                //给可激活的星星画线
                List <GoddessAstrolabeStarCtrl> next = getNextStar(b.getInfo().next);
                if (next != null)
                {
                    for (int j = 0; j < next.Count; j++)
                    {
                        next[j].showUI();
                        setLine(next[j]);
                    }
                }
                yield return(new WaitForSeconds(0.5f));

                getStarPosByMainType();
//				findStar();
//				UiManager.Instance.createMessageWindowByOneButton(b.getInfo().awardDesc,(MessageHandle)=>{
//					findStar();
//				});
            }
        }
    }