Upload from upload_mods.ps1
This commit is contained in:
63
Scripts/Blocks/BlockForgeRebirth.cs
Normal file
63
Scripts/Blocks/BlockForgeRebirth.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using UnityEngine.Scripting;
|
||||
|
||||
#nullable disable
|
||||
[Preserve]
|
||||
public class BlockForgeRebirth : BlockWorkstationRebirth
|
||||
{
|
||||
public BlockForgeRebirth() => this.CraftingParticleLightIntensity = 1.6f;
|
||||
|
||||
public override void OnBlockEntityTransformAfterActivated(
|
||||
WorldBase _world,
|
||||
Vector3i _blockPos,
|
||||
int _cIdx,
|
||||
BlockValue _blockValue,
|
||||
BlockEntityData _ebcd)
|
||||
{
|
||||
base.OnBlockEntityTransformAfterActivated(_world, _blockPos, _cIdx, _blockValue, _ebcd);
|
||||
this.MaterialUpdate(_world, _blockPos, _blockValue);
|
||||
}
|
||||
|
||||
[PublicizedFrom(EAccessModifier.Protected)]
|
||||
public override void checkParticles(
|
||||
WorldBase _world,
|
||||
int _clrIdx,
|
||||
Vector3i _blockPos,
|
||||
BlockValue _blockValue)
|
||||
{
|
||||
base.checkParticles(_world, _clrIdx, _blockPos, _blockValue);
|
||||
if (_blockValue.ischild)
|
||||
return;
|
||||
this.MaterialUpdate(_world, _blockPos, _blockValue);
|
||||
}
|
||||
|
||||
public override string GetActivationText(
|
||||
WorldBase _world,
|
||||
BlockValue _blockValue,
|
||||
int _clrIdx,
|
||||
Vector3i _blockPos,
|
||||
EntityAlive _entityFocusing)
|
||||
{
|
||||
return Localization.Get("useForge");
|
||||
}
|
||||
|
||||
[PublicizedFrom(EAccessModifier.Private)]
|
||||
public void MaterialUpdate(WorldBase _world, Vector3i _blockPos, BlockValue _blockValue)
|
||||
{
|
||||
Chunk chunkFromWorldPos = (Chunk)_world.GetChunkFromWorldPos(_blockPos);
|
||||
if (chunkFromWorldPos == null)
|
||||
return;
|
||||
BlockEntityData blockEntity = chunkFromWorldPos.GetBlockEntity(_blockPos);
|
||||
if (blockEntity == null || !blockEntity.bHasTransform)
|
||||
return;
|
||||
Renderer[] componentsInChildren = (Renderer[])blockEntity.transform.GetComponentsInChildren<MeshRenderer>(true);
|
||||
if (componentsInChildren.Length == 0)
|
||||
return;
|
||||
Material material = componentsInChildren[0].material;
|
||||
if (!(bool)material)
|
||||
return;
|
||||
float num = _blockValue.meta == (byte)0 ? 0.0f : 20f;
|
||||
material.SetFloat("_EmissionMultiply", num);
|
||||
for (int index = 1; index < componentsInChildren.Length; ++index)
|
||||
componentsInChildren[index].material = material;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user