UpgradeData.parseLine C# (CSharp) Method

parseLine() public method

public parseLine ( string line ) : void
line string
return void
    public void parseLine(string line)
    {
        var tokens = line.Split(' ');

        if (tokens[0] == UpgradeLevel.Type.Magnet.ToString()) {
          if (tokens[1] == TokenValue)
        for (int level = 0; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].specs.magnetRadius = float.Parse(tokens[2 + level]);
          else if (tokens[1] == TokenPrice)
        for (int level = 1; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].prices[(int)UpgradeLevel.Type.Magnet] = int.Parse(tokens[1 + level]);
        }

        else if (tokens[0] == UpgradeLevel.Type.CarrotSpray.ToString()) {
          if (tokens[1] == TokenValue)
        for (int level = 0; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].specs.carrotSprayCount = int.Parse(tokens[2 + level]);
          else if (tokens[1] == TokenPrice)
        for (int level = 1; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].prices[(int)UpgradeLevel.Type.CarrotSpray] = int.Parse(tokens[1 + level]);
        }

        else if (tokens[0] == UpgradeLevel.Type.BubbleGum.ToString()) {
          if (tokens[1] == TokenValue)
        for (int level = 0; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].specs.bubbleGumCount = int.Parse(tokens[2 + level]);
          else if (tokens[1] == TokenPrice)
        for (int level = 1; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].prices[(int)UpgradeLevel.Type.BubbleGum] = int.Parse(tokens[1 + level]);
        }

        else if (tokens[0] == UpgradeLevel.Type.PowerUpFart.ToString()) {
          if (tokens[1] == TokenValue) {
        if (tokens[2] == TokenCapacity)
          for (int level = 0; level < upgradeLevels.Length; ++level)
            upgradeLevels[level].specs.fartCapacity = float.Parse(tokens[3 + level]);
        else if (tokens[2] == TokenForce)
          for (int level = 0; level < upgradeLevels.Length; ++level)
            upgradeLevels[level].specs.fartForce = float.Parse(tokens[3 + level]);
          }
          else if (tokens[1] == TokenPrice)
        for (int level = 1; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].prices[(int)UpgradeLevel.Type.PowerUpFart] = int.Parse(tokens[1 + level]);
        }

        else if (tokens[0] == UpgradeLevel.Type.PowerUpGlide.ToString()) {
          if (tokens[1] == TokenValue) {
        if (tokens[2] == TokenCapacity)
          for (int level = 0; level < upgradeLevels.Length; ++level)
            upgradeLevels[level].specs.glideCapacity = float.Parse(tokens[3 + level]);
        else if (tokens[2] == TokenForce)
          for (int level = 0; level < upgradeLevels.Length; ++level)
            upgradeLevels[level].specs.glideForce = float.Parse(tokens[3 + level]);
          }
          else if (tokens[1] == TokenPrice)
        for (int level = 1; level < upgradeLevels.Length; ++level)
          upgradeLevels[level].prices[(int)UpgradeLevel.Type.PowerUpGlide] = int.Parse(tokens[1 + level]);
        }
    }