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(); } }
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; }
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; }
protected override void Execute() { LevelObjectType levelObjectType = selectedLevelObjectRef.Get().LevelObjectType; SelectedLevelObjectNodeStatus.LevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType); }