// Start is called before the first frame update void Start() { //leftLegMiddle = FindObjectOfType<LeftLegMiddle>(); //leftLegTop = FindObjectOfType<LeftLegTop>(); // leg = FindObjectOfType<LeftLegBottom>(); Sprite sprite = Resources.Load <Sprite>("Spider/bodY"); CommandParser p = new CommandParser(); drivers = p.ParseTextToDriversList(textToParse); if (drivers.Any()) { currDriver = drivers.First(); } //List<LegDriver> moves = new List<LegDriver>(); //List<string> commands = new List<string>(); //commands = textToParse.Trim().Split(';').ToList(); //foreach (string command in commands) //{ // moves.Add(new LegDriver(command)); //} //if (moves.Any()) //{ // currMove = moves.First(); //} }
// Update is called once per frame void 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 lub błąd konwersji"); break; default: throw new Exception("Nieznany typ ruchu lub błąd konwersji"); break; } return(driver); }