Exemplo n.º 1
0
        /// <summary>
        /// Deserializes the AgaQ brick.
        /// </summary>
        /// <param name="xmlReader">Xml reader.</param>
        /// <param name="parent">Parent.</param>
        /// <param name="group">If set to <c>true</c> group.</param>
        void DeserializeAgaQ(XmlReader xmlReader, Transform parent, bool group)
        {
            Int64 uuid = Int64.Parse(xmlReader.GetAttribute("uuid"));

            if (uuid > 0)
            {
                var def = Array.Find(
                    BricksUuidDictionary.instance.definitions,
                    x => x.brickUuid == uuid);
                var brick = BrickBuilder.InstansiateFromResources(def.resourcePath);

                if (brick != null)
                {
                    if (parent != null)
                    {
                        brick.transform.SetParent(parent);
                    }

                    brick.Deserialize(xmlReader);

                    //disable brick scripts inside group
                    if (group)
                    {
                        brick.grouped = true;
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Popu[ file choose dialog and next call sutable import method.
        /// </summary>
        public void Import()
        {
            var label     = LeanLocalization.GetTranslation("Export").Text;
            var fileNames = StandaloneFileBrowser.OpenFilePanel(label, "", "stl", false);

            if (fileNames.Length == 0)
            {
                return;
            }

            if (Path.GetExtension(fileNames[0]).ToLower() == ".stl")
            {
                if (fileNames[0].Contains("file:"))
                {
                    fileNames[0] = fileNames[0].Substring(7);
                }
                fileNames[0] = Decode(fileNames[0]);

                try
                {
                    var meshes = STLImporter.Import(fileNames[0]);
                    var brick  = BrickBuilder.Instansiate(meshes);
                }
                catch (Exception e)
                {
                    Debug.Log(e.Message);

                    Dialog.ShowInfo(
                        LeanLocalization.GetTranslation("ImportFailed").Text,
                        DialogButtonType.ok);
                }
            }
        }
 void Awake()
 {
     if (_instance == null)
     {
         _instance = this;
     }
 }
        /// <summary>
        /// Creates a builder
        /// </summary>
        /// <param name="services">The services</param>
        /// <returns></returns>
        public static IServiceCollection AddBrick(this IServiceCollection services)
        {
            BrickBuilder builder = new BrickBuilder(services);

            builder.Services.AddOptions();
            builder.Services.AddSingleton(r => r.GetRequiredService <IOptions <BrickOptions> >().Value);
            builder.Services.AddSingleton <Brick>();
            return(builder.Services);
        }
Exemplo n.º 5
0
 void Awake()
 {
     options = GlobalOptions.Instance;
     LevelBuilder = GameObject.Find("LevelBuilder").GetComponent<LevelBuilder>();
     brickBuilder = GameObject.Find("LevelBuilder").GetComponent<BrickBuilder>();
     if (brickBuilder != null) {
         totalPoints = brickBuilder.totalPoints;
     }
     //numberOfTeams = GameObject.Find("LevelBuilder").GetComponent<LevelBuilder>().numberOfTeams;
 }
Exemplo n.º 6
0
        void DeserializeBricksGroup(XmlReader xmlReader, Transform parent, bool group)
        {
            BricksGroup groupScript = BrickBuilder.InstansiateBricksGroup();

            groupScript.Deserialize(xmlReader);

            if (parent != null)
            {
                groupScript.transform.SetParent(parent);
            }

            var subReader = xmlReader.ReadSubtree();

            subReader.Skip();
            Deserialize(subReader, groupScript.gameObject.transform, true);

            xmlReader.Skip();
        }