private void ReInitialize() { if (UnityEditor.SceneView.lastActiveSceneView.camera.gameObject.GetComponent <ObjectPlacer>() == null) { _objectPlacer = UnityEditor.SceneView.lastActiveSceneView.camera.gameObject.AddComponent <ObjectPlacer>(); } }
public void AddObjectPlacer() { ObjectPlacer newPlacer = new ObjectPlacer(); newPlacer.name = string.Concat("Object placer ", placers.Count + 1); placers.Add(newPlacer); }
/// <summary> /// Initializes the menu. /// </summary> public void Init() { //ui = GameManager.Instance.UI; settings = GameManager.Instance.Settings; grid = GameManager.Instance.Grid; objPlacer = GameManager.Instance.ObjectPlacer; title = GetComponentInChildren <Text>(); }
public LevelGenerator() { rp = new RoomPlacer(); ra = new RoomArranger(); cg = new CorridorGenerator(); op = new ObjectPlacer(); llRooms = new List<Room>(); }
public override void OnInspectorGUI() { script = (ObjectPlacer)target; serializedObject.Update(); staticObjectList.DoLayoutList(); pathObjectList.DoLayoutList(); serializedObject.ApplyModifiedProperties(); }
private void Start() { objectPlacer = FindObjectOfType <ObjectPlacer>(); for (int x = 0; x < refineValue; x++) { DoSim(numR); } }
void Awake() { if(instance != null) { Destroy(this.gameObject); return; } instance = this; shelf.anchoredPosition = shelf.anchoredPosition - new Vector2(0f,shelf.rect.height); endActionPhaseButton.anchoredPosition = endActionPhaseButton.anchoredPosition - new Vector2(0f,endActionPhaseButton.rect.height); }
static void Init() { // Get existing open window or if none, make a new one: PlacementWindow window = (PlacementWindow)EditorWindow.GetWindow(typeof(PlacementWindow)); window.Show(); _objectPlacer = UnityEditor.SceneView.lastActiveSceneView.camera.gameObject.AddComponent <ObjectPlacer>(); _settings = (SettingsScriptableObject)Resources.Load("PlacementSettings", typeof(SettingsScriptableObject)); window.LoadValues(); }
/// <summary> /// Start is called before the first frame update. /// </summary> private void Start() { ui = GameManager.Instance.UI; cam = GameManager.Instance.Camera; mouse = GameManager.Instance.Mouse; grid = GameManager.Instance.Grid; objPlacer = GameManager.Instance.ObjectPlacer; settings = GameManager.Instance.Settings; settings.ResetSettings(); InitIndicators(); SetIndicatorStates(settings.EditMode); horizontalInput = new SingleInputHandler("Horizontal"); verticalInput = new SingleInputHandler("Vertical"); scrollWheelInput = new SingleInputHandler("Mouse ScrollWheel"); changeObjInput = new SingleInputHandler("Change Object"); turnObjInput = new SingleInputHandler("Turn Object"); leftShiftInput = new SingleInputHandler("Alt Action 1"); leftCtrlInput = new SingleInputHandler("Alt Action 2"); leftAltInput = new SingleInputHandler("Alt Action 3"); matchHeightLevelInput = new SingleInputHandler("Match Height Level"); addModeInput = new SingleInputHandler("Add Mode"); removeModeInput = new SingleInputHandler("Remove Mode"); hideModeInput = new SingleInputHandler("Hide Mode"); toggleGridObjSnap = new SingleInputHandler("Toggle Grid Object Snap"); toggleAddingToOccupiedCell = new SingleInputHandler("Toggle Adding to Occupied Cell"); toggleAutoselectAboveHighestOccupied = new SingleInputHandler("Toggle Autoselect Above Highest Occupied Cell"); toggleKeepSameHeightLevel = new SingleInputHandler("Toggle Keep Same Height Level On Uneven Terrain"); saveFavoriteInput = new SingleInputHandler("Save Favorite"); showAllInput = new SingleInputHandler("Show All"); resetCamInput = new SingleInputHandler("Reset Camera"); pauseInput = new SingleInputHandler("Pause"); helpInput = new SingleInputHandler("Help"); numberKeys = new SingleInputHandler[] { new SingleInputHandler(KeyCode.Alpha0), new SingleInputHandler(KeyCode.Alpha1), new SingleInputHandler(KeyCode.Alpha2), new SingleInputHandler(KeyCode.Alpha3), new SingleInputHandler(KeyCode.Alpha4), new SingleInputHandler(KeyCode.Alpha5), new SingleInputHandler(KeyCode.Alpha6), new SingleInputHandler(KeyCode.Alpha7), new SingleInputHandler(KeyCode.Alpha8), new SingleInputHandler(KeyCode.Alpha9) }; if (GameManager.Instance.UI != null) { screenDimensions = GameManager.Instance.UI.CanvasSize; settings.MouseCameraMoveActive = true; } }
void PlaceObject(Vector3 position) { if (useCommandWorkflow) { ICommand newCommand = new PlaceObjectCommand(position); //METODO EXPERIMENTAL, NO SE USA POR DEFECTO CommandInvoker.AddCommand(newCommand); } else { ObjectPlacer.PlaceObject(position, objectSelected); //METODO COMUN PARA COLOCAR OBJETOS USADO POR DEFECTO } }
private void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); return; } else { instance = this; } }
//Copy constructor public ObjectPlacer(ObjectPlacer other) { name = other.name + " Clone"; objectReference = other.objectReference; position = other.position; distance = other.distance; offset = other.offset; type = other.type; rotation = other.rotation; scale = other.scale; constraints = other.constraints; }
private void Start() { if (masterPos == null) { masterPos = transform; } gameInfo = GameObject.FindObjectOfType <GameInfo>(); sp = gameObject.GetComponent <SpriteRenderer>(); cam = Camera.main; mouseAim = false; evals = gameObject.GetComponent <EditorValues>();//for the laser aiming mouse = GameObject.FindObjectOfType <ObjectPlacer>(); }
public void Close() { ObjectPlacer op = GameObject.FindObjectOfType <ObjectPlacer>(); op.CloseUI(); //close all the elements on the hupcont to reset it. foreach (GameObject go in elements) { if (go) { go.SetActive(false); } } }
public void copyTo(ObjectPlacer tp) { tp.treeScale = treeScale; tp.startSize = startSize; tp.finalSize = finalSize; tp.finalSizeDev = finalSizeDev; tp.growingSpeed = growingSpeed; tp.startSpawnNumber = startSpawnNumber; tp.doTrees = doTrees; tp.spawnColor = spawnColor; tp.areChildren = areChildren; tp.regionArray = regionArray; tp.planetT = planetT; }
public override void OnInspectorGUI() { ObjectPlacer objectPlacer = (ObjectPlacer)target; DrawDefaultInspector(); if (GUILayout.Button("Place / Update")) { objectPlacer.PlaceObjects(); } else if (GUILayout.Button("Clear")) { objectPlacer.Clear(); } }
public bool TryPlaceBuilding(IEnumerable <BuildingTile> tileList, StructureData structureData) { var tl = tileList.ToArray(); if (tl.Any(t => t.hasBuilding)) { return(false); } var buildingCoord = tl .OrderBy(t => t.bounds.min.x) .ThenBy(t => t.bounds.min.z) .First() .GetBuildingCoord(); if (structureData.modelName != null) { var modelObject = LoadObject(structureData); ObjectPlacer.Place(chunks, modelObject, buildingCoord, Time.frameCount % 4); } var grids = structureData.numGrids; var structureGo = Instantiate(structurePrefab, transform); structureGo.transform.position = buildingCoord + new Vector3(grids.x * this.tiles.gridSize / 2f, 0, grids.y * this.tiles.gridSize / 2.0f); var structure = structureGo.GetComponent <Structure>(); structure.chunks = chunks; structure.ground = ground; structure.origin = buildingCoord; structure.gridSize = tiles.gridSize; structure.numGrids = structureData.numGrids; structure.structureType = structureData.type; var y = Mathf.Max(buildingCoord.y, water.config.waterLevel); structure.wallHeight = (Mathf.CeilToInt(y / (float)wallHeightMultiplier) + 3) * wallHeightMultiplier; _structures.Add(buildingCoord, structureGo); foreach (var tile in tl) { tile.hasBuilding = true; } return(true); }
public override void OnInspectorGUI() { DrawDefaultInspector(); ObjectPlacer myScript = (ObjectPlacer)target; if (GUILayout.Button("Place Objects")) { myScript.PlaceObjects(); } if (GUILayout.Button("Clear Objects")) { myScript.ClearObjects(); } }
private void spawnAllObjects() { //planetInfo.generalObjectsInfo = new ObjectInfo[planetInfo.chunksAmmount][]; //doTreesAfter = false; if (objPlacerObj != null) { for (int i = 0; i < planetInfo.chunksAmmount; i++) { ObjectPlacer tp1 = planetInfo.objPlacer [i]; tp1.spawnObjects(); planetInfo.generalObjectsInfo [i] = tp1.spawnedObjsInfo.ToArray(); } } }
private void PlaceObjects() { // Clear the existing objects ObjectPlacer placer = target as ObjectPlacer; DeleteAllChildren(placer.transform); // Fill with new objects float x = -placer.Width / 2.0f; float y = -placer.Height / 2.0f; while (x < placer.Width * 0.5f) { y = -placer.Height / 2.0f; while (y < placer.Height * 0.5f) { int objNumber = UnityEngine.Random.Range(0, placer.Objects.Count); GameObject obj = (GameObject)GameObject.Instantiate(placer.Objects[objNumber]); int matNumber = UnityEngine.Random.Range(0, placer.Materials.Count); Material material = placer.Materials[matNumber]; obj.renderer.material = material; obj.transform.parent = placer.transform; // Add a random offset float randX = UnityEngine.Random.Range(0.0f, placer.GridSize) - placer.GridSize; float randY = UnityEngine.Random.Range(0.0f, placer.GridSize) - placer.GridSize; obj.transform.localPosition = new Vector3(x + randX, obj.transform.localPosition.z, y + randY); // Scale the object float scale = UnityEngine.Random.RandomRange(placer.MinScaleY, placer.MaxScaleY); obj.transform.localScale = new Vector3(obj.transform.localScale.x, scale, obj.transform.localScale.z); y += placer.GridSize; } x += placer.GridSize; } }
private void Start() { roadPlacer = GameObject.Find("Manager(Has to be at 0,0,0)").GetComponent <RoadPlacer>(); objectPlacer = GameObject.Find("Manager(Has to be at 0,0,0)").GetComponent <ObjectPlacer>(); //Loop through each building we can place and create UI for them foreach (GameObject building in buildings) { GameObject ImageButton = new GameObject(); GameObject ImageText = new GameObject(); ImageButton.transform.parent = panel.transform; //Get the image from the building Sprite image = building.GetComponent <AbstractBuilding>().clickableIcon; ImageButton.AddComponent <RectTransform>(); ImageButton.AddComponent <Image>(); ImageButton.AddComponent <Button>(); //Set the image to the image from building ImageButton.GetComponent <Image>().sprite = image; ObjectSelectButton selectScript = ImageButton.AddComponent <ObjectSelectButton>(); selectScript.building = building; selectScript.change = this; ImageButton.GetComponent <Button>().onClick.AddListener(selectScript.SetBuilding); ImageText.transform.parent = ImageButton.transform; RectTransform trans = ImageText.AddComponent <RectTransform>(); trans.localPosition = new Vector2(0, -67); TMPro.TextMeshProUGUI text = ImageText.AddComponent <TMPro.TextMeshProUGUI>(); text.text = building.transform.name; text.alignment = TextAlignmentOptions.Center; text.enableAutoSizing = true; text.fontSizeMin = 10; text.fontSizeMax = 18; text.fontSize = 20; } }
void Start() { levelGenerator = new SimpleGenerator(floorTiles, wallTiles, numberOfTiles); map = levelGenerator.Generate(); objectPlacer = new SimpleObjectPlacer(levelGenerator.GetTiles()); objectPlacer.PlacePlayer(player); enemies = objectPlacer.PlaceEnemies(enemiesPrefabs, 1); objectPlacer.PlaceObject(medKitPrefab); objectPlacer.PlaceObject(bodyArmourPrefab); objectPlacer.PlaceObject(ammoBoxPrefab); List <Tile> path = getPath(enemies[0]); if (path.Count > 1) { path.Reverse(); enemies[0].GetComponent <Enemy>().SetPath(path); } }
// Draw the editor for an Object Placer private void DrawObjectPlacerSettings(ObjectPlacer objectSettings) { objectSettings.name = EditorGUILayout.TextField("Name", objectSettings.name); objectSettings.objectReference = (Transform)EditorGUILayout.ObjectField("Object Reference", objectSettings.objectReference, typeof(Transform), false); objectSettings.position = EditorGUILayout.Vector2Field("Position", objectSettings.position); objectSettings.distance = EditorGUILayout.Slider("Distance", objectSettings.distance, 0.05f, 4f); objectSettings.offset = EditorGUILayout.FloatField("Offset at start", objectSettings.offset); objectSettings.type = (offsetType)EditorGUILayout.EnumPopup("Offset type", objectSettings.type); objectSettings.rotation = EditorGUILayout.Vector3Field("Rotation", objectSettings.rotation); objectSettings.scale = EditorGUILayout.Vector3Field("Scale", objectSettings.scale); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Constraints: "); GUILayout.Label("X"); objectSettings.constraints[0] = EditorGUILayout.Toggle(objectSettings.constraints[0]); GUILayout.Label("Y"); objectSettings.constraints[1] = EditorGUILayout.Toggle(objectSettings.constraints[1]); GUILayout.Label("Z"); objectSettings.constraints[2] = EditorGUILayout.Toggle(objectSettings.constraints[2]); EditorGUILayout.EndHorizontal(); }
protected override void Awake() { base.Awake(); ObjectPlacer = GetComponent <ObjectPlacer>(); ObjectSelector = GetComponent <ObjectSelector>(); GUIPreProcessor = GetComponent <GUIPreProcessor>(); CommandSender = GetComponent <CommandSender>(); if (CommandSender == null) { Debug.LogWarning("CommandSender script not found"); } if (GUI != null) { ActiveGUI = GUI.GetComponent <BaseGUI>(); } else { Debug.LogWarning("GUI field not filled"); } }
void Start() { GameConfig = GameConfig.Instance(); // Use this method make sure you use singleton. objectPlacer = new ObjectPlacer(); if (!GameConfig.isSoloGame) { if (PhotonNetwork.inRoom) { AddPlayer(GameConfig.isSoloGame); } if (PhotonNetwork.isMasterClient) { AddPickUps(GameConfig.isSoloGame); } } else { AddPlayer(GameConfig.isSoloGame); AddPickUps(GameConfig.isSoloGame); } }
/// <summary> /// Initializes fields to default values if they were null /// post serialization. /// </summary> void OnEnable() { _instance = this; IsInitialized = true; if (Generator == null) { Generator = new GenerationData(); } if (EditorState == null) { EditorState = new EditorStateData(); } if (Placer == null) { Placer = new ObjectPlacer(); } if (Worker == null) { Worker = new BackgroundWorker(); } IsEditor = IsInEditMode; }
private IEnumerator updateAllMeshesCoroutine() { for (int i = 0; i < planetInfo.chunksAmmount; i++) { Vector3 xyz = planetInfo.calculateXYZ(i); float xDisp = -radius + interval2 + (interval2 * 2 * xyz.x); float yDisp = -radius + interval2 + (interval2 * 2 * xyz.y); updateMesh(i, (int)xyz.z, planetInfo.chunkObject[i], planetInfo.chunkArray[i], LOD, planetInfo.mfChunkArray [i], xDisp, yDisp, interval2, false); if (objPlacerObj != null) { ObjectPlacer tp1 = planetInfo.chunkObject [i].AddComponent(typeof(ObjectPlacer)) as ObjectPlacer; objPlacerObj.copyTo(tp1); tp1.Initialize(planetInfo.colorArray [i]); tp1.calculateObjectID(); planetInfo.objPlacer [i] = tp1; if (psh != null) { if (psh.availableSpawns == null) { psh.availableSpawns = new List <SpawningInfo> (); } psh.availableSpawns.AddRange(tp1.getSpawningInfo()); } } yield return(null); } if (objPlacerObj != null) { spawnAllObjects(); hasTrees = true; } planetInfo.finishedCreating = true; setAllLOD(awayLOD, false); }
public void Undo() { ObjectPlacer.RemoveObject(position); }
public void Execute() { ObjectPlacer.PlaceObject(position, _gameObject); }
private void Init() { Terrain terComponent = (Terrain)GetComponent(typeof(Terrain)); terrainData = terComponent.terrainData; DetailPlacement = new DetailPlacer(); DetailPlacement.Textures = new List<DetailTextureSettings>(); Objects = new ObjectPlacer(); TreePlacement = new TreePlacer(); DetailPlacement = new DetailPlacer(); Textures = new TextureMapper(); MultiPlacer = new MultiObjectPlacer(); MinScale = 0.8f; MaxScale = 1.2f; RotateY = true; mapperInitialized = true; PlaceEnable = true; }
public void Randomize(int seed, bool newTheme = true) { if (!Application.isPlaying) { Debug.LogError ("You may only randomize in play mode."); return; } if (referenceParameters == null) { gameObject.SetActive (false); var go = Instantiate (gameObject); var gen = Instantiate (generator.gameObject); gameObject.SetActive (true); referenceParameters = go.GetComponent<ObjectPlacer> (); referenceGenerator = gen.GetComponent<LSystem> (); } Rand hash = new Rand (seed); RandomizePlacement (hash, newTheme); RandomizeColors (hash, newTheme); RandomizeTrees (hash, newTheme); Place (); UpdateGlobals (); }
private void Awake() { objectPlacer = new ObjectPlacer(); levelScript = FindObjectOfType <Level>(); }
void HandleOnRetirePressed() { instance = null; Destroy(this.gameObject); }
void Start() { cursor = GameObject.FindObjectOfType <ObjectPlacer>(); }
// Use this for initialization void Start() { placer = FindObjectOfType<ObjectPlacer>(); roadPlacingStatus = RoadPlacingStatus.NotPlacing; nodesWithNewRoads = new List<Node>(); }