public void AddScheme(UIInnerSchemeBuildInfo innerSchemeInfo) { var innerContainer = new InnerContainer(innerSchemeInfo); InnerSchemes.Add(innerContainer); InnerSchemesList.Add(innerContainer.Scheme); Schemes.Add(innerSchemeInfo.BuildString.Name, innerContainer); innerContainer.Design = SchemeDesigner.Instance.CreateInnerScheme(innerContainer); }
private IEnumerator addInnerScheme(string type, InnerSchemeDialog dialog) { dialog.ShowDialog(type); yield return(new WaitWhile(() => dialog.DialogResult == DialogResult.NotReady)); var dialogResult = dialog.DialogResult; var buildParams = (InnerSchemeBuildParams)dialog.Result; dialog.Dispose(); if (dialogResult == DialogResult.Cancel) { yield break; } var innerSchemeBuildInfo = new UIInnerSchemeBuildInfo(buildParams.Name, type, buildParams.Parameters, Vector2.zero, Vector2.one * 240); CurrentScheme.AddScheme(innerSchemeBuildInfo); yield break; }
public InnerContainer(UIInnerSchemeBuildInfo buildInfo) { InnerBuildInfo = buildInfo.Clone(); Scheme = SchemeManager.Instance.GetBuildingRule(InnerBuildInfo.BuildString.Type).Build(InnerBuildInfo.BuildString.Parameters); }