Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                RotateView();
            }

            if (Input.GetKeyDown(KeyCode.R))
            {
                ResetModel();
            }

            if (_status == CollapseStatus.Incomplete)
            {
                for (int i = 0; i < _substeps; i++)
                {
                    _status = _model.Step();

                    if (_status == CollapseStatus.Contradiction)
                    {
                        Debug.Log("Contradiction found! Reset the model and try again.");
                        return;
                    }
                    else if (_status == CollapseStatus.Complete)
                    {
                        _structureAnalyzer = GetComponent <StructureAnalyzer>();
                        _structureAnalyzer.Analyse();
                        Debug.Log("Collapse complete!");
                        return;
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.R))
            {
                ResetModel();
            }

            if (_status == CollapseStatus.Incomplete)
            {
                for (int i = 0; i < _substeps; i++)
                {
                    _status = _model.Step();

                    if (_status == CollapseStatus.Contradiction)
                    {
                        Debug.Log("Contradiction found! Reset the model and try again.");
                        return;
                    }
                    else if (_status == CollapseStatus.Complete)
                    {
                        Debug.Log("Collapse complete!");
                        return;
                    }
                }
            }
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.R))
            {
                _model.Reset();
                foreach (var v in _verts)
                {
                    v.Tile = null;
                }
                _status = CollapseStatus.Incomplete;
            }

            for (int i = 0; i < _substeps; i++)
            {
                if (_status == CollapseStatus.Incomplete)
                {
                    _status = _model.Observe();

                    if (_status == CollapseStatus.Contradiction)
                    {
                        Debug.Log("Contradiction found! Reset the model and try again.");
                        return;
                    }

                    if (_status == CollapseStatus.Complete)
                    {
                        Debug.Log("Collapse complete!");
                        return;
                    }

                    _model.Propagate();
                }
            }
        }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        void Start()
        {
            _graph = _tileGraph.Graph;
            _verts = _tileGraph.VertexObjects;

            _map   = _tileSet.CreateMap();
            _model = TileModel.CreateFromGraph(_map, _graph, _seed);

            _model.AssignedCallback = OnAssigned;
            _model.ReducedCallback  = OnReduced;

            _status = CollapseStatus.Incomplete;

            AssignBoundary();


            int vertex = 5;

            int tileIndex = _model.GetAssignedTile(vertex);
            var tile      = _tileSet[tileIndex];

            // if(tile.Labels[0] == "1")
            // create a fixed join between vertex onbjecgs


            //_tileSet[]
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        private void ResetModel()
        {
            _model.ResetAllDomains();
            _status = CollapseStatus.Incomplete;

            foreach (var v in _verts)
            {
                v.Tile = null;
            }

            _initializer?.Initialize(_model);
        }
Beispiel #6
0
        /// <summary>
        ///
        /// </summary>
        void Start()
        {
            _graph = _tileGraph.Graph;
            _verts = _tileGraph.VertexObjects;

            _map   = _tileSet.CreateMap();
            _model = TileModel.CreateFromGraph(_map, _graph, _seed);
            _model.AssignedCallback = (p, t) => _verts[p].Tile = _tileSet[t];
            _model.ReducedCallback  = (p, n) => _verts[p].SetScale((float)n / _tileSet.Count);

            _status = CollapseStatus.Incomplete;
        }
Beispiel #7
0
        /// <summary>
        ///
        /// </summary>
        public void ResetModel()
        {
            //  _guiScript.ResetValues();
            _counter.CountReset();
            _model.ResetAllDomains();
            _status = CollapseStatus.Incomplete;

            foreach (var v in _verts)
            {
                v.Tile = null;
            }

            _initializer?.Initialize(_model);
        }
        /// <summary>
        ///
        /// </summary>
        public override void Initialize()
        {
            _graph = _tileGraph.Graph;
            _verts = _tileGraph.VertexObjects;

            _map   = _tileSet.CreateMap();
            _model = TileModel.CreateFromGraph(_map, _graph, _seed);

            _model.DomainChanged += OnDomainChanged;
            _status = CollapseStatus.Incomplete;

            _initializer = GetComponent <TileModelInitializer>();
            _initializer?.Initialize(_model);
        }
Beispiel #9
0
        /// <summary>
        ///
        /// </summary>
        void Start()
        {
            _graph = _tileGraph.Graph;
            _verts = _tileGraph.VertexObjects;

            _map   = _tileSet.CreateMap();
            _model = TileModel.CreateFromGraph(_map, _graph, _seed);

            _model.AssignedCallback = OnAssigned;
            _model.ReducedCallback  = OnReduced;

            _status = CollapseStatus.Incomplete;

            AssignBoundary();
        }
Beispiel #10
0
        /// <summary>
        ///
        /// </summary>
        public override void Initialize()
        {
            _counter = GetComponent <TileTypeCounter>();

            _graph = _tileGraph.Graph;
            _verts = _tileGraph.VertexObjects;

            _map   = _tileSet.CreateMap();
            _model = TileModel.CreateFromGraph(_map, _graph, _seed);

            _model.DomainChanged += OnDomainChanged;
            _status = CollapseStatus.Incomplete;

            var selector = GetComponent <ITileSelector>();

            if (selector != null)
            {
                _model.Selector = selector;
            }

            _initializer = GetComponent <TileModelInitializer>();
            _initializer?.Initialize(_model);
        }