public LevelData() { brushes = new Brush[0]; lights = new UFLevelStructure.Light[0]; ambSounds = new AmbSound[0]; events = new UFLevelStructure.Event[0]; spawnPoints = new SpawnPoint[0]; particleEmitters = new UFLevelStructure.ParticleEmitter[0]; pushRegions = new PushRegion[0]; decals = new Decal[0]; climbingRegions = new ClimbingRegion[0]; boltEmitters = new BoltEmitter[0]; targets = new UFTransform[0]; entities = new Entity[0]; items = new Item[0]; clutter = new Clutter[0]; triggers = new Trigger[0]; movingGeometry = new Brush[0]; movingGroups = new MovingGroup[0]; geoRegions = new GeoRegion[0]; }
public void Set(BoltEmitter emit) { LineRenderer lr = gameObject.AddComponent <LineRenderer>(); this.initOn = emit.initOn; jitter = emit.jitter; lr.positionCount = Mathf.Max(2, emit.nboSegments + 1); lr.startWidth = emit.thickness; lr.endWidth = emit.thickness; lr.startColor = emit.color; lr.endColor = emit.color; lr.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; lr.receiveShadows = false; lr.useWorldSpace = false; lr.enabled = false; targetID = emit.targetID; decay = emit.decay; decayRandomize = emit.decayRandomize; delay = emit.spawnDelay; delayRandomize = emit.spawnDelayRandomize; float maxDecay = decay + decayRandomize; float minDelay = delay - delayRandomize; int maxBolts = 10; if (minDelay > 0f) { maxBolts = Mathf.Min(maxBolts, Mathf.CeilToInt(maxDecay / minDelay)); } bolts = new Bolt[maxBolts]; List <UnityEngine.Keyframe> boltShapeKeys = new List <UnityEngine.Keyframe>(); if (emit.srcDirLock) { boltShapeKeys.Add(new UnityEngine.Keyframe(0f, 0f, 0f, 0f)); boltShapeKeys.Add(new UnityEngine.Keyframe(.25f, emit.srcCtrlDist, 0f, 0f)); } else { boltShapeKeys.Add(new UnityEngine.Keyframe(0f, 0f, 0f, 2f * emit.srcCtrlDist)); } if (emit.trgDirLock) { boltShapeKeys.Add(new UnityEngine.Keyframe(.75f, emit.trgCtrlDist, 0f, 0f)); boltShapeKeys.Add(new UnityEngine.Keyframe(0f, 0f, 0f, 0f)); } else { boltShapeKeys.Add(new UnityEngine.Keyframe(0f, 0f, -2f * emit.trgCtrlDist, 0f)); } boltShape = new AnimationCurve(boltShapeKeys.ToArray()); lr.numCapVertices = 3; lr.numCornerVertices = 1; }