private void Start() { if (this.ID == 0) { Vector3 worldPosition = (!this.target) ? ((!base.transform.parent) ? base.transform.position : base.transform.parent.position) : this.target.position; float num = Terrain.activeTerrain.SampleHeight(worldPosition) + Terrain.activeTerrain.transform.position.y - 3f; this.IsInCaves = (worldPosition.y < num); } this.IgnoreInCaveStatus = Scene.IsInSinkhole((!base.transform.parent) ? base.transform.position : base.transform.parent.position); this.ToggleIcons(false); if (this._type == OverlayIconTypes.Hammer) { OverlayIconManager.Register(this); } }
public void SetSubType(int subtype) { if (this._subtype != subtype) { if (this.ID == 0) { this.ID = OverlayIconManager.GetNewId(); Vector3 worldPosition = (!this.target) ? ((!base.transform.parent) ? base.transform.position : base.transform.parent.position) : this.target.position; float num = Terrain.activeTerrain.SampleHeight(worldPosition) + Terrain.activeTerrain.transform.position.y - 3f; this.IsInCaves = (worldPosition.y < num); } OverlayIconManager.Unregister(this); this._subtype = subtype; OverlayIconManager.Register(this); } }