public static Transform FindWidgetOnUI(int widgetId, bool activeSelf = true) { Transform result = null; string text = WidgetSystem.FindNameOfUIByWidget(widgetId); string[] array = WidgetSystem.FindNameOfWidgetById(widgetId); if (!string.IsNullOrEmpty(text) && array != null && array.Length >= 1) { UIBase uIIfExist = UIManagerControl.Instance.GetUIIfExist(text); if (uIIfExist != null) { if (activeSelf && !uIIfExist.get_gameObject().get_activeSelf()) { return(null); } if (array.Length == 1) { result = WidgetSystem.FindTransformOfuibase(uIIfExist, GameDataUtils.SplitString4Dot0(array[0])); } else if (array.Length == 2) { Transform transform = WidgetSystem.FindTransformOfuibase(uIIfExist, GameDataUtils.SplitString4Dot0(array[0])); if (transform != null) { result = XUtility.RecursiveFindTransform(transform, GameDataUtils.SplitString4Dot0(array[1])); } } } } return(result); }
private void SetWeapon2Slot(string realSlot, bool resetlocal) { if (string.IsNullOrEmpty(realSlot)) { return; } this.CurrentSlot = realSlot; if (this.m_goWeapons.get_Count() >= 1) { Transform transform = null; if (realSlot != string.Empty) { transform = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), realSlot); if (transform == null) { return; } } GameObject gameObject = this.m_goWeapons.get_Item(0); if (gameObject != null) { Vector3 localScale = gameObject.get_transform().get_localScale(); Vector3 position = gameObject.get_transform().get_position(); gameObject.get_transform().set_parent(transform); gameObject.get_transform().set_position(position); if (resetlocal) { gameObject.get_transform().set_localPosition(Vector3.get_zero()); gameObject.get_transform().set_localEulerAngles(Vector3.get_zero()); gameObject.get_transform().set_localScale(localScale); } } } if (this.m_goWeapons.get_Count() >= 2) { Transform transform2 = null; if (realSlot != string.Empty) { transform2 = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), realSlot + "2"); if (transform2 == null) { return; } } GameObject gameObject2 = this.m_goWeapons.get_Item(1); if (gameObject2 != null) { Vector3 localScale2 = gameObject2.get_transform().get_localScale(); Vector3 position2 = gameObject2.get_transform().get_position(); gameObject2.get_transform().set_parent(transform2); gameObject2.get_transform().set_position(position2); if (resetlocal) { gameObject2.get_transform().set_localPosition(Vector3.get_zero()); gameObject2.get_transform().set_localEulerAngles(Vector3.get_zero()); gameObject2.get_transform().set_localScale(localScale2); } } } }
public static GameObject RecursiveFindGameObject(Transform root, string name) { Transform transform = XUtility.RecursiveFindTransform(root.get_transform(), name); if (transform != null) { return(transform.get_gameObject()); } return(null); }
public static Transform FindTransformOfuibase(UIBase uiBase, string widgetName) { Transform transform = uiBase.FindTransform(widgetName); if (transform != null) { return(transform); } return(XUtility.RecursiveFindTransform(uiBase.get_transform(), widgetName)); }
public void FindWidget() { UIBase uIIfExist = UIManagerControl.Instance.GetUIIfExist(this.uiName); if (uIIfExist != null && uIIfExist.get_gameObject().get_activeSelf()) { Transform transform = XUtility.RecursiveFindTransform(uIIfExist.get_transform(), this.widgetName); if (transform != null) { DepthOfGuide depthOfGuide = transform.get_gameObject().AddUniqueComponent <DepthOfGuide>(); depthOfGuide.set_enabled(true); depthOfGuide.GuideOn(); } } }
private void DoChangeSMR(ref SkinnedMeshRenderer dst_smr, ref SkinnedMeshRenderer src_smr) { dst_smr.set_sharedMesh(src_smr.get_sharedMesh()); List <Transform> list = new List <Transform>(); for (int i = 0; i < src_smr.get_bones().Length; i++) { Transform transform = XUtility.RecursiveFindTransform(base.get_transform(), src_smr.get_bones()[i].get_name()); list.Add(transform); } dst_smr.set_bones(list.ToArray()); dst_smr.set_shadowCastingMode(0); dst_smr.set_receiveShadows(false); dst_smr.set_useLightProbes(false); }
public static Transform RecursiveFindTransform(Transform root, string name) { Transform transform = root.FindChild(name); if (transform == null) { for (int i = 0; i < root.get_childCount(); i++) { transform = XUtility.RecursiveFindTransform(root.GetChild(i), name); if (transform != null) { return(transform); } } } return(transform); }
public static float GetTop(Transform trans, string name) { if (trans == null) { return(0f); } Transform transform = XUtility.RecursiveFindTransform(trans, name); if (transform != null) { return(transform.get_position().y - trans.get_position().y); } if (trans.GetComponent <CharacterController>() != null) { return(trans.GetComponent <CharacterController>().get_height() * 0.5f * trans.get_localScale().y); } return(0f); }
private void SetWing2Slot() { Transform transform = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), this.GetWingSlotRealName()); if (transform == null) { return; } if (this.m_goWing != null) { Vector3 localScale = this.m_goWing.get_transform().get_localScale(); Vector3 position = this.m_goWing.get_transform().get_position(); this.m_goWing.get_transform().set_parent(transform); this.m_goWing.get_transform().set_position(position); this.m_goWing.get_transform().set_localPosition(Vector3.get_zero()); this.m_goWing.get_transform().set_localEulerAngles(Vector3.get_zero()); this.m_goWing.get_transform().set_localScale(localScale); } }
private void DoEquipClothes(int equipId, EquipBody dataEB, Action <bool> finished) { EquipCustomizationTool.GetInstantiateClothes(dataEB, delegate(SkinnedMeshRenderer renderer) { if (this.ActorTarget == null) { finished.Invoke(false); return; } if (equipId != this.mClothesId) { finished.Invoke(false); return; } Transform transform = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), dataEB.slot); if (transform == null) { Debug.LogError("slot is no find, GameData.EquipBody id = " + dataEB.id); finished.Invoke(false); return; } SkinnedMeshRenderer component = transform.GetComponent <SkinnedMeshRenderer>(); if (renderer != null) { component.set_sharedMesh(renderer.get_sharedMesh()); List <Transform> list = new List <Transform>(); for (int i = 0; i < renderer.get_bones().Length; i++) { Transform transform2 = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), renderer.get_bones()[i].get_name()); list.Add(transform2); } component.set_bones(list.ToArray()); component.set_shadowCastingMode(0); component.set_receiveShadows(false); component.set_useLightProbes(false); component.set_material(renderer.get_sharedMaterial()); } if (finished != null) { finished.Invoke(true); } }); }
public static void GetInstantiateClothes(EquipBody dataEB, Action <SkinnedMeshRenderer> loaded) { if (string.IsNullOrEmpty(dataEB.mesh)) { if (loaded != null) { loaded.Invoke(null); } return; } AssetManager.LoadEquipCustomizationAsset(dataEB.mesh.Replace("\\", "/"), delegate(Object meshAsset) { if (meshAsset == null) { if (loaded != null) { loaded.Invoke(null); } return; } GameObject gameObject = meshAsset as GameObject; if (gameObject != null) { Transform transform = XUtility.RecursiveFindTransform(gameObject.get_transform(), dataEB.slot); if (transform != null) { SkinnedMeshRenderer component = transform.GetComponent <SkinnedMeshRenderer>(); if (loaded != null) { loaded.Invoke(component); } return; } } if (loaded != null) { loaded.Invoke(null); } }); }
public void AddSlots() { if (this.src_go == null) { Debug.LogError("请指定源预设"); return; } GameObject gameObject = Object.Instantiate(this.src_go) as GameObject; for (int i = 0; i < this.slot_name_list.Length; i++) { string text = this.slot_name_list[i]; Transform transform = XUtility.RecursiveFindTransform(gameObject.get_transform(), text); if (!(transform == null)) { Transform transform2 = XUtility.RecursiveFindTransform(base.get_transform(), text); if (transform2 == null) { Transform parent = transform.get_parent(); if (!(parent == null)) { Transform transform3 = XUtility.RecursiveFindTransform(base.get_transform(), parent.get_name()); if (!(transform3 == null)) { transform2 = new GameObject(text).get_transform(); transform2.SetParent(transform3); transform2.set_localPosition(transform.get_localPosition()); transform2.set_localRotation(transform.get_localRotation()); transform2.set_localScale(transform.get_localScale()); } } } } } Object.DestroyImmediate(gameObject); }
private void JustPlayfxOnScene(int uid, int templateId, Transform host, Vector3 position, Quaternion rotation, float speed, float scale, int time, bool syncNode, int bulletLife, Action <Actor, XPoint, ActorParent> bulletCallback, Action finishCallback, Action <ActorFX> loadCallback = null, bool sound3D = true, float rate = 1f, FXClassification fxClassification = FXClassification.Normal) { if (templateId == 900) { Debug.Log("JustPlayfxOnScene: " + DateTime.get_Now()); } ActorFX actorFX = FXPool.Instance.Get(templateId, fxClassification == FXClassification.LowLod); if (actorFX == null) { return; } Fx fx = DataReader <Fx> .Get(templateId); if (fx == null || string.IsNullOrEmpty(fx.path)) { return; } this.m_fxs.set_Item(uid, actorFX); actorFX.IsLodLow = (fxClassification == FXClassification.LowLod); actorFX.AwakeSelf(); actorFX.uid = uid; if (host != null) { string text = fx.hook; if (fx.hook == "weapon_slot" && EntityWorld.Instance.EntSelf != null && !EntityWorld.Instance.EntSelf.IsInBattle) { text += "_city"; } if (fx.hook == "weapon_slot2" && EntityWorld.Instance.EntSelf != null && !EntityWorld.Instance.EntSelf.IsInBattle) { text = "weapon_slot_city2"; } if (syncNode) { if (string.IsNullOrEmpty(text)) { actorFX.Host = host; } else { Transform transform = XUtility.RecursiveFindTransform(host, text); if (transform == null) { Debug.LogError("mountPoint is null, mountPoint name = " + text); } actorFX.Host = transform; } } else if (string.IsNullOrEmpty(text)) { if (fx.type1 == 3) { actorFX.get_transform().set_position(host.get_position()); } else { if (actorFX.get_transform().get_parent() != host) { actorFX.get_transform().set_parent(host); } actorFX.get_transform().set_localPosition(position); actorFX.get_transform().set_localRotation(rotation); } } else { Transform transform2 = XUtility.RecursiveFindTransform(host, text); if (fx.type1 == 3) { actorFX.get_transform().set_position(transform2.get_position()); } else { if (actorFX.get_transform().get_parent() != transform2) { actorFX.get_transform().set_parent(transform2); } actorFX.get_transform().set_localPosition(position); actorFX.get_transform().set_localRotation(rotation); } } actorFX.IsSyncNode = syncNode; actorFX.HostRoot = host; } else { actorFX.get_transform().set_position(position); actorFX.get_transform().set_rotation(rotation); } actorFX.Scale = scale; actorFX.Speed = speed; actorFX.SetFrameRate(rate, false); Delay component = actorFX.get_gameObject().GetComponent <Delay>(); if (component != null) { component.TriggerDelay(); } else { actorFX.get_gameObject().SetActive(true); } actorFX.finishCallback = finishCallback; if (bulletCallback != null) { actorFX.bulletLife = bulletLife; actorFX.bulletCallback = bulletCallback; } if (time <= 0) { time = fx.time; } if (time > 0) { actorFX.AutoDestroy = false; actorFX.SetTimer(time); } if (SoundManager.Instance != null) { if (sound3D) { AudioPlayer audioPlayer = actorFX.get_gameObject().AddUniqueComponent <AudioPlayer>(); audioPlayer.RoleId = (long)actorFX.InstanceID; SoundManager.Instance.PlayPlayer(audioPlayer, fx.audio); } else { SoundManager.PlayUI(fx.audio, false); } } this.ResizeIfNeed(uid); this.SetSpeedIfNeed(uid); if (loadCallback != null) { loadCallback.Invoke(actorFX); } if (FXManager.IsPetBorn) { LayerSystem.SetGameObjectLayer(actorFX.get_gameObject(), "CameraRange", 1); } }