예제 #1
0
 //整体替换
 public void setValue(AssetInfo data)
 {
     //print("执行了没有啊");
     myInfo    = data;
     myCurtain = null;
     //Debug.Log((myInfo == null) +"jjjjjjjjjjjjjjjjjjjj");
 }
예제 #2
0
 //装饰
 public void setValue(NewInfomation data)
 {
     styleInfo = data;
     myInfo    = null;
     myCurtain = null;
     //Debug.Log((myInfo == null) + "222222222222222222222");
 }
예제 #3
0
 //单个替换
 public void setValue(CurtainManager data)
 {
     myCurtain = gameObject.AddComponent <CurtainManager>();
     myCurtain.InitCurtain(data);
     //myCurtain = data;
     myInfo = null;
     //Debug.Log((myInfo == null) + "333333333333333333333333");
 }
예제 #4
0
        protected override void OnStart()
        {
            CurtainManager.CloseCurtain();
            base.OnStart();
            UserController.Instance.SendSimpleUserData();
            var actions = new[] { "gameLogo", "optionSwitch" };

            CurTwManager.SendActions(actions, new Dictionary <string, object>(), FreshHallModel, false);//,null,true,"gameLogo&optionsw");
        }
예제 #5
0
 private void Transition(string sceneName, CurtainManager curtainManager)
 {
     curtainManager.gameObject.transform.SetAsLastSibling();
     curtainManager.Close(() =>
     {
         SceneManager.LoadScene(sceneName);
         return(true);
     });
 }
예제 #6
0
    /// <summary>
    /// 换单个AssetBundle
    /// </summary>
    /// <param name="AssetPath">AssetBundle路径</param>
    public void LoadAsset(CurtainManager data)
    {
        CurtainData = data;
        server      = InitServerConfig.Instance.m_servers;
        string item = data.ModuleName;

        //Debug.Log(data.ModelUrl);
        InitServerConfig._instance.m_downLoader.StartDownload(server, "", data.ModleURL, item, null, eDownloadType.Type_AssetBundle, OnLoadUpdateZipComplete, OnLoadFaile, true);
    }
예제 #7
0
 protected override void OnShow(object o)
 {
     base.OnShow(o);
     CurtainManager.CloseCurtain();
     UserController.Instance.GetUserDateWithBackPack(OnBindBackDate);
     if (HallBg != null)
     {
         HallBg.Change(HallMainController.Instance.State);
     }
     ShowPreviewListView();
     StartCoroutine(YxTools.WaitExcuteCalls(OnShowActions));
 }
예제 #8
0
 protected override void OnCreate()
 {
     base.OnCreate();
     CurtainManager.CloseCurtain();
     UserController.Instance.GetUserDateWithBackPack(OnBindBackDate);
     ShowPreviewListView();
     if (gameObject.activeInHierarchy)
     {
         StartCoroutine(OnShowActions.WaitExcuteCalls());
     }
     HallMainController.Instance.LaunchInStartEvent(LaunchEvent);
 }
예제 #9
0
        protected override void OnBindDate(bool isChange = false)
        {
            base.OnBindDate(isChange);
            var model = RoomListModel.Instance;

            if (model.RoomKind > 0)
            {
                ShowCreateRoom();
            }
            else
            {
                ShowFreeRoom();
            }
            CurtainManager.CloseCurtain();
        }
예제 #10
0
    private void HandleStageButton(
        Button stageButton,
        CurtainManager curtainManager
        )
    {
        var title = stageButton.GetComponentInChildren <Text>().text;

        if (int.TryParse(title, out int stageNumber))
        {
            curtainManager.Close(() =>
            {
                GameDirector.stageIndex = (stageNumber - 1);
                SceneManager.LoadScene(ResourceNames.gameScene);
                return(true);
            });
        }
    }
예제 #11
0
 public void InitCurtain(CurtainManager Curtain)
 {
     IsModel    = Curtain.IsModel;
     TextureURL = Curtain.TextureURL;
     Material   = Curtain.Material;
     Icon       = Curtain.Icon;
     ModuleType = Curtain.ModuleType;
     Group_ID   = Curtain.Group_ID;
     ModleURL   = Curtain.ModleURL;
     ModuleName = Curtain.ModuleName;
     if (ModuleType == "10105" || ModuleType == "10109")
     {
         Bom_qty = "2";
     }
     else
     {
         Bom_qty = "1";
     }
     //Bom_qty = Curtain.Bom_qty;
     Bom_prod   = Curtain.Bom_prod;
     Prod_id    = Curtain.Prod_id;
     Unit_id    = Curtain.Unit_id;
     Price_std  = Curtain.Price_std;
     Price_cost = Curtain.Price_cost;
     Price      = Curtain.Price;
     if (Bom_qty != null && Price != null)
     {
         Prod_amt = (int.Parse(Price) * int.Parse(Bom_qty)).ToString();
     }
     else
     {
         Prod_amt = "0";
     }
     if (Unit_id == null)
     {
         Unit_id = "102";
     }
 }
