public static GenerateableLevelObjectNode GetNode(string levelObjectInstanceName) { string levelObjectPrefabName = levelObjectInstanceName.Replace("(Clone)", ""); GenerateableLevelObjectNode levelObjectEditorNode = GetInstance().generateableLevelObjectNodes.Find(x => x.Prefab.name == levelObjectPrefabName); return(levelObjectEditorNode); }
protected override void Execute() { Vector2 selectionFieldStartPosition = SelectionFieldStatusView.SelectionFieldStartGridPosition; Vector2 selectionFieldEndPosition = SelectionFieldStatusView.SelectionFieldEndGridPosition; List <ILevelObject> levelObjectsToRemove = new List <ILevelObject>(); foreach (ILevelObject levelObject in levelObjectRefs) { GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObject.LevelObjectType); if (!generateableLevelObjectNode.CanCollideWithTiles) { continue; } GameObject levelObjectGameObject = levelObject.GameObject; Vector2 levelObjectGridPosition = LevelEditorGridHelper.WorldToGridPosition(levelObjectGameObject.transform.position); if (!levelObjectGridPosition.IsBetweenVectors(selectionFieldStartPosition, selectionFieldEndPosition)) { continue; } levelObjectsToRemove.Add(levelObject); } foreach (ILevelObject levelObject in levelObjectsToRemove) { levelObject.DestroyLevelObject(); } }
public static Vector2 GetLevelObjectEditorNodeGridSize(LevelObjectType levelObjectType) { GenerateableLevelObjectNode levelEditorLevelObjectEditorNode = GetNode(levelObjectType); Vector2 nodeSize = levelEditorLevelObjectEditorNode.Prefab.transform.localScale; Vector2 unroundedGridSize = Vector2.one + (nodeSize / LevelEditorGridNodeSizeLibrary.Instance.NodeSize); Vector2 gridSize = VectorHelper.Floor(unroundedGridSize); return(gridSize); }
protected override void Execute() { LevelObjectType levelObjectType = selectedLevelObjectRef.Get().LevelObjectType; GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); if (generateableLevelObjectNode.CanCollideWithLevelObjects) { Abort(); } }
public void SetLevelObject(LevelObjectType levelObjectType) { this.levelObjectType = levelObjectType; GenerateableLevelObjectNode levelObjectEditorNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); SpriteRenderer levelObjectEditorNodeSpriteRenderer = levelObjectEditorNode.Prefab.GetComponentInChildren <SpriteRenderer>(); GetButton().image.sprite = levelObjectEditorNodeSpriteRenderer.sprite; GetButton().image.color = levelObjectEditorNodeSpriteRenderer.color; }
protected override void Execute() { Vector2 worldPosition = Camera.main.ScreenToWorldPoint(screenPosition); GenerateableLevelObjectNode generateableLevelObjectNode = SelectedLevelObjectNodeStatus.LevelObjectNode; GameObject levelObjectGameObject = LevelObjectHelper.InstantiateLevelObject(generateableLevelObjectNode, worldPosition, context); ILevelObject levelObject = levelObjectGameObject.GetComponent <ILevelObject>(); levelObject.Select(); }
private void SpawnLevelObjects(List <LevelObjectSaveData> levelObjectsSaveData) { foreach (LevelObjectSaveData levelObjectSaveData in levelObjectsSaveData) { LevelObjectType levelObjectType = levelObjectSaveData.LevelObjectType; GenerateableLevelObjectNode levelEditorLevelObjectEditorNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); GameObject prefab = levelEditorLevelObjectEditorNode.Prefab; Vector2 position = levelObjectSaveData.Position; GameObject levelObjectGameObject = Object.Instantiate(prefab, position, new Quaternion(), levelContainerStatus.LevelContainer); levelObjectGameObject.transform.localScale = levelObjectSaveData.Size; } }
private void SpawnLevelObjects(List <LevelObjectSaveData> levelObjectsSaveData) { foreach (LevelObjectSaveData levelObjectSaveData in levelObjectsSaveData) { LevelObjectType levelObjectType = levelObjectSaveData.LevelObjectType; GenerateableLevelObjectNode levelEditorLevelObjectEditorNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); Vector2 position = levelObjectSaveData.Position; GameObject levelObject = LevelObjectHelper.InstantiateLevelObject(levelEditorLevelObjectEditorNode, position, context); levelObject.transform.localScale = levelObjectSaveData.Size; levelObject.transform.rotation = levelObjectSaveData.Rotation; } }
protected override void Execute() { LevelObjectType levelObjectType = selectedLevelObjectRef.Get().LevelObjectType; GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); if (SelectedLevelObjectTransformTypeStatusView.TransformType == null) { SelectedLevelObjectTransformTypeStatusView.TransformType = generateableLevelObjectNode.GetDefaultLevelObjectInputType(); } else { bool selectedLevelObjectContainsCurrentTransformType = generateableLevelObjectNode.TransformTypes.Contains((LevelObjectTransformType)SelectedLevelObjectTransformTypeStatusView.TransformType); if (!selectedLevelObjectContainsCurrentTransformType) { SelectedLevelObjectTransformTypeStatusView.TransformType = generateableLevelObjectNode.GetDefaultLevelObjectInputType(); } } }
protected override void Execute() { GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); SelectedLevelObjectNodeStatus.LevelObjectNode = generateableLevelObjectNode; }
public static GenerateableLevelObjectNode GetNode(LevelObjectType levelObjectType) { GenerateableLevelObjectNode levelObjectEditorNode = GetInstance().generateableLevelObjectNodes.Find(x => x.LevelObjectType == levelObjectType); return(levelObjectEditorNode); }