Ejemplo n.º 1
0
 public GenPatternList(GenPattern sub, int count)
 {
     for (int i = 0; i < count; ++i)
     {
         patterns.Add(sub);
     }
 }
Ejemplo n.º 2
0
        public void generate(GameObject scene)
        {
            float target = Random.Range(0, totalPossibility);
            float p      = 0.0f;

            SinglePattern targPattern = null;
            string        patternName = "";

            do
            {
                foreach (KeyValuePair <string, SinglePattern> pair in patterns)
                {
                    p += pair.Value.prob;
                    if (p >= target)
                    {
                        targPattern = pair.Value;
                        patternName = pair.Key;
                        break;
                    }
                }
            } while(lastGenPattern != null && !lastGenPattern.acceptsAsNextPattern(patternName));
            lastGenPattern = targPattern.pattern;
            generate(scene, targPattern.pattern);
            //Debug.Log("Generate " + patternName);
        }
Ejemplo n.º 3
0
 public GenRepeatRandomTimes(GenPattern pat, int a, int b)
 {
     pattern = pat;
     from    = a;
     to      = b;
 }
Ejemplo n.º 4
0
 public GenWithPlatform(GenPattern _pattern, double genProb)
 {
     pattern  = _pattern;
     platProb = genProb;
 }
Ejemplo n.º 5
0
 public SinglePattern(GenPattern _pattern, float p)
 {
     pattern = _pattern;
     prob    = p;
 }
Ejemplo n.º 6
0
 public void generate(GameObject scene, GenPattern pattern)
 {
     targetX += pattern.generateAt(scene, targetX);
 }
Ejemplo n.º 7
0
 public void addPattern(string name, GenPattern pattern, float prob = 1.0f)
 {
     patterns.Add(name, new SinglePattern(pattern, prob));
     totalPossibility += prob;
 }