void OnPresetSelected(int index) { index -= 2; if (index < 0) { return; } if (index < m_data.presets.Count) { var preset = m_data.presets[index]; m_presetName = preset.name; UpdatePlatformStatus(preset); return; } var win = DefineSymbolPresetCreateWindow.Open(m_presetName, name => { var preset = DefineSymbolPreset.Create(name, m_statusCommon, Array.ConvertAll(m_platforms, i => i.status)); m_data.AddPreset(preset); m_data.Save(); UpdatePresetLabels(); m_presetName = name; }); var pos = win.position; pos.position = new Vector2( position.x + position.width - pos.width, position.y); win.position = pos; }
//------------------------------------------------------ // static function //------------------------------------------------------ public static DefineSymbolPreset Create(string name, DefineSymbolStatus common, DefineSymbolStatus[] status) { var preset = new DefineSymbolPreset(); preset.name = name; preset.commonSymbols = common.ToSymbols(); preset.symbols = Array.ConvertAll(status, i => new Symbol { target = i.target, symbol = i.ToSymbols() }); return(preset); }
//------------------------------------------------------ // preset //------------------------------------------------------ public void AddPreset(DefineSymbolPreset preset) { var index = presets.FindIndex(i => i.name == preset.name); if (index >= 0) { presets[index] = preset; } else { presets.Add(preset); presets.Sort((x, y) => x.name.CompareTo(y.name)); } }
void OnPresetSelected(int index) { index -= 2; if (index < 0) { return; } if (index < m_data.presets.Count) { UpdatePlatformStatus(m_data.presets[index]); return; } PresetCreateWindow.Open(name => { var preset = DefineSymbolPreset.Create(name, m_statusCommon, Array.ConvertAll(m_platforms, i => i.status)); m_data.presets.Add(preset); m_data.Save(); UpdatePresetLabels(); }); }