public void ResetAppearance() { var allModels = GetAll(); foreach (var model in allModels) { model.SetActive(false); } meshCombiner.UndoCombineMeshes(); }
public void WearItem(Item item) { if (item.type == Item.ItemType.Fish || item.type == Item.ItemType.None) { return; } if (item.type == Item.ItemType.Shoe) { Instance.nvAgent.speed = item.data.movementSpeed; } var sameItems = Equipment.Where(x => x.type == item.type); if (sameItems.Count() > 0) { UnwearItem(sameItems.ElementAt(0)); } Equipment.Add(item); if (item.type == Item.ItemType.Rod) { return; } foreach (var child in item.transform.GetComponentsInChildren <Transform>()) { child.gameObject.layer = LayerMask.NameToLayer("Player"); } var reassignWeights = item.rendererGameObject.GetComponent <ReassignBoneWeigthsToNewMesh>(); item.transform.position = transform.position; item.rendererGameObject.transform.parent = transform; if (smCombiner.isMeshesCombined()) { smCombiner.UndoCombineMeshes(true, true); } reassignWeights.newArmature = Instance.armature; reassignWeights.rootBoneName = "Spine1"; reassignWeights.Reassign(); smCombiner.CombineMeshes(); }
private IEnumerator OptimizeAppearance(Action afterUndo) { yield return(new WaitForSeconds(0.1f)); int meshLayer = -1; var cm = GetCombinedMesh(); if (cm) { meshLayer = meshCombiner.gameObject.layer; meshCombiner.UndoCombineMeshes(); } afterUndo?.Invoke(); yield return(new WaitForFixedUpdate()); meshCombiner.meshesToIgnore.Clear(); var petControllers = gameObject.transform.GetComponentsInChildren <PetController>(); foreach (var pet in petControllers) { var renderer = pet.GetComponentInChildren <SkinnedMeshRenderer>(); if (renderer && renderer.sharedMesh) { meshCombiner.meshesToIgnore.Add(renderer); } } yield return(new WaitForFixedUpdate()); meshCombiner.CombineMeshes(); gameManager.Camera.EnsureObserverCamera(); }
public void Optimize(Action afterUndo = null) { int meshLayer = -1; if (transform.Find("Combined Mesh")) { meshLayer = meshCombiner.gameObject.layer; meshCombiner.UndoCombineMeshes(); } afterUndo?.Invoke(); meshCombiner.meshesToIgnore.Clear(); var petControllers = gameObject.transform.GetComponentsInChildren <PetController>(); foreach (var pet in petControllers) { var renderer = pet.GetComponentInChildren <SkinnedMeshRenderer>(); if (renderer && renderer.sharedMesh) { meshCombiner.meshesToIgnore.Add(renderer); } } meshCombiner.CombineMeshes(); gameManager.Camera.EnsureObserverCamera(); }
public void ButtonM() { //Example of API to merge and undo merge if (charM.isMeshesCombined() == true) { charM.UndoCombineMeshes(true, true); } else { charM.CombineMeshes(); } }
public void ResetAppearance() { var allModels = GetAll(); foreach (var model in allModels) { if (model != null) { model.SetActive(false); } } if (!meshCombiner) { return; } if (meshCombiner.isMeshesCombineds) { meshCombiner.UndoCombineMeshes(); } }
public void ResetAppearance() { var allModels = GetAll(); foreach (var model in allModels) { model?.SetActive(false); } if (meshCombiner?.isMeshesCombineds ?? false) { meshCombiner?.UndoCombineMeshes(); } }
public void MeRg() { if (_Combiner.isMeshesCombined()) { Stopwatch watch = Stopwatch.StartNew(); _Combiner.UndoCombineMeshes(true, false); Debug.Log("Uncombining took: " + watch.ElapsedMilliseconds); } else { Stopwatch watch = Stopwatch.StartNew(); _Combiner.CombineMeshes(); Debug.Log("combining took: " + watch.ElapsedMilliseconds); } }