예제 #12
0
    private void OnLoadUpdateZipComplete3(object obj, object item)
    {
        //MsgCenter.CleanList();
        MsgCenter.mask.SetActive(true);
        if (item is CurtainManager)
        {
            //Debug.Log(obj.ToString());
            CurtainManager curtain = item as CurtainManager;
            //string ModelPath = curtain.ModleURL;
            //Debug.Log(ModelPath);
            string      ModelID = curtain.ModuleName;
            AssetBundle ab      = obj as AssetBundle;
            //Debug.Log(ModelID);
            GameObject go = null;
            //Debug.Log(curtain.ModuleName);
            Object objc = ab.LoadAsset(curtain.ModuleName);
            //foreach (var temp in objc)
            //{
            //    if (temp is GameObject)
            //    {
            //
            //        break;
            //    }
            //}
            go       = (GameObject)Instantiate(objc);
            go.layer = 11;
            foreach (Transform child in go.transform)
            {
                child.gameObject.layer = 11;
            }
            //Debug.Log(go.name);
            string Name = ((int)EnumToolV2.GetEnumName <ProdKind>(curtain.ModuleType)).ToString();
            go.name = Name;
            //Debug.Log(curtain.TextureURL);
            curtain.Material = go.GetComponent <MeshRenderer>().material;
            int        num        = go.GetComponent <MeshRenderer>().materials.Length;
            Material[] m_Material = new Material[num];
            for (int i = 0; i < num; i++)
            {
                m_Material[i] = curtain.Material;
            }
            go.GetComponent <MeshRenderer>().materials = m_Material;

            go.AddComponent <MeshCollider>();

            if (go.GetComponent <CurtainManager>() == null)
            {
                CurtainManager temp = go.AddComponent <CurtainManager>();
                //curtain.ModuleType = Name;
            }
            if (!MsgCenter.WindowList[curtain.Group_ID].ContainsKey(Name))
            {
                MsgCenter.WindowList[curtain.Group_ID].Add(Name, go);
            }
            //Debug.Log(" True::   "+curtain.Group_ID + curtain.ModleURL.Split('.')[0]);
            MsgCenter.TempDisctionary[curtain.Group_ID + curtain.ModleURL.Split('.')[0]] = true;
            //初始化组件上的窗帘组件信息
            go.GetComponent <CurtainManager>().InitCurtain(curtain);
            //MsgCenter.OldData.Add(go.GetComponent<CurtainManager>());
            if (curtain.IsModel)
            {
                if (curtain.TextureURL != "")
                {
                    StartCoroutine(loadCurtainPicture(InitServerConfig.Instance.m_servers[0] + curtain.TextureURL, go.transform));
                }
                if (ModelID.Contains("UP"))
                {
                    if (IsInit)
                    {
                        go.transform.parent = WindowList[curtain.Group_ID].GetComponent <WindoManager>().Up;
                    }
                    else
                    {
                        go.transform.parent = ParentUp;
                    }
                }
                else if (ModelID.Contains("Middle"))
                {
                    if (IsInit)
                    {
                        go.transform.parent = WindowList[curtain.Group_ID].GetComponent <WindoManager>().Middle;
                    }
                    else
                    {
                        go.transform.parent = ParentUp;
                    }
                }
                go.transform.localPosition = Vector3.zero;
            }
            else
            {
                go.transform.parent = Parent2D;
                Debug.Log("Name:: " + go.name);
                if (go.name == "1")
                {
                    Debug.Log("Name:: " + go.name);
                    go.transform.localPosition = new Vector3(0, 0.3f, 0);
                }
                else if (go.name == "2")
                {
                    Debug.Log("Name:: " + go.name);
                    go.transform.localPosition = new Vector3(0, 0.2f, 0);
                }
                else if (go.name == "3")
                {
                    Debug.Log("Name:: " + go.name);
                    go.transform.localPosition = new Vector3(0, 0f, 0);
                }
            }

            go.transform.localEulerAngles = Vector3.zero;
            go.transform.localScale       = Vector3.one;
            //if (ModelID.Contains("UP"))
            //{
            //    if (IsInit)
            //        go.transform.parent = WindowList[curtain.Group_ID].GetComponent<WindoManager>().Up;
            //    else
            //        go.transform.parent = ParentUp;
            //}
            //else if (ModelID.Contains("Middle"))
            //{
            //    if (IsInit)
            //        go.transform.parent = WindowList[curtain.Group_ID].GetComponent<WindoManager>().Middle;
            //    else
            //        go.transform.parent = ParentUp;
            //}
            //if (go.name == "8" || go.name == "14" || go.name == "3")
            //{
            //    Material[] Alpha_Material = new Material[1];
            //    Alpha_Material[0] = new Material(Resources.Load<Shader>("Alpha-Diffuse"));
            //    go.GetComponent<MeshRenderer>().materials = Alpha_Material;
            //    go.GetComponent<CurtainManager>().Material = Alpha_Material[0];
            //}
            if (go.GetComponent <ChangeTexture>() == null)
            {
                go.AddComponent <ChangeTexture>();
            }
            ab.Unload(false);
        }
    }
예제 #13
0
 protected override void OnBindDate(bool isChange = false)
 {
     OnShowAllListItem();
     CurtainManager.CloseCurtain();
 }
예제 #14
0
 protected override void OnShow(object o)
 {
     base.OnShow(o);
     App.GameKey = App.HallName;
     CurtainManager.CloseCurtain();
 }
예제 #15
0
    private void OnLoadUpdateZipComplete(object data, string item)
    {
        AssetBundle ab = data as AssetBundle;
        // GameObject obj = ab.LoadAsset(item) as GameObject;
        GameObject go = null;

        Object[] objs = ab.LoadAllAssets();
        foreach (var obj in objs)
        {
            if (obj is GameObject)
            {
                go = (GameObject)Instantiate(obj);
                break;
            }
        }
        go.layer = 11;
        foreach (Transform child in go.transform)
        {
            child.gameObject.layer = 11;
        }
        go.AddComponent <MeshCollider>();
        MsgCenter.Go = go;
        string Name = ((int)EnumToolV2.GetEnumName <ProdKind>(CurtainData.ModuleType)).ToString();

        go.name = Name;
        //清楚当前字典的该组件的信息
        MsgCenter.RemoveValue(Name);

        MsgCenter.AddInfomation(MsgCenter.nowWidow.name, Name, go);
        /*为窗帘赋值*/
        CurtainManager temp = null;

        if (go.GetComponent <CurtainManager>() == null)
        {
            temp = go.AddComponent <CurtainManager>();
            //temp.ModuleType = Name;
        }
        temp.Material = go.GetComponent <MeshRenderer>().material;
        temp.InitCurtain(CurtainData);
        go.GetComponent <MeshRenderer>().material = temp.Material;
        if (temp.TextureURL != "")
        {
            StartCoroutine(loadCurtainPicture(InitServerConfig.Instance.m_servers[0] + temp.TextureURL, go.transform));
        }
        /*         */
        if (item.Contains("UP"))
        {
            go.transform.parent = ParentUp;
        }
        else if (item.Contains("Middle"))
        {
            go.transform.parent = ParentMiddle;
        }
        if (go.name == "8" || go.name == "14" || go.name == "3")
        {
            Material[] Alpha_Material = new Material[1];
            Alpha_Material[0] = new Material(Resources.Load <Shader>("Alpha-Diffuse"));
            go.GetComponent <MeshRenderer>().materials  = Alpha_Material;
            go.GetComponent <CurtainManager>().Material = Alpha_Material[0];
        }
        go.transform.localPosition    = Vector3.zero;
        go.transform.localEulerAngles = Vector3.zero;
        go.transform.localScale       = Vector3.one;
        if (go.GetComponent <ChangeTexture>() == null)
        {
            go.AddComponent <ChangeTexture>();
        }

        if (MsgCenter.Target != ProdKind.Null)
        {
            MsgCenter._changeTexture = go.GetComponent <ChangeTexture>();
        }
        RefreshWinCompoment(go, false);
        ab.Unload(false);
    }
