private void Create(string type, GameObject parent, GameObject prefab) { var obj = parent.AddChild(prefab); obj.name = prefab.name + " (Pool)"; obj.SetActive(false); pools[type].Enqueue(obj); }
public void MayChainAddChildGameObject() { var parent = new GameObject(); var child = new GameObject(); var child2 = new GameObject(); Assert.AreSame(parent.AddChild(child) .AddChild(child2), parent); }
/// <summary> /// Given a GameObject <paramref name="gameObjectForWhichToFindChild" />, return its child who has the name /// <paramref name="childName" /> if it exists, or a brand new GameObject parented to it with that name. /// </summary> /// <param name="gameObjectForWhichToFindChild"> /// The GameObject whose child we are attempting to find, or create if no such /// child exists. /// </param> /// <param name="childName">The name of the child to find and return, or create and return</param> /// <returns> /// The first child object of <paramref name="gameObjectForWhichToFindChild" /> with the name /// <paramref name="childName" />, or a brand new child object with that name if it does not already exist. /// </returns> public static GameObject FindChildCreateIfNull(this GameObject gameObjectForWhichToFindChild, string childName) { GameObject childObject = gameObjectForWhichToFindChild.FindFirstChild(childName); if (childObject == null) { childObject = gameObjectForWhichToFindChild.AddChild(new GameObject(childName)); } return(childObject); }
/// Add a new resource prefab instance to the current scene and return it /// @param factory The factory type. /// @param parent The parent object for the new object. /// @return A new world instance of factory. public static Option <GameObject> Spawn(GameObject factory, GameObject parent) { var rtn = Spawn(factory); if (rtn) { parent.AddChild(rtn.Unwrap()); } return(rtn); }
private static GameObject buildPlayer() { GameObject musicObj = new GameObject("music") { WorldPosition = new Point(Display.ScreenCenterX, 50) }; musicObj.AddComponent(new SongPlayer()); GameObject songTextObj = new GameObject("songtext") { Layer = .9f, LocalPosition = new Point(0, -10) }; songTextObj.AddComponent(new TextRenderer() { Text = "", Font = Fonts.Console, Color = Palette.White, Justification = Justifications.Center }); musicObj.AddChild(songTextObj); GameObject flavorTextObj = new GameObject("flavortext") { Layer = .9f, LocalPosition = new Point(2, 0) }; flavorTextObj.AddComponent(new TextRenderer() { Text = "from the album:", Font = Fonts.Console, Color = Palette.LightGray, Justification = Justifications.Center }); musicObj.AddChild(flavorTextObj); GameObject folderTextObj = new GameObject("albumtext") { Layer = .9f, LocalPosition = new Point(0, 10) }; folderTextObj.AddComponent(new TextRenderer() { Text = "", Font = Fonts.Console, Color = Palette.LightGray, Justification = Justifications.Center }); musicObj.AddChild(folderTextObj); return(musicObj); }
public EditorModel() { var root = new GameObject(); root.Model = new GameObjectTreeModel(); _project = Plugins.Container.ResolveNamed<GameObject>("Project"); root.AddChild(_project); SelectedGameObject = _project; RefreshGameObjectList(); RefreshGameObjectInspectors(); }
public void AddsChildObjectWithComponents() { var parent = new GameObject(); var child = parent.AddChild(typeof(MockComponent), typeof(AnotherMockComponent)); var all = child.GetAllComponentsOrInterfaces <IMockComponent>(); Assert.AreEqual(2, all.Count()); Assert.AreEqual(parent.transform, child.transform.parent); }
GameObject build_voxtools_flyout() { GameObject popupGO = GameObject.Instantiate(Resources.Load <GameObject>("BasicToolMenu")); popupGO.SetName("VoxelTools"); CCUIBuilder.AddBasicStartToolButton(popupGO, "Solidify", GenerateClosedMeshTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "Shell", MeshShellTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "VoxWrap", MeshWrapTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "VoxBoolean", MeshVoxelBooleanTool.Identifier, multi_selection); CCUIBuilder.AddBasicStartToolButton(popupGO, "VoxBlend", MeshVoxelBlendTool.Identifier, multi_selection); CCUIBuilder.AddBasicStartToolButton(popupGO, "Morphology", MeshMorphologyTool.Identifier); Canvas.AddChild(popupGO, false); UnityUIUtil.PositionRelative2D(popupGO, BoxPosition.TopLeft, Panel, BoxPosition.TopRight, Vector2f.Zero); return(popupGO); }
GameObject build_heal_flyout() { GameObject popupGO = GameObject.Instantiate(Resources.Load <GameObject>("BasicToolMenu")); popupGO.SetName("HealTools"); CCUIBuilder.AddBasicStartToolButton(popupGO, "AutoRepair", MeshAutoRepairTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "Solidify", GenerateClosedMeshTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "Weld Edges", WeldEdgesTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "Fix Normals", RepairOrientationTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "Fill Holes", FillHolesTool.Identifier, single_selection_or_one_obj); CCUIBuilder.AddBasicStartToolButton(popupGO, "Remove Hidden", RemoveHiddenFacesTool.Identifier); CCUIBuilder.AddBasicStartToolButton(popupGO, "Edit Mesh", MeshEditorTool.Identifier, single_selection_or_one_obj); Canvas.AddChild(popupGO, false); UnityUIUtil.PositionRelative2D(popupGO, BoxPosition.TopLeft, Panel, BoxPosition.TopRight, Vector2f.Zero); return(popupGO); }
public GameObject CreateGameScene() { GameObject player = CreatePlayer(); GameObject background = CreateBackground(); player.AddChild(background); GameObject info = CreateInfoObject(); player.AddChild(info); var weapons = info.FindAttValue <List <Weapon> >(GameAttr.WEAPONINFO); GameObject canon = CreateCanon(new Transform(318, 263, 0, 2, 2, 37), weapons.FirstOrDefault()); player.AddChild(canon); return(player); }
public void WhenAChildIsProvidedANewParentTheChildIsRemovedFromTheOldParent() { var oldParent = new GameObject(); var child = new GameObject(); oldParent.AddChild(child); var newParent = new GameObject(); child.SetParent(newParent); Assert.IsFalse(oldParent.IsAncestorOf(child)); }
public void IsAncestorOfIsRecursive() { var parent = new GameObject(); var child = new GameObject(); parent.AddChild(child); var grandChild = new GameObject(); child.AddChild(grandChild); Assert.IsTrue(parent.IsAncestorOf(grandChild)); }
public void CanAddChildGameObject() { var parent = new GameObject(); var child = new GameObject(); parent.AddChild(child); var hasDescendant = parent.IsAncestorOf(child); Assert.IsTrue(hasDescendant); Assert.AreSame(child.Parent, parent); }
Tile GenerateTile(int x, int y) { Tile tile = tilesContainer.AddChild <Tile>(); tile.name = string.Format("Tile ({0},{1})", x, y); tile.Type = Tile.TileType.Wall; tile.Sprite = tileSprite; tile.Position = new Vector2(x * 100, y * 100); tile.Size = new Vector2(100, 100); return(tile); }
public static void Show_NoForce(GameObject parentCanvas, string url, NewVersionCheck versionCheck) { GameObject dialog = GameObject.Instantiate <GameObject>(Resources.Load <GameObject>("UpdateAvailableDialog")); parentCanvas.AddChild(dialog, false); var component = dialog.GetComponent <UpdateAvailableDialog>(); component.VersionCheck = versionCheck; component.DownloadURL = url; }
public GameObject Show(string toastCaption, string toastMessage, int displayDurationInMs) { var newToast = ResourcesV2.LoadPrefab("Messages/Toast"); var toastUiElems = newToast.GetLinkMap(); InitText(toastUiElems, "Caption", toastCaption); InitText(toastUiElems, "Message", toastMessage); newToast.GetComponent <MonoBehaviour>().ExecuteDelayed(() => newToast.Destroy(), displayDurationInMs); toastsContainer.AddChild(newToast); return(newToast); }
private static GameObject AddViewToMainViewStack(Func <GameObject> viewInViewStackCreator) { GameObject mainViewStack = ViewStackHelper.MainViewStack().gameObject; GameObject viewInViewStack = viewInViewStackCreator(); mainViewStack.AddChild(viewInViewStack); viewInViewStack.name += " " + mainViewStack.GetChildCount(); viewInViewStack.GetOrAddComponent <RectTransform>().SetAnchorsStretchStretch(); SelectInHirarchyUi(viewInViewStack); return(viewInViewStack); }
private void InitMapObjects(SpriteSheet tileset, GameObject map) { foreach (var item in _map.Objects) { //if (!item.mapObject.Properties.TryGetValue("sprite", out var tmpProp)) // continue; //var spriteName = tmpProp.ToString(); //if (string.IsNullOrWhiteSpace(spriteName)) // continue; if (!item.mapObject.TryGetProperty <string>("sprite", out var spriteName)) { continue; } var sprite = tileset.GetSprite(spriteName); if (null == sprite) { continue; } var entity = new GameObject(this); var transform = entity.Components.Add <TransformComponent>(); transform.Local.Position = _mapRenderer.GetTilePos(item.tile); var renderer = entity.Components.Add <SpriteRenderComponent>(); renderer.Sprite = sprite; var bbox = entity.Components.Add <BoundingBoxComponent>(); bbox.SetSize(sprite.Bounds.Size); _collisionService.RegisterCollider(bbox); switch (item.mapObject.Type.Group) { case MapObjectType.Groups.Collectibles: bbox.IsStatic = true; renderer.LayerIndex = (int)RenderLayers.Items; var brain = entity.Components.Add <GroundItemBrainComponent>(); brain.Item = item.mapObject; break; case MapObjectType.Groups.Enemies: renderer.LayerIndex = (int)RenderLayers.Enemies; entity.Components.Add <PathFollowerComponent>(); entity.Components.Add <EnemyBrainComponent>(); break; } map.AddChild(entity); } }
public void CanRemoveChildGameObject() { var parent = new GameObject(); var child = new GameObject(); parent.AddChild(child); parent.RemoveChild(child); var hasDescendant = parent.IsAncestorOf(child); Assert.IsFalse(hasDescendant); Assert.IsNull(child.Parent); }
/*public void LoadLevel(string name) * { * //Create * var prefab = Resources.Load<GameObject>("Levels/" + name); * if(prefab == null) * Debug.LogError("Unable to load level:" + name); * * //Load * LoadLevel(prefab); * }*/ public void ReturnToMainMenu() { //Cleanup Cleanup(); playButton.SetActive(false); //Destroy level editMode.enabled = false; simulateMode.enabled = false; if (level != null) { GameObject.Destroy(level.gameObject); } //Create main menu var obj = GameObject.Instantiate(mainMenu); cleanupBeforeNextLevel.Add(obj); canvas.AddChild(obj); obj.transform.SetSiblingIndex(0); }
private static T CreateUIListView <T>() where T : UIListView { GameObject child = CreateUIRectTransform(300, 300); if (child == null) { return(null); } T listView = child.AddComponent <T>(); child.name = listView.GetType().Name; child.layer = 5; GameObject viewport = new GameObject(); child.AddChild(viewport); viewport.name = "Viewport"; RectTransform viewportRectTransform = viewport.AddComponent <RectTransform>(); viewportRectTransform.anchorMin = Vector2.zero; viewportRectTransform.anchorMax = Vector2.one; viewportRectTransform.pivot = 0.5f * Vector2.one; viewportRectTransform.SetMiddleWidth(300); viewportRectTransform.SetCenterHeight(300); listView.viewport = viewportRectTransform; viewport.AddComponent <Mask>(); viewport.AddComponent <Image>(); GameObject content = new GameObject(); viewport.AddChild(content); content.name = "Content"; RectTransform contentRectTransform = content.AddComponent <RectTransform>(); contentRectTransform.anchorMin = Vector2.zero; contentRectTransform.anchorMax = Vector2.one; contentRectTransform.pivot = 0.5f * Vector2.one; contentRectTransform.SetMiddleWidth(300); contentRectTransform.SetCenterHeight(300); listView.content = contentRectTransform; return(listView); }
/// <summary> /// Ставит новую башню. Существующая башня разрушается. /// </summary> /// <param name="turretPrefab">Префаб башни или null.</param> public void SetTurret(GameObject turretPrefab) { if (Turret != null) { GameObject.Destroy(Turret); } if (turretPrefab != null) { Turret = Instantiate(turretPrefab, transform.position + transform.up, Quaternion.identity) as GameObject; turretsFolder.AddChild(Turret); } }
public void ChildrenGameObjectsHaveAccessToGameStage() { var parent = new GameObject(); var child = new GameObject(); parent.AddChild(child); var gameStage = new MockGameStage(); gameStage.AddGameObject(parent); Assert.AreSame(gameStage, child.GameStage); }
public void ComponentStarted() { if (_displayGrid == null) { _displayGrid = new VoxelGrid(new VoxelGridData(1, 1, 1, 1), new Dictionary <Vector3i, GameObject>()); var gameObject = new GameObject($"{Name} Display Object"); gameObject.Transform.InheiritParentTransform = false; gameObject.AddComponent(_displayGrid); gameObject.AddComponent(new VoxelMeshRenderable(_types, _materialInstance)); GameObject.AddChild(_displayGrid.GameObject); } _displayGrid.GameObject.IsActive = true; }
public void DestroyRemovesGameObjectFromParent() { var gameStage = new MockGameStage(); var parent = new GameObject(); gameStage.AddGameObject(parent); var child = new GameObject(); parent.AddChild(child); child.Destroy(); Assert.IsFalse(parent.Children.Contains(child)); Assert.IsFalse(gameStage.GameObjects.Contains(child)); }
public override void Initialize() { base.Initialize(); if (previewComponent != null) { GameObject go = previewComponent.gameObject; GameObject child = go.AddChild(); Text text = child.AddComponent <Text>(); text.font = pb_GUIUtility.DefaultFont(); text.alignment = TextAnchor.LowerCenter; text.text = asset.name; } }
public GameLoop(Dispatcher disp, Canvas canvas, int drawInterval, int updateInterval) { this._drawInterval = drawInterval; this._updateInterval = updateInterval; _canvas = canvas; this.root = new GameObject(ObjectType.ROOT, Subtypes.OTHER, "root"); this.root.AddAttribute(ElementType.MODEL, Attr.USERACTION, new UserAction()); this._disp = disp; root.AddChild(new GameBuilder().CreateIntroScene()); }
public void AddIngredient(Ingredient ingredient) { GameObject go = content.AddChild(stepPrefab); // Set icon if (!string.IsNullOrEmpty(ingredient.icon)) { string resourcePath = Path.Combine("Icons", ingredient.icon); Sprite s = Resources.Load <Sprite>(resourcePath); if (s != null) { RecipeStep step = go.GetComponent <RecipeStep>(); step.icon.sprite = s; } } // Setup tooltip spawner TooltipSpawner spawner = go.GetComponent <TooltipSpawner>(); spawner.SetContent(ingredient.name); }
public void IsUiElementTest() { // Test default behaviour var go = new GameObject(); Assert.IsFalse(go.IsUiElement); // Test ui element inheritance var go1 = new GameObject(true); var go2 = new GameObject(); go1.AddChild(go2); Assert.IsTrue(go2.IsUiElement); }
private void AddShips() { GameObject eagleFrigate = AddGameObject(new GameObject(new Vector2(ScreenDimensions.X * 0.35f, ScreenDimensions.Y * 0.35f), "Cards\\Ships\\EagleFrigate\\EagleFrigateObject"), true, true); eagleFrigate.Name = "Eagle Frigate"; eagleFrigate.LocalRotation = MathHelper.PiOver2; float maxDimension = Math.Max(eagleFrigate.Size.X, eagleFrigate.Size.Y); Image eagleShield = eagleFrigate.AddChild(new Image(new Vector2(1.75f * maxDimension), Vector2.Zero, "Cards\\Shields\\PhaseEnergyShield\\PhaseEnergyShield"), true, true); GameObject pirateRaider = AddGameObject(new GameObject(new Vector2(ScreenDimensions.X * 0.25f, ScreenDimensions.Y * 0.85f), "Cards\\Ships\\PirateRaider\\PirateRaiderObject"), true, true); pirateRaider.Name = "Pirate Raider"; }
static void MenuClicked() { GameObject gameObject = new GameObject(); gameObject.transform.SetLocalPosX(5.0f); gameObject.transform.SetLocalPosY(5.0f); gameObject.transform.Identity(); var parentTrans = new GameObject("ParentTrans").transform; var childTrans = new GameObject("ChildTrans").transform; parentTrans.AddChild(childTrans); }
public void Reassign(GameObject gameObject, GameObject newParent) { if (!IsInitialized) return; var oldParent = gameObject.ParentObject; // remove the game object from its old parrent if (gameObject.ParentObject != null) { gameObject.ParentObject.RemoveChild(gameObject); } else if (ObjectList.Contains(gameObject)) { ObjectList.Remove(gameObject); } else { Console.WriteLine("GameObjectManager reassign: game object not found in manager"); return; } // add the game object to its new parent if (newParent != null) { newParent.AddChild(gameObject); } else { ObjectList.Add(gameObject); } SelectedObject = gameObject; GOReassigningEventArgs e = new GOReassigningEventArgs(); e.GameObject = gameObject; e.NewParent = oldParent; }
private GameObject LoadGameObject(XElement xElement, string currentProjectPath) { GameObject gameObject = new GameObject(); if((string)xElement.Attribute("Name") != null) gameObject.Name = (string)xElement.Attribute("Name"); LoadComponents( gameObject, xElement.Element("Components"),currentProjectPath ); foreach (XElement childObject in xElement.Elements("GameObject")) { gameObject.AddChild( LoadGameObject(childObject,currentProjectPath),false ); } return gameObject; }