Exemple #1
0
        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);
        }