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); }
//加载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); }
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); }
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); })); }
// 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); }
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", } } }; } }
//初始化 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 }
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); }