コード例 #1
0
ファイル: UIScheme.cs プロジェクト: Last8Exile/Logics
    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);
    }
コード例 #2
0
ファイル: SchemeDesigner.cs プロジェクト: Last8Exile/Logics
    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;
    }
コード例 #3
0
ファイル: UIScheme.cs プロジェクト: Last8Exile/Logics
 public InnerContainer(UIInnerSchemeBuildInfo buildInfo)
 {
     InnerBuildInfo = buildInfo.Clone();
     Scheme         = SchemeManager.Instance.GetBuildingRule(InnerBuildInfo.BuildString.Type).Build(InnerBuildInfo.BuildString.Parameters);
 }