private void Render(Live2DViewerConfig c, Live2DViewerConfigChangeType t) { switch (t) { case Live2DViewerConfigChangeType.RootFolder: case Live2DViewerConfigChangeType.Model: rootFolderPathText.text = c.rootFolder; if (config.models.Length > 0) { var current = config.currentModel; currentModelText.text = String.Format("{0} ({1}/{2})", current.name, config.currentModelIndex + 1, config.models.Length); } else { currentModelText.text = "未加载"; } break; case Live2DViewerConfigChangeType.LoopMotion: loopMotionToggle.isOn = c.loopMotion; break; case Live2DViewerConfigChangeType.Background: if (String.IsNullOrEmpty(config.backgroundTexturePath)) { backgroundPathText.text = "未选择"; } else { backgroundPathText.text = config.backgroundTexturePath; builtinBackgroundToggle.isOn = false; } break; } }
public void OnConfigChanged(Live2DViewerConfig c, Live2DViewerConfigChangeType t) { config = c; switch (t) { case Live2DViewerConfigChangeType.RootFolder: case Live2DViewerConfigChangeType.Model: if (config.models.Length > 0) { var current = config.currentModel; modelComponent.LoadFromFiles(current.mocFile, current.textureFiles); if (current.parts == null || current.parts.Length == 0) { current.parts = modelComponent.LoadParts(); } else { modelComponent.SetParts(current.parts); } motionsComponent.LoadFromFile(current.motionFiles); } else { modelComponent.ReleaseModel(); motionsComponent.ReleaseMotions(); } expComponent.ReleaseExpression(); cameraResetAction.Perform(); UpdateIndicator(); break; case Live2DViewerConfigChangeType.Motion: motionsComponent.PlayMotion(config.currentModel.currentMotionIndex); break; case Live2DViewerConfigChangeType.Expression: expComponent.LoadFromFile(config.currentModel.expressionFiles[config.currentModel.currentExpressionIndex]); break; case Live2DViewerConfigChangeType.LoopMotion: motionsComponent.loop = config.loopMotion; break; case Live2DViewerConfigChangeType.Parts: modelComponent.SetParts(config.currentModel.parts); break; case Live2DViewerConfigChangeType.Background: backgroundComponent.LoadFromFile(config.backgroundTexturePath); break; } }
private void TriggerChanges(Live2DViewerConfigChangeType t) { onConfigChanged.Invoke(config, t); }