예제 #16
0
    /// <summary>
    /// 加载整体窗帘
    /// </summary>
    /// <param name="group"></param>
    /// <param name="path"></param>
    /// <returns></returns>
    public static List <CurtainManager> ReadCurtainXml(string group, string path)
    {
        MsgCenter._instance.Complete.Clear();
        MsgCenter._instance.ModuleCount = 0;
        List <CurtainManager> curtain = new List <CurtainManager>();

        System.IO.StringReader stringReader = new System.IO.StringReader(path);
        //stringReader.Read(); // 跳过 BOM
        System.Xml.XmlReader reader = System.Xml.XmlReader.Create(stringReader);
        XmlDocument          myXML  = new XmlDocument();

        myXML.LoadXml(stringReader.ReadToEnd());
        XmlElement Xmlroot = myXML.DocumentElement;

        MsgCenter._instance.AddWindowList(group, new Dictionary <string, GameObject>());
        MsgCenter._instance.Complete.Add(group, new CompleteManager());
        foreach (XmlNode items in Xmlroot["prod_info"].ChildNodes)
        {
            XmlElement item = items as XmlElement;
            if (item.HasAttribute("unit_id"))
            {
                MsgCenter._instance.Complete[group].Unit_id = item.GetAttribute("unit_id");
            }
            if (item.HasAttribute("price_std"))
            {
                MsgCenter._instance.Complete[group].Price_std = item.GetAttribute("price_std");
            }
            if (item.HasAttribute("price_cost"))
            {
                MsgCenter._instance.Complete[group].Price_cost = item.GetAttribute("price_cost");
            }
            if (item.HasAttribute("price"))//item.Attributes["price"] != null)
            {
                MsgCenter._instance.Complete[group].Price = item.GetAttribute("price");
            }
            MsgCenter._instance.Complete[group].Prod_id = item.GetAttribute("prod_id");
        }
        foreach (XmlNode items in Xmlroot["bom_list"].ChildNodes)
        {
            XmlElement     item = items as XmlElement;
            CurtainManager temp = new CurtainManager();
            temp.Group_ID = group;
            if (item.Attributes["prod_id"] != null)
            {
                temp.Prod_id = item.Attributes["prod_id"].Value;
            }
            if (item.Attributes["model_kind"] != null)
            {
                if (item.Attributes["model_kind"].Value == "1001")
                {
                    temp.IsModel = false;
                }
                else
                {
                    temp.IsModel = true;
                }
                MsgCenter._instance.isModle = temp.IsModel;
            }
            //temp.ModleType = item.Attributes["prod_kind_code"].Value;
            if (item.Attributes["model_file_name"] != null)
            {
                temp.ModuleName = Path.GetFileNameWithoutExtension(item.Attributes["model_file_name"].Value);
            }
            if (item.Attributes["prod_kind_code"] != null)
            {
                temp.ModuleType = item.Attributes["prod_kind_code"].Value;
            }
            if (item.Attributes["model_file_url"] != null)
            {
                temp.ModleURL = item.Attributes["model_file_url"].Value;
            }
            //材质贴图
            if (item.Attributes["stylor_file_url"] != null)
            {
                temp.TextureURL = item.Attributes["stylor_file_url"].Value;
            }
            if (item.Attributes["prod_spic_url"] != null)
            {
                temp.Icon = item.Attributes["prod_spic_url"].Value;
            }
            temp.Material = new Material(Shader.Find("Standard"));

            if (item.HasAttribute("unit_id"))
            {
                temp.Unit_id = item.Attributes["unit_id"].Value;
            }
            if (item.HasAttribute("bom_prod"))
            {
                temp.Bom_prod = item.GetAttribute("bom_prod");
            }
            if (item.HasAttribute("bom_qty"))
            {
                temp.Bom_qty = item.GetAttribute("bom_qty");
            }
            if (item.HasAttribute("price_std"))
            {
                temp.Price_std = item.Attributes["price_std"].Value;
            }
            if (item.HasAttribute("price_cost"))
            {
                temp.Price_cost = item.Attributes["price_cost"].Value;
            }
            if (item.HasAttribute("price"))//item.Attributes["price"] != null)
            {
                temp.Price = item.GetAttribute("price");
            }

            string Stemp = temp.Group_ID + temp.ModleURL.Split('.')[0];
            if (!MsgCenter._instance.TempDisctionary.ContainsKey(Stemp))
            {
                MsgCenter._instance.ModuleCount += 1;
                MsgCenter._instance.TempDisctionary.Add(Stemp, false);
            }
            //temp.Type = item.Attributes["unit_group"].Value;
            curtain.Add(temp);
        }
        return(curtain);
    }
예제 #17
0
    //IEnumerator LoadXML(WindoManager item2)
    //{
    //    yield return new WaitWhile(() => MsgCenter._instance.xml == "");
    //    List<CurtainManager> tempw = NewReadXml.ReadCurtainXml(item2.GroupID, MsgCenter.xml);
    //    Load(tempw);
    //}

    /// <summary>
    /// 初始化窗户时替换贴图
    /// </summary>
    /// <param name="path"></param>
    /// <param name="go"></param>
    /// <returns></returns>

    public void loadwindowpicture(string path, Transform go)
    {
        CurtainManager bss = new CurtainManager();

        InitServerConfig._instance.m_assetLoader.StartDownload(server, "", path, go, null, eDownloadType.Type_AssetBundle, OnLoadUpdateZipComplete4, OnLoadFaile4, true);
    }
