コード例 #1
0
    // 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();
        //}
    }
コード例 #2
0
 // Update is called once per frame
 void Update()
 {
     currDriver.PerformMove();
     if (currDriver.MoveFinished)
     {
         currDriver = drivers[drivers.IndexOf(currDriver) + 1];
     }
 }
コード例 #3
0
    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);
    }