settings
|
Before Width: | Height: | Size: 4.9 MiB After Width: | Height: | Size: 4.9 MiB |
|
Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 437 KiB |
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 18a6db7ab47a454ba05592a6ae895bb9
|
||||
timeCreated: 1774362636
|
||||
@@ -60,8 +60,10 @@ namespace NBF
|
||||
{
|
||||
// await Task.Delay(100);
|
||||
CommonTopPanel.Show();
|
||||
// SettingPanel.Show();
|
||||
LoginPanel.Show();
|
||||
SettingPanel.Show();
|
||||
// LoginPanel.Show();
|
||||
|
||||
// TestPanel.Show();
|
||||
|
||||
// SettingPanel.Show();
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ namespace NBF
|
||||
if (response.ErrorCode == ErrorCode.Success)
|
||||
{
|
||||
SetBindItemData(id, response.Rigs);
|
||||
Notices.Show("配件变更成功");
|
||||
Notices.Success("配件变更成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -168,7 +168,7 @@ namespace NBF
|
||||
if (response.ErrorCode == ErrorCode.Success)
|
||||
{
|
||||
SetBindItemData(id, response.Rigs);
|
||||
Notices.Show("配件变更成功");
|
||||
Notices.Success("配件变更成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -236,7 +236,7 @@ namespace NBF
|
||||
Slots.Clear();
|
||||
Slots.AddRange(response.Slots);
|
||||
// SetBindItemData(id, response.Rigs);
|
||||
Notices.Show("插槽设置成功");
|
||||
Notices.Success("插槽设置成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -26,8 +26,9 @@ namespace NBF
|
||||
UIObjectFactory.SetPackageItemExtension(BtnTextInputControl.URL, typeof(BtnTextInputControl));
|
||||
UIObjectFactory.SetPackageItemExtension(UserMenuInfo.URL, typeof(UserMenuInfo));
|
||||
UIObjectFactory.SetPackageItemExtension(CommonItemList.URL, typeof(CommonItemList));
|
||||
UIObjectFactory.SetPackageItemExtension(NoticeItem.URL, typeof(NoticeItem));
|
||||
UIObjectFactory.SetPackageItemExtension(NotificationItem.URL, typeof(NotificationItem));
|
||||
UIObjectFactory.SetPackageItemExtension(BtnInputControl.URL, typeof(BtnInputControl));
|
||||
UIObjectFactory.SetPackageItemExtension(AlertItem.URL, typeof(AlertItem));
|
||||
UIObjectFactory.SetPackageItemExtension(ListTitleItem.URL, typeof(ListTitleItem));
|
||||
UIObjectFactory.SetPackageItemExtension(BtnSubMenu.URL, typeof(BtnSubMenu));
|
||||
UIObjectFactory.SetPackageItemExtension(ModelViewer.URL, typeof(ModelViewer));
|
||||
|
||||
25
Assets/Scripts/UI/Common/Items/AlertItem.Designer.cs
generated
Normal file
@@ -0,0 +1,25 @@
|
||||
/**本脚本为自动生成,每次生成会覆盖!请勿手动修改,生成插件文档及项目地址:https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/
|
||||
|
||||
|
||||
using FairyGUI;
|
||||
using FairyGUI.Utils;
|
||||
using NBC;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class AlertItem
|
||||
{
|
||||
public const string URL = "ui://6hgkvlaur7eg18m";
|
||||
|
||||
public Controller show;
|
||||
|
||||
public override void ConstructFromXML(XML xml)
|
||||
{
|
||||
base.ConstructFromXML(xml);
|
||||
|
||||
show = GetController("show");
|
||||
OnInited();
|
||||
UILanguage.TrySetComponentLanguage(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 84369ab20bf2d024a862f3ec74340867
|
||||
20
Assets/Scripts/UI/Common/Items/AlertItem.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖
|
||||
|
||||
using UnityEngine;
|
||||
using FairyGUI;
|
||||
using NBC;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class AlertItem : GLabel
|
||||
{
|
||||
private void OnInited()
|
||||
{
|
||||
}
|
||||
|
||||
public void SetData(string msg)
|
||||
{
|
||||
title = msg;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/Common/Items/AlertItem.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1c70c1b4e60af94c8316470514c6e53
|
||||
@@ -7,7 +7,7 @@ using NBC;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class NoticeItem
|
||||
public partial class NotificationItem
|
||||
{
|
||||
public const string URL = "ui://6hgkvlaur03uj7";
|
||||
|
||||
@@ -6,7 +6,7 @@ using NBC;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class NoticeItem : GComponent
|
||||
public partial class NotificationItem : GComponent
|
||||
{
|
||||
private void OnInited()
|
||||
{
|
||||
@@ -12,7 +12,6 @@ namespace NBF
|
||||
public const string URL = "ui://6hgkvlaufcfggr";
|
||||
|
||||
public Controller showTitleCtrl;
|
||||
public GImage back;
|
||||
public GList List;
|
||||
|
||||
public override void ConstructFromXML(XML xml)
|
||||
@@ -20,7 +19,6 @@ namespace NBF
|
||||
base.ConstructFromXML(xml);
|
||||
|
||||
showTitleCtrl = GetController("showTitleCtrl");
|
||||
back = (GImage)GetChild("back");
|
||||
List = (GList)GetChild("List");
|
||||
OnInited();
|
||||
UILanguage.TrySetComponentLanguage(this);
|
||||
|
||||
3
Assets/Scripts/UI/Common/Panel/Information.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b22c6fd5099247e0aee146cef865175c
|
||||
timeCreated: 1774403352
|
||||
131
Assets/Scripts/UI/Common/Panel/Information/Alert.cs
Normal file
@@ -0,0 +1,131 @@
|
||||
using System.Collections.Generic;
|
||||
using FairyGUI;
|
||||
using NBC;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class Alert : INoticeComponent
|
||||
{
|
||||
private static bool _init;
|
||||
|
||||
private const int Gap = 8;
|
||||
private const int ItemWidth = 300;
|
||||
private const int ItemHeight = 42;
|
||||
|
||||
|
||||
private float _startY;
|
||||
private float _startX;
|
||||
private const int LimitCount = 6; //显示条数上限
|
||||
private GObjectPool _noticePool;
|
||||
private static readonly Queue<string> _msgArr = new();
|
||||
|
||||
protected GComponent ContentPane;
|
||||
|
||||
|
||||
public static void Show(string msg)
|
||||
{
|
||||
if (string.IsNullOrEmpty(msg)) return;
|
||||
Log.Info($"显示一个notice={msg}");
|
||||
if (!_init)
|
||||
{
|
||||
NoticesPanel.TryAddNoticeComponent(new Alert());
|
||||
}
|
||||
|
||||
_msgArr.Enqueue(msg);
|
||||
}
|
||||
|
||||
|
||||
public void OnInit(GComponent root)
|
||||
{
|
||||
_init = true;
|
||||
ContentPane = root;
|
||||
_noticePool = new GObjectPool(ContentPane.container.cachedTransform);
|
||||
_startY = GRoot.inst.height - ItemHeight - Gap - 90;
|
||||
_startX = GRoot.inst.width * 0.5f - ItemWidth * 0.5f;
|
||||
}
|
||||
|
||||
public void OnUpdate()
|
||||
{
|
||||
if (_msgArr.Count > 0)
|
||||
{
|
||||
var msg = _msgArr.Dequeue();
|
||||
ShowOnceNotice(msg);
|
||||
//旧的向上移动
|
||||
var count = ContentPane.numChildren - 1;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
GObject obj = ContentPane.GetChildAt(i);
|
||||
if (obj != null)
|
||||
{
|
||||
SetObjRise(obj);
|
||||
}
|
||||
}
|
||||
|
||||
RemoveLimitMsg();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnDestroy()
|
||||
{
|
||||
_noticePool.Clear();
|
||||
}
|
||||
|
||||
|
||||
private void ShowOnceNotice(string msg)
|
||||
{
|
||||
var item = GetFromPool(AlertItem.URL) as AlertItem;
|
||||
if (item == null) return;
|
||||
item.SetData(msg);
|
||||
item.x = _startX;
|
||||
item.y = _startY;
|
||||
|
||||
item.alpha = 1;
|
||||
//显示在固定区域 两秒后消失
|
||||
item.TweenFade(0, 0.5f).SetDelay(5).OnComplete(() => { ReturnToPool(item); });
|
||||
}
|
||||
|
||||
private void SetObjRise(GObject item)
|
||||
{
|
||||
item.TweenMoveY(item.y - item.height - 10, 0.2f).SetEase(EaseType.QuintInOut);
|
||||
}
|
||||
|
||||
private void RemoveLimitMsg()
|
||||
{
|
||||
var count = ContentPane.numChildren;
|
||||
if (count > LimitCount)
|
||||
{
|
||||
for (int i = 0; i < count - LimitCount; i++)
|
||||
{
|
||||
GObject obj = ContentPane.GetChildAt(i);
|
||||
if (obj != null)
|
||||
{
|
||||
if (GTween.IsTweening(obj))
|
||||
{
|
||||
GTween.Kill(obj, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ReturnToPool(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private GObject GetFromPool(string url)
|
||||
{
|
||||
var ret = _noticePool.GetObject(url);
|
||||
if (ret == null) return null;
|
||||
ret.visible = true;
|
||||
ContentPane.AddChild(ret);
|
||||
GTween.GetTween(ret, TweenPropType.Y)?.Kill();
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void ReturnToPool(GObject obj)
|
||||
{
|
||||
ContentPane.RemoveChild(obj);
|
||||
_noticePool.ReturnObject(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/UI/Common/Panel/Information/Alert.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 02c8803ebf5f404da737ff0f699f5866
|
||||
timeCreated: 1774402864
|
||||
@@ -0,0 +1,11 @@
|
||||
using FairyGUI;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public interface INoticeComponent
|
||||
{
|
||||
void OnInit(GComponent root);
|
||||
void OnUpdate();
|
||||
void OnDestroy();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5292036b17c4e4988a2d5bf383737ab
|
||||
timeCreated: 1774403415
|
||||
@@ -1,14 +1,10 @@
|
||||
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using FairyGUI;
|
||||
using UnityEngine;
|
||||
using NBC;
|
||||
using UIPanel = NBC.UIPanel;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class Notices : UIPanel
|
||||
public class Notices : INoticeComponent
|
||||
{
|
||||
public enum NoticeType
|
||||
{
|
||||
@@ -23,27 +19,29 @@ namespace NBF
|
||||
public NoticeType Type;
|
||||
public string Text;
|
||||
}
|
||||
|
||||
private static bool _isOpen;
|
||||
private static readonly Queue<NoticeData> _msgArr = new();
|
||||
|
||||
private GObjectPool _noticePool;
|
||||
private string _itemUrl;
|
||||
private float _startY;
|
||||
private float _startX;
|
||||
private const int LimitCount = 6; //显示条数上限
|
||||
private static bool _init;
|
||||
|
||||
private const int Gap = 8;
|
||||
private const int ItemWidth = 330;
|
||||
private const int ItemHeight = 76;
|
||||
|
||||
|
||||
private float _startY;
|
||||
private float _startX;
|
||||
private const int LimitCount = 6; //显示条数上限
|
||||
private GObjectPool _noticePool;
|
||||
private static readonly Queue<NoticeData> _msgArr = new();
|
||||
|
||||
protected GComponent ContentPane;
|
||||
|
||||
|
||||
public static void Info(string msg, NoticeType noticeType = NoticeType.Info)
|
||||
{
|
||||
if (string.IsNullOrEmpty(msg)) return;
|
||||
Log.Info($"显示一个notice={msg}");
|
||||
if (!_isOpen)
|
||||
if (!_init)
|
||||
{
|
||||
Notices.Show();
|
||||
NoticesPanel.TryAddNoticeComponent(new Notices());
|
||||
}
|
||||
|
||||
_msgArr.Enqueue(new NoticeData { Type = noticeType, Text = msg });
|
||||
@@ -65,21 +63,16 @@ namespace NBF
|
||||
}
|
||||
|
||||
|
||||
protected override void OnInit()
|
||||
public void OnInit(GComponent root)
|
||||
{
|
||||
ContentPane.sortingOrder = UIDef.UIOrder.Notices;
|
||||
_startY = GRoot.inst.height - ItemHeight - Gap - 110;
|
||||
_startX = GRoot.inst.width - ItemWidth - Gap;
|
||||
_itemUrl = UIPackage.GetItemURL(UIDef.Pack.Common, "NoticeItem");
|
||||
_init = true;
|
||||
ContentPane = root;
|
||||
_noticePool = new GObjectPool(ContentPane.container.cachedTransform);
|
||||
_startY = Gap + 140;
|
||||
_startX = GRoot.inst.width - ItemWidth - Gap;
|
||||
}
|
||||
|
||||
protected override void OnShow()
|
||||
{
|
||||
_isOpen = true;
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
public void OnUpdate()
|
||||
{
|
||||
if (_msgArr.Count > 0)
|
||||
{
|
||||
@@ -100,25 +93,28 @@ namespace NBF
|
||||
}
|
||||
}
|
||||
|
||||
//region notice
|
||||
public void OnDestroy()
|
||||
{
|
||||
_noticePool.Clear();
|
||||
}
|
||||
|
||||
|
||||
private void ShowOnceNotice(NoticeData notice)
|
||||
{
|
||||
var item = GetFromPool(_itemUrl) as NoticeItem;
|
||||
var item = GetFromPool(NotificationItem.URL) as NotificationItem;
|
||||
if (item == null) return;
|
||||
item.SetData(notice.Text, notice.Type);
|
||||
item.x = _startX;
|
||||
item.y = _startY;
|
||||
|
||||
item.alpha = 1;
|
||||
// item.TweenFade(0, 0.5f).SetDelay(2);
|
||||
// item.TweenMoveY(0, 3).SetEase(EaseType.QuintInOut).OnComplete(() => { ReturnToPool(item); });
|
||||
//显示在固定区域 两秒后消失
|
||||
item.TweenFade(0, 0.5f).SetDelay(3).OnComplete(() => { ReturnToPool(item); });
|
||||
}
|
||||
|
||||
private void SetObjRise(GObject item)
|
||||
{
|
||||
item.TweenMoveY(item.y - item.height - 10, 0.2f).SetEase(EaseType.QuintInOut);
|
||||
item.TweenMoveY(item.y + item.height + Gap, 0.2f).SetEase(EaseType.QuintInOut);
|
||||
}
|
||||
|
||||
private void RemoveLimitMsg()
|
||||
@@ -159,15 +155,5 @@ namespace NBF
|
||||
ContentPane.RemoveChild(obj);
|
||||
_noticePool.ReturnObject(obj);
|
||||
}
|
||||
|
||||
protected override void OnHide()
|
||||
{
|
||||
_isOpen = false;
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
_noticePool.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a2c129ec53a45f29b5a3ad6d4869d8a
|
||||
timeCreated: 1774402966
|
||||
@@ -8,21 +8,21 @@ using System.Collections.Generic;
|
||||
namespace NBF
|
||||
{
|
||||
/// <summary> </summary>
|
||||
public partial class Notices
|
||||
public partial class NoticesPanel
|
||||
{
|
||||
public GObject this[string aKey] => ContentPane.GetChild(aKey);
|
||||
public override string UIPackName => "Common";
|
||||
public override string UIResName => "Notices";
|
||||
public override string UIResName => "NoticesPanel";
|
||||
|
||||
[AutoFind(Name = "show")]
|
||||
public Controller show;
|
||||
public override string[] GetDependPackages(){ return new string[] {}; }
|
||||
|
||||
public static void Show(object param = null){ UI.Inst.OpenUI<Notices>(param); }
|
||||
public static void Show(object param = null){ UI.Inst.OpenUI<NoticesPanel>(param); }
|
||||
|
||||
public static void Hide(){ UI.Inst.HideUI<Notices>(); }
|
||||
public static void Hide(){ UI.Inst.HideUI<NoticesPanel>(); }
|
||||
|
||||
public static void Del(){ UI.Inst.DestroyUI<Notices>(); }
|
||||
public static void Del(){ UI.Inst.DestroyUI<NoticesPanel>(); }
|
||||
|
||||
}
|
||||
}
|
||||
82
Assets/Scripts/UI/Common/Panel/Information/NoticesPanel.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FairyGUI;
|
||||
using UnityEngine;
|
||||
using NBC;
|
||||
using UIPanel = NBC.UIPanel;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class NoticesPanel : UIPanel
|
||||
{
|
||||
private static HashSet<INoticeComponent> _noticeComponents = new();
|
||||
private static Queue<INoticeComponent> _waitAddComponents = new();
|
||||
private static bool _isOpen;
|
||||
|
||||
public static void TryAddNoticeComponent(INoticeComponent noticeComponent)
|
||||
{
|
||||
if (!_isOpen)
|
||||
{
|
||||
Show();
|
||||
}
|
||||
|
||||
if (_noticeComponents.Any(iNoticeComponent => iNoticeComponent.GetType() == noticeComponent.GetType()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_waitAddComponents.Any(waitAddComponent => waitAddComponent.GetType() == noticeComponent.GetType()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_waitAddComponents.Enqueue(noticeComponent);
|
||||
}
|
||||
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
ContentPane.sortingOrder = UIDef.UIOrder.Notices;
|
||||
}
|
||||
|
||||
protected override void OnShow()
|
||||
{
|
||||
_isOpen = true;
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
foreach (var noticeComponent in _noticeComponents)
|
||||
{
|
||||
noticeComponent?.OnUpdate();
|
||||
}
|
||||
|
||||
if (_waitAddComponents.Count > 0)
|
||||
{
|
||||
var com = _waitAddComponents.Dequeue();
|
||||
var noticeComponent = UIPackage.CreateObject(UIDef.Pack.Common, "CommonContainer") as GComponent;
|
||||
noticeComponent.width = ContentPane.width;
|
||||
noticeComponent.height = ContentPane.height;
|
||||
ContentPane.AddChild(noticeComponent);
|
||||
com.OnInit(noticeComponent);
|
||||
_noticeComponents.Add(com);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected override void OnHide()
|
||||
{
|
||||
_isOpen = false;
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
foreach (var noticeComponent in _noticeComponents)
|
||||
{
|
||||
noticeComponent?.OnDestroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,10 @@ namespace NBF
|
||||
public MainMenu MainMenu;
|
||||
[AutoFind(Name = "SubMenu")]
|
||||
public CommonSubMenu SubMenu;
|
||||
[AutoFind(Name = "BtnTest1")]
|
||||
public GButton BtnTest1;
|
||||
[AutoFind(Name = "BtnTest2")]
|
||||
public GButton BtnTest2;
|
||||
public override string[] GetDependPackages(){ return new string[] {}; }
|
||||
|
||||
public static void Show(object param = null){ UI.Inst.OpenUI<TestPanel>(param); }
|
||||
|
||||
@@ -1,11 +1,29 @@
|
||||
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
||||
|
||||
using FairyGUI;
|
||||
using UnityEngine;
|
||||
using NBC;
|
||||
using UIPanel = NBC.UIPanel;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class TestPanel : UIPanel
|
||||
{
|
||||
protected override void OnInit()
|
||||
{
|
||||
this.AutoAddClick(OnClick);
|
||||
}
|
||||
|
||||
public void OnClick(GComponent btn)
|
||||
{
|
||||
if (btn == BtnTest1)
|
||||
{
|
||||
Notices.Info("测试1");
|
||||
}
|
||||
else if (btn == BtnTest2)
|
||||
{
|
||||
Alert.Show("测试2");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ namespace NBF
|
||||
UIObjectFactory.SetPackageItemExtension(BtnTextInputControl.URL, typeof(BtnTextInputControl));
|
||||
UIObjectFactory.SetPackageItemExtension(CommonItemList.URL, typeof(CommonItemList));
|
||||
UIObjectFactory.SetPackageItemExtension(BtnTitleInputControl.URL, typeof(BtnTitleInputControl));
|
||||
UIObjectFactory.SetPackageItemExtension(NoticeItem.URL, typeof(NoticeItem));
|
||||
UIObjectFactory.SetPackageItemExtension(NotificationItem.URL, typeof(NotificationItem));
|
||||
UIObjectFactory.SetPackageItemExtension(CommonSubMenu.URL, typeof(CommonSubMenu));
|
||||
UIObjectFactory.SetPackageItemExtension(BtnInputControl.URL, typeof(BtnInputControl));
|
||||
UIObjectFactory.SetPackageItemExtension(ListTitleItem.URL, typeof(ListTitleItem));
|
||||
|
||||
28
Assets/Scripts/UI/ItemDetailPanel.Designer.cs
generated
Normal file
@@ -0,0 +1,28 @@
|
||||
/**本脚本为自动生成,每次生成会覆盖!请勿手动修改,生成插件文档及项目地址:https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/
|
||||
|
||||
using FairyGUI;
|
||||
using FairyGUI.Utils;
|
||||
using NBC;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
/// <summary> </summary>
|
||||
public partial class ItemDetailPanel
|
||||
{
|
||||
public GObject this[string aKey] => ContentPane.GetChild(aKey);
|
||||
public override string UIPackName => "Common";
|
||||
public override string UIResName => "ItemDetailPanel";
|
||||
|
||||
[AutoFind(Name = "style")]
|
||||
public Controller style;
|
||||
public override string[] GetDependPackages(){ return new string[] {}; }
|
||||
|
||||
public static void Show(object param = null){ UI.Inst.OpenUI<ItemDetailPanel>(param); }
|
||||
|
||||
public static void Hide(){ UI.Inst.HideUI<ItemDetailPanel>(); }
|
||||
|
||||
public static void Del(){ UI.Inst.DestroyUI<ItemDetailPanel>(); }
|
||||
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/ItemDetailPanel.Designer.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a56d8c2ef3e8aa4c945f60e3811960d
|
||||
11
Assets/Scripts/UI/ItemDetailPanel.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
||||
|
||||
using UnityEngine;
|
||||
using NBC;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public partial class ItemDetailPanel : UIPanel
|
||||
{
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/ItemDetailPanel.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9c40f1ff900783e489e95cc37f33ad84
|
||||
@@ -2,7 +2,7 @@
|
||||
<component size="61,32" extention="Button">
|
||||
<controller name="styleCtrl" pages="0,,1," selected="0"/>
|
||||
<displayList>
|
||||
<text id="n0_mnqh" name="title" xy="18,0" pivot="0.5,0.5" size="24,32" fontSize="22" color="#ffffff" align="center" vAlign="middle" text="W">
|
||||
<text id="n0_mnqh" name="title" xy="18,0" pivot="0.5,0.5" size="24,32" fontSize="22" color="#b6b6b6" align="center" vAlign="middle" shadowColor="#000000" shadowOffset="1,1" text="W">
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</text>
|
||||
</displayList>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="100,100">
|
||||
<component size="100,100" opaque="false">
|
||||
<controller name="show" pages="0,,1," selected="0"/>
|
||||
<displayList/>
|
||||
</component>
|
||||
@@ -5,10 +5,7 @@
|
||||
<remark page="1" value="显示"/>
|
||||
</controller>
|
||||
<displayList>
|
||||
<image id="n17_dczw" name="back" src="9wej10r" fileName="Images/button/button_square_1.png" xy="78,123" size="765,56" color="#000000">
|
||||
<relation target="n15_vboj" sidePair="rightext-right"/>
|
||||
</image>
|
||||
<list id="n15_vboj" name="List" xy="137,123" size="646,56" layout="row" overflow="hidden" scroll="horizontal" defaultItem="ui://6hgkvlauvbojt5" autoItemSize="false" autoClearItems="true">
|
||||
<list id="n15_vboj" name="List" xy="80,110" size="646,70" layout="row" overflow="hidden" scroll="horizontal" defaultItem="ui://6hgkvlauvbojxi" autoItemSize="false" autoClearItems="true">
|
||||
<item title="主页"/>
|
||||
<item title="排行榜"/>
|
||||
<item title="商店"/>
|
||||
@@ -16,12 +13,14 @@
|
||||
<item title="俱乐部"/>
|
||||
<item title="设置"/>
|
||||
</list>
|
||||
<component id="n48_ay5q" name="n48" src="r03ut" fileName="Com/Buttons/BtnInputControl.xml" xy="94,135" size="32,32"/>
|
||||
<component id="n49_ay5q" name="n49" src="r03ut" fileName="Com/Buttons/BtnInputControl.xml" xy="798,134" size="32,32">
|
||||
<relation target="n17_dczw" sidePair="middle-middle,right-right"/>
|
||||
<component id="n48_ay5q" name="n48" src="r03ut" fileName="Com/Buttons/BtnInputControl.xml" xy="41,122" size="22,22">
|
||||
<relation target="n15_vboj" sidePair="middle-middle,left-left"/>
|
||||
</component>
|
||||
<component id="n50_ay5q" name="title" src="mbu9ya" fileName="Com/Tags/ComoomMenuTitle.xml" xy="78,67">
|
||||
<component id="n49_ay5q" name="n49" src="r03ut" fileName="Com/Buttons/BtnInputControl.xml" xy="746,122" size="22,22">
|
||||
<relation target="n15_vboj" sidePair="middle-middle,right-right"/>
|
||||
</component>
|
||||
<text id="n53_r7eg" name="title" xy="80,41" size="95,62" fontSize="46" color="#e7e9d1" text="社交">
|
||||
<gearDisplay controller="showTitleCtrl" pages="1"/>
|
||||
</component>
|
||||
</text>
|
||||
</displayList>
|
||||
</component>
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="8,4" extention="Button">
|
||||
<component size="16,2" extention="Button">
|
||||
<controller name="button" pages="2,up,3,down" selected="0"/>
|
||||
<displayList>
|
||||
<image id="n14_5dtx" name="n14" src="kryob" fileName="Images/Square.png" pkg="xo76q8wz" xy="0,0" size="8,4" alpha="0.5">
|
||||
<image id="n14_5dtx" name="n14" src="kryob" fileName="Images/Square.png" pkg="xo76q8wz" xy="0,0" size="16,2" alpha="0.5" color="#b6b6b6">
|
||||
<gearLook controller="button" pages="2" values="0.5,0,0,0" default="1,0,0,0"/>
|
||||
<gearColor controller="button" pages="2,3" values="#ffffff|#2cffb9"/>
|
||||
<gearColor controller="button" pages="2,3" values="#b6b6b6|#ffffff"/>
|
||||
</image>
|
||||
</displayList>
|
||||
<Button mode="Radio"/>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="84,4">
|
||||
<component size="84,2">
|
||||
<displayList>
|
||||
<list id="n15_5dtx" name="List" xy="0,0" size="84,4" layout="row" colGap="4" defaultItem="ui://6hgkvlau5dtx19" align="center" autoClearItems="true">
|
||||
<list id="n15_5dtx" name="List" xy="0,0" size="84,2" layout="row" colGap="4" defaultItem="ui://6hgkvlau5dtx19" align="center" autoClearItems="true">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
<item/>
|
||||
<item/>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="50,4" extention="Slider">
|
||||
<displayList>
|
||||
<image id="n4_mnqh" name="n4" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="50,4" alpha="0.3">
|
||||
<image id="n4_mnqh" name="n4" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="50,4" alpha="0.3" color="#696969">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
</image>
|
||||
<image id="n1_e9z8" name="bar" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="50,4" color="#2cffb9"/>
|
||||
<image id="n1_e9z8" name="bar" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="50,4" color="#818181"/>
|
||||
<component id="n2_e9z8" name="grip" src="e9z8k3" fileName="Com/Slider/Slider1_grip.xml" xy="40,-8" pivot="0.5,0.5">
|
||||
<relation target="n1_e9z8" sidePair="right-right"/>
|
||||
</component>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<component size="20,20" extention="Button">
|
||||
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
|
||||
<displayList>
|
||||
<image id="n0_e9z8" name="n0" src="mnqhz4" fileName="ImagesNew/Circle/Circle - 32.png" xy="4,4" pivot="0.5,0.5" size="12,12" color="#2cffb9">
|
||||
<image id="n0_e9z8" name="n0" src="mnqhz4" fileName="ImagesNew/Circle/Circle - 32.png" xy="4,4" pivot="0.5,0.5" size="12,12" color="#dfdfdf">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
</image>
|
||||
</displayList>
|
||||
|
||||
18
FGUIProject/assets/Common/Com/Tags/AlertItem.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="300,42" extention="Label" designImage="ui://6hgkvlaur7eg18n" designImageOffsetX="-85" designImageOffsetY="-35" designImageAlpha="0">
|
||||
<controller name="show" pages="0,,1," selected="0"/>
|
||||
<displayList>
|
||||
<image id="n1_r7eg" name="n1" src="r03uiu" fileName="ImagesNew/Glow/Gradient.png" xy="-59,0" size="419,42" color="#857b58">
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</image>
|
||||
<image id="n2_r7eg" name="n2" src="r03uiu" fileName="ImagesNew/Glow/Gradient.png" xy="-64,0" size="419,1" alpha="0.3">
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</image>
|
||||
<image id="n3_r7eg" name="n3" src="r03uiu" fileName="ImagesNew/Glow/Gradient.png" xy="-59,41" size="419,1" alpha="0.3">
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</image>
|
||||
<text id="n0_r7eg" name="title" xy="110,7" pivot="0.5,0.5" size="79,28" fontSize="19" color="#ffffff" align="center" text="提示文字">
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</text>
|
||||
</displayList>
|
||||
</component>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="92,72" extention="Button" designImageOffsetX="-369" designImageOffsetY="-20" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down,4,over,5,selectedOver" selected="1"/>
|
||||
<controller name="button" pages="2,up,3,down,4,over,5,selectedOver" selected="0"/>
|
||||
<displayList>
|
||||
<image id="n12_jd2r" name="n12" src="vbojsb" fileName="ImagesNew/Glow/glow_horizontal/glow_horizontal_1.png" xy="0,-3" size="92,74" alpha="0.8" color="#203c2d">
|
||||
<gearDisplay controller="button" pages="3,4,5"/>
|
||||
@@ -10,11 +10,11 @@
|
||||
<gearDisplay controller="button" pages="3,5"/>
|
||||
<relation target="" sidePair="width-width,height-height,center-center,bottom-bottom"/>
|
||||
</image>
|
||||
<image id="n14_jd2r" name="selectLine" src="r03uiu" fileName="ImagesNew/Glow/Gradient.png" xy="-1,70" size="94,2" alpha="0.7">
|
||||
<image id="n14_jd2r" name="selectLine" src="r03uiu" fileName="ImagesNew/Glow/Gradient.png" xy="-1,70" size="94,2" alpha="0">
|
||||
<gearLook controller="button" pages="2,4" values="0,0,0,0|0,0,0,0" default="0.7,0,0,0" tween="true"/>
|
||||
<relation target="" sidePair="width-width,center-center,bottom-bottom"/>
|
||||
</image>
|
||||
<text id="n10_vboj" name="title" xy="22,21" pivot="0.5,0.5" size="47,32" fontSize="22" color="#ffffff" align="center" vAlign="middle" text="主页">
|
||||
<text id="n10_vboj" name="title" xy="22,21" pivot="0.5,0.5" size="47,32" fontSize="22" color="#63645e" align="center" vAlign="middle" text="主页">
|
||||
<gearColor controller="button" pages="2,3,4,5" values="#63645e,#000000|#ffffff,#000000|#ffffff,#000000|#ffffff,#000000" tween="true"/>
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</text>
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="100,40" pivot="0.5,0.5" extention="Button" designImage="ui://6hgkvlaujd2r188" designImageOffsetX="-217" designImageOffsetY="-20" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down" selected="0"/>
|
||||
<component size="100,40" pivot="0.5,0.5" overflow="hidden" extention="Button" designImage="ui://6hgkvlaujd2r188" designImageOffsetX="-217" designImageOffsetY="-20" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down,6,over,7,selectedOver" selected="3"/>
|
||||
<displayList>
|
||||
<image id="n5_jd2r" name="n5" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="100,40" color="#272725">
|
||||
<relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
|
||||
</image>
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="0,0" size="100,40" alpha="0.1" color="#fff8d3">
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="0,0" size="100,40" alpha="0.4" color="#fff8d3">
|
||||
<gearLook controller="button" pages="6,7" values="0.4,0,0,0|0.4,0,0,0" default="0.1,0,0,0" tween="true"/>
|
||||
<relation target="" sidePair="width-width,height-height,center-center,bottom-bottom"/>
|
||||
</image>
|
||||
<image id="n3_jd2r" name="n3" src="vbojo8" fileName="ImagesNew/Square/square128_stroke2px.png" xy="0,0" size="100,40" color="#646464">
|
||||
@@ -15,5 +16,5 @@
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</richtext>
|
||||
</displayList>
|
||||
<Button downEffect="scale" downEffectValue="0.95"/>
|
||||
<Button/>
|
||||
</component>
|
||||
@@ -1,10 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="150,50" extention="Button" designImage="ui://6hgkvlaujd2r189" designImageOffsetX="-217" designImageOffsetY="-24" designImageAlpha="0">
|
||||
<component size="150,50" overflow="hidden" extention="Button" designImage="ui://6hgkvlaujd2r189" designImageOffsetX="-217" designImageOffsetY="-24" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down,4,over,5,selectedOver" selected="3"/>
|
||||
<displayList>
|
||||
<image id="n5_jd2r" name="n5" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="150,50" color="#272725">
|
||||
<relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
|
||||
</image>
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="45,0" size="105,50" alpha="0.1" color="#fff8d3">
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="45,0" size="105,50" alpha="0.4" color="#fff8d3">
|
||||
<gearLook controller="button" pages="4,5" values="0.4,0,0,0|0.4,0,0,0" default="0.1,0,0,0" tween="true"/>
|
||||
<relation target="" sidePair="width-width,height-height,center-center,bottom-bottom"/>
|
||||
</image>
|
||||
<image id="n7_jd2r" name="InputBack" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="46,50" alpha="0.6" color="#000000">
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="150,50" extention="Button" designImage="ui://6hgkvlaujd2r189" designImageOffsetX="-25" designImageOffsetY="-12" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down,4,over,5,selectedOver" selected="3"/>
|
||||
<displayList>
|
||||
<image id="n5_jd2r" name="n5" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="150,50" color="#857b58">
|
||||
<relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
|
||||
</image>
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="21,-21" size="151,71" alpha="0.3" color="#fff8d3">
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="21,-21" size="151,71" alpha="0.7" color="#fff8d3">
|
||||
<gearLook controller="button" pages="4,5" values="0.7,0,0,0|0.7,0,0,0" default="0.3,0,0,0" tween="true"/>
|
||||
<relation target="" sidePair="width-width,height-height,center-center,bottom-bottom"/>
|
||||
</image>
|
||||
<image id="n7_jd2r" name="InputBack" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="46,50" alpha="0.6" color="#000000">
|
||||
|
||||
20
FGUIProject/assets/Common/ComNew/Button/ButtonCommonTab.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="148,44" overflow="hidden" extention="Button" designImage="ui://6hgkvlaur7eg18o" designImageOffsetX="-21" designImageOffsetY="-24" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down,4,over,5,selectedOver" selected="2"/>
|
||||
<displayList>
|
||||
<image id="n3_r7eg" name="n3" src="h6z617s" fileName="ImagesNew/Glow/TopGlow.png" xy="-42,0" pivot="0.1,0" size="232,60" alpha="0">
|
||||
<gearLook controller="button" pages="3,5" values="0.1,0,0,0|0.1,0,0,0" default="0,0,0,0" tween="true"/>
|
||||
<relation target="" sidePair="center-center,top-top"/>
|
||||
</image>
|
||||
<image id="n1_r7eg" name="select_line" src="r7eg18q" fileName="ImagesNew/Square/square128_stroke_half_1px.png" xy="0,0" size="148,44" alpha="0" color="#474747">
|
||||
<gearLook controller="button" pages="3,5" values="1,0,0,0|1,0,0,0" default="0,0,0,0" tween="true"/>
|
||||
</image>
|
||||
<image id="n2_r7eg" name="bottom_line" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,43" size="148,1" color="#474747">
|
||||
<gearLook controller="button" pages="3,5" values="0,0,0,0|0,0,0,0" default="1,0,0,0"/>
|
||||
</image>
|
||||
<text id="n0_r7eg" name="title" xy="53,9" size="43,29" fontSize="20" color="#ffffff" text="常规">
|
||||
<gearColor controller="button" pages="3,4,5" values="#ffffff,#000000|#ffffff,#000000|#ffffff,#000000" default="#b0b1ac,#000000" tween="true"/>
|
||||
</text>
|
||||
</displayList>
|
||||
<Button mode="Radio"/>
|
||||
</component>
|
||||
@@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="100,40" pivot="0.5,0.5" extention="Button" designImage="ui://6hgkvlaujd2r189" designImageOffsetX="-190" designImageOffsetY="-20" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down" selected="0"/>
|
||||
<component size="100,40" pivot="0.5,0.5" overflow="hidden" extention="Button" designImage="ui://6hgkvlaujd2r189" designImageOffsetX="-190" designImageOffsetY="-20" designImageAlpha="0">
|
||||
<controller name="button" pages="2,up,3,down,4,over,5,selectedOver" selected="3"/>
|
||||
<displayList>
|
||||
<image id="n5_jd2r" name="n5" src="vbojnh" fileName="ImagesNew/Square/square128_fill.png" xy="0,0" size="100,40" color="#857b58">
|
||||
<relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
|
||||
</image>
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="-27,-21" size="155,61" alpha="0.3" color="#fff8d3">
|
||||
<image id="n6_jd2r" name="n6" src="h6z617r" fileName="ImagesNew/Glow/BottomGlow.png" xy="-27,-21" size="155,61" alpha="0.7" color="#fff8d3">
|
||||
<gearLook controller="button" pages="4,5" values="0.7,0,0,0|0.7,0,0,0" default="0.3,0,0,0" tween="true"/>
|
||||
<relation target="" sidePair="width-width,height-height,center-center,bottom-bottom"/>
|
||||
</image>
|
||||
<image id="n3_jd2r" name="n3" src="vbojo8" fileName="ImagesNew/Square/square128_stroke2px.png" xy="0,0" size="100,40" color="#9b966e">
|
||||
@@ -15,5 +16,5 @@
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</richtext>
|
||||
</displayList>
|
||||
<Button downEffect="scale" downEffectValue="0.95"/>
|
||||
<Button/>
|
||||
</component>
|
||||
|
Before Width: | Height: | Size: 78 B |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 21 KiB |