예제 #18
0
 protected override void OnShow(object o)
 {
     base.OnShow(o);
     CurtainManager.CloseCurtain();
 }
예제 #19
0
    /// <summary>
    /// 替换整体窗帘
    /// </summary>
    /// <param name="root"></param>
    /// <param name="group"></param>
    /// <param name="path"></param>
    /// <param name="ismodle"></param>
    /// <returns></returns>
    public static List <CurtainManager> ReplaceCurtainXml(string root, string group, string path, bool ismodle)
    {
        string whatD = ismodle ? "1002" : "1001";

        MsgCenter._instance.TempDisctionary.Clear();
        //MsgCenter._instance.ModuleCount = 0;
        List <CurtainManager> curtain = new List <CurtainManager>();

        System.IO.StringReader stringReader = new System.IO.StringReader(path);
        //stringReader.Read(); // 跳过 BOM
        System.Xml.XmlReader reader = System.Xml.XmlReader.Create(stringReader);
        XmlDocument          myXML  = new XmlDocument();

        myXML.LoadXml(stringReader.ReadToEnd());
        XmlElement Xmlroot = myXML.DocumentElement;

        MsgCenter._instance.ModuleCount = 0;
        if (root == "prod_list")
        {
            if (Xmlroot[root] != null)
            {
                //Debug.Log("dsdsdsdsdsdsdsdsdsd");
                foreach (XmlNode items in Xmlroot[root].ChildNodes)
                {
                    XmlElement item = items as XmlElement;
                    if (item.Attributes["model_kind"].Value == whatD)
                    {
                        MsgCenter._instance.Complete[group] = new CompleteManager();
                        if (item.HasAttribute("unit_id"))
                        {
                            MsgCenter._instance.Complete[group].Unit_id = item.Attributes["unit_id"].Value;
                        }

                        if (item.HasAttribute("price_std"))
                        {
                            MsgCenter._instance.Complete[group].Price_std = item.Attributes["price_std"].Value;
                        }
                        if (item.HasAttribute("price_cost"))
                        {
                            MsgCenter._instance.Complete[group].Price_cost = item.Attributes["price_cost"].Value;
                        }
                        if (item.HasAttribute("price"))//item.Attributes["price"] != null)
                        {
                            MsgCenter._instance.Complete[group].Price = item.GetAttribute("price");
                        }
                        CurtainManager temp = new CurtainManager();
                        temp.Group_ID   = group;
                        temp.Prod_id    = item.Attributes["prod_id"].Value;
                        temp.ModuleType = item.Attributes["prod_kind_code"].Value;
                        if (item.Attributes["model_file_name"] != null)
                        {
                            temp.ModuleName = Path.GetFileNameWithoutExtension(item.Attributes["model_file_name"].Value);
                        }
                        //temp.ModleType = item.Attributes["prod_kind_code"].Value;
                        temp.Name = item.Attributes["prod_name"].Value;
                        if (item.Attributes["model_kind"] != null)
                        {
                            if (item.Attributes["model_kind"].Value == "1001")
                            {
                                temp.IsModel = false;
                            }
                            else
                            {
                                temp.IsModel = true;
                            }
                        }
                        if (item.Attributes["model_file_url"] != null)
                        {
                            temp.ModleURL = item.Attributes["model_file_url"].Value;
                        }
                        //材质贴图
                        if (item.Attributes["stylor_file_url"] != null)
                        {
                            temp.TextureURL = item.Attributes["stylor_file_url"].Value;
                        }
                        if (item.Attributes["prod_spic_url"] != null)
                        {
                            temp.Icon = item.Attributes["prod_spic_url"].Value;
                        }
                        else if (item.Attributes["prod_pic_url"] != null)
                        {
                            temp.Icon = item.Attributes["prod_pic_url"].Value;
                        }
                        temp.Material = new Material(Shader.Find("Standard"));

                        if (item.Attributes["unit_id"] != null)
                        {
                            temp.Unit_id = item.Attributes["unit_id"].Value;
                        }
                        if (item.Attributes["bom_prod"] != null)
                        {
                            temp.Bom_prod = item.Attributes["bom_prod"].Value;
                        }
                        if (item.Attributes["bom_qty"] != null)
                        {
                            temp.Bom_qty = item.Attributes["bom_qty"].Value;
                        }
                        if (item.Attributes["price_std"] != null)
                        {
                            temp.Price_std = item.Attributes["price_std"].Value;
                        }
                        if (item.Attributes["price_cost"] != null)
                        {
                            temp.Price_cost = item.Attributes["price_cost"].Value;
                        }
                        if (item.Attributes["price"] != null)
                        {
                            temp.Price = item.Attributes["price"].Value;
                        }

                        string Stemp = temp.Group_ID + temp.Icon.Split('.')[0];
                        if (!MsgCenter._instance.TempDisctionary.ContainsKey(Stemp))
                        {
                            MsgCenter._instance.ModuleCount += 1;
                            MsgCenter._instance.TempDisctionary.Add(Stemp, false);
                        }
                        //temp.Type = item.Attributes["unit_group"].Value;
                        curtain.Add(temp);
                    }
                }
            }
        }
        else if (root == "bom_list")
        {
            //Debug.Log("2222222222222222222222222222222222" + path);
            if (Xmlroot[root] != null)
            {
                MsgCenter._instance.isChuangLian    = true;
                MsgCenter._instance.Complete[group] = new CompleteManager();
                foreach (XmlNode items in Xmlroot["prod_info"].ChildNodes)
                {
                    XmlElement item = items as XmlElement;
                    if (item.HasAttribute("unit_id"))
                    {
                        MsgCenter._instance.Complete[group].Unit_id = item.GetAttribute("unit_id");
                    }
                    if (item.HasAttribute("price_std"))
                    {
                        MsgCenter._instance.Complete[group].Price_std = item.GetAttribute("price_std");
                    }
                    if (item.HasAttribute("price_cost"))
                    {
                        MsgCenter._instance.Complete[group].Price_cost = item.GetAttribute("price_cost");
                    }
                    if (item.HasAttribute("price"))//item.Attributes["price"] != null)
                    {
                        MsgCenter._instance.Complete[group].Price = item.GetAttribute("price");
                    }
                    MsgCenter._instance.Complete[group].Prod_id = item.GetAttribute("prod_id");
                }
                foreach (XmlNode item in Xmlroot[root].ChildNodes)
                {
                    CurtainManager temp = new CurtainManager();
                    temp.Group_ID   = group;
                    temp.Prod_id    = item.Attributes["prod_id"].Value;
                    temp.ModuleType = item.Attributes["prod_kind_code"].Value;
                    if (item.Attributes["model_file_name"] != null)
                    {
                        temp.ModuleName = Path.GetFileNameWithoutExtension(item.Attributes["model_file_name"].Value);
                    }
                    //temp.ModleType = item.Attributes["prod_kind_code"].Value;
                    temp.Name = item.Attributes["prod_name"].Value;
                    if (item.Attributes["model_kind"] != null)
                    {
                        if (item.Attributes["model_kind"].Value == "1001")
                        {
                            temp.IsModel = false;
                        }
                        else
                        {
                            temp.IsModel = true;
                        }
                        MsgCenter._instance.isModle = temp.IsModel;
                    }
                    if (item.Attributes["model_file_url"] != null)
                    {
                        temp.ModleURL = item.Attributes["model_file_url"].Value;
                    }
                    //材质贴图
                    if (item.Attributes["stylor_file_url"] != null)
                    {
                        temp.TextureURL = item.Attributes["stylor_file_url"].Value;
                    }

                    if (item.Attributes["prod_spic_url"] != null)
                    {
                        temp.Icon = item.Attributes["prod_spic_url"].Value;
                    }
                    else if (item.Attributes["prod_pic_url"] != null)
                    {
                        temp.Icon = item.Attributes["prod_pic_url"].Value;
                    }

                    temp.Material = new Material(Shader.Find("Standard"));

                    if (item.Attributes["unit_id"] != null)
                    {
                        temp.Unit_id = item.Attributes["unit_id"].Value;
                    }
                    if (item.Attributes["bom_prod"] != null)
                    {
                        temp.Bom_prod = item.Attributes["bom_prod"].Value;
                    }
                    if (item.Attributes["bom_qty"] != null)
                    {
                        temp.Bom_qty = item.Attributes["bom_qty"].Value;
                    }
                    if (item.Attributes["price_std"] != null)
                    {
                        temp.Price_std = item.Attributes["price_std"].Value;
                    }
                    if (item.Attributes["price_cost"] != null)
                    {
                        temp.Price_cost = item.Attributes["price_cost"].Value;
                    }
                    if (item.Attributes["price"] != null)
                    {
                        temp.Price = item.Attributes["price"].Value;
                    }
                    //Debug.Log(temp.ModuleName + "           5151515151515515 ");
                    string Stemp = temp.Group_ID + temp.Icon.Split('.')[0];
                    if (!MsgCenter._instance.TempDisctionary.ContainsKey(Stemp))
                    {
                        MsgCenter._instance.ModuleCount += 1;
                        MsgCenter._instance.TempDisctionary.Add(Stemp, false);
                    }
                    //temp.Type = item.Attributes["unit_group"].Value;
                    curtain.Add(temp);
                }
            }
            else
            {
                if (Xmlroot["prod_info"] != null)
                {
                    //Debug.Log("121111111111111111212121212121");
                    MsgCenter._instance.isChuangLian = false;
                    //MsgCenter._instance.Complete[group] = new CompleteManager();
                    foreach (XmlNode items in Xmlroot["prod_info"].ChildNodes)
                    {
                        XmlElement item = items as XmlElement;
                        //if (item.HasAttribute("unit_id"))
                        //    MsgCenter._instance.Complete[group].Unit_id = item.GetAttribute("unit_id");
                        //if (item.HasAttribute("price_std"))
                        //    MsgCenter._instance.Complete[group].Price_std = item.GetAttribute("price_std");
                        //if (item.HasAttribute("price_cost"))
                        //    MsgCenter._instance.Complete[group].Price_cost = item.GetAttribute("price_cost");
                        //if (item.HasAttribute("price"))//item.Attributes["price"] != null)
                        //    MsgCenter._instance.Complete[group].Price = item.GetAttribute("price");
                        //MsgCenter._instance.Complete[group].Prod_id = item.GetAttribute("prod_id");

                        CurtainManager temp = new CurtainManager();
                        temp.Group_ID   = group;
                        temp.Prod_id    = item.Attributes["prod_id"].Value;
                        temp.ModuleType = item.Attributes["prod_kind_code"].Value;
                        if (item.Attributes["model_file_name"] != null)
                        {
                            temp.ModuleName = Path.GetFileNameWithoutExtension(item.Attributes["model_file_name"].Value);
                        }
                        //temp.ModleType = item.Attributes["prod_kind_code"].Value;
                        temp.Name = item.Attributes["prod_name"].Value;
                        if (item.Attributes["model_kind"] != null)
                        {
                            if (item.Attributes["model_kind"].Value == "1001")
                            {
                                temp.IsModel = false;
                            }
                            else
                            {
                                temp.IsModel = true;
                            }
                            MsgCenter._instance.isModle = temp.IsModel;
                        }
                        if (item.Attributes["model_file_url"] != null)
                        {
                            temp.ModleURL = item.Attributes["model_file_url"].Value;
                        }
                        //材质贴图
                        if (item.Attributes["stylor_file_url"] != null)
                        {
                            temp.TextureURL = item.Attributes["stylor_file_url"].Value;
                        }

                        if (item.Attributes["prod_spic_url"] != null)
                        {
                            temp.Icon = item.Attributes["prod_spic_url"].Value;
                        }
                        else if (item.Attributes["prod_pic_url"] != null)
                        {
                            temp.Icon = item.Attributes["prod_pic_url"].Value;
                        }
                        else if (item.Attributes["prod_pic"] != null)
                        {
                            temp.Icon = item.Attributes["prod_pic"].Value;
                        }
                        else
                        {
                            temp.Icon = "";
                        }

                        temp.Material = new Material(Shader.Find("Standard"));

                        if (item.Attributes["unit_id"] != null)
                        {
                            temp.Unit_id = item.Attributes["unit_id"].Value;
                        }
                        if (item.Attributes["prod_id"] != null)
                        {
                            temp.Bom_prod = item.Attributes["prod_id"].Value;
                        }
                        if (item.Attributes["bom_qty"] != null)
                        {
                            temp.Bom_qty = item.Attributes["bom_qty"].Value;
                        }
                        if (item.Attributes["price_std"] != null)
                        {
                            temp.Price_std = item.Attributes["price_std"].Value;
                        }
                        if (item.Attributes["price_cost"] != null)
                        {
                            temp.Price_cost = item.Attributes["price_cost"].Value;
                        }
                        if (item.Attributes["price"] != null)
                        {
                            temp.Price = item.Attributes["price"].Value;
                        }
                        //Debug.Log(temp.ModuleName + "           5151515151515515 ");
                        string Stemp = temp.Group_ID + temp.Icon.Split('.')[0];
                        if (!MsgCenter._instance.TempDisctionary.ContainsKey(Stemp))
                        {
                            MsgCenter._instance.ModuleCount += 1;
                            MsgCenter._instance.TempDisctionary.Add(Stemp, false);
                        }
                        //temp.Type = item.Attributes["unit_group"].Value;
                        curtain.Add(temp);
                    }
                }
            }
        }
        //Debug.Log("2222222222222222222222222222222222"+MsgCenter._instance.isChuangLian);
        return(curtain);
    }
