Ejemplo n.º 1
0
        public void Init(BuildingSystem bs)
        {
            buildingSystem = bs;

            for (int i = 0; i < buildItemLists.Count; ++i)
            {
                var tog = buildItemLists[i].toggle;
                tog.onValueChanged.AddListener(delegate { OnToggle(tog); });
            }
            OnToggle(buildItemLists[0].toggle);

            snapToggle.isOn = buildingSystem.isSnapping;
            snapToggle.onValueChanged.AddListener(OnSnapToggle);
            collapseToggle.onValueChanged.AddListener(OnToggleCollapse);
            snapToggle.isOn = collapsed;
        }
Ejemplo n.º 2
0
        public void Initialize(BuildingSystem bs)
        {
            if (!initialized)
            {
                buildingSystem = bs;

                if (!item)
                {
                    item = buildingSystem.currItem;
                }
                charLayer         = LayerMask.NameToLayer("Character");
                cols              = GetComponentsInChildren <Collider>();
                origColLayers     = new int[cols.Length];
                materialsReplacer = GetComponent <MaterialsReplacer>();
                if (!materialsReplacer)
                {
                    materialsReplacer = gameObject.AddComponent <MaterialsReplacer>();
                }
                materialsReplacer.RegisterReplacementMat(new Material[] { buildingSystem.invalidPlacementMat, buildingSystem.validPlacementMat });
                // renderers = GetComponentsInChildren<Renderer>();
                // validMats = new Material[renderers.Length][];
                // invalidMats = new Material[renderers.Length][];
                // origMats = new Material[renderers.Length][];

                // for(int i = 0; i < renderers.Length; ++i) {
                //     validMats[i] = new Material[renderers[i].materials.Length];
                //     invalidMats[i] = new Material[renderers[i].materials.Length];
                //     for(int j = 0; j < renderers[i].materials.Length; ++j) {
                //         validMats[i][j] = buildingSystem.validPlacementMat;
                //         invalidMats[i][j] = buildingSystem.invalidPlacementMat;
                //     }
                // }
                navObstacles = GetComponentsInChildren <NavMeshObstacle>();
                if (buildingVisualsParent)
                {
                    buildingVisuals = buildingVisualsParent.GetComponentsInChildren <Renderer>();
                }

                initialized = true;
            }
            StartPlacement();
        }