Beispiel #1
0
    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);
    }
Beispiel #2
0
    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;
    }
Beispiel #3
0
 public InnerContainer(UIInnerSchemeBuildInfo buildInfo)
 {
     InnerBuildInfo = buildInfo.Clone();
     Scheme         = SchemeManager.Instance.GetBuildingRule(InnerBuildInfo.BuildString.Type).Build(InnerBuildInfo.BuildString.Parameters);
 }