예제 #1
0
        //------------------------------------------------------
        // lifecycle
        //------------------------------------------------------

        public DefineSymbolData()
        {
            targets       = new List <BuildTargetGroup>();
            context       = new DefineSymbolContext();
            commonSymbols = string.Empty;
            presets       = new List <DefineSymbolPreset>();
        }
예제 #2
0
        public DefineSymbolContext(DefineSymbolContext src)
        {
            toggles   = new List <Toggle>();
            dropdowns = new List <Dropdown>();

            src.toggles.ForEach(i => toggles.Add(new Toggle(i)));
            src.dropdowns.ForEach(i => dropdowns.Add(new Dropdown(i)));
        }
예제 #3
0
 void OnRevert()
 {
     if (m_mode == DrawContextMode)
     {
         m_context = new DefineSymbolContext(m_data.context);
         SetSymbolMode();
     }
     else
     {
         Close();
     }
 }
예제 #4
0
        public void Split(out DefineSymbolContext common, out DefineSymbolContext indivisual)
        {
            common     = new DefineSymbolContext();
            indivisual = new DefineSymbolContext();

            foreach (var toggle in toggles)
            {
                (toggle.individual ? indivisual : common).toggles.Add(toggle);
            }

            foreach (var dropdown in dropdowns)
            {
                (dropdown.individual ? indivisual : common).dropdowns.Add(dropdown);
            }
        }
예제 #5
0
        //------------------------------------------------------
        // unity system function
        //------------------------------------------------------

        void OnEnable()
        {
            s_instane = this;

            titleContent = new GUIContent("DefineSymbol Editor");
            minSize      = new Vector2(570f, 380f);

            m_platforms = Array.ConvertAll(kTargets, i => new DefineSymbolPlatformData(i));
            m_current   = Array.Find(m_platforms, i => i.target == EditorUserBuildSettings.selectedBuildTargetGroup) ?? m_platforms[0];

            m_data    = DefineSymbolData.Load();
            m_context = new DefineSymbolContext(m_data.context);

            InitGUI();
            UpdatePresetLabels();
            SetSymbolMode();
        }
예제 #6
0
        //------------------------------------------------------
        // factory
        //------------------------------------------------------

        public DefineSymbolStatus(BuildTargetGroup target, DefineSymbolStatus common, DefineSymbolContext context, string symbol)
        {
            this.target = target;
            this.common = common;

            var symbols = symbol.Split(';');

            toggles   = context.toggles.ConvertAll(i => new Toggle(i, symbols));
            dropdowns = context.dropdowns.ConvertAll(i => new Dropdown(i, symbols));
        }
예제 #7
0
 public DefineSymbolContext(DefineSymbolContext src)
 {
     toggles   = src.toggles.ConvertAll(i => new ToggleContext(i));
     dropdowns = src.dropdowns.ConvertAll(i => new DropdownContext(i));
 }