- Home /
clearing an array and then re-setting it- public variables
I'm a little stuck. I have built a scene in which multiple video and still-image planes appear, play, and disappear in a particular sequence. The sequence is setup in arrays in a little C# code attached to each video object (called VideoTimer2.cs)-- it checks the timecode of the video playing, and when it hits a certain time it activates or deactivates another window. It all works great, but here's the problem...
I want to add a navigation bar, where you can jump ahead or move back to other videos. I first set up a function to call that would deactivate all the videos on screen and then jump ahead to a certain video-- but the problem was that the public arrays in VideoTimer2.cs in the other videos would adopt the settings from the ones deactivated... so the wrong videos would be triggered. Not a problem if I used DestroyObject, but then I couldn't go back and turn a previous video on again if I wanted to 'rewind'.
It was kind of weird-- I assumed it was something about public variables in multiple instances of the same script that I didn't understand, so then I added a function to clear the arrays before setting the objects inactive (btw, most of the stuff on the forums and in ScriptReference is incorrect for C#, to clear an array it has to be in this format, System.Array.Clear(NAMEofARRAY, 0, NAMEofARRAY.Length); ). That, again, worked moving forwards to new objects, but moving backwards I couldn't find a way to re-substantiate the arrays, so that their public variables, set in the editor, are reconstituted... if I again set the object to active, the array is just empty...
So, my question is... is there any way to re-initialize an array with public variables... to get the object to 're-start' so that it again takes the public variables that were set in the editor window? (it just occurs to me now that I could make fantom arrays and store the variables in those and then OnEnable re-populate the arrays... a pain... but I will try that if no one chimes in).
Your answer
Follow this Question
Related Questions
Using DestroyImmediate on Arrays? 1 Answer
Variable resetting back to zero 2 Answers
Going through empty gameObject by clicking first child, destroy it then activate the next one? 1 Answer
physics.OverlapSphere colliders 1 Answer
using Contains(gameObject) to find and destroy a gameObject from a list 2 Answers