Ejemplo n.º 1
0
 public override void DoAction(LittleBox newLittleBox)
 {
     if (settingPaths)
     {
         if (!pathDick.ContainsKey(newPathColor))
         {
             pathEndDick.Add(newPathColor, new PathList());
             FlowPuzzle.shortenPathsDick.Add(newPathColor, new List <FlowBox>());
             pathDick.Add(newPathColor, new PathList());
             pathDick[newPathColor].pathColor = newPathColor;
         }
         if (pathEndDick[newPathColor].Count < 2)
         {
             newLittleBox.isEndPoint = true;
             newLittleBox.Occupy(newPathColor, ExperimentPanel.puzzleSprites[0], 0);
             newLittleBox.images[0].color = Color.clear;
             pathEndDick[newPathColor].Add(newLittleBox);
         }
         else
         {
             print("Pick a new path color");
         }
     }
     else
     {
         base.DoAction(newLittleBox);
     }
 }
Ejemplo n.º 2
0
 public override void ExtendPath(LittleBox newLittleBox)
 {
     if (!isComplete)
     {
         if (newLittleBox == MazePuzzle.finishEndPoint)
         {
             CompletePath(newLittleBox);
         }
         else
         {
             int xNewDiff = newLittleBox.position [0] - this[Count - 1].position [0];
             int yNewDiff = newLittleBox.position [1] - this[Count - 1].position [1];
             if (Count > 1)
             {
                 ChangeLastPathEndSprite(xNewDiff, yNewDiff);
             }
             int newRotation = -90 * xNewDiff + 90 * (Mathf.Abs(yNewDiff) - 1 * yNewDiff);
             newLittleBox.Occupy(pathColor, ExperimentPanel.puzzleSprites[3], newRotation);
             newLittleBox.pathPosition = Count;
             Add(newLittleBox);
         }
     }
 }