Esempio n. 1
0
 void initVals()
 {
     Genmode      = genmodeE.gen_b43_1;
     linkRadius   = 0.08f;
     linkNodeSize = 3 * linkRadius;
     mappars      = new MapGenParameters();
     LinkFLoor    = new Range(0, 0);
     nodesvisible = true;
     nodeMoveMode = nodeMoveModeE.move;
 }
Esempio n. 2
0
        public void StartStretchMode()
        {
            var stretchnodename = curEditNode.name;

            Debug.Log("StartStrechMode selname:" + stretchnodename);
            grc.uniqueNodePrefix = uniqueNodePrefix;
            grc.uniqueLinkPrefix = uniqueLinkPrefix;

            if (grc.IsNodeName(stretchnodename))
            {
                var node = grc.GetNode(stretchnodename);
                if (nodeMoveMode == nodeMoveModeE.move)
                {
                    // turn purple and start stretching
                    this.nodeMoveMode = nodeMoveModeE.stretch;
                    originalpos       = node.pt;
                    lm.SetNodeColorOverride(node.name, "purple", node.go);
                }
                else
                {
                    // now stop stretching
                    //var npt = grc.finishStretchMovement(selname, originalpos,linkUseType, editNodeRegion.regid);
                    var nodename = LcNode.NormName(stretchnodename);
                    var lnode    = grc.GetNode(nodename);
                    var closeest = grc.FindClosestNodeToNodeGo(lnode);
                    if (Vector3.Distance(closeest.go.transform.position, lnode.go.transform.position) > 0.2f)
                    {
                        // move the node because there is nothing close (20 cm)
                        var newname = grc.genuniquenodename();
                        var newnode = grc.GetNewNode(newname, lnode.go.transform.position, lnode.usetype);
                        newnode.regid = editNodeRegion.regid;
                        lnode.pt      = originalpos;
                        lnode.go.transform.position = originalpos;
                        var lnk = grc.AddLink("", lnode, newnode, linkUseType);
                        lnk.regid = editNodeRegion.regid;
                        SetCurrentEditNode(newnode.name);
                    }
                    else
                    {
                        // here we just link to the closest node ... this may not always be the right thing to do
                        var newlinkname = grc.genuniquelinkname();
                        var lnk         = grc.AddLink(newlinkname, lnode, closeest, linkUseType);
                        lnk.regid = editNodeRegion.regid;
                    }
                    lm.RemoveNodeColorOverride(node.name);
                    nodeMoveMode = nodeMoveModeE.move;
                    //sm.RequestHighObjRefresh(selname,"SetStretchMode");
                }
            }
            else
            {
                Debug.Log("Not a node name:" + stretchnodename);
            }
        }
Esempio n. 3
0
        public void StartStretchMode(string selname)
        {
            var lcld = getLinkCloud();

            if (lcld.isnodename(selname))
            {
                if (nodeMoveMode == nodeMoveModeE.move)
                {
                    // turn purple and start stretching
                    this.nodeMoveMode = nodeMoveModeE.stretch;
                    var lpt  = lcld.GetNode(selname);
                    var csph = GraphUtil.CreateMarkerSphere(name, lpt.pt, linkNodeSize * 2, "purple");
                    csph.transform.parent = lpt.go.transform;
                    lcld.StartStretchNode(selname);
                }
                else
                {
                    // now stop stretching
                    lcld.finishStretchMovement(selname);
                    nodeMoveMode = nodeMoveModeE.move;
                    rman.RequestRefresh(selname);
                }
            }
        }
Esempio n. 4
0
 public void Init(LinkCloudMan lm, SceneMan sm)
 {
     this.lm      = lm;
     this.sm      = sm;
     nodeMoveMode = nodeMoveModeE.move;
 }