private IInteractionSource GetActiveInteractionSource() { IToolHolder toolHolder = GetComponent <IToolHolder>(); IInteractionSource activeTool = toolHolder?.GetActiveTool(); return(activeTool ?? GetComponent <IInteractionSource>()); }
public static IToolHolderViewModel ToViewModel(this IToolHolder model) { IToolHolderViewModel vm = null; if (model is StaticToolHolder sth) { var svm = new StaticToolHolderViewModel(); UpdateViewModel(svm, sth); vm = svm; } else if (model is AutoSourceToolHolder asrcth) { var avm = new AutoSourceToolHolderViewModel(); UpdateViewModel(avm, asrcth); vm = avm; } else if (model is AutoSinkToolHolder asnkth) { var avm = new AutoSourceToolHolderViewModel(); UpdateViewModel(avm, asnkth); vm = avm; } return(vm); }