private void PlaceTransformationTriggerer(Tile tile, EditorTileTransformationModifier transformationTriggerer) { if (transformationTriggerer == null) { Logger.Error($"Could not find the transformationTriggerer type {transformationTriggerer.GetType()}"); } transformationTriggerer.HandleBeautificationTriggerPlacement(tile); }
public void SetSelectedTileModifierCategory(EditorTileModifierCategory editorMazeTileModifierCategory) { if (EditorManager.SelectedTileModifierCategory == EditorTileModifierCategory.TransformationTriggerer) { EditorTileTransformationModifier editorMazeTileTransformationTriggerer = EditorTileTransformationTriggerers[EditorManager.SelectedTileTransformationTriggererIndex]; editorMazeTileTransformationTriggerer.UnsetSelectedTile(); } EditorManager.SelectedTileModifierCategory = editorMazeTileModifierCategory; EditorSelectedTileModifierCategoryContainer.Instance.SetCategoryLabel(EditorManager.SelectedTileModifierCategory); }
private void PlaceTileModifier() { if (EditorCanvasUI.Instance.SelectedTileModifierContainer == null) { if (PersistentGameManager.CurrentSceneType == SceneType.Maze) { EditorModificationPanelContainer.Instance.SelectMazeTileModificationPanel(); } else { EditorModificationPanelContainer.Instance.SelectOverworldTileModificationPanel(); } } EditorTileModifierCategory editorTileModifierType = EditorManager.SelectedTileModifierCategory; EditorSelectedTileModifierContainer selectedTileModifierContainer = EditorCanvasUI.Instance.SelectedTileModifierContainer; GameManager.Instance.CurrentEditorLevel.TilesByLocation.TryGetValue(CurrentlySelectedTile.GridLocation, out Tile tile); if (editorTileModifierType == EditorTileModifierCategory.Attribute) { List <IEditorTileModifier> attributes = selectedTileModifierContainer.CurrentlyAvailableTileModifiers[EditorTileModifierCategory.Attribute]; EditorTileAttributeModifier attribute = attributes[EditorManager.SelectedTileAttributeModifierIndex] as EditorTileAttributeModifier; PlaceTileAttribute(tile, attribute); } else if (editorTileModifierType == EditorTileModifierCategory.Background) { List <IEditorTileModifier> backgrounds = selectedTileModifierContainer.CurrentlyAvailableTileModifiers[EditorTileModifierCategory.Background]; EditorTileBackgroundModifier background = backgrounds[EditorManager.SelectedTileBackgroundModifierIndex] as EditorTileBackgroundModifier; PlaceTileBackground(tile, background); } else if (editorTileModifierType == EditorTileModifierCategory.TransformationTriggerer) { List <IEditorTileModifier> transformationTriggerers = selectedTileModifierContainer.CurrentlyAvailableTileModifiers[EditorTileModifierCategory.TransformationTriggerer]; EditorTileTransformationModifier transformationTriggerer = transformationTriggerers[EditorManager.SelectedTileTransformationTriggererIndex] as EditorTileTransformationModifier; PlaceTransformationTriggerer(tile, transformationTriggerer); } else if (editorTileModifierType == EditorTileModifierCategory.Area) { List <IEditorTileModifier> areaModifiers = selectedTileModifierContainer.CurrentlyAvailableTileModifiers[EditorTileModifierCategory.Area]; EditorTileAreaModifier tileAreaModifier = areaModifiers[EditorManager.SelectedTileAreaModifierIndex] as EditorTileAreaModifier; AddToSelectedArea(tile, tileAreaModifier); } else { Logger.Error($"EditorMazeTileModifierType {editorTileModifierType} not yet implemented"); } }
private void PerformDeletionAction() { EditorTileModifierCategory editorTileModifierType = EditorManager.SelectedTileModifierCategory; EditorSelectedTileModifierContainer selectedTileModifierContainer = EditorCanvasUI.Instance.SelectedTileModifierContainer; if (editorTileModifierType == EditorTileModifierCategory.TransformationTriggerer) { List <IEditorTileModifier> transformationTriggerers = selectedTileModifierContainer.CurrentlyAvailableTileModifiers[EditorTileModifierCategory.TransformationTriggerer]; EditorTileTransformationModifier transformationTriggerer = transformationTriggerers[EditorManager.SelectedTileTransformationTriggererIndex] as EditorTileTransformationModifier; if (transformationTriggerer == null) { Logger.Error($"Could not find the transformationTriggerer type {transformationTriggerer.GetType()}"); } transformationTriggerer.RemoveAllTriggerersFromTile(); } }
public override void SetSelectedModifier(int modifierIndex) { List <IEditorTileModifier> currentlyAvailableTileTransformationTriggerers = _editorSelectedModifierContainer.CurrentlyAvailableTileModifiers[EditorTileModifierCategory.TransformationTriggerer]; if (currentlyAvailableTileTransformationTriggerers.Count == 0) { EditorManager.SelectedTileTransformationTriggererIndex = 0; return; } EditorTileTransformationModifier transformationTrigger = currentlyAvailableTileTransformationTriggerers[modifierIndex] as EditorTileTransformationModifier; _editorSelectedModifierContainer.SelectedModifierLabel.text = GetSelectedModifierLabel(transformationTrigger.Name); _editorSelectedModifierContainer.SelectedModifierSprite.sprite = transformationTrigger.GetSprite(); EditorManager.SelectedTileTransformationTriggererIndex = modifierIndex; transformationTrigger.InstantiateModifierActions(); EditorManager.SelectedTileModifier = transformationTrigger; }