public override void FireEvent() { if (!this.strikeLoc.IsValid) { this.strikeLoc = CellFinderLoose.RandomCellWith((IntVec3 sq) => sq.Standable(map) /*&& !sq.Roofed(map)*/, map); } this.boltMesh = Laser_Beam_MeshMaker.NewBoltMesh(); }
public static Mesh NewBoltMesh() { if (laserBeamMesh == null) { Laser_Beam_MeshMaker.lightningTop = new Vector2(0f, LightningHeight); Laser_Beam_MeshMaker.MakeVerticesBase(); Laser_Beam_MeshMaker.PeturbVerticesRandomly(); Laser_Beam_MeshMaker.DoubleVertices(); laserBeamMesh = Laser_Beam_MeshMaker.MeshFromVerts(); } return(laserBeamMesh); }