UP-Viagg-io/Viagg-io/Assets/Packages/MyBT/BTC/Handlers/NamedTerrain.cs

94 lines
2.4 KiB
C#

//============= 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<Terrain>();
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) {
}
}
}