Страница 1 из 1

Как изменять переменную во всех копиях скрипта?

СообщениеДобавлено: 20 окт 2018, 21:56
Legion13
Здравствуйте. У меня есть 2 кнопки. На обеих висит один и тот же скрипт. Если нажать на эти кнопки поочередно, то переменная со скрипта инициализируется несколько раз. Как сделать так, что бы переменная не инициализировалось по второму кругу, а изменялась везде? Сторона с PlayerPrefs не подходит.

Re: Как изменять переменную во всех копиях скрипта?

СообщениеДобавлено: 21 окт 2018, 00:54
Friend123
Из описания не понятно ничего! Код в студию.

Re: Как изменять переменную во всех копиях скрипта?

СообщениеДобавлено: 21 окт 2018, 12:45
Legion13
Friend123 писал(а):Из описания не понятно ничего! Код в студию.

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class DropDown : MonoBehaviour, IPointerClickHandler, IPointerExitHandler
{
    public RectTransform container;
    public bool isOpen;
    public GameObject panel;
    public Button btn_deselect;

    public void OnPointerClick(PointerEventData eventData)
    {
        if (isOpen == true)
        {
            isOpen = false;
            //panel.gameObject.SetActive(false);
        }
        else if (isOpen == false)
        {
            isOpen = true;
            panel.gameObject.SetActive(true);
        }
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        btn_deselect.OnDeselect(null);
        //isOpen = false;
    }

    // Use this for initialization
    void Start ()
    {
        container = transform.Find("ContainerLoadGame").GetComponent<RectTransform>();
        isOpen = false;
        }
       
        // Update is called once per frame
        void Update ()
    {
        Vector3 scale = container.localScale;
        scale.y = Mathf.Lerp(scale.y, isOpen ? 1 : 0, Time.deltaTime * 10);
        container.localScale = scale;
    }

    public void CloseAllMenus()
    {
        isOpen = false;
    }
}
 


Этот скрипт используется на 2 кнопки:
Скрытый текст:
Изображение
Изображение

Если я нажимаю на одну из этих кнопок, то переменная isOpen изменяется лишь на этой кнопке. Как сделать так, что бы и на второй изменялось вместе с первой?

Re: Как изменять переменную во всех копиях скрипта?

СообщениеДобавлено: 21 окт 2018, 13:09
Cr0c
Отделить визуал от логики - это самое первое.