Esempio n. 1
0
        private static Canvas Parse(TextReader text)
        {
            var    parsers = new List <Parser <char, IPPMPart> >(new[] { FileType, ImageSize, Scale, PixelData });
            string line;
            var    index    = 0;
            var    current  = parsers[index];
            var    builder  = new CanvasBuilder(3);
            bool   complete = false;

            while ((line = text.ReadLine()) != null)
            {
                if (complete)
                {
                    break;
                }

                if (string.IsNullOrWhiteSpace(line))
                {
                    continue;
                }

                if (line.StartsWith('#'))
                {
                    // Skip comment lines;
                    continue;
                }

                var parsed = current.ParseOrThrow(line);
                var result = parsed.Process(builder);
                switch (result)
                {
                case ParseResult.NextParser:
                    current = parsers[++index];
                    break;

                case ParseResult.Complete:
                    complete = true;
                    break;

                case ParseResult.Failure:
                    var error = parsed.GetLastFailureMessage();
                    if (!string.IsNullOrEmpty(error))
                    {
                        throw new FileLoadException(error);
                    }

                    throw new FileLoadException();

                case ParseResult.Continue:
                    continue;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }

            return(builder.GetCanvas());
        }
Esempio n. 2
0
        public CanvasBuilder Create(string name, int level, Vector2 position)
        {
            ControllerFactory           controllerFactory           = new ControllerFactory(_registryManager, _basicTypeInvoker);
            ControllerResolver          controllerResolver          = new ControllerResolver(_registryManager.ControllerRegistry, controllerFactory);
            GameObject                  canvas                      = (new CanvasFactory()).Create(name, level, position);
            CanvasDimensionsTransformer canvasDimensionsTransformer = new CanvasDimensionsTransformer(canvas);
            CanvasBuilder               canvasBuilder               = new CanvasBuilder(canvas, controllerResolver, canvasDimensionsTransformer);

            return(canvasBuilder);
        }
Esempio n. 3
0
        private void SetCanvas()
        {
            var Instructions = new Dictionary <ConsoleCommand, string> {
                { ConsoleCommand.ObjectType, "C" },
                { ConsoleCommand.X1, "20" },
                { ConsoleCommand.Y1, "4" }
            };

            Canvas = CanvasBuilder.GetCanvas <List <DataLine> >(Instructions);
        }
Esempio n. 4
0
        public GameUI()
        {
            //创建Canvas
            var canvasGameobj = new CanvasBuilder()
                                .RenderMode(RenderMode.ScreenSpaceOverlay)
                                .Build();

            //创建 Text
            new TextBuilder()
            .AddToParent(canvasGameobj)
            .Text("10")
            .Build();
        }
Esempio n. 5
0
        private void BuildCanvas(Transform homeMainTransform, ICamera homeUICamera)
        {
            // CanvasのPrefabのパスのリスト
            var canvasPaths = new List <string>()
            {
                UICommonDef.App0CanvasPrefabPath,
                UICommonDef.App1CanvasPrefabPath
            };

            var canvasPathParams = new CanvasPathParams(UICommonDef.CanvasRootName, canvasPaths);

            var canvasRoot = EmptyObjectFactory.Create(canvasPathParams.CanvasRootName, homeMainTransform);

            _canvasContainer = CanvasBuilder.BuildCanvases(homeUICamera, canvasPathParams,
                                                           UICommonDef.UITouchBlockWindow, canvasRoot.transform);
        }
Esempio n. 6
0
        public void GetCanvas()
        {
            var Instructions = new Dictionary <ConsoleCommand, string> {
                { ConsoleCommand.ObjectType, "C" },
                { ConsoleCommand.X1, "20" },
                { ConsoleCommand.Y1, "4" }
            };

            List <DataLine> Actual = CanvasBuilder.GetCanvas <List <DataLine> >(Instructions);

            List <DataLine> Expected = new List <DataLine>()
            {
                new DataLine()
                {
                    Line = new StringBuilder().Insert(0, "-", 22)
                },
                new DataLine()
                {
                    Line = new StringBuilder().Insert(0, "|").Insert(1, " ", 20).Insert(21, "|")
                },
                new DataLine()
                {
                    Line = new StringBuilder().Insert(0, "|").Insert(1, " ", 20).Insert(21, "|")
                },
                new DataLine()
                {
                    Line = new StringBuilder().Insert(0, "|").Insert(1, " ", 20).Insert(21, "|")
                },
                new DataLine()
                {
                    Line = new StringBuilder().Insert(0, "|").Insert(1, " ", 20).Insert(21, "|")
                },
                new DataLine()
                {
                    Line = new StringBuilder().Insert(0, "-", 22)
                },
            };

            Expected.ForEach(x => Assert.AreEqual(x.Line.ToString(), Actual[Expected.IndexOf(x)].Line.ToString()));
        }
	public static CanvasBuilder parent (Transform obj)
	{
		CanvasBuilder b = new CanvasBuilder ();
		b._parent = obj;
		return b;
	}