예제 #20
0
    //点购物车时,写入数据;
    public void CreateAlterData(string number, float fWidth, float fHeight, float fDrape)
    {
        if (MsgCenter.nowWidow == null)
        {
            return;
        }
        curtain = new List <CurtainManager>();
        //List<CurtainManager> curtain1 = new List<CurtainManager>();
        if (MsgCenter.isModle)
        {
            for (int j = 0; j < AssetManager.WindowList.First().Value.GetComponent <WindoManager>().Middle.childCount; j++)
            {
                Transform obj = AssetManager.WindowList.First().Value.GetComponent <WindoManager>().Middle.GetChild(j);
                if (obj.gameObject.activeInHierarchy)
                {
                    CurtainManager temp = obj.GetComponent <CurtainManager>();
                    curtain.Add(temp);
                    //htmlJS(temp.ModuleType, fWidth, fHeight, fDrape);
                }
            }
            for (int j = 0; j < AssetManager.WindowList.First().Value.GetComponent <WindoManager>().Up.childCount; j++)
            {
                Transform obj = AssetManager.WindowList.First().Value.GetComponent <WindoManager>().Up.GetChild(j);
                if (obj.gameObject.activeInHierarchy)
                {
                    CurtainManager temp = obj.GetComponent <CurtainManager>();
                    curtain.Add(temp);
                    //htmlJS(temp.ModuleType, fWidth, fHeight, fDrape);
                }
            }
        }
        else
        {
            for (int j = 0; j < AssetManager.WindowList.First().Value.GetComponent <WindoManager>().TwoD.childCount; j++)
            {
                Transform obj = AssetManager.WindowList.First().Value.GetComponent <WindoManager>().TwoD.GetChild(j);
                if (obj.gameObject.activeInHierarchy)
                {
                    CurtainManager temp = obj.GetComponent <CurtainManager>();
                    curtain.Add(temp);
                    //htmlJS(temp.ModuleType, fWidth, fHeight, fDrape);
                }
            }
        }

        //curtain1 = ExceptList(curtain,MsgCenter.OldData);

        foreach (CurtainManager t in curtain)
        {
            //while(true)
            {
                htmlJS(t.ModuleType, fWidth, fHeight, fDrape);
                //if (isGooon)
                //{
                //    isGooon = false;
                //    continue;
                //    break;
                //}
            }
        }
        //startTime = Time.time;
        StartCoroutine(Count(number, fWidth, fHeight, fDrape));
    }
