private static object GetParameter(ObjectCtrlInfo oci) { return(oci.guideObject.transformTarget.GetComponent <CharaPoseController>()._boobsEditor); }
private static bool CheckIntegrity(ObjectCtrlInfo oci, object parameter, object leftValue, object rightValue) { return(parameter != null); }
/// <summary> /// Called by the scene controller, loads animations from the loaded or imported scene /// </summary> internal void LoadAnimations(int characterDicKey, ReadOnlyDictionary <int, ObjectCtrlInfo> loadedItems) { try { PluginData ExtendedData = ExtendedSave.GetSceneExtendedDataById(PluginNameInternal); //Version 1 save data if (ExtendedData?.data != null && ExtendedData.data.ContainsKey("AnimationInfo")) { List <AnimationControllerInfo> AnimationControllerInfoList = ((object[])ExtendedData.data["AnimationInfo"]).Select(x => AnimationControllerInfo.Unserialize((byte[])x)).ToList(); foreach (var AnimInfo in AnimationControllerInfoList) { //See if this is the right character if (AnimInfo.CharDicKey != characterDicKey) { continue; } ObjectCtrlInfo linkedItem = loadedItems[AnimInfo.ItemDicKey]; if (AnimInfo.Version.IsNullOrEmpty()) { AddLinkV1(AnimInfo.IKPart, linkedItem); } else { AddLink(AnimInfo.IKPart, linkedItem); } } } //Version 2 save data else { var data = GetExtendedData(); if (data?.data != null) { if (data.data.TryGetValue("LinksV1", out var loadedLinksV1) && loadedLinksV1 != null) { foreach (var link in (Dictionary <object, object>)loadedLinksV1) { AddLinkV1((string)link.Key, loadedItems[(int)link.Value]); } } if (data.data.TryGetValue("Links", out var loadedLinks) && loadedLinks != null) { foreach (var link in (Dictionary <object, object>)loadedLinks) { AddLink((string)link.Key, loadedItems[(int)link.Value]); } } if (data.data.TryGetValue("Eyes", out var loadedEyeLink) && loadedEyeLink != null) { AddEyeLink(loadedItems[(int)loadedEyeLink]); } if (data.data.TryGetValue("Neck", out var loadedNeckLink) && loadedNeckLink != null) { AddNeckLink(loadedItems[(int)loadedNeckLink]); } } } Logger.LogDebug($"Loaded KK_AnimationController animations for character {ChaControl.chaFile.parameter.fullname.Trim()}"); } catch (Exception ex) { Logger.Log(BepInEx.Logging.LogLevel.Debug | BepInEx.Logging.LogLevel.Message, "Could not load KK_AnimationController animations."); Logger.LogError(ex.ToString()); } }
/// <summary> /// Add a v1 link. Only ever added by loading card data, new links will never by of this type. /// </summary> private void AddLinkV1(string selectedGuideObject, ObjectCtrlInfo selectedObject) { OCIChar.IKInfo ikInfo = OCIChar.listIKTarget.First(x => x.boneObject.name == selectedGuideObject); GuideObjectLinksV1[ikInfo] = selectedObject; }
public Route(ObjectCtrlInfo objctrl) : base(objctrl) { }
/// <summary> /// Get the ID for the specified ObjectCtrlInfo /// </summary> /// <param name="oci"></param> /// <returns>ID for the specified ObjectCtrlInfo</returns> public static int GetObjectID(ObjectCtrlInfo oci) => Studio.Studio.Instance.dicObjectCtrl.First(x => x.Value == oci).Key;
private static void OCI_OnDelete(ObjectCtrlInfo __instance) => OnObjectBeingDeleted(__instance);
/// <summary> /// Fired when objects are deleted. /// </summary> /// <param name="objectCtrlInfo">ObjectCtrlInfo associated with the item being deleted</param> protected internal virtual void OnObjectDeleted(ObjectCtrlInfo objectCtrlInfo) { }
public Light(ObjectCtrlInfo objctrl) : base(objctrl) { }
public static bool IsSelectedInWorkarea(this ObjectCtrlInfo objectCtrlInfo) { return(objectCtrlInfo.treeNodeObject.GetTreeNodeCtrl().CheckSelect(objectCtrlInfo.treeNodeObject)); }
public Prop(ObjectCtrlInfo objctrl) : base(objctrl) { }
public static void PCSSInitialization(ref OCILight __result, OILightInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { Graphics.Instance?.LightManager?.Light(); }
/// <inheritdoc /> /// <param name="deletedObject">Object being deleted</param> public ObjectDeletedEventArgs(ObjectCtrlInfo deletedObject) { DeletedObject = deletedObject; }
private static bool IsCompatibleWithTarget(ObjectCtrlInfo oci) { CharaPoseController controller; return(oci != null && oci.guideObject != null && oci.guideObject.transformTarget != null && (controller = oci.guideObject.transformTarget.GetComponent <CharaPoseController>()) != null && controller._target.isFemale); }
private static void OCI_OnVisible(ObjectCtrlInfo __instance, bool _visible) => OnObjectVisibilityToggled(__instance, _visible);
public NeoOCI(ObjectCtrlInfo objctrl) { this.objctrl = objctrl; return; }
/// <inheritdoc /> /// <param name="toggledObject">Object being toggled</param> /// <param name="visible">Visibility of the object</param> public ObjectVisibilityToggledEventArgs(ObjectCtrlInfo toggledObject, bool visible) { ToggledObject = toggledObject; Visible = visible; }
/// <summary> /// Fired when objects have their visibility toggled. /// </summary> /// <param name="objectCtrlInfo">ObjectCtrlInfo associated with the item being toggled</param> /// <param name="visible">Visibility of the object</param> protected internal virtual void OnObjectVisibilityToggled(ObjectCtrlInfo objectCtrlInfo, bool visible) { }
public void MoveObjectHere(ObjectCtrlInfo oci) { Vector3 newPos = VR.Camera.Head.TransformPoint(0f, 0f, 0.2f); helper.MoveObject(oci, newPos, keepY); }