private void UpdateConfiguration() { if (_cof == null || _equip == null || !_configChanged) { return; } _configChanged = false; for (int i = _layers.Count; i < _cof.layerCount; ++i) { var cofLayer = _cof.layers[i]; Layer layer = new Layer(); layer.gameObject = new GameObject(cofLayer.name); layer.transform = layer.gameObject.transform; layer.transform.SetParent(transform, false); layer.renderer = layer.gameObject.AddComponent <SpriteRenderer>(); var shadowObject = new GameObject("shadow"); shadowObject.transform.SetParent(layer.transform, false); shadowObject.transform.localScale = new Vector3(1, 0.5f); layer.shadow = shadowObject.AddComponent <SpriteRenderer>(); layer.shadow.material = _shadowMaterial; layer.shadow.sortingLayerID = SortingLayers.Shadow; _layers.Add(layer); } for (int i = 0; i < _layers.Count; ++i) { var layer = _layers[i]; if (i >= _cof.layerCount) { layer.gameObject.SetActive(false); continue; } var cofLayer = _cof.layers[i]; string equip = this.equip[cofLayer.compositIndex]; if (equip == null || equip == "") { layer.gameObject.SetActive(false); continue; } var spritesheetFilename = _cof.GetSpritesheetFilename(cofLayer, equip); layer.spritesheet = Spritesheet.Load(spritesheetFilename); if (layer.spritesheet == null) { layer.gameObject.SetActive(false); continue; } layer.renderer.material = cofLayer.material; layer.gameObject.SetActive(true); layer.shadow.gameObject.SetActive(cofLayer.shadow && shadow); _layers[i] = layer; } }
void UpdateConfiguration() { if (_cof == null || _equip == null || !configChanged) { return; } configChanged = false; frameDuration = _cof.frameDuration; if (frameCount == 0) { frameCount = _cof.framesPerDirection; } if (modeChanged) { Restart(); modeChanged = false; } for (int i = layers.Count; i < _cof.layerCount; ++i) { var cofLayer = _cof.layers[i]; Layer layer = new Layer(); layer.gameObject = new GameObject(cofLayer.name); layer.transform = layer.gameObject.transform; layer.transform.SetParent(transform, false); layer.renderer = layer.gameObject.AddComponent <SpriteRenderer>(); var shadowObject = new GameObject("shadow"); shadowObject.transform.SetParent(layer.transform, false); shadowObject.transform.localScale = new Vector3(1, 0.5f); layer.shadow = shadowObject.AddComponent <SpriteRenderer>(); layer.shadow.material = shadowMaterial; layer.shadow.sortingLayerName = "Shadow"; layers.Add(layer); } for (int i = 0; i < layers.Count; ++i) { var layer = layers[i]; if (i >= _cof.layerCount) { layer.gameObject.SetActive(false); continue; } var cofLayer = _cof.layers[i]; string equip = this.equip[cofLayer.compositIndex]; if (equip == null || equip == "") { layer.gameObject.SetActive(false); continue; } var spritesheetFilename = _cof.GetSpritesheetFilename(cofLayer, equip); try { layer.spritesheet = Spritesheet.Load(spritesheetFilename); layer.renderer.material = cofLayer.material; layers[i] = layer; layer.gameObject.SetActive(true); layer.shadow.gameObject.SetActive(cofLayer.shadow && shadow); } catch (FileNotFoundException e) { Debug.LogWarning("Spreadsheet file not found \"" + spritesheetFilename + "\""); layer.gameObject.SetActive(false); } } }