void Start() { Application.targetFrameRate = 60; GRoot.inst.SetContentScaleFactor(1136, 640); Stage.inst.onKeyDown.Add(OnKeyDown); UIPackage.AddPackage("UI/Guide"); _mainView = UIPackage.CreateObject("Guide", "Main").asCom; _mainView.fairyBatching = true; _mainView.SetSize(GRoot.inst.width, GRoot.inst.height); _mainView.AddRelation(GRoot.inst, RelationType.Size); GRoot.inst.AddChild(_mainView); _guideLayer = UIPackage.CreateObject("Guide", "GuideLayer").asCom; _guideLayer.SetSize(GRoot.inst.width, GRoot.inst.height); _guideLayer.AddRelation(GRoot.inst, RelationType.Size); GObject bagBtn = _mainView.GetChild("bagBtn"); bagBtn.onClick.Add(() => { _guideLayer.RemoveFromParent(); }); _mainView.GetChild("n2").onClick.Add(() => { Rect rect = bagBtn.LocalToGlobal(new Rect(0, 0, bagBtn.width, bagBtn.height)); GRoot.inst.AddChild(_guideLayer); //!!Before using GlobalToLocal, the object must be added first rect = bagBtn.TransformRect(new Rect(0, 0, bagBtn.width, bagBtn.height), _guideLayer); GObject window = _guideLayer.GetChild("window"); window.size = new Vector2((int)rect.size.x, (int)rect.size.y); window.TweenMove(new Vector2((int)rect.position.x, (int)rect.position.y), 0.5f); }); }
void Start() { Application.targetFrameRate = 60; Stage.inst.onKeyDown.Add(OnKeyDown); _mainView = this.GetComponent <UIPanel>().ui; _guideLayer = UIPackage.CreateObject("Guide", "GuideLayer").asCom; _guideLayer.SetSize(GRoot.inst.width, GRoot.inst.height); _guideLayer.AddRelation(GRoot.inst, RelationType.Size); GObject bagBtn = _mainView.GetChild("bagBtn"); bagBtn.onClick.Add(() => { _guideLayer.RemoveFromParent(); }); _mainView.GetChild("n2").onClick.Add(() => { GRoot.inst.AddChild(_guideLayer); //!!Before using GlobalToLocal, the object must be added first Rect rect = bagBtn.TransformRect(new Rect(0, 0, bagBtn.width, bagBtn.height), _guideLayer); GObject window = _guideLayer.GetChild("window"); window.size = new Vector2((int)rect.size.x, (int)rect.size.y); window.TweenMove(new Vector2((int)rect.position.x, (int)rect.position.y), 0.5f); }); }
//------------------------------ 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; }
public Rect getFirstBranch() { GObject firstItem = _branches.GetChildAt(0); Rect rect = firstItem.TransformRect(new Rect(0, 0, firstItem.width, firstItem.height), GRoot.inst); _branches.EnsureBoundsCorrect(); Vector2 center = _branches.LocalToGlobal(new Vector3(firstItem.position.x + firstItem.width / 2, firstItem.position.y + firstItem.height / 2, 0)); Rect trueRect = new Rect(center.x - rect.size.x / 2 - 4, center.y - rect.size.y / 2, rect.size.x + 4, rect.size.y + 4); //GuideManager.getInstance ()._guideLayer.setMark (GuideManager.getInstance ()._guideLayer.GlobalToLocal(center)); return(trueRect); }
public void showGuide(GObject target, string hint = "select one of branches", string arrowPos = "rt") { if (!init) { Init(); } _guideLayer.setWindowUntouchable(); GRoot.inst.AddChild(_guideLayer); //!!Before using TransformRect(or GlobalToLocal), the object must be added first //Rect rect = target.TransformRect(new Rect(0, 0, target.width, target.height), _guideLayer); Rect rect = target.TransformRect(new Rect(0, 0, target.width, target.height), GRoot.inst); if (arrowPos == "rt") { _guideLayer.setStyleRt(); } else { _guideLayer.setStyleLb(); } _guideLayer.setWindow(rect); _guideLayer.setHint(hint); }
public override object getAttr(string attrName) { if (gObject != null) { switch (attrName) { case "name": return(string.IsNullOrEmpty(gObject.name) ? gameObject.name : gObject.name); case "type": return(gObject.GetType().Name.Substring(1)); case "visible": return(gObject.onStage && gObject.visible); case "pos": { float x = 0f, y = 0f; float sizeX = 0f, sizeY = 0f; //锚点左上角修正居中到Center,为了点击更加精确 if (gObject.pivotX == 0.5f && gObject.pivotY == 0.5f) { Rect rect = gObject.TransformRect(new Rect(0, 0, gObject.width, gObject.height), null); sizeX = rect.width / (float)Screen.width; sizeY = rect.height / (float)Screen.height; //Debug.LogFormat(string.Format("<color=yellow>ancherPoint is not center,Need modeify sizeX:{0} sizeY:{1} gObject:{2}</color>", 0.5 * sizeX, 0.5 * sizeY, gObject.name)); } Vector2 vec2 = gObject.LocalToGlobal(Vector2.zero); x = vec2.x / (float)Screen.width + 0.5f * sizeX; y = vec2.y / (float)Screen.height + 0.5f * sizeY; return(new float[] { x, y }); } case "size": { //Debug.Log("gObject:" + gObject + " width:" + gObject.width + " height:"+gObject.height); Rect rect = gObject.TransformRect(new Rect(0, 0, gObject.width, gObject.height), null); //Debug.Log("rect:" + rect); return(new float[] { rect.width / (float)Screen.width, rect.height / (float)Screen.height }); } case "scale": return(new List <float>() { 1.0f, 1.0f }); case "anchorPoint": return(new float[] { gObject.pivotX, gObject.pivotY }); case "zOrders": return(GameObjectzOrders()); case "clickable": return(gObject.touchable); case "text": return(gObject.text); case "components": return(components); case "texture": return((gObject.displayObject != null && gObject.displayObject.graphics != null && gObject.displayObject.graphics.texture != null && gObject.displayObject.graphics.texture.nativeTexture != null) ? gObject.displayObject.graphics.texture.nativeTexture.name : null); case "tag": return(GameObjectTag()); case "layer": return(GameObjectLayerName()); case "_ilayer": return(GameObjectLayer()); case "_instanceId": return(gameObject.GetInstanceID()); default: return(null); } } else { switch (attrName) { case "name": return(gameObject.name); case "type": return(displayObject != null?displayObject.GetType().Name : DefaultTypeName); case "visible": return(displayObject != null ? (displayObject.stage != null && displayObject.visible) : true); case "pos": return(new float[] { 0.0f, 0.0f }); case "size": return(new float[] { 0.0f, 0.0f }); case "scale": return(new List <float>() { 1.0f, 1.0f }); case "anchorPoint": return(new float[] { 0.0f, 0.0f }); case "zOrders": return(new Dictionary <string, object>() { { "local", 0 }, { "global", 0 } }); case "clickable": return(false); case "components": return(components); case "tag": return(GameObjectTag()); case "layer": return(GameObjectLayerName()); case "_ilayer": return(GameObjectLayer()); case "_instanceId": return(gameObject.GetInstanceID()); default: return(null); } } }
public override object getAttr(string attrName) { if (gObject != null) { switch (attrName) { case "name": return(string.IsNullOrEmpty(gObject.name) ? gameObject.name : gObject.name); case "type": return(gObject.GetType().Name.Substring(1)); case "visible": return(gObject.onStage && gObject.visible); case "pos": { Vector2 vec2 = gObject.LocalToGlobal(Vector2.zero); return(new float[] { vec2.x / (float)Screen.width, vec2.y / (float)Screen.height }); } case "size": { Rect rect = gObject.TransformRect(new Rect(0, 0, gObject.width, gObject.height), null); return(new float[] { rect.width / (float)Screen.width, rect.height / (float)Screen.height }); } case "scale": return(new List <float>() { 1.0f, 1.0f }); case "anchorPoint": return(new float[] { gObject.pivotX, gObject.pivotY }); case "zOrders": return(GameObjectzOrders()); case "clickable": return(gObject.touchable); case "text": return(gObject.text); case "components": return(components); case "texture": return((gObject.displayObject != null && gObject.displayObject.graphics != null && gObject.displayObject.graphics.texture != null && gObject.displayObject.graphics.texture.nativeTexture != null) ? gObject.displayObject.graphics.texture.nativeTexture.name : null); case "tag": return(GameObjectTag()); case "layer": return(GameObjectLayerName()); case "_ilayer": return(GameObjectLayer()); case "_instanceId": return(gameObject.GetInstanceID()); default: return(null); } } else { switch (attrName) { case "name": return(gameObject.name); case "type": return(displayObject != null?displayObject.GetType().Name : DefaultTypeName); case "visible": return(displayObject != null ? (displayObject.stage != null && displayObject.visible) : true); case "pos": return(new float[] { 0.0f, 0.0f }); case "size": return(new float[] { 0.0f, 0.0f }); case "scale": return(new List <float>() { 1.0f, 1.0f }); case "anchorPoint": return(new float[] { 0.0f, 0.0f }); case "zOrders": return(new Dictionary <string, object>() { { "local", 0 }, { "global", 0 } }); case "clickable": return(false); case "components": return(components); case "tag": return(GameObjectTag()); case "layer": return(GameObjectLayerName()); case "_ilayer": return(GameObjectLayer()); case "_instanceId": return(gameObject.GetInstanceID()); default: return(null); } } }