Exemple #1
0
        public void InitTracks(InitTrackRendererEvent e, TrackMarksInitNode node)
        {
            Transform                 parent     = node.assembledTank.AssemblyRoot.transform;
            TrackMarksComponent       trackMarks = node.trackMarks;
            TrackMarksRenderComponent render     = new TrackMarksRenderComponent {
                mesh = new Mesh()
            };

            render.mesh.MarkDynamic();
            GameObject obj2 = new GameObject("Track");

            obj2.transform.SetParent(parent);
            obj2.AddComponent <MeshFilter>().mesh = render.mesh;
            trackMarks.material = new Material(trackMarks.material);
            MeshRenderer renderer = obj2.AddComponent <MeshRenderer>();

            renderer.material = trackMarks.material;
            foreach (ParticleSystem system in trackMarks.particleSystems)
            {
                ParticleSystem.ShapeModule shape = system.shape;
                shape.enabled      = true;
                shape.shapeType    = ParticleSystemShapeType.MeshRenderer;
                shape.meshRenderer = renderer;
            }
            this.InitTrackMarksRender(render, trackMarks);
            node.Entity.AddComponent(render);
            base.NewEvent <InitTrackBuilderEvent>().Attach(node).ScheduleDelayed(0.3f);
        }
Exemple #2
0
        public void InitBuilder(InitTrackBuilderEvent e, TrackMarksInitNode node, SingleNode <TrackMarksRenderComponent> renderer)
        {
            TrackMarksComponent        trackMarks = node.trackMarks;
            TrackMarksBuilderComponent builder    = new TrackMarksBuilderComponent();

            AllocateBuilder(builder, trackMarks, renderer.component);
            this.FindWheels(builder, node.chassisAnimation, trackMarks);
            node.Entity.AddComponent(builder);
        }
Exemple #3
0
 public void InitTrackMarksSystem(NodeAddedEvent evt, TrackMarksInitNode node)
 {
     base.NewEvent <InitTrackRendererEvent>().Attach(node).ScheduleDelayed(0.3f);
 }