public void StartEffect(NodeAddedEvent e, DeadTankNode deadTankNode, [JoinByTank, Combine] BrokenNode brokenPart) { Shader transparentShader = deadTankNode.tankShader.TransparentShader; brokenPart.brokenEffect.StartEffect(deadTankNode.assembledTank.AssemblyRoot, deadTankNode.rigidbody.Rigidbody, brokenPart.baseRenderer.Renderer, transparentShader, (deadTankNode.temperatureVisualController.Temperature < 0f) ? ((float)1) : ((float)20)); brokenPart.baseRenderer.Renderer.enabled = false; }
public void DisableShadowOnDeadState(NodeRemoveEvent evt, DeadTankNode state, [Combine, JoinByTank] TankPartRendererNode renderer) { Renderer renderer2 = renderer.baseRenderer.Renderer; renderer2.enabled = false; TankMaterialsUtil.SetAlpha(renderer2, 0f); }
public void SetHighFriction(NodeAddedEvent e, DeadTankNode tank) { List <Collider> tankToStaticColliders = tank.tankColliders.TankToStaticColliders; int count = tankToStaticColliders.Count; for (int i = 0; i < count; i++) { Collider collider = tankToStaticColliders[i]; collider.material = tank.tankCollidersUnity.highFrictionMaterial; } }
public void StopObservation(NodeAddedEvent e, DeadTankNode tank, [JoinByTank, Context] SlotNode slot, [JoinByModule, Context] ModuleNode module) { slot.Entity.AddComponentIfAbsent <EnergyInjectionSlotStopObservationComponent>(); }
public void HideOutlineRenderersOnDeadState(NodeAddedEvent evt, [Combine] InitializedOutlineTankPartNode renderer, [Context, JoinByTank] AssembledActivatedInitializedOutlineTankNode tank, [Context, JoinByTank] DeadTankNode state) { renderer.tankPartOutlineEffectUnity.SwitchOutlineRenderer(false); }
public void HideOutlineRenderersOnDeadState(NodeRemoveEvent evt, DeadTankNode tank, [Combine, JoinByTank] InitializedOutlineTankPartNode renderer) { renderer.tankPartOutlineEffectUnity.SwitchOutlineRenderer(false); tank.tankPartOutlineEffectUnity.UpdateTankPartOutlineEffectTransparency(0f); }