Ejemplo n.º 1
0
    public int WinAreaNumber = 1;                                                           // 中獎區編號

    private void Start()
    {
        // 初始給值
        BallFirstPos = Ball.transform.position;
        PinFirstPos  = Pin.transform.position;
        BallList.Add(Ball);
        ReplayM = this.GetComponent <ReplayManager>();

        // 上方設定
        TopCapsule.SetActive(false);
        int            horizontalOffset = int.Parse(HorizontalField.text);
        int            verticalOffset   = int.Parse(VerticalField.text);
        TopCapsuleInfo tempInfo         = new TopCapsuleInfo();

        tempInfo.capsule          = GameObject.Instantiate <GameObject>(TopCapsule);
        tempInfo.HorizontalOffset = horizontalOffset;
        tempInfo.VerticalOffset   = verticalOffset;
        tempInfo.capsule.SetActive(true);
        tempInfo.capsule.transform.SetParent(TopCapsule.GetComponentInParent <Transform>());
        tempInfo.NameID = 0;
        TopCapsuleList.Add(tempInfo);

        MoveTopCapsule();
        ResetPhysicMaterial();
    }
Ejemplo n.º 2
0
    public void ChangeIndexTopCapsule()
    {
        SelectCapsuleIndex = TopCapsuleDD.value;
        if (TopCapsuleList.Count > SelectCapsuleIndex)
        {
            TopCapsuleInfo info = TopCapsuleList[SelectCapsuleIndex];

            HorizontalField.text = info.HorizontalOffset.ToString();
            VerticalField.text   = info.VerticalOffset.ToString();
        }
    }
Ejemplo n.º 3
0
    public void MoveTopCapsule()
    {
        if (TopCapsuleList.Count > SelectCapsuleIndex)
        {
            TopCapsuleInfo info = TopCapsuleList[SelectCapsuleIndex];

            int horizontalOffset = int.Parse(HorizontalField.text);
            int verticalOffset   = int.Parse(VerticalField.text);
            info.HorizontalOffset = horizontalOffset;
            info.VerticalOffset   = verticalOffset;

            float x = Mathf.Lerp(TopCapsule_MinMaxHorizontal.x, TopCapsule_MinMaxHorizontal.y, (float)(horizontalOffset + 20) / 40);                    // 來回 -20 ~ 20 之間
            float y = Mathf.Lerp(TopCapsule_MinMaxVertical.x, TopCapsule_MinMaxVertical.y, 1 - (float)(verticalOffset) / 30);                           // 來回 0 ~ 30 之間
            info.capsule.transform.position = new Vector3(x, y, info.capsule.transform.position.z);
        }
    }
Ejemplo n.º 4
0
    // Top Capsule 相關
    public void AddTopCapsule()
    {
        int lastText = TopCapsuleList[TopCapsuleList.Count - 1].NameID;

        TopCapsuleDD.options.Add(new Dropdown.OptionData(text: (lastText + 1).ToString()));

        TopCapsuleInfo tempInfo = new TopCapsuleInfo();

        tempInfo.capsule          = GameObject.Instantiate <GameObject>(TopCapsule);
        tempInfo.HorizontalOffset = 0;
        tempInfo.VerticalOffset   = 0;
        tempInfo.capsule.SetActive(true);
        tempInfo.capsule.transform.SetParent(TopCapsule.GetComponentInParent <Transform>());
        tempInfo.NameID = lastText + 1;
        TopCapsuleList.Add(tempInfo);

        // 改變 List
        HorizontalField.text = "0";
        VerticalField.text   = "0";
        SelectCapsuleIndex   = TopCapsuleList.Count - 1;
        TopCapsuleDD.value   = SelectCapsuleIndex;

        MoveTopCapsule();
    }