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; }
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(); }