//============= Copyright (c) Ludic GmbH, All rights reserved. ============== // // Purpose: Part of the My Behaviour Tree Controller Code // //============================================================================= using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using MyBT; #if UNITY_EDITOR using UnityEditor; [CustomEditor(typeof(NamedTerrain))] public class NamedTerrainInspector : ComponentHandlerInspector { } #endif [System.Serializable] public class NamedTerrain : ComponentHandler { public override string TypeLabel () { return "Terrain"; } public override string ContentLabel() { UpdateComponent(); if (terrainComponent) if (terrainComponent.terrainData) return terrainComponent.terrainData.name; return ""; } public override void UpdateComponent() { base.UpdateComponent(); terrainComponent = GetComponent(); fadeInTime = 0; fadeOutTime = 0; } public Terrain terrainComponent; public override string titleText { get { return "Show/Hide Terrain"; } } public override string[][] helpText { get { return new string[][] { new string[] {"Show", null, $"BTC.Show(\"{roomId}\", \"{gameObject.name}\")"}, new string[] {"Hide", null, $"BTC.Hide(\"{roomId}\", \"{gameObject.name}\")"}, }; } } public override void Show (MyBT.NodeState nodeState) { // whan aborting if (nodeState == NodeState.Aborting) { return; } // at start if (nodeState == NodeState.FirstRun) { // reset event trigger terrainComponent.drawHeightmap = true; Task.SetSucceeded(); } // during runtime if (nodeState == NodeState.Running) { } } public override void Hide (MyBT.NodeState nodeState) { // whan aborting if (nodeState == NodeState.Aborting) { return; } // at start if (nodeState == NodeState.FirstRun) { // reset event trigger terrainComponent.drawHeightmap = false; Task.SetSucceeded(); } // during runtime if (nodeState == NodeState.Running) { } } }