Esempio n. 1
0
 RailDirection findInverseDirInNeighboringBlock(RailBlock block, RailDirectionEnum direction)
 {
     for (int i = 0; i < block.directions.Length; i++)
     {
         int temp = (int)block.directions[i].direction + 2;
         if (temp >= 4)
         {
             temp = temp - 4;
         }
         if (direction == (RailDirectionEnum)temp)
         {
             return(block.directions [i]);
         }
     }
     return(null);
 }
Esempio n. 2
0
 void findInverseDirInNeighboringBlock(RailBlock block)
 {
     for (int i = 0; i < block.directions.Length; i++)
     {
         int temp = (int)block.directions[i].direction + 2;
         if (temp >= 4)
         {
             temp = temp - 4;
         }
         if (direction == (RailDirectionEnum)temp)
         {
             block.directions [i].neighborBlock = parent;
             return;
         }
     }
     neighborBlock = null;
     return;
 }
Esempio n. 3
0
    void findNewDirection()
    {
        int randomDir = 0;

        if (nextBlock.directions.Length == 1 || avaibleDir.Count == 1)
        {
            randomDir = 0;
        }
        else
        {
            randomDir = Random.Range(0, avaibleDir.Count);
        }
        nextBlock         = avaibleDir [randomDir].NeighborBlock;
        currentDirections = avaibleDir [randomDir].direction;
        target            = avaibleDir [randomDir].NeighborBlock.transform;
        sawBlock.rotation = Quaternion.Euler(0, 0, 90 * avaibleDir[randomDir].VecDirection.y);
        canMove           = true;
    }
Esempio n. 4
0
 public void SetDef(RailBlock block)
 {
     defDirection = direction;
     parent       = block;
 }
Esempio n. 5
0
 public void GetStartData(RailBlock block, RailDirectionEnum firstDir)
 {
     nextBlock         = block;
     target            = block.transform;
     currentDirections = firstDir;
 }