private void destroyLayoutObjects() { foreach (Transform transform in TransformExtensions.GetChildren(base.transform, false)) { UnityEngine.Object.DestroyImmediate(transform.gameObject); } }
/// <summary> /// Deactivate on Awake. /// </summary> void Awake() { Instance = this; m_StartingScale = transform.localScale; Bounds canvasBounds = RectTransformUtility.CalculateRelativeRectTransformBounds(transform); RectTransform rect = GetComponent <RectTransform>(); m_ObjectBounds = new Vector3(canvasBounds.size.x * rect.localScale.x, canvasBounds.size.y * rect.localScale.y, canvasBounds.size.z * rect.localScale.z); // Actually find microphone key in the keyboard var dictationButton = TransformExtensions.GetChildRecursive(gameObject.transform, "Dictation"); if (dictationButton != null) { var dictationIcon = dictationButton.Find("keyboard_closeIcon"); if (dictationIcon != null) { _recordImage = dictationIcon.GetComponentInChildren <Image>(); var material = new Material(_recordImage.material); _defaultColor = material.color; _recordImage.material = material; } } // Setting the keyboardType to an undefined TouchScreenKeyboardType, // which prevents the MRTK keyboard from triggering the system keyboard itself. InputField.keyboardType = (TouchScreenKeyboardType)(int.MaxValue); // Keep keyboard deactivated until needed gameObject.SetActive(false); }
public void SharedShipCreation(ShipEntity shipEntity, PSShip psShip, SimpleManager.GenericDelegate buttonDel) { this.AddShipButtonDelegate((EventTrigger)shipEntity.clickDetector.GetComponent <EventTrigger>(), buttonDel); this.InitializeShipSprites(shipEntity, psShip); shipEntity.CreateStickerEntities(); shipEntity.UpdateFleetFlagIcon(); this.InitializeShipMaterials(shipEntity, psShip); float num1 = 0.0f; float num2 = 0.0f; if (Object.op_Inequality((Object)((SpriteRenderer)shipEntity.shipExterior.GetComponent <SpriteRenderer>()).get_sprite(), (Object)null)) { Bounds bounds1 = ((SpriteRenderer)shipEntity.shipExterior.GetComponent <SpriteRenderer>()).get_sprite().get_bounds(); // ISSUE: explicit reference operation num1 = (float)((Bounds)@bounds1).get_size().x; Bounds bounds2 = ((SpriteRenderer)shipEntity.shipExterior.GetComponent <SpriteRenderer>()).get_sprite().get_bounds(); // ISSUE: explicit reference operation num2 = (float)((Bounds)@bounds2).get_size().y; } if ((double)num1 > (double)num2) { TransformExtensions.ScaleByXY((Transform)shipEntity.exteriorSkin.GetComponent <RectTransform>(), 3.2f); } else { TransformExtensions.ScaleByXY((Transform)shipEntity.exteriorSkin.GetComponent <RectTransform>(), 3.5f); } ((Component)shipEntity).get_gameObject().SetActive(true); }
public GameObject GetGameObjectForBullet(GameObject prefab, Vector2 position, Quaternion rotation, GameObject target) { // // ("prefab" + prefab.name + "position" + position.ToString ()); //まず取得したいGameObjectのプレハブのインスタンスIDを取得 int key = prefab.GetInstanceID(); //Dictionaryに取得したkeyが存在しなければ新たにList<GameObject>を作成してDictionaryに追加 if (pooledGameObjects.ContainsKey(key) == false) { pooledGameObjects.Add(key, new List <GameObject> ()); } //取得したGameObjectのprefabを取得 List <GameObject> gameObjects = pooledGameObjects [key]; //返すゲームオブジェクト GameObject go = null; //ある場合 //使えるオブジェクトがないかListの中身を走査 for (int i = 0; i < gameObjects.Count; i++) { //とりあえず上からgameobjectを調べていく go = gameObjects [i]; //現在非アクティブ(未使用)であれば if (go.activeInHierarchy == false) { //位置を設定 go.transform.position = position; //角度を設定 go.transform.rotation = rotation; //※targetに方向をあわせる TransformExtensions.LookAt2D(go.transform, target.transform, Vector2.up); //これから使うのでactiveにする go.SetActive(true); // // ("recycle object"); //ゲームオブジェクトを返す return(go); } } //ない場合 //使用できるものがないので新たに生成 go = (GameObject)Instantiate(prefab, position, rotation); print("make" + prefab.name + "!!!!!"); //ObjectPoolゲームオブジェクトの子要素にする go.transform.parent = transform; //※targetに方向をあわせる TransformExtensions.LookAt2D(go.transform, target.transform, Vector2.up); //作ったオブジェクトをListに追加 gameObjects.Add(go); // // ("instantiate object"); //作ったゲームオブジェクトを返す return(go); }
public static GameObject FindSecurely(GameObject self, string name, [Optional, DefaultParameterValue(true)] bool recursive) { GameObject gameObject = null; Transform transform = self.transform; int childCount = transform.childCount; for (int i = 0; i < childCount; i++) { Transform child = transform.GetChild(i); if (child.gameObject.name == name) { gameObject = child.gameObject; break; } if (recursive) { Transform transform3 = TransformExtensions.FindChildRecursively(child, name); if (transform3 != null) { gameObject = transform3.gameObject; break; } } } if (gameObject == null) { Debug.LogError("GameObject `" + name + "' not found!"); } return(gameObject); }
public void IterateIgnoreNull() { Assert.Throws(typeof(System.ArgumentNullException), () => { TransformExtensions.EnumerateHierarchy(null, new List <Transform>(0)); }); }
public void Visualize() { if (!isCreated) { Create(); } markerObject.name = name; markerObject.transform.localPosition = TransformExtensions.Ros2Unity(TypeExtensions.PointMsgToVector3(marker.pose.position)); markerObject.transform.localRotation = TransformExtensions.Ros2Unity(TypeExtensions.QuaternionMsgToQuaternion(marker.pose.orientation)); markerObject.transform.localScale = TransformExtensions.Ros2UnityScale(TypeExtensions.Vector3MsgToVector3(marker.scale)); if (marker.type == MessageTypes.Visualization.Marker.CYLINDER) { markerObject.transform.localScale = new Vector3(markerObject.transform.localScale.x, markerObject.transform.localScale.y / 2, markerObject.transform.localScale.z); } markerObject.GetComponent <Renderer>().material.SetColor("_Color", TypeExtensions.ColorRGBAToColor(marker.color)); if (!marker.frame_locked) { markerObject.transform.parent = null; } }
public virtual IEnumerator FollowRoutine(Follower follower) { do { Vector3 heading = Vector3.RotateTowards(follower.trs.position, waypoints[follower.currentWaypoint].position, rotaRates[follower.currentWaypoint] * Time.deltaTime, moveRates[follower.currentWaypoint] * Time.deltaTime); follower.trs.position = heading; follower.trs.rotation = Quaternion.SlerpUnclamped(follower.trs.rotation, waypoints[follower.currentWaypoint].rotation, rotaRates[follower.currentWaypoint] * Time.deltaTime); if (follower.trs.position == waypoints[follower.currentWaypoint].position && ((waitForRota[follower.currentWaypoint] && follower.trs.rotation == waypoints[follower.currentWaypoint].rotation) || !waitForRota[follower.currentWaypoint])) { if (invokeAfterReachedWaypoint[follower.currentWaypoint] != null) { invokeAfterReachedWaypoint[follower.currentWaypoint].onClick.Invoke(); } if (follower.currentWaypoint == waypoints.Length - 1) { RemoveFollower(follower.trs); yield break; } if (followClosestWaypoint) { follower.currentWaypoint = waypoints.IndexOf(TransformExtensions.GetClosestTransform(waypoints, follower.trs)); } else { follower.currentWaypoint++; } } yield return(new WaitForEndOfFrame()); } while (true); }
pose_m CreatePoseMessage(Transform base_T, Transform goal_T) { pose_m pose = new pose_m(); Vector3 pos = goal_T.position - base_T.position; Quaternion ori = Quaternion.Inverse(base_T.rotation) * goal_T.rotation; ori = TransformExtensions.Unity2Ros(ori); pos = TransformExtensions.Unity2Ros(pos); Point_msg point = new Point_msg { x = -pos.y, y = pos.x, z = pos.z }; float d = Mathf.Sqrt(ori.x * ori.x + ori.y * ori.y + ori.z * ori.z + ori.w * ori.w); Quaternion_msg quaternion = new Quaternion_msg { x = ori.x / d, y = ori.y / d, z = ori.z / d, w = ori.w / d }; pose.position = point; pose.orientation = quaternion; return(pose); }
protected void Awake() { this.RectTm = base.GetComponent <RectTransform>(); Transform[] children = TransformExtensions.GetChildren(this.LockedContentRoot.transform, false); for (int i = 0; i < children.Length; i++) { TransformAnimation item = GameObjectExtensions.AddOrGetComponent <TransformAnimation>(children[i].gameObject); this.m_lockedContentTransformAnimations.Add(item); RectTransform transform = children[i].GetComponent <RectTransform>(); this.m_lockedContentRectTransforms.Add(item, transform); this.m_lockedContentOriginalAnchoredPositions.Add(item, transform.anchoredPosition); Image image = children[i].GetComponent <Image>(); MenuOverlay overlay = GameObjectExtensions.AddOrGetComponent <MenuOverlay>(children[i].gameObject); overlay.Image = image; this.m_lockedContentImages.Add(item, overlay); } this.m_dummyRectTmObj = new GameObject("DummyRectTm").AddComponent <RectTransform>(); this.m_dummyRectTmObj.sizeDelta = Vector2.zero; this.m_dummyRectTmObj.SetParent(this.LockedContentRoot.transform, false); this.m_dimmableImages.Clear(); Image component = this.BackgroundCanvas.GetComponent <Image>(); this.m_dimmableImages.Add(component); this.m_dimmableImageOriginalColors.Add(component, component.color); Image[] componentsInChildren = this.OpenContentRoot.GetComponentsInChildren <Image>(); for (int j = 0; j < componentsInChildren.Length; j++) { this.m_dimmableImages.Add(componentsInChildren[j]); this.m_dimmableImageOriginalColors.Add(componentsInChildren[j], componentsInChildren[j].color); } }
void UpdateBounds() { Bounds b = TransformExtensions.CalculateBounds(_bells); _particlePruningBoundsRadius = b.size.magnitude; _particlePruningBoundsOrigin = b.center; _particlePruningBoundsRadius2 = _particlePruningBoundsRadius * _particlePruningBoundsRadius; }
void UpdateDroneOdom(Odometry odom) { Vector3 pos = odom.pose.pose.position.ToUnity(); Quaternion quat = new Quaternion((float)odom.pose.pose.orientation.x, (float)odom.pose.pose.orientation.y, (float)odom.pose.pose.orientation.z, (float)odom.pose.pose.orientation.w); Quaternion rot = TransformExtensions.Ros2Unity(quat); Drone.transform.localPosition = pos; Drone.transform.localRotation = rot; }
public static void SetStaticRecursively(GameObject self, bool flag) { self.isStatic = flag; Transform[] children = TransformExtensions.GetChildren(self.transform, true); for (int i = children.Length - 1; i >= 0; i--) { children[i].gameObject.isStatic = flag; } }
public static void SetLayerRecursively(GameObject self, int layer) { self.layer = layer; Transform[] children = TransformExtensions.GetChildren(self.transform, true); for (int i = children.Length - 1; i >= 0; i--) { children[i].gameObject.layer = layer; } }
void HandleSelecting() { Plane plane = new Plane(trs.forward, centerOptionRange.bounds.center); float hitDistance; Ray ray = new Ray(selectorTrs.position, selectorTrs.forward); if (plane.Raycast(ray, out hitDistance)) { Vector3 hitPoint = ray.GetPoint(hitDistance); List <Transform> optionTransforms = new List <Transform>(); for (int i = 0; i < options.Length; i++) { Option option = options[i]; optionTransforms.Add(option.trs); } optionTransforms.Add(centerOption.trs); Transform closestOptionTrs = TransformExtensions.GetClosestTransform_3D(optionTransforms.ToArray(), hitPoint); for (int i = 0; i < optionTransforms.Count - 1; i++) { Transform optionTrs = optionTransforms[i]; if (closestOptionTrs == optionTrs) { Select(options[i]); return; } } Select(centerOption); // int optionIndex = 0; // for (float angle = 0; angle < 360; angle += 360f / options.Length) // { // Option option = options[optionIndex]; // if (Vector3.Angle(trs.rotation * (selectorTrs.position - centerOptionRange.bounds.center), trs.rotation * VectorExtensions.FromFacingAngle(angle)) <= 360f / options.Length / 2) // Select (option); // optionIndex ++; // } // } } // List<Transform> optionTransforms = new List<Transform>(); // for (int i = 0; i < options.Length; i ++) // { // Option option = options[i]; // optionTransforms.Add(option.trs); // } // optionTransforms.Add(centerOption.trs); // Transform closestOptionTrs = selectorTrs.GetClosestTransform_3D(optionTransforms.ToArray()); // for (int i = 0; i < optionTransforms.Count; i ++) // { // Transform optionTrs = optionTransforms[i]; // if (closestOptionTrs == optionTrs) // { // Select (options[i]); // return; // } // } // Select (centerOption); }
// [MenuItem("Window/Refersh Buttons")] public static void RefreshButtons() { foreach (Button butt in TransformExtensions.GetComponents <Button>(Selection.transforms)) { if (butt.primitive == Button.Primitive.Plane) { butt.CreateSprite(butt.normal); } } }
public override void Parse(string str) { base.Parse(str); var words = str.Split(','); Position = TransformExtensions.CSV2Vector3(words[16], '|'); LookAt = TransformExtensions.CSV2Vector3(words[17], '|'); TargetObjOrientation = TransformExtensions.CSV2Quaternion(words[18], '|'); CalculateOrientation(); }
private void CreateOverlayIcon() { if (!((UnityEngine.Object)HarvestWhenReadyOverlayIcon != (UnityEngine.Object)null) && (UnityEngine.Object)GetComponent <AttackableBase>() == (UnityEngine.Object)null) { HarvestWhenReadyOverlayIcon = Util.KInstantiate(Assets.UIPrefabs.HarvestWhenReadyOverlayIcon, GameScreenManager.Instance.worldSpaceCanvas, null).GetComponent <RectTransform>(); OccupyArea component = GetComponent <OccupyArea>(); Extents extents = component.GetExtents(); KPrefabID component2 = GetComponent <KPrefabID>(); TransformExtensions.SetPosition(position: component2.HasTag(GameTags.Hanging) ? new Vector3((float)(extents.x + extents.width / 2) + 0.5f, (float)(extents.y + extents.height)) : new Vector3((float)(extents.x + extents.width / 2) + 0.5f, (float)extents.y), transform: HarvestWhenReadyOverlayIcon.transform); RefreshOverlayIcon(null); } }
public void SetButtons() { buttonsInScene = TransformExtensions.FindObjectsWithTag(buttonHolder.transform, "Button"); int iMax = buttonsInScene.Count; for (int i = 0; i < iMax; i++) { int rng = Random.Range(0, buttonsInScene.Count - 1); buttonList.Add(buttonsInScene[rng]); buttonsInScene[rng].GetComponentInChildren <Text>().text = (i + 1).ToString(); //buttonsInScene[rng].SetActive(true); buttonsInScene.RemoveAt(rng); } }
private void DropStorage() { //Drop the storage for the chore (which should only contain insulation) when the chore/fetch is cancelled List <GameObject> items = storage.items; if (items.Count == 0) { return; } GameObject go = items[0]; storage.Drop(go); TransformExtensions.SetPosition(go.transform, Grid.CellToPosCBC(Grid.PosToCell(gameObject), Grid.SceneLayer.Ore)); GameComps.Fallers.Add(go, Vector2.zero); }
public static ProgressBar CreateProgressBar(KMonoBehaviour entity, Func <float> updateFunc) { ProgressBar progressBar = Util.KInstantiateUI <ProgressBar>(ProgressBarsConfig.Instance.progressBarPrefab, null, false); progressBar.SetUpdateFunc(updateFunc); progressBar.transform.SetParent(GameScreenManager.Instance.worldSpaceCanvas.transform); progressBar.name = ((!((UnityEngine.Object)entity != (UnityEngine.Object)null)) ? string.Empty : (entity.name + "_")) + " ProgressBar"; progressBar.transform.Find("Bar").GetComponent <Image>().color = ProgressBarsConfig.Instance.GetBarColor("ProgressBar"); progressBar.Update(); Vector3 a = entity.transform.GetPosition() + Vector3.down * 0.5f; Building component = entity.GetComponent <Building>(); TransformExtensions.SetPosition(position: (!((UnityEngine.Object)component != (UnityEngine.Object)null)) ? (a - Vector3.right * 0.5f) : (a - Vector3.right * 0.5f * (float)(component.Def.WidthInCells % 2) + component.Def.placementPivot), transform: progressBar.transform); return(progressBar); }
public virtual void DoUpdate() { if (autoSetRegionCount) { lineRenderers = lineRenderersParent.GetComponentsInChildren <LineRenderer>(); Region region; if (regions.Length < lineRenderers.Length) { for (int i = regions.Length; i < lineRenderers.Length; i++) { region = new Region(); region.lineRenderer = lineRenderers[i]; region.autoSetPositions = true; regions = regions.Add(region); } } } if (autoSetLineRenderers) { lineRenderers = lineRenderersParent.GetComponentsInChildren <LineRenderer>(); for (int i = 0; i < regions.Length; i++) { regions[i].lineRenderer = lineRenderers[i]; } } while (true) { indexOfNullPoint = points.IndexOf(null); if (indexOfNullPoint == -1) { break; } else { points = points.RemoveAt(indexOfNullPoint); } } foreach (Region region in regions) { if (region.autoSetPositions) { for (int i = 0; i < region.lineRenderer.positionCount; i++) { region.lineRenderer.SetPosition(i, TransformExtensions.GetClosestTransform_2D(points, region.lineRenderer.GetPosition(i)).position); } } } }
public void UpdateItems() { TransformExtensions.DestroyAllChildren(listTransform); if (ItemsSource != null) { foreach (object value in ItemsSource()) { GameObject newItem = GameObjectExtensions.Instantiate(itemPrefab, listTransform); newItem.GetComponent <ListViewItem>().Value = value; newItem.GetComponent <ListViewItem>().Text.text = ItemTextConverter != null?ItemTextConverter(value) : value?.ToString(); newItem.GetComponent <ListViewItem>().Button.onClick.AddListener(() => SelectedItem = newItem); } } }
public static UnityEngine.Vector3 ToUnity(this Point p, bool ros2Unity = true) { UnityEngine.Vector3 v = new UnityEngine.Vector3(); v.x = (float)p.x; v.y = (float)p.y; v.z = (float)p.z; if (ros2Unity) { return(TransformExtensions.Ros2Unity(v)); } else { return(v); } }
public virtual void AddFollower(Transform followerTrs) { if (invokeOnStart != null) { invokeOnStart.onClick.Invoke(); } Follower follower = new Follower(); follower.trs = followerTrs; follower.currentWaypoint = 0; if (followClosestWaypoint) { follower.currentWaypoint = waypoints.IndexOf(TransformExtensions.GetClosestTransform(waypoints, followerTrs)); } followers = followers.Add(follower); StartCoroutine(FollowRoutine(follower)); }
public void ClampAngle() { var min = -60f; var max = 80f; Assert.AreEqual(TransformExtensions.ClampAngle(10f, min, max), 10f); Assert.AreEqual(TransformExtensions.ClampAngle(90f, min, max), 80f); Assert.AreEqual(TransformExtensions.ClampAngle(179f, min, max), 80f); // Assert.AreEqual(TransformExtensions.ClampAngle(180f, min, max), 80f); Assert.AreEqual(TransformExtensions.ClampAngle(-50f, min, max), -50f); Assert.AreEqual(TransformExtensions.ClampAngle(-60f, min, max), -60f); Assert.AreEqual(TransformExtensions.ClampAngle(-80f, min, max), -60f); min = 0; Assert.AreEqual(TransformExtensions.ClampAngle(-80f, min, max), 0); Assert.AreEqual(TransformExtensions.ClampAngle(-180f, min, max), 0); // Assert.AreEqual(TransformExtensions.ClampAngle(-181f, min, max), 0); }
// Update is called once per frame void Update() { objectTransformPosition = objectTransform.position; unity2RosV3 = TransformExtensions.Unity2Ros(objectTransformPosition); unity2RosV3.Scale(unity2DobotScale); Matrix3x3 matrix = new Matrix3x3(new float[] { 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f }); Matrix3x3 transposedMatrix = matrix.Transpose(); //targetScaled = new Vector3(objectTransformPosition.x * scaleX, objectTransformPosition.y * scaleY, objectTransformPosition.z * scaleZ); //target = targetScaled + targetOffset; //targetSwapped = new Vector3(target.z, target.x, target.y); //target.x = ( objectTransform.position.x - fixedValueModifier.x ) * numerators.x / denominators.x; //target.y = (objectTransform.position.y - fixedValueModifier.y) * numerators.y / denominators.y; //target.z = (objectTransform.position.z - fixedValueModifier.z) * numerators.z / denominators.z; transformedLocation = unity2RosV3; text.SetText(transformedLocation.ToString()); }
internal static MatrixTransform GetAnimationTransform(FrameworkElement element) { Matrix matrix1 = new Matrix(); Transform thisObject1 = element.TransformToVisual((Visual)Window.GetWindow((DependencyObject)element)) as Transform; if (thisObject1 != null) { matrix1 = MatrixHelper.Multiply(matrix1, TransformExtensions.GetMatrix(thisObject1)); } Transform thisObject2 = FrameworkElementExtensions.RenderTransformToAncestor(element, (DependencyObject)null).Inverse as Transform; if (thisObject2 != null) { matrix1 = MatrixHelper.Multiply(matrix1, TransformExtensions.GetMatrix(thisObject2)); } return(new MatrixTransform() { Matrix = matrix1 }); }
private static Transform TransformToAncestorHelper(FrameworkElement element, DependencyObject parent, DependencyProperty property) { Matrix matrix = Matrix.Identity; foreach (DependencyObject dependencyObject in VisualTreeExtensions.GetVisualAncestorsAndSelf((DependencyObject)element)) { if (dependencyObject != parent) { Transform thisObject = (Transform)dependencyObject.GetValue(property); if (thisObject != null) { matrix = MatrixHelper.Multiply(matrix, TransformExtensions.GetMatrix(thisObject)); } } else { break; } } return((Transform)TransformExtensions.MakeMatrixTransform(matrix)); }
pose_msg CreatePoseMessageIIWA(Transform base_T, Transform goal_T) { pose_msg pose = new pose_msg(); Vector3 pos = goal_T.position - base_T.position; Quaternion ori = Quaternion.Inverse(base_T.rotation) * goal_T.rotation; ori = TransformExtensions.Unity2Ros(ori); pos = TransformExtensions.Unity2Ros(pos); Point_msg point = new Point_msg { x = -pos.x, y = -pos.y, z = pos.z }; float d = Mathf.Sqrt(ori.x * ori.x + ori.y * ori.y + ori.z * ori.z + ori.w * ori.w); Quaternion_msg quaternion = new Quaternion_msg { x = ori.x / d, y = ori.y / d, z = ori.z / d, w = ori.w / d }; //DateTime.UtcNow.Millisecond; HeaderExtensions.Update(pose.header); pose.header.stamp.secs = DateTime.UtcNow.Second;; pose.header.stamp.nsecs = DateTime.UtcNow.Millisecond; pose.header.frame_id = "map"; pose.pose.position = point; pose.pose.orientation = quaternion; return(pose); }