static void Main(string[] args) { CommandParser p = new CommandParser(); drivers = p.ParseTextToDriversList(textToParse); if (drivers.Any()) { currDriver = drivers.First(); } while (true) // w Unity działa niejako w pętli wywołując metodę Update { currDriver.PerformMove(); if (currDriver.MoveFinished) { currDriver = drivers[drivers.IndexOf(currDriver) + 1]; } } }
private LegDriver ParseCommandToDriver(Command command) { LegDriver driver; switch (command.Type) { case CommandType.wait: driver = new LegDriver(null, command.Range); break; case CommandType.nogi_L: driver = new LegDriver(new List <Leg> { FindObjectOfType <LeftLegBottom>(), FindObjectOfType <LeftLegTop>() }, command.Range); break; case CommandType.nogi_P: driver = new LegDriver(new List <Leg> { FindObjectOfType <RightLegBottom>(), FindObjectOfType <RightLegTop>() }, command.Range); break; case CommandType.nogi_S: driver = new LegDriver(new List <Leg> { FindObjectOfType <RightLegMiddle>(), FindObjectOfType <LeftLegMiddle>() }, command.Range); break; case CommandType.unknown: // Debug.Log("Nieznany typ ruchu lub błąd konwersji"); throw new Exception("Nieznany typ ruchu"); default: throw new Exception("Nieznany typ ruchu lub błąd konwersji"); break; } return(driver); }