Inheritance: MonoBehaviour
    // Start is called before the first frame update
    void Start()
    {
        GroundDestroyIndicator = 0;
        GameObject Player = GameObject.Find("Player");

        stopcar = Player.GetComponent <StopCar>();
    }
 // Start is called before the first frame update
 void Start()
 {
     StartCoroutine(Move());
     StartCoroutine(SpeedChange());
     movecar = Object.FindObjectOfType <MoveCar>();
     stopcar = Object.FindObjectOfType <StopCar>();
 }
Beispiel #3
0
 // Start is called before the first frame update
 private void Start()
 {
     rb           = this.GetComponent <Rigidbody2D>();
     rb.velocity  = new Vector2(-speed, 0);
     screenBounds = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, Camera.main.transform.position.z));
     qte          = GameObject.FindObjectOfType(typeof(QuickTime)) as QuickTime;
     stop         = GameObject.FindObjectOfType(typeof(StopCar)) as StopCar;
 }
    IEnumerator control()
    {
        ProgrammingComponent pc = null;

        try
        {
            obj = startDot.GetComponent <connectDot>().connected.transform.parent.gameObject;
        }
        catch (Exception ex)
        {
            errorText.text = "つながっていない点があります。\n「ストップ」ブロックまで点がつながっているか確かめてください。";
            errorPanel.SetActive(true);
            startButton.enabled = true;
            stopButton.enabled  = false;
            yield break;
        }

        while (true)
        {
            runningAreaObject running = obj.GetComponent <runningAreaObject>();
            tempCol = obj.GetComponent <Image>().color;
            obj.GetComponent <Image>().color = Color.red;
            switch (running.type)
            {
            case ComponentType.Stop:
                pc = new StopCar();
                break;

            case ComponentType.Move:
                MoveWheel.Direction dir;
                MoveWheel.Strength  str = MoveWheel.Strength.Stop;

                if (running.dropDown1.captionText.text == "前")
                {
                    dir = MoveWheel.Direction.Forward;
                }
                else
                {
                    dir = MoveWheel.Direction.Backward;
                }

                if (running.dropDown2.captionText.text == "強")
                {
                    str = MoveWheel.Strength.Strong;
                }
                else if (running.dropDown2.captionText.text == "中")
                {
                    str = MoveWheel.Strength.Midium;
                }
                else if (running.dropDown2.captionText.text == "弱")
                {
                    str = MoveWheel.Strength.Weak;
                }
                else if (running.dropDown2.captionText.text == "止")
                {
                    str = MoveWheel.Strength.Stop;
                }

                MoveWheel.WheelSide side = running.wheelSide;
                pc = new MoveWheel(side, str, dir);
                break;

            case ComponentType.SonicSensorIf:
                float borderValue = 0;
                try
                {
                    borderValue = float.Parse(running.inputField.textComponent.text);
                }
                catch (Exception e)
                {
                    print("Exception");
                    errorText.text = "ちゃんと数字を入力していますか?\nわからなければ係員を呼んでください。";
                    errorPanel.SetActive(true);
                    stopControl();
                }
                SonicSensorIf.Comparison com;
                if (running.dropDown1.captionText.text == "以上")
                {
                    com = SonicSensorIf.Comparison.Bigger;
                }
                else
                {
                    com = SonicSensorIf.Comparison.Smaller;
                }
                pc = new SonicSensorIf(borderValue, com, http.getSensor());
                break;

            case ComponentType.Wait:
                //ここに時間待ち処理を直書きする
                float waitTime = 0;
                try
                {
                    waitTime = float.Parse(running.inputField.textComponent.text) / 1000f;
                }
                catch (Exception e)
                {
                    print("Exception");
                    errorText.text = "ちゃんと数字を入力していますか?\nわからなければ係員を呼んでください。";
                    errorPanel.SetActive(true);
                    stopControl();
                }

                pc = new Wait();
                yield return(new WaitForSeconds(waitTime));

                break;

            case ComponentType.End:
                print("end");
                http.setCommand("s,0");
                obj.GetComponent <Image>().color = tempCol;
                startButton.enabled = true;
                stopButton.enabled  = false;
                yield break;

            case ComponentType.Relay:
                pc = new Relay();
                break;

            default:
                print("error");
                break;
            }
            pc.component = obj;
            string command = pc.execute();

            http.setCommand(command);
            yield return(new WaitForSeconds(0.3f));

            obj.GetComponent <Image>().color = tempCol;
            try
            {
                obj = componentList[pc.nextComponent()];
            }
            catch (Exception ex)
            {
                errorText.text = "つながっていない点があります。\n「ストップ」ブロックまで点がつながっているか確かめてください。";
                errorPanel.SetActive(true);
                startButton.enabled = true;
                stopButton.enabled  = false;
                http.setCommand("s,0");
                yield break;
            }
        }
    }