提交修改

This commit is contained in:
Bob.Song
2026-03-06 09:44:00 +08:00
parent e125bb869e
commit db7bc90fe2
3631 changed files with 9050 additions and 395938 deletions

View File

@@ -1,441 +0,0 @@
using UnityEngine;
using System.Collections.Generic;
using FairyGUI;
public class BasicsMain : MonoBehaviour
{
private GComponent _mainView;
private GObject _backBtn;
private GComponent _demoContainer;
private Controller _viewController;
private Dictionary<string, GComponent> _demoObjects;
public Gradient lineGradient;
void Awake()
{
#if (UNITY_5 || UNITY_5_3_OR_NEWER)
//Use the font names directly
UIConfig.defaultFont = "Microsoft YaHei";
#else
//Need to put a ttf file into Resources folder. Here is the file name of the ttf file.
UIConfig.defaultFont = "afont";
#endif
UIPackage.AddPackage("UI/Basics");
UIConfig.verticalScrollBar = "ui://Basics/ScrollBar_VT";
UIConfig.horizontalScrollBar = "ui://Basics/ScrollBar_HZ";
UIConfig.popupMenu = "ui://Basics/PopupMenu";
UIConfig.buttonSound = (NAudioClip)UIPackage.GetItemAsset("Basics", "click");
}
void Start()
{
Application.targetFrameRate = 60;
Stage.inst.onKeyDown.Add(OnKeyDown);
_mainView = this.GetComponent<UIPanel>().ui;
_backBtn = _mainView.GetChild("btn_Back");
_backBtn.visible = false;
_backBtn.onClick.Add(onClickBack);
_demoContainer = _mainView.GetChild("container").asCom;
_viewController = _mainView.GetController("c1");
_demoObjects = new Dictionary<string, GComponent>();
int cnt = _mainView.numChildren;
for (int i = 0; i < cnt; i++)
{
GObject obj = _mainView.GetChildAt(i);
if (obj.group != null && obj.group.name == "btns")
obj.onClick.Add(runDemo);
}
}
private void runDemo(EventContext context)
{
string type = ((GObject)(context.sender)).name.Substring(4);
GComponent obj;
if (!_demoObjects.TryGetValue(type, out obj))
{
obj = UIPackage.CreateObject("Basics", "Demo_" + type).asCom;
_demoObjects[type] = obj;
}
_demoContainer.RemoveChildren();
_demoContainer.AddChild(obj);
_viewController.selectedIndex = 1;
_backBtn.visible = true;
switch (type)
{
case "Graph":
PlayGraph();
break;
case "Button":
PlayButton();
break;
case "Text":
PlayText();
break;
case "Grid":
PlayGrid();
break;
case "Transition":
PlayTransition();
break;
case "Window":
PlayWindow();
break;
case "Popup":
PlayPopup();
break;
case "Drag&Drop":
PlayDragDrop();
break;
case "Depth":
PlayDepth();
break;
case "ProgressBar":
PlayProgressBar();
break;
}
}
private void onClickBack()
{
_viewController.selectedIndex = 0;
_backBtn.visible = false;
}
void OnKeyDown(EventContext context)
{
if (context.inputEvent.keyCode == KeyCode.Escape)
{
Application.Quit();
}
}
//-----------------------------
private void PlayGraph()
{
GComponent obj = _demoObjects["Graph"];
Shape shape;
shape = obj.GetChild("pie").asGraph.shape;
EllipseMesh ellipse = shape.graphics.GetMeshFactory<EllipseMesh>();
ellipse.startDegree = 30;
ellipse.endDegreee = 300;
shape.graphics.SetMeshDirty();
shape = obj.GetChild("trapezoid").asGraph.shape;
PolygonMesh trapezoid = shape.graphics.GetMeshFactory<PolygonMesh>();
trapezoid.usePercentPositions = true;
trapezoid.points.Clear();
trapezoid.points.Add(new Vector2(0f, 1f));
trapezoid.points.Add(new Vector2(0.3f, 0));
trapezoid.points.Add(new Vector2(0.7f, 0));
trapezoid.points.Add(new Vector2(1f, 1f));
trapezoid.texcoords.Clear();
trapezoid.texcoords.AddRange(VertexBuffer.NormalizedUV);
shape.graphics.SetMeshDirty();
shape.graphics.texture = (NTexture)UIPackage.GetItemAsset("Basics", "change");
shape = obj.GetChild("line").asGraph.shape;
LineMesh line = shape.graphics.GetMeshFactory<LineMesh>();
line.lineWidthCurve = AnimationCurve.Linear(0, 25, 1, 10);
line.roundEdge = true;
line.gradient = lineGradient;
line.path.Create(new GPathPoint[] {
new GPathPoint(new Vector3(0, 120, 0)),
new GPathPoint(new Vector3(20, 120, 0)),
new GPathPoint(new Vector3(100, 100, 0)),
new GPathPoint(new Vector3(180, 30, 0)),
new GPathPoint(new Vector3(100, 0, 0)),
new GPathPoint(new Vector3(20, 30, 0)),
new GPathPoint(new Vector3(100, 100, 0)),
new GPathPoint(new Vector3(180, 120, 0)),
new GPathPoint(new Vector3(200, 120, 0)),
});
shape.graphics.SetMeshDirty();
GTween.To(0, 1, 5).SetEase(EaseType.Linear).SetTarget(shape.graphics).OnUpdate((GTweener t) =>
{
((NGraphics)t.target).GetMeshFactory<LineMesh>().fillEnd = t.value.x;
((NGraphics)t.target).SetMeshDirty();
});
shape = obj.GetChild("line2").asGraph.shape;
LineMesh line2 = shape.graphics.GetMeshFactory<LineMesh>();
line2.lineWidth = 3;
line2.roundEdge = true;
line2.path.Create(new GPathPoint[] {
new GPathPoint(new Vector3(0, 120, 0), GPathPoint.CurveType.Straight),
new GPathPoint(new Vector3(60, 30, 0), GPathPoint.CurveType.Straight),
new GPathPoint(new Vector3(80, 90, 0), GPathPoint.CurveType.Straight),
new GPathPoint(new Vector3(140, 30, 0), GPathPoint.CurveType.Straight),
new GPathPoint(new Vector3(160, 90, 0), GPathPoint.CurveType.Straight),
new GPathPoint(new Vector3(220, 30, 0), GPathPoint.CurveType.Straight)
});
shape.graphics.SetMeshDirty();
GObject image = obj.GetChild("line3");
LineMesh line3 = image.displayObject.graphics.GetMeshFactory<LineMesh>();
line3.lineWidth = 30;
line3.roundEdge = false;
line3.path.Create(new GPathPoint[] {
new GPathPoint(new Vector3(0, 30, 0), new Vector3(50, -30), new Vector3(150, -50)),
new GPathPoint(new Vector3(200, 30, 0), new Vector3(300, 130)),
new GPathPoint(new Vector3(400, 30, 0))
});
image.displayObject.graphics.SetMeshDirty();
}
//-----------------------------
private void PlayButton()
{
GComponent obj = _demoObjects["Button"];
obj.GetChild("n34").onClick.Add(() => { UnityEngine.Debug.Log("click button"); });
}
//------------------------------
private void PlayText()
{
GComponent obj = _demoObjects["Text"];
obj.GetChild("n12").asRichTextField.onClickLink.Add((EventContext context) =>
{
GRichTextField t = context.sender as GRichTextField;
t.text = "[img]ui://Basics/pet[/img][color=#FF0000]You click the link[/color]" + context.data;
});
obj.GetChild("n25").onClick.Add(() =>
{
obj.GetChild("n24").text = obj.GetChild("n22").text;
});
}
//------------------------------
private void PlayGrid()
{
GComponent obj = _demoObjects["Grid"];
GList list1 = obj.GetChild("list1").asList;
list1.RemoveChildrenToPool();
string[] testNames = System.Enum.GetNames(typeof(RuntimePlatform));
Color[] testColor = new Color[] { Color.yellow, Color.red, Color.white, Color.cyan };
int cnt = testNames.Length;
for (int i = 0; i < cnt; i++)
{
GButton item = list1.AddItemFromPool().asButton;
item.GetChild("t0").text = "" + (i + 1);
item.GetChild("t1").text = testNames[i];
item.GetChild("t2").asTextField.color = testColor[UnityEngine.Random.Range(0, 4)];
item.GetChild("star").asProgress.value = (int)((float)UnityEngine.Random.Range(1, 4) / 3f * 100);
}
GList list2 = obj.GetChild("list2").asList;
list2.RemoveChildrenToPool();
for (int i = 0; i < cnt; i++)
{
GButton item = list2.AddItemFromPool().asButton;
item.GetChild("cb").asButton.selected = false;
item.GetChild("t1").text = testNames[i];
item.GetChild("mc").asMovieClip.playing = i % 2 == 0;
item.GetChild("t3").text = "" + UnityEngine.Random.Range(0, 10000);
}
}
//------------------------------
private void PlayTransition()
{
GComponent obj = _demoObjects["Transition"];
obj.GetChild("n2").asCom.GetTransition("t0").Play(int.MaxValue, 0, null);
obj.GetChild("n3").asCom.GetTransition("peng").Play(int.MaxValue, 0, null);
obj.onAddedToStage.Add(() =>
{
obj.GetChild("n2").asCom.GetTransition("t0").Stop();
obj.GetChild("n3").asCom.GetTransition("peng").Stop();
});
}
//------------------------------
private Window _winA;
private Window _winB;
private void PlayWindow()
{
GComponent obj = _demoObjects["Window"];
obj.GetChild("n0").onClick.Add(() =>
{
if (_winA == null)
_winA = new Window1();
_winA.Show();
});
obj.GetChild("n1").onClick.Add(() =>
{
if (_winB == null)
_winB = new Window2();
_winB.Show();
});
}
//------------------------------
private PopupMenu _pm;
private GComponent _popupCom;
private void PlayPopup()
{
if (_pm == null)
{
_pm = new PopupMenu();
_pm.AddItem("Item 1", __clickMenu);
_pm.AddItem("Item 2", __clickMenu);
_pm.AddItem("Item 3", __clickMenu);
_pm.AddItem("Item 4", __clickMenu);
}
if (_popupCom == null)
{
_popupCom = UIPackage.CreateObject("Basics", "Component12").asCom;
_popupCom.Center();
}
GComponent obj = _demoObjects["Popup"];
obj.GetChild("n0").onClick.Add((EventContext context) =>
{
_pm.Show((GObject)context.sender, PopupDirection.Down);
});
obj.GetChild("n1").onClick.Add(() =>
{
GRoot.inst.ShowPopup(_popupCom);
});
obj.onRightClick.Add(() =>
{
_pm.Show();
});
}
private void __clickMenu(EventContext context)
{
GObject itemObject = (GObject)context.data;
UnityEngine.Debug.Log("click " + itemObject.text);
}
//------------------------------
Vector2 startPos;
private void PlayDepth()
{
GComponent obj = _demoObjects["Depth"];
GComponent testContainer = obj.GetChild("n22").asCom;
GObject fixedObj = testContainer.GetChild("n0");
fixedObj.sortingOrder = 100;
fixedObj.draggable = true;
int numChildren = testContainer.numChildren;
int i = 0;
while (i < numChildren)
{
GObject child = testContainer.GetChildAt(i);
if (child != fixedObj)
{
testContainer.RemoveChildAt(i);
numChildren--;
}
else
i++;
}
startPos = new Vector2(fixedObj.x, fixedObj.y);
obj.GetChild("btn0").onClick.Add(() =>
{
GGraph graph = new GGraph();
startPos.x += 10;
startPos.y += 10;
graph.xy = startPos;
graph.DrawRect(150, 150, 1, Color.black, Color.red);
obj.GetChild("n22").asCom.AddChild(graph);
});
obj.GetChild("btn1").onClick.Add(() =>
{
GGraph graph = new GGraph();
startPos.x += 10;
startPos.y += 10;
graph.xy = startPos;
graph.DrawRect(150, 150, 1, Color.black, Color.green);
graph.sortingOrder = 200;
obj.GetChild("n22").asCom.AddChild(graph);
});
}
//------------------------------
private void PlayDragDrop()
{
GComponent obj = _demoObjects["Drag&Drop"];
obj.GetChild("a").draggable = true;
GButton b = obj.GetChild("b").asButton;
b.draggable = true;
b.onDragStart.Add((EventContext context) =>
{
//Cancel the original dragging, and start a new one with a agent.
context.PreventDefault();
DragDropManager.inst.StartDrag(b, b.icon, b.icon, (int)context.data);
});
GButton c = obj.GetChild("c").asButton;
c.icon = null;
c.onDrop.Add((EventContext context) =>
{
c.icon = (string)context.data;
});
GObject bounds = obj.GetChild("n7");
Rect rect = bounds.TransformRect(new Rect(0, 0, bounds.width, bounds.height), GRoot.inst);
//---!!Because at this time the container is on the right side of the stage and beginning to move to left(transition), so we need to caculate the final position
rect.x -= obj.parent.x;
//----
GButton d = obj.GetChild("d").asButton;
d.draggable = true;
d.dragBounds = rect;
}
//------------------------------
private void PlayProgressBar()
{
GComponent obj = _demoObjects["ProgressBar"];
Timers.inst.Add(0.001f, 0, __playProgress);
obj.onRemovedFromStage.Add(() => { Timers.inst.Remove(__playProgress); });
}
void __playProgress(object param)
{
GComponent obj = _demoObjects["ProgressBar"];
int cnt = obj.numChildren;
for (int i = 0; i < cnt; i++)
{
GProgressBar child = obj.GetChildAt(i) as GProgressBar;
if (child != null)
{
child.value += 1;
if (child.value > child.max)
child.value = 0;
}
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: a7c649dfadf79df4a963190eded74b30
timeCreated: 1446194671
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,29 +0,0 @@
using System;
using System.Collections.Generic;
using FairyGUI;
public class Window1 : Window
{
public Window1()
{
}
protected override void OnInit()
{
this.contentPane = UIPackage.CreateObject("Basics", "WindowA").asCom;
this.Center();
}
override protected void OnShown()
{
GList list = this.contentPane.GetChild("n6").asList;
list.RemoveChildrenToPool();
for (int i = 0; i < 6; i++)
{
GButton item = list.AddItemFromPool().asButton;
item.title = "" + i;
item.icon = UIPackage.GetItemURL("Basics", "r4");
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: f9e33dc08a51fd04883526e4f5129e42
timeCreated: 1447054717
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,39 +0,0 @@
using System;
using System.Collections.Generic;
using FairyGUI;
using UnityEngine;
public class Window2 : Window
{
public Window2()
{
}
protected override void OnInit()
{
this.contentPane = UIPackage.CreateObject("Basics", "WindowB").asCom;
this.Center();
}
override protected void DoShowAnimation()
{
this.SetScale(0.1f, 0.1f);
this.SetPivot(0.5f, 0.5f);
this.TweenScale(new Vector2(1, 1), 0.3f).OnComplete(this.OnShown);
}
override protected void DoHideAnimation()
{
this.TweenScale(new Vector2(0.1f, 0.1f), 0.3f).OnComplete(this.HideImmediately);
}
override protected void OnShown()
{
contentPane.GetTransition("t1").Play();
}
override protected void OnHide()
{
contentPane.GetTransition("t1").Stop();
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: f922289dfda2b1d4689eabfcdf6a5b91
timeCreated: 1447054712
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: