Ejemplo n.º 1
0
        public NestPathElementEdge ConnectElements(NestPathNode a, NestPathNode b)
        {
            var edge = new NestPathElementEdge(a, b);

            elementEdges.Add(edge);
            Data.Structure.ElementEdges.Add(edge.Data);
            return(edge);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// NestDataをもとに巣を再構築する。
        /// </summary>
        private void LoadData()
        {
            //生成済みのアリを破棄
            foreach (var ant in spawnedAnts)
            {
                Destroy(ant.gameObject);
            }

            spawnedAnts.Clear();

            //生成済みの部屋や道を破棄
            foreach (var element in nestElements)
            {
                Destroy(element.gameObject);
            }

            nestElements.Clear();

            elementEdges.Clear();


            //セーブデータから巣情報をロード

            //アリを生成
            foreach (var antData in Data.Ants)
            {
                var ant = InstantiateAnt(antData, false);
            }

            //道、部屋を生成
            foreach (var elementData in Data.Structure.NestElements)
            {
                var element = InstantiateNestElement(elementData, false);
            }

            //Element間の接続をロード
            foreach (var edgeData in Data.Structure.ElementEdges)
            {
                var edge = new NestPathElementEdge(nestElements, edgeData);
                elementEdges.Add(edge);
            }
        }