Beispiel #1
0
        private void InitView()
        {
            GRoot.inst.SetContentScaleFactor(1920, 1080);
#if UNITY_EDITOR
            UIPackage.AddPackage("Load/HotFixLoading/HotFixLoading");
#endif
            GComponent view = UIPackage.CreateObject(_packageName, _pageName).asCom;
            GRoot.inst.AddChild(view);
            view.MakeFullScreen();
            _view          = view;
            _frame         = _view.GetChild("frame").asCom;
            _frame.visible = false;
            _apkDes        = _frame.GetChild("context").asCom.GetChild("text").asTextField;
            _confirmBtn    = _frame.GetChild("confirmBtn").asButton;
            _loadingAni    = _frame.GetTransition("loadingAni");

            _progress       = _view.GetChild("loading").asProgress;
            _progress.value = 0;
            _loading        = _view.GetChild("loadingSpine").asGraph;

            Object     obj       = Resources.Load("Load/Prefab/LoadSpine");
            GameObject spineItem = Instantiate(obj) as GameObject;
            float      scaleX    = GRoot.inst.width / DESIGN_WIDTH;
            float      scaleY    = GRoot.inst.height / DESIGN_HEIGHT;
            spineItem.transform.localScale = new Vector3(scaleX, scaleY, 1);
            GoWrapper         wrapper = new GoWrapper(spineItem);
            SkeletonAnimation spine   = spineItem.gameObject.GetComponent <SkeletonAnimation>();
            spine.state.SetAnimation(0, "H5_loading", true);
            _loading.SetNativeObject(wrapper);

            _text      = _view.GetChild("textInfo").asTextField;
            _text.text = "正在检测版本更新...";

            _confirmBtn.onClick.Add(onClick);
        }
Beispiel #2
0
        //加载3个角色空位中的人物形象
        public void OnLoadCharacters(CharacterInfo message, FUI holder, Controller controller, FUI money, FUI mail, FUI level, FUI location)
        {
            if (message.Level == 0)
            {
                controller.SetSelectedIndex(0);
            }
            else
            {
                controller.SetSelectedIndex(1);
                //获得资源设置
                string skeleton = SekiaHelper.GetSkeletonName(message.Skeleton);
                string weapon   = SekiaHelper.GetWeaponName(message.Weapon);
                string head     = SekiaHelper.GetHeadName(message.Head);
                string chest    = SekiaHelper.GetChestName(message.Chest);
                string hand     = SekiaHelper.GetHandName(message.Hand);
                string feet     = SekiaHelper.GetFeetName(message.Feet);

                //设置模型到指定位置
                GameObject demo = SekiaHelper.CreateCharacter(skeleton, weapon, head, chest, hand, feet);
                demo.transform.localPosition = new Vector3(30, -125, 1000);   //模型的原点在脚下 向下位移半个身高 向右位移1/4身宽
                //Log.Debug($"Holder位置 X:{holder.GObject.x}  Y:{holder.GObject.y}"); //编辑器中的坐标 以左上角为原点 Y为正值
                demo.transform.localScale       = new Vector3(125, 125, 125); //大小
                demo.transform.localEulerAngles = new Vector3(0, 180, 0);     //角度
                GoWrapper wrapper = new GoWrapper(demo);
                holder.GObject.asGraph.SetNativeObject(wrapper);

                //设置各项参数
                money.GObject.asTextField.text    = message.Money.ToString();
                mail.GObject.asTextField.text     = message.Mail.ToString();
                level.GObject.asTextField.text    = $"Lv.{message.Level} {message.Name}";
                location.GObject.asTextField.text = $"{Enum.GetName(message.Career.GetType(), message.Career)}·{Enum.GetName(message.Region.GetType(), message.Region)}";
            }
        }
        //退出界面需要重置所有元件属性
        public override void Dispose()
        {
            if (this.IsDisposed)
            {
                return;
            }
            base.Dispose();

            Log.Debug("退出创建角色界面");
            Controller.Get("Back").GObject.asButton.onClick.Remove(OnBack);
            Controller.Get("Complete").GObject.asButton.onClick.Remove(OnCheckCreate);
            Controller.Get("Back").Dispose();
            Controller.Get("Complete").Dispose();

            Holder.Dispose();
            Demo                = null;
            Wrapper             = null;
            isCreateComplete    = false;
            isCreatingCharacter = false;
            messageUser         = null;
            Controller.Dispose();
            Gender = null;
            Career = null;
            Step   = null;
            NameInput.Dispose();
            Prompt.Dispose();
            Seat = 0;
        }
    public override void ConstructFromXML(FairyGUI.Utils.XML xml)
    {
        base.ConstructFromXML(xml);

        _style = GetController("style");

        _pageNumber = GetChild("pn");

        _modelWrapper = new GoWrapper();
        GetChild("model").asGraph.SetNativeObject(_modelWrapper);
    }
    public GObject AddNativeBuff(string path)
    {
        var url = "ui://fekv2twrs1b211";//ui://fekv2twrs1b211
        //ui://fekv2twrs1b2w
        var go         = m_BuffList.AddItemFromPool(url);
        var modeeffect = (GameObject)(GameObject.Instantiate(Resources.Load(path)));

        modeeffect.transform.localPosition = new Vector3(0, 0, 10);
        modeeffect.transform.localScale    = new Vector3(40, 40, 40);
        GGraph    holder  = go.asCom.GetChild("n1").asGraph;
        GoWrapper wrapper = new GoWrapper(modeeffect);

        holder.SetNativeObject(wrapper);
        return(go);
    }
