IntegratedAuthoringToolWF.MainForm.buttonCreateCharacter_Click C# (CSharp) 메소드

buttonCreateCharacter_Click() 개인적인 메소드

private buttonCreateCharacter_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
리턴 void
        private void buttonCreateCharacter_Click(object sender, EventArgs e)
        {
            var asset = _rpcForm.CreateAndSaveEmptyAsset(false);
            if (asset == null)
                return;

            var name = "RPC Character";
            var options = CurrentAsset.GetAllCharacterSources().Select(c => c.Name).Where(n => n.StartsWith(name)).ToArray();
            if (options.Length > 0)
            {
                var a = options.Select(o => Regex.Match(o, $"^{name}\\((\\d+)\\)$"))
                    .Where(m => m.Success)
                    .Select(m => int.Parse(m.Groups[1].Value)).ToArray();
                int value = 1;
                if (a.Length > 0)
                    value = a.Max() + 1;

                name += $"({value})";
            }
            asset.CharacterName = name;
            asset.SaveToFile();

            CurrentAsset.AddNewCharacterSource(new CharacterSourceDTO() {Name = name,Source = asset.AssetFilePath});
            _characterSources.DataSource = CurrentAsset.GetAllCharacterSources().ToList();
            _characterSources.Refresh();
            SetModified();
        }