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;
        }
示例#2
0
        public void InitDroneWeapon(NodeAddedEvent e, [Combine] DroneWeaponNode droneWeapon, [JoinByUnit, Context] DroneEffectNode droneEffect, SingleNode <CameraRootTransformComponent> camera)
        {
            CameraVisibleTriggerComponent component = droneEffect.effectRendererGraphics.Renderer.gameObject.AddComponent <CameraVisibleTriggerComponent>();

            component.MainCameraTransform = camera.component.Root;
            if (!droneWeapon.Entity.HasComponent <CameraVisibleTriggerComponent>())
            {
                droneWeapon.Entity.AddComponent(component);
            }
        }
        public void BuildWeaponGraphics(NodeAddedEvent e, [Combine] WeaponGraphicsRendererNode weapon, BattleCameraNode camera)
        {
            Renderer renderer = weapon.baseRenderer.Renderer;

            if (weapon.Entity.HasComponent <CameraVisibleTriggerComponent>())
            {
                weapon.Entity.GetComponent <CameraVisibleTriggerComponent>().MainCameraTransform = camera.cameraRootTransform.Root;
            }
            else
            {
                CameraVisibleTriggerComponent component = renderer.gameObject.AddComponentIfMissing <CameraVisibleTriggerComponent>();
                component.MainCameraTransform = camera.cameraRootTransform.Root;
                weapon.Entity.AddComponent(component);
            }
        }