Beispiel #6
0
        public static FGraph NewGraph(GraphArgs graphArgs = null)
        {
            var fGraph = NewT <FGraph, GGraph>(graphArgs);

            if (graphArgs != null)
            {
                if (graphArgs.wrapper != null)
                {
                    var goWrapper = new GoWrapper();
                    goWrapper.SetWrapTarget(graphArgs.wrapper.target, graphArgs.wrapper.cloneMaterial);
                    fGraph.SetNativeObject(goWrapper);
                }
            }
            return(fGraph);
        }
    protected override void OnInitPanel()
    {
        base.OnInitPanel();
        guardNumber = contentPane.GetChild("Tex_GuardNumber").asTextField;
        certainButton.onClick.Add(() =>
        {
            int num = 0;
            if (guardNumber.text != null)
            {
                num = System.Convert.ToInt32(guardNumber.text);
            }

            if (num < 0 || num > 12 || num == lastGuardNumber)
            {
                guardNumber.text = 0.ToString();
                return;
            }

            for (int i = 0; i < messageManager.deadPlayerNum.Count; i++)
            {
                if (messageManager.deadPlayerNum[i] == num)
                {
                    guardNumber.text = 0.ToString();
                    return;
                }
            }


            if (num != 0 && num != lastGuardNumber)
            {
                messageManager.defendNumber = num;
                lastGuardNumber             = num;
            }


            guardNumber.text = 0.ToString();
            AfterAction(UIPanelType.DayNightPanel);
        });

        UnityEngine.Object prefab = Resources.Load("DefendEffect/Effect");
        GameObject         effect = (GameObject)GameObject.Instantiate(prefab);
        GoWrapper          gw     = new GoWrapper(effect);

        contentPane.GetChild("DefendEffect").asGraph.SetNativeObject(gw);
    }
        public override void OnOpened(object param)
        {
            Debug.Log(("打开了奖励弹窗"));
            var prefab = Resources.Load <GameObject>("Role/npc");

            go = (GameObject)GameObject.Instantiate(prefab);
            go.transform.position = new Vector3(2.9f, -5.93f, -2);
            go.AddComponent <RotationSelf>();

            var holder = new GGraph();

            holder.color = Color.red;
            contentPane.AddChild(holder);
            holder.Center();
            GoWrapper wrapper = new GoWrapper(go);

            holder.SetNativeObject(wrapper);
            go.transform.localScale = new Vector3(400, 400, 400);
        }
Beispiel #9
0
        public void Show(string type, string subtype = "")
        {
            holder.visible = true;
            var anipath = "UI/UIAnims/Ani/" + type + "-" + subtype;
            var path    = AssetUtility.GetPrefabAsset(anipath);

            GameEntry.Resource.LoadAsset(path, typeof(GameObject), new LoadAssetCallbacks(
                                             (assetName, asset, duration, userData) =>
            {
                aniSet            = asset as GameObject;
                GameObject go     = GameObject.Instantiate(aniSet);
                GoWrapper wrapper = new GoWrapper(go);
                holder.SetNativeObject(wrapper);
            },

                                             (assetName, status, errorMessage, userData) =>
            {
                Log.Error(path);
            }));
        }