예제 #21
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    private List <CurtainManager> ExceptList(List <CurtainManager> New, List <CurtainManager> Old)
    {
        List <int> index = new List <int>();

        for (int i = 0; i < New.Count; i++)
        {
            for (int j = 0; j < Old.Count; j++)
            {
                if (New[i].Prod_id == Old[j].Prod_id)
                {
                    index.Add(j);
                    //New.RemoveAt(i);
                    //
                }
            }
        }
        for (int m = 0; m < index.Count; m++)
        {
            New.Remove(New.Find(delegate(CurtainManager p) { return(p.Prod_id == Old[index[m]].Prod_id); }));
        }
        for (int n = 0; n < New.Count; n++)
        {
            for (int j = 0; j < Old.Count; j++)
            {
                if (New[n].ModuleType == Old[j].ModuleType)
                {
                    CurtainManager temp = New[n];//New.Find(delegate(CurtainManager p) { return p.Prod_id == Old[j].Prod_id; });
                    Debug.Log(temp == null);
                    if (temp != null)
                    {
                        temp.Bom_prod = Old[j].Prod_id;
                        temp.Bom_qty  = Old[j].Prod_qty;
                    }
                }
            }
        }

        return(New);
        //Debug.Log(New[2].ID == Old[0].ID);
        //Debug.Log(New[2] == Old[0]);
        //List<CurtainManager> c = new List<CurtainManager>();
        //List<int> A = new List<int>() { 1, 2, 3, 5, 9 };
        //List<int> B = new List<int>() { 1,5, 9 };
        //c = New.Except(Old).ToList<CurtainManager>();
        //New.AddRange(Old);
        //c.Add( (CurtainManager)New.Except(Old));
        //foreach (CurtainManager plate in New)
        //{
        //    CurtainManager existPlate = New.FirstOrDefault(r => r.ID.Equals(plate.ID));
        //    Debug.Log(existPlate.ID);
        //}
        //c = New.FindAll(delegate(CurtainManager p) { return p.ID == "20160608000086"; });
        //List<CurtainManager> c = New.Except(Old).ToList();

        //List<CurtainManager> c = Enumerable.Except(New.Union(Old), New.Intersect(Old)).ToList();

        //foreach (CurtainManager i in New)
        //{
        //    if (!Old.Contains(i))
        //    {
        //        c.Add(i);
        //    }
        //}
        //return c;
    }
