// This method updates the respective Trackable properties (e.g. size) // with data set data. public override void ApplyDataSetProperties() { // Prefabs should not be editable if (QCARUtilities.GetPrefabType(mTarget) == PrefabType.Prefab) { return; } IEditorMultiTargetBehaviour mtb = (MultiTargetBehaviour)mTarget; ConfigData.MultiTargetData mtConfig; if (TrackableInDataSet(mtb.TrackableName, mtb.DataSetName)) { ConfigData dataSetData = ConfigDataManager.Instance.GetConfigData(mtb.DataSetName); dataSetData.GetMultiTarget(mtb.TrackableName, out mtConfig); } else { // If the Trackable has been removed from the data set we reset it to default. ConfigData dataSetData = ConfigDataManager.Instance.GetConfigData(QCARUtilities.GlobalVars.DEFAULT_DATA_SET_NAME); dataSetData.GetMultiTarget(QCARUtilities.GlobalVars.DEFAULT_TRACKABLE_NAME, out mtConfig); mtb.SetDataSetPath(QCARUtilities.GlobalVars.DEFAULT_DATA_SET_NAME); mtb.SetNameForTrackable(QCARUtilities.GlobalVars.DEFAULT_TRACKABLE_NAME); } List <ConfigData.MultiTargetPartData> prtConfigs = mtConfig.parts; MultiTargetEditor.UpdateParts(mtb, prtConfigs.ToArray()); }
public override void ApplyDataSetProperties() { if (QCARUtilities.GetPrefabType(base.mTarget) != PrefabType.Prefab) { ConfigData.MultiTargetData data; IEditorMultiTargetBehaviour mTarget = (MultiTargetAbstractBehaviour)base.mTarget; if (this.TrackableInDataSet(mTarget.TrackableName, mTarget.DataSetName)) { ConfigDataManager.Instance.GetConfigData(mTarget.DataSetName).GetMultiTarget(mTarget.TrackableName, out data); } else { ConfigDataManager.Instance.GetConfigData("--- EMPTY ---").GetMultiTarget("--- EMPTY ---", out data); mTarget.SetDataSetPath("--- EMPTY ---"); mTarget.SetNameForTrackable("--- EMPTY ---"); } MultiTargetEditor.UpdateParts(mTarget, data.parts.ToArray()); } }