Пример #1
0
    public void Init(GameObject boxPrefab, Color boxColor)
    {
        BoxInfoForSlider.size = 1f;

        for (int i = 0; i < BoxInfoForSlider.count; i++)
        {
            var cube = Instantiate(boxPrefab);
            cube.transform.SetParent(this.transform);
            cube.transform.localPosition = new Vector3(0f, BoxInfoForSlider.size * i - BoxInfoForSlider.size * (BoxInfoForSlider.count - 1) / 2);
            _boxes.Add(cube);
        }

        float margin = 1.2f;

        _sliderCollider      = gameObject.AddComponent <BoxCollider>();
        _sliderCollider.size = new Vector3(BoxInfoForSlider.size * margin, BoxInfoForSlider.TotalSize(), BoxInfoForSlider.size * margin);

        var ev = gameObject.AddComponent <EventTrigger>();

        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID = EventTriggerType.PointerDown;
        entry.callback.AddListener((eventData) => { MoveBox((PointerEventData)eventData); });
        ev.triggers.Add(entry);


        foreach (var box in _boxes)
        {
            var boxCore = box.transform.GetChild(0).GetChild(0);
            boxCore.GetComponent <Renderer>().material.color = boxColor;
        }

        RenewBoxSlider(BoxInfoForSlider.HalfCount());
    }
Пример #2
0
 public IntSliderEventArgs(int _index, SliderType _type)
     : base()
 {
     index = _index - BoxInfoForSlider.HalfCount();
     type  = _type;
 }
Пример #3
0
 private int CalcBoxIndex(float y)
 {
     return((int)((y + BoxInfoForSlider.TotalSize() / 2) / BoxInfoForSlider.size));
 }