Beispiel #10
0
    // Use this for initialization
    void Start()
    {
        //设置分辨率
        GRoot.inst.SetContentScaleFactor(600, 480);
        UIPackage.AddPackage("UI/主菜单");
        //创建组件
        GComponent Comp = UIPackage.CreateObject("主菜单", "测试组件").asCom;
        // GRoot.inst.AddChild(Comp);

        Object     canvasObjectprefab = Resources.Load("Canvas");
        GameObject canvasObject       = (GameObject)Object.Instantiate(canvasObjectprefab);


        canvasObject.transform.localPosition    = new Vector3(296, -514, 0);
        canvasObject.transform.localScale       = new Vector3(1, 1, 1);
        canvasObject.transform.localEulerAngles = new Vector3(0, 0, 0);
        //GGraph holder = view.GetChild("holder").asGraph;
        GGraph    holder = Comp.GetChild("n1").asGraph;
        GoWrapper gw     = new GoWrapper(canvasObject);

        holder.SetNativeObject(gw);
        GRoot.inst.AddChild(Comp);
    }
Beispiel #11
0
        private async Task UpdateVersion()
        {
            var cur = JObject.Parse(await client.GetStringAsync("https://api.pcrdfans.com/x/v1/search")).Value <string>("version");

            if (cur != version)
            {
                version = cur;

                await File.WriteAllBytesAsync("pcrd.wasm", await client.GetByteArrayAsync("https://pcrdfans.com/pcrd.wasm"));

                wrapper = new GoWrapper(Module.ReadFromBinary("pcrd.wasm"))
                {
                    Global =
                    {
                        ["myhash"]   = new Func <string,   double>(myHash),
                        ["location"] = new JsObject
                        {
                            ["host"]     = "pcrdfans.com",
                            ["hostname"] = "pcrdfans.com",
                        }
                    }
                };
            }
        }
Beispiel #12
0
    //初始化
    public void Init()
    {
        if (unitinfo == null)
        {
            return;
        }
        //关闭按钮
        unitinfo.GetChild("close").asButton.onClick.Add(() => { Destroy(); });

        var item = ExcelManager.Instance.GetSceneManager().GetSceneByID(GameScene.Singleton.m_SceneID);

        if (item != null)
        {
            var scenename   = item.Name;
            var postext     = "(" + (int)unit.X + "," + (int)unit.Y + ")";
            var noticewords = ExcelManager.Instance.GetNoticeWordsManager().GetNoticeWordsByID(38);
            Dictionary <string, string> p = new Dictionary <string, string>();
            p["p1"] = item.Name;
            p["p2"] = ("" + (int)unit.X);
            p["p3"] = ("" + (int)unit.Y);
            p["p4"] = (unit.Name);
            if (noticewords != null)
            {
                //定位信息
                unitinfo.GetChild("localpos").asButton.onClick.Add(() => {
                    ChatUI.SOpenChatBoxWithMsg("quanfu", "", 0, Tool.ParseTemplate(noticewords.Words, p));
                });
            }
        }



        InitItemDrag();
        InitDropItem();
        InitSkillInfo();


        //模型
        var modeeffect = (GameObject)(GameObject.Instantiate(Resources.Load(unit.ModeType)));

        modeeffect.transform.localPosition = new Vector3(0, 0, 100);
        var box = modeeffect.GetComponent <BoxCollider>();

        modeeffect.transform.localScale = new Vector3(100, 100, 100);
        if (box != null)
        {
            var scale = box.size.y / 1.2f;
            modeeffect.transform.localScale = new Vector3(100 / scale, 100 / scale, 100 / scale);
        }


        Vector3 rotation = modeeffect.transform.localEulerAngles;

        rotation.x = 10; // 在这里修改坐标轴的值
        rotation.y = 180;
        rotation.z = 0;
        //将旋转的角度赋值给预制出来需要打出去的麻将
        modeeffect.transform.localEulerAngles = rotation;
        GGraph    holder  = unitinfo.GetChild("heromode").asGraph;
        GoWrapper wrapper = new GoWrapper(modeeffect);

        holder.SetNativeObject(wrapper);
        holder.z = 10;
    }
        //切换身体部分模型事件
        public void OnControllerChanged()
        {
            //默认设置
            string skeleton = "ch_pc_hou_ZhanShi";
            string weapon   = "ch_we_one_hou_004";
            string head     = "ch_pc_hou_004_tou";
            string chest    = "ch_pc_hou_004_shen";
            string hand     = "ch_pc_hou_004_shou";
            string feet     = "ch_pc_hou_004_jiao";

            //Demo被销毁 Weapon还在
            if (isCreateComplete)
            {
                UnityEngine.Object.Destroy(Wrapper.wrapTarget);
                UnityEngine.Object.Destroy(Demo);
            }
            int    genderindex = Gender.selectedIndex;
            string gender      = "";

            switch (genderindex)
            {
            case 0:     //男
                gender = "男";
                break;

            case 1:     //女
                gender = "女";
                head   = "ch_pc_hou_006_tou";
                chest  = "ch_pc_hou_006_shen";
                hand   = "ch_pc_hou_006_shou";
                feet   = "ch_pc_hou_006_jiao";
                break;

            default:
                break;
            }

            int careerindex = Career.selectedIndex;

            switch (careerindex)
            {
            case 0:     //战士
                Log.Debug(gender + "战士");
                break;

            case 1:     //法师
                Log.Debug(gender + "法师");
                skeleton = "ch_pc_hou_FaShi";
                weapon   = "ch_we_one_hou_006";
                break;

            default:
                break;
            }

            Demo = SekiaHelper.CreateCharacter(skeleton, weapon, head, chest, hand, feet);
            Demo.transform.localPosition    = new Vector3(30, -125, 1000); //位置
            Demo.transform.localScale       = new Vector3(125, 125, 125);  //大小
            Demo.transform.localEulerAngles = new Vector3(0, 180, 0);      //角度
            Wrapper = new GoWrapper(Demo);
            Holder.GObject.asGraph.SetNativeObject(Wrapper);

            //或者通过更新GoWrapper包装对象
            //参考:http://www.fairygui.com/guide/unity/insert3d.html
        }
