Esempio n. 1
0
    private MappingButton CreateButton(float x, float y)
    {
        GameObject button = Instantiate(buttonPrefab, new Vector3(0, 0, 0), Quaternion.identity) as GameObject;

        button.transform.SetParent(this.transform, false);

        MappingButton mappingButton = button.GetComponent <MappingButton>();

        mappingButton.duration = this.GetSpeedInputVal();
        mappingButton.InitializeFirstButton(x, y);

        return(mappingButton);
    }
Esempio n. 2
0
    // Update is called once per frame
    private void Update()
    {
        this.UpdatePositionLabel(Input.mousePosition.x, Input.mousePosition.y);
        this.UpdateTimerLabel();

        if (this.mapTimer.IsRunning && Input.GetMouseButtonDown(0))
        {
            this.curPosition[0] = Input.mousePosition.x;
            this.curPosition[1] = Input.mousePosition.y;
            this.curTime        = this.mapTimer.ElapsedMilliseconds;

            this.curButton    = this.CreateButton(this.curPosition[0], this.curPosition[1]);
            this.lastPosition = Input.mousePosition;
        }

        if (Input.GetMouseButton(0) && this.curButton != null)
        {
            Vector3 diffPos = Input.mousePosition - this.lastPosition;

            this.curButton.dragRegion.gameObject.transform.localScale    += new Vector3(((Mathf.Abs(diffPos.x) + Mathf.Abs(diffPos.y)) * 1 / 60f * scaleSensitivity), 0f, 0f);
            this.curButton.dragRegion.gameObject.transform.localPosition += ((diffPos) * scaleSensitivity * 0.75f);

            this.curButton.InitializeLastButton(Input.mousePosition.x, Input.mousePosition.y);
            this.lastPosition = Input.mousePosition;
        }
        else if (Input.GetMouseButtonUp(0) && curButton != null)
        {
            ButtonItem button = new ButtonItem();
            button.time = this.curTime + this.GetSpeedInputVal();

            button.position[0]    = this.curPosition[0];
            button.position[1]    = this.curPosition[1];
            button.isDrag         = this.curButton.isDrag;
            button.endPosition[0] = this.lastPosition.x;
            button.endPosition[1] = this.lastPosition.y;

            this.mappedButtons.Add(button.time, button);

            this.curButton    = null;
            this.lastPosition = new Vector3();
        }

        if (curButton != null && curButton.buttonTimer.ElapsedMilliseconds > curButton.duration)
        {
            ButtonItem button = new ButtonItem();
            button.time = this.curTime + this.GetSpeedInputVal();

            button.position[0]    = this.curPosition[0];
            button.position[1]    = this.curPosition[1];
            button.isDrag         = this.curButton.isDrag;
            button.endPosition[0] = this.lastPosition.x;
            button.endPosition[1] = this.lastPosition.y;

            this.mappedButtons.Add(button.time, button);

            curButton.DestroyButton();

            this.curButton    = null;
            this.lastPosition = new Vector3();
        }
    }