Exemplo n.º 1
0
 //绑定所有按钮事件
 public void butclick()
 {
     if (mapcontroll.CURRENTBUT.Equals(Name))
     {
         return;
     }
     else
     {
         InstallAll();
         UnInstallAll();
         mapcontroll.CURRENTBUT = Name;
         UImanager.GetInstance.CleanButtons();
         ObjectPool.GetInstance.UnspawnAll();
         for (int i = 0; i < selfModles.Count; i++)
         {
             RealObj    real = selfModles[i].GetComponent <RealObj>();
             GameObject bu   = ObjectPool.GetInstance.Spawn("Button") as GameObject;
             RefreshSelfButton(bu);
             UImanager.GetInstance.buttons.Add(bu.GetComponent <Button>());
             bu.transform.SetParent(UImanager.GetInstance.content);
             bu.transform.localScale = Vector3.one;
             bu.GetComponent <SelfButtonController>().Init(i + 1, selfModles[i].name, Buck);
             real.selfbutton = bu.GetComponent <Button>();
         }
         mapcontroll.PlayMap(false, -1, "", null);
         //SetStep (0, InstallSpeed.fasterspeed, false);
         UImanager.GetInstance.SetDelegate(this, Name);
     }
 }
Exemplo n.º 2
0
    //设置自身执行步骤
    public void SetStep(int targetstep, InstallSpeed _ins = InstallSpeed.slowspeed, bool issingle = false)
    {
//		Debug.Log (Name+"执行步骤::::"+targetstep );
        Stack <RealObj> rstack = new Stack <RealObj>();

        if (issingle)
        {
            targetstep = this.step + targetstep;
            if (targetstep > this.step)
            {
                realstack = PushToStack(targetstep - 1, this.step - 1);
            }
            else
            {
                realstack = PushToStack(targetstep, this.step);
            }
        }
        else
        {
            if (targetstep > this.step)
            {
                realstack = PushToStack(targetstep - 1, this.step - 1);
            }
            else
            {
                realstack = PushToStack(targetstep, this.step);
            }
            UImanager.GetInstance.SetOtherButtonDisable(false);
        }
        if (realstack.Count == 0)
        {
            return;
        }

        RealObj re = realstack.Pop();



        //Debug.Log("现在步数"+step+">>>>>>共推出多少个元素???"+realstack.Count+"第一次退出:::::"+re.name);
        re.Excute(targetstep >= this.step, _ins, ModelMoveEnd);
        if (issingle)
        {
            re.Spark();
        }
    }
Exemplo n.º 3
0
    //回调执行
    private void ModelMoveEnd(int aspeacket, InstallSpeed ins)
    {
        step += aspeacket;
//		Debug.Log ("有没有执行步骤添加?"+ step);
        if (realstack.Count > 0)
        {
            RealObj re = realstack.Pop();
            lastobj = re;
            re.Excute(aspeacket > 0, ins, ModelMoveEnd);
        }
        else
        {
            if (lastobj != null)
            {
                CameraBess.GetInstance.ChoiseCamera(false, new PathObjects(lastobj.transform.position, lastobj.transform.eulerAngles));
            }
            UImanager.GetInstance.SetOtherButtonDisable();
            mapcontroll.SetAllChildActive(true);
            LimitStep();
            // NextModelSparking(aspeacket);
        }
    }
Exemplo n.º 4
0
    private void InitSelfModels(List <GameObject> lis)
    {
//        Debug.Log(Name +"lis.count||||||||"+lis.Count);
        for (int i = 0; i < lis.Count; i++)
        {
            if (lis[i].name.Equals("J6箱体壳体"))
            {
                Debug.Log("<<<<<<<<<<<<<<");
            }
            if (!lis[i].GetComponent <RealObj>())
            {
                lis[i].AddComponent <RealObj>();
            }
            List <ShowMessage> mats  = new List <ShowMessage>();
            MeshRenderer[]     meshs = lis[i].GetComponentsInChildren <MeshRenderer>();
            for (int j = 0; j < meshs.Length; j++)
            {
                BoxCollider box = null;
                if (!meshs[j].gameObject.GetComponent <BoxCollider>())
                {
                    box = meshs[j].gameObject.AddComponent <BoxCollider>();
                }
                box = meshs[j].gameObject.GetComponent <BoxCollider>();

                if (!meshs[j].gameObject.GetComponent <ShowMessage>())
                {
                    meshs[j].gameObject.AddComponent <ShowMessage>();
                }

                ShowMessage showMessage = meshs[j].gameObject.GetComponent <ShowMessage>();
                showMessage.Init(my[lis[i].name]);
                mats.Add(showMessage);
                //矫正boxcollider尺寸
                switch (meshs[j].name)
                {
                case "旋转座none001":
                    showMessage.contect = showMessage.transform.parent.GetComponent <ShowMessage>();
                    showMessage.transform.parent.GetComponent <ShowMessage>().contect = showMessage;
                    break;

                case "底座限位座-DC_Shell":
                    box.size = new Vector3(box.size.x, box.size.y, 0.08f);
                    break;

                case "J4电机-02-DC_Shell":
                    box.size = new Vector3(0.15f, 0.2f, box.size.z);
                    break;

                case "J3减速机压垫-DC_Shell":
                    box.center = new Vector3(box.center.x, box.center.y, -0.03f);
                    box.size   = new Vector3(box.size.x, box.size.y, 0.11f);
                    break;

                case "J2减速机压垫-DC_Shell":
                    box.center = new Vector3(box.center.x, box.center.y, 0.06f);
                    box.size   = new Vector3(box.size.x, box.size.y, 0.11f);
                    break;

                default:
                    break;
                }
            }
            RealObj real = lis[i].GetComponent <RealObj>();
            foreach (string item in my.Keys)
            {
                if (item.Equals(lis[i].name))
                {
                    real.Init(my[item], mats);
                }
            }
        }
    }