public void OnTankPartsPrepared(NodeAddedEvent e, AssembledTankNode tank, [JoinAll] SingleNode <CameraRootTransformComponent> cameraNode) { tank.tankVisualRoot.transform.parent = tank.assembledTank.AssemblyRoot.transform; CameraVisibleTriggerComponent component = tank.trackRenderer.Renderer.gameObject.AddComponent <CameraVisibleTriggerComponent>(); tank.Entity.AddComponent(component); component.MainCameraTransform = cameraNode.component.Root; }
public void SetColoringTextureToRenderer(NodeAddedEvent evt, AssembledTankNode tank, [JoinByTank, Context] TankRendererInitializedNode tankRendererNode, [JoinByTank, Context] WeaponRendererInitializedNode weaponRendererNode) { TankMaterialsUtil.ApplyColoring(tankRendererNode.baseRenderer.Renderer, weaponRendererNode.baseRenderer.Renderer, tankRendererNode.coloring, weaponRendererNode.coloring); tankRendererNode.Entity.AddComponent <RendererPaintedComponent>(); weaponRendererNode.Entity.AddComponent <RendererPaintedComponent>(); tankRendererNode.coloring.transform.localPosition = Vector3.zero; weaponRendererNode.coloring.transform.localPosition = Vector3.zero; if (tankRendererNode.coloring.overrideEmission) { tankRendererNode.doubleArmorEffect.usualEmissionColor = tankRendererNode.coloring.emissionColor; } if (weaponRendererNode.coloring.overrideEmission) { weaponRendererNode.doubleDamageEffect.usualEmissionColor = weaponRendererNode.coloring.emissionColor; } }
public void DestroyTank(NodeRemoveEvent e, AssembledTankNode tank) { UnityUtil.Destroy(tank.hullInstance.HullInstance); UnityUtil.Destroy(tank.assembledTank.AssemblyRoot); }
public void ShowRenderersVisibleState(NodeAddedEvent evt, [Combine] RendererReadyForShowingNode renderer, [Context, JoinByTank] AssembledTankNode tank, [Context, JoinByTank] VisibleTankNode state) { renderer.baseRenderer.Renderer.enabled = true; }
public void HideRenderersVisibleState(NodeRemoveEvent evt, [Combine] RendererReadyForShowingNode renderer, [Context, JoinByTank] AssembledTankNode tank, [Context, JoinByTank] VisibleTankNode state) { renderer.baseRenderer.Renderer.enabled = false; }