示例#1
0
 public void RemoveElement(MapElement mapElement)
 {
     mapElement.parentElement = Stage.GetStage();
     mapElement.layers.Clear();
     this.moveNodesFromMapElementToThis(mapElement);
     childElements.Remove(mapElement);
 }
示例#2
0
 // Use this for initialization
 void Start()
 {
     CameraMoving.instance.SetMapLengths(Stage.GetStage().rct.Height, Stage.GetStage().rct.Width);
     pathfinder     = new Pathfinder();
     activeUnitNode = Stage.GetNode(new CRD(27, 16));
     //UnitsGenerator.instance.enabled = true;
 }
示例#3
0
        public void Addfloor()
        {
            Stage stage = Stage.GetStage();

            Debug.Log(stage.floorCounter);
            stage.AddFloor(new AbovegroundFloor(stage.floorCounter, stage));
        }
示例#4
0
        public void Init()
        {
            GameObject    prefab = Resources.Load("Stage/" + Stage.GetStage().DesignName + "/Furniture/" + name + "/" + order + "/" + prefabNumber) as GameObject;
            MonoFurniture script = prefab.GetComponent <MonoFurniture>();

            monoFurniture = script;
        }
示例#5
0
        public RCT(List <Node> list)
        {
            Stage stage = Stage.GetStage();
            int   minSX = stage.rct.End.x, minSZ = stage.rct.End.z, maxEX = stage.rct.Start.x, maxEZ = stage.rct.Start.z;

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].crd.x < minSX)
                {
                    minSX = list[i].x;
                }
                if (list[i].crd.z < minSZ)
                {
                    minSZ = list[i].z;
                }
                if (list[i].crd.x > maxEX)
                {
                    maxEX = list[i].x;
                }
                if (list[i].crd.z > maxEZ)
                {
                    maxEZ = list[i].z;
                }
            }
            this.end    = new CRD(minSX, minSZ);
            this.start  = new CRD(maxEX, maxEZ);
            this.width  = end.z - start.z + 1;
            this.height = end.x - start.x + 1;
            this.sq     = width * height;
        }
示例#6
0
        public static Node GetNode(CRD crd, int floornumber)// возвращает узел
        {
            Stage stage = Stage.GetStage();
            Floor floor = stage.floors.Find(x => x.number == floornumber);

            if (floor != null)
            {
                return(floor.GetNode(crd.x, crd.z));
            }
            return(new Node());
        }
示例#7
0
        public void CreateNodes()
        {
            Stage stage = Stage.GetStage();

            for (int x = rct.Start.x; x <= rct.End.x; x++)
            {
                for (int z = rct.Start.z; z <= rct.End.z; z++)
                {
                    Node node = new Node(x, z, stage.floors.Find(g => g.number == stage.groundFloor), false);
                    node.mapElement = this;
                    childNodes.Add(node);
                }
            }
            nodeList = new List <Node>(childNodes);
        }
示例#8
0
        public void Init()
        {
            if (parentElement is Room)
            {
                name = innername;
            }
            else
            {
                name = outsidename;
            }
            GameObject prefab = Resources.Load("Stage/" + Stage.GetStage().DesignName + "/Premetives/Portal/" + name + "/" + order + "/" + getPrefabNuber()) as GameObject;
            MonoPortal script = prefab.GetComponent <MonoPortal>();

            monoPortal = script;
        }
示例#9
0
        public List <Node> GetSiblingsNoDiagonals()// Получение соседних узлов
        {
            List <Node> siblings = new List <Node>();
            RCT         rct      = Stage.GetStage().rct;

            for (int x = -1; x <= 1; x++)
            {
                for (int z = -1; z <= 1; z++)
                {
                    if ((z == 0 && x == 0) || !rct.isContainCRD(new CRD(crd.x + x, crd.z + z)) || (z != 0 && x != 0))
                    {
                        continue;
                    }
                    siblings.Add(Stage.GetNode(crd.x + x, crd.z + z, floor.number));
                }
            }
            return(siblings);
        }
示例#10
0
 public BackgroundStreet(RCT rct, char axis, int sidewalk) : base(rct, 1, axis, sidewalk)
 {
     parentElement = Stage.GetStage();
     Init();
 }