예제 #22
0
    public static GameObject Make(GameObject canvasObject, CurtainManager curtainManager)
    {
        GameObject tutorialView  = null;
        var        curtainObject = curtainManager.gameObject;

        tutorialView = Object.Instantiate(Resources.Load <GameObject>(ResourceNames.tutorialView));
        tutorialView.transform.SetParent(canvasObject.transform, false);
        var closeTutorialButtonObject            = tutorialView.transform.Find(ResourceNames.closeTutorialButton);
        var closeTutorialButtonRectTransform     = closeTutorialButtonObject.GetComponent <RectTransform>();
        var closeTutorialButtonAnchoredPositionX = -Screen.width * 0.05f;
        var closeTutorialButtonAnchoredPositionY = closeTutorialButtonAnchoredPositionX;

        closeTutorialButtonRectTransform.anchoredPosition = new Vector2(
            closeTutorialButtonAnchoredPositionX,
            closeTutorialButtonAnchoredPositionY
            );
        var closeTutorialButtonWidth  = Screen.width * 0.08f;
        var closeTutorialButtonHeight = closeTutorialButtonWidth;

        closeTutorialButtonRectTransform.sizeDelta = new Vector2(
            closeTutorialButtonWidth,
            closeTutorialButtonHeight
            );
        var closeButton = closeTutorialButtonObject.GetComponent <Button>();

        closeButton.onClick.AddListener(() => {
            curtainObject.transform.SetAsLastSibling();
            curtainManager.Close(() =>
            {
                Object.Destroy(tutorialView);
                curtainManager.Open(() =>
                {
                    curtainManager.transform.SetAsFirstSibling();
                    return(true);
                });
                return(true);
            });
        });

        var scrollContentObject = tutorialView.transform.Find(ResourceNames.tutorialScrollRect).Find(ResourceNames.tutorialScrollViewport).Find(ResourceNames.tutorialScrollContent);

        float MakeComponents(float top, string title, string content, Sprite[] sprites, bool withScrollGuide)
        {
            var pointer = top;
            var padding = Screen.height * 0.05f;
            var margin  = padding * 1.41421356f;

            void MakeTextObject(string name, string str, int fontSize)
            {
                var textObject = Object.Instantiate(Resources.Load <GameObject>(name));

                textObject.transform.SetParent(scrollContentObject.transform, false);
                var text = textObject.GetComponent <Text>();

                text.text     = str;
                text.fontSize = fontSize;
                var rectTransform = textObject.GetComponent <RectTransform>();

                rectTransform.anchoredPosition = new Vector2(0f, pointer);
                rectTransform.sizeDelta        = new Vector2(
                    Mathf.Min(Screen.width, text.preferredWidth),
                    text.preferredHeight
                    );
                rectTransform.sizeDelta = new Vector2(
                    Mathf.Min(Screen.width, text.preferredWidth),
                    text.preferredHeight
                    );
                pointer -= (rectTransform.sizeDelta.y + padding);
            }

            MakeTextObject(ResourceNames.tutorialTitleText, title, FontSizes.Medium);
            MakeTextObject(ResourceNames.tutorialContentText, content, FontSizes.Small);
            var spriteIndex = 0;

            foreach (var sprite in sprites)
            {
                var imageObject = Object.Instantiate(Resources.Load <GameObject>(ResourceNames.tutorialImage));
                imageObject.transform.SetParent(scrollContentObject.transform, false);
                var imageRectTransform = imageObject.GetComponent <RectTransform>();
                imageRectTransform.anchoredPosition = new Vector2(0f, pointer);
                var imageWidth  = Screen.width * 0.6f;
                var imageHeight = imageWidth / 1.5f;
                imageRectTransform.sizeDelta = new Vector2(imageWidth, imageHeight);
                var image = imageObject.GetComponent <Image>();
                image.sprite = sprite;
                pointer     -= (imageRectTransform.sizeDelta.y + padding);
                if (spriteIndex == 0 && withScrollGuide)
                {
                    var scrollGuide = Object.Instantiate(Resources.Load <GameObject>(ResourceNames.tutorialScrollGuide));
                    scrollGuide.transform.SetParent(scrollContentObject.transform, false);
                    var scrollGuideRectTransform = scrollGuide.GetComponent <RectTransform>();
                    var halfSpace = (Screen.width - imageRectTransform.sizeDelta.x) / 2f;
                    var scrollGuideAnchoredPositionX = (imageRectTransform.sizeDelta.x / 2f) + (halfSpace / 2f);
                    var scrollGuideHeight            = imageHeight;
                    var scrollGuideWidth             = scrollGuideHeight / 4f;
                    scrollGuideRectTransform.anchoredPosition = new Vector2(
                        scrollGuideAnchoredPositionX,
                        imageRectTransform.anchoredPosition.y
                        );
                    scrollGuideRectTransform.sizeDelta = new Vector2(
                        scrollGuideWidth,
                        scrollGuideHeight
                        );
                }
                ++spriteIndex;
            }
            pointer -= margin;
            return(pointer);
        }

        var components = new Component[]
        {
            new Component(
                "1.クリア条件の確認",
                "ゲームを始めるとクリア条件が表示されるので確認しましょう。\n今回は「2手で全消し」です。\nこの後の説明にもありますが、ボタンをクリックして式を1つ作成すると1手に数えられます。\nこの条件と同じ手数ですべてのボタンを消すとゲームクリアになります。\nゲームスタートボタンを押すとこのクリア条件確認画面を閉じることができます。",
                Resources.Load <Sprite>(ResourceNames.tutorialClearCondition)
                ),
            new Component(
                "2.式の作成",
                "クリア条件確認画面を閉じるとこの画面になるので、ボタンをクリックして式を作成しましょう。\nボタンは好きな位置にあるものをクリックできます。\n作成途中の式は画面上部に表示されるので確認しながら作業を進めましょう。\nもしクリア条件を忘れてしまったら画面右下にある「?」ボタンでクリア条件確認画面を表示することができます。",
                Resources.Load <Sprite>(ResourceNames.tutorialCreateFormula)
                ),
            new Component(
                "3.ボタンの削除",
                "ボタンをクリックして式を作成できると、このようにオレンジの枠で囲まれて、徐々に消えていきます。\nこのように式を1つ作成すると1手に数えられます。\nこの後の処理がすべて終わると画面真ん中より少し右上にある手数を表示している部分に反映されます。",
                Resources.Load <Sprite>(ResourceNames.tutorialRemoveButton)
                ),
            new Component(
                "4.ボタンの落下",
                "全てのボタンが消えると、上にあったボタンが落下します。\nボタンは下に新たなボタンが現れるか、最下部まで落下します。",
                Resources.Load <Sprite>(ResourceNames.tutorialDropButton)
                ),
            new Component(
                "5.コンボの発生",
                "全てのボタンが落下した後に、連続した位置に式がそろっていれば、手数を増やさずにボタンを消すことができます。\nこれ以降「4.ボタンの落下」と「5.コンボの発生」を繰り返します。",
                Resources.Load <Sprite>(ResourceNames.tutorialCombo)
                ),
            new Component(
                "6.ゲームクリア・ゲームオーバーの確認",
                "「4.ボタンの落下」と「5.コンボの発生」の繰り返しが終了した時点で手数が画面真ん中より少し右上にある手数を表示する部分に反映されます。\nもし現在の手数とクリア条件の手数が同じで、すべてのボタンを消すことができていた場合、ゲームクリアです。\nもし現在の手数とクリア条件の手数が同じで、すべてのボタンを消すことができていなかった場合や、現在の手数がクリア条件の手数よりも少ない段階で全てのボタンを消してしまった場合はゲームオーバーです。\nゲームクリアでもゲームオーバーでもない場合には、また「2.式の作成」から「6.ゲームクリア・ゲームオーバーの確認」を繰り返します。\n今回はまだクリアしていないので、「2.式の作成」に戻ります。",
                Resources.Load <Sprite>(ResourceNames.tutorialRestart)
                ),
            new Component(
                "7.戻る、進むボタン",
                "ボタンのクリックを1つだけ戻したい場合には、画面右の「←」ボタンで戻ることができます。\nこのボタンは1つ前のクリックがあればいつでも押して戻ることができます。\nもし戻りすぎてしまった場合には、「←」ボタンの上にある「→」ボタンで1つ進むことができます。\n「→」ボタンも「←」ボタンで戻っていればいつでも押して進むことができます。",
                Resources.Load <Sprite>(ResourceNames.tutorialBackward)
                ),
            new Component(
                "8-1.ゲームクリア",
                "もしゲームをクリアすることができたら、ゲームクリア画面が表示されます。\nこの画面から次のステージに進んだり、ステージ選択画面に戻ったり、タイトル画面に戻ったりすることができます。",
                new Sprite[] { Resources.Load <Sprite>(ResourceNames.tutorialRestart), Resources.Load <Sprite>(ResourceNames.tutorialClearWay1), Resources.Load <Sprite>(ResourceNames.tutorialClearWay2), Resources.Load <Sprite>(ResourceNames.tutorialGameClear) }
                ),
            new Component(
                "8-2.ゲームオーバー",
                "もしゲームオーバーになってしまった場合にはゲームオーバー画面が表示されます。\nゲームオーバー画面からは「ステージ選択」と「直前に戻る」を選択することができます。\n「直前に戻る」を押すと、最後のボタンをクリックする前に戻ることができます。\nこの状態からまたゲームクリアを目指していきましょう。",
                new Sprite[] { Resources.Load <Sprite>(ResourceNames.tutorialGameOverWay), Resources.Load <Sprite>(ResourceNames.tutorialGameOver), Resources.Load <Sprite>(ResourceNames.tutorialGameOverBack), Resources.Load <Sprite>(ResourceNames.tutorialGameOverRestart), }
                ),
        };
        var y = 0f;
        var componentIndex = 0;

        foreach (var component in components)
        {
            y = MakeComponents(
                y,
                component.title,
                component.content,
                component.sprites,
                componentIndex == 0
                );
            ++componentIndex;
        }

        var tutorialEndTextObject = Object.Instantiate(Resources.Load <GameObject>(ResourceNames.tutorialEndText));

        tutorialEndTextObject.transform.SetParent(scrollContentObject.transform, false);
        var tutorialEndText = tutorialEndTextObject.GetComponent <Text>();

        tutorialEndText.fontSize = FontSizes.Medium;
        var tutorialEndTextRectTransform = tutorialEndTextObject.GetComponent <RectTransform>();

        tutorialEndTextRectTransform.anchoredPosition = new Vector2(0f, y);
        tutorialEndTextRectTransform.sizeDelta        = new Vector2(
            tutorialEndText.preferredWidth,
            tutorialEndText.preferredHeight
            );
        tutorialEndTextRectTransform.sizeDelta = new Vector2(
            tutorialEndText.preferredWidth,
            tutorialEndText.preferredHeight
            );

        y -= tutorialEndTextRectTransform.sizeDelta.y;

        var scrollContentRectTransform = scrollContentObject.GetComponent <RectTransform>();
        var scrollContentSize          = scrollContentRectTransform.sizeDelta;

        scrollContentSize.y = -y;
        scrollContentRectTransform.sizeDelta = scrollContentSize;

        curtainObject.transform.SetAsLastSibling();
        curtainManager.Open(() =>
        {
            curtainObject.transform.SetAsFirstSibling();
            return(true);
        });

        return(tutorialView);
    }