Esempio n. 1
0
        public override AbsUnderNode Build()
        {
            RootUnderNode n = new RootUnderNode();

            // Set parameters
            n.rootPos    = rootPos;
            n.rootNormal = rootNormal;
            n.rootPower  = UnityEngine.Random.Range(rootPowerMin, rootPowerMax);
            n.mustEmpty  = mustEmpty;

            // Fill output ports
            root.realized = () => n.root;

            return(n);
        }
Esempio n. 2
0
        public MatryoshkaGenerator NewGenerator()
        {
            if (root)
            {
#if PROFILE
                UnityEngine.Profiling.Profiler.BeginSample("Matryoshka.NewGenerator");
#endif
                RootUnderNode n = buildNodeRec(root) as RootUnderNode;
#if PROFILE
                UnityEngine.Profiling.Profiler.EndSample();
#endif
                return(new MatryoshkaGenerator(n, root.seedCenter));
            }

            return(null);
        }
Esempio n. 3
0
 public MatryoshkaGenerator(RootUnderNode root, Vector3Int offset)
 {
     this.root   = root;
     this.offset = offset;
 }