Beispiel #14
0
    public bool SC_GetCharacterSimpleInfo(Protomsg.MsgBase d1)
    {
        Debug.Log("SC_GetCharacterSimpleInfo:");
        IMessage IMperson = new Protomsg.SC_GetCharacterSimpleInfo();

        Protomsg.SC_GetCharacterSimpleInfo p1 = (Protomsg.SC_GetCharacterSimpleInfo)IMperson.Descriptor.Parser.ParseFrom(d1.Datas);
        main.GetChild("name").asTextField.text          = p1.Name;
        main.GetChild("level").asTextField.text         = "lv." + p1.Level;
        main.GetChild("lastlogindate").asTextField.text = p1.LastLoginDate;

        //道具
        for (var j = 0; j < p1.EquipItems.Count; j++)
        {
            var item = main.GetChild("item" + (j + 1)).asButton;
            if (item == null)
            {
                continue;
            }
            var itemstrarr = p1.EquipItems[j].Split(',');
            if (itemstrarr.Length < 2)
            {
                item.GetChild("level").visible = false;
                continue;
            }
            var typeid = int.Parse(itemstrarr[0]);
            var level  = int.Parse(itemstrarr[1]);

            var clientitem = ExcelManager.Instance.GetItemManager().GetItemByID(typeid);
            if (clientitem == null)
            {
                item.asButton.icon = "";
                item.asButton.GetChild("level").asTextField.text = "";
                continue;
            }
            item.asButton.icon = clientitem.IconPath;
            item.asButton.GetChild("level").asTextField.text = "Lv." + level;

            item.onClick.Add(() => {
                if (typeid != -1)
                {
                    new ItemInfo(typeid);
                }
            });
        }

        //技能
        InitSkillInfo(p1.Skills);



        //模型
        var modeeffect = (GameObject)(GameObject.Instantiate(Resources.Load(p1.ModeType)));

        modeeffect.transform.localPosition = new Vector3(0, 0, 100);
        var box = modeeffect.GetComponent <BoxCollider>();

        modeeffect.transform.localScale = new Vector3(100, 100, 100);
        if (box != null)
        {
            var scale = box.size.y / 1.2f;
            modeeffect.transform.localScale = new Vector3(100 / scale, 100 / scale, 100 / scale);
        }
        Vector3 rotation = modeeffect.transform.localEulerAngles;

        rotation.x = 10; // 在这里修改坐标轴的值
        rotation.y = 180;
        rotation.z = 0;
        //将旋转的角度赋值给预制
        modeeffect.transform.localEulerAngles = rotation;
        //var modeeffect = (GameObject)(GameObject.Instantiate(Resources.Load(p1.ModeType)));
        //modeeffect.transform.localPosition = new Vector3(0, 0, 100);
        GGraph    holder  = main.GetChild("heromode").asGraph;
        GoWrapper wrapper = new GoWrapper(modeeffect);

        holder.SetNativeObject(wrapper);
        holder.z = 10;

        return(true);
    }