public void SetMatrixMovie(string instanceName, LWF.Matrix matrix, float sx = 1, float sy = 1, float r = 0, bool immortal = false) { AddMovieLoadHandler( instanceName, (m) => { m.SetMatrix(matrix, sx, sy, r); }, immortal); }
public Object(LWF lwf, Movie parent, Type type, int objId) { m_lwf = lwf; m_parent = parent; m_type = type; m_objectId = objId; m_matrix = new Matrix(); m_colorTransform = new ColorTransform(); m_execCount = 0; }
public Object(LWF lwf, Movie parent, Type type, int objId) { m_lwf = lwf; m_parent = parent; m_type = type; m_objectId = objId; m_matrixId = -1; m_colorTransformId = -1; m_matrixIdChanged = true; m_colorTransformIdChanged = true; m_matrix = new Matrix(0, 0, 0, 0, 0, 0); m_colorTransform = new ColorTransform(0, 0, 0, 0); m_execCount = 0; m_updated = false; }
void DrawInfo(ObjectContainer container, LWF.Object obj) { LWF.Matrix m = obj.matrix; EditorGUILayout.LabelField("Matrix", string.Format( "(sx:{0}, sy:{1}, k0:{2}, k1:{3}, tx:{4}, ty:{5}) ri:{6} rc:{7}", m.scaleX, m.scaleY, m.skew0, m.skew1, m.translateX, m.translateY, container.renderingIndex, container.renderingCount)); LWF.ColorTransform c = obj.colorTransform; EditorGUILayout.LabelField("ColorTransform", string.Format("multi:(r:{0},g:{1},b:{2},a:{3}) " + "add:(r:{4},g:{5},b:{6},a:{7})", c.multi.red, c.multi.green, c.multi.blue, c.multi.alpha, c.add.red, c.add.green, c.add.blue, c.add.alpha)); }
public void SetMatrix(LWF.Matrix m) { AddLoadCallback((o) => { lwf.property.SetMatrix(m); }); }
public virtual void Update(Matrix m, ColorTransform c) { Utility.CalcMatrix(m_lwf, m_matrix, m, m_dataMatrixId); Utility.CopyColorTransform(m_colorTransform, c); m_lwf.RenderObject(); }
public override void Update(Matrix m, ColorTransform c) { int n = m_displayList.Length; for (int i = 0; i < n; ++i) m_displayList[i].Update(m, c); }
public void SetMatrixMovie(string instanceName, LWF.Matrix matrix, float sx = 1, float sy = 1, float r = 0) { AddMovieLoadHandler( instanceName, (m) => { m.SetMatrix(matrix, sx, sy, r); }); }
public virtual void Update(Matrix m, ColorTransform c) { m_updated = true; if (m != null) { Utility.CalcMatrix(m_lwf, m_matrix, m, m_dataMatrixId); m_matrixIdChanged = false; } if (c != null) { Utility.CopyColorTransform(m_colorTransform, c); m_colorTransformIdChanged = false; } m_lwf.RenderObject(); }
public Data(byte[] bytes) { if (bytes.Length < (int)Format.Constant.HEADER_SIZE) return; Stream s = new MemoryStream(bytes); BinaryReader br = new BinaryReader(s); header = new Format.Header(br); if (!Check()) return; byte[] stringByteData = br.ReadBytes((int)header.stringBytes.length); byte[] animationByteData = br.ReadBytes((int)header.animationBytes.length); translates = new Translate[header.translate.length]; for (int i = 0; i < translates.Length; ++i) translates[i] = new Translate(br); matrices = new Matrix[header.matrix.length]; for (int i = 0; i < matrices.Length; ++i) matrices[i] = new Matrix(br); colors = new Color[header.color.length]; for (int i = 0; i < colors.Length; ++i) colors[i] = new Color(br); alphaTransforms = new AlphaTransform[header.alphaTransform.length]; for (int i = 0; i < alphaTransforms.Length; ++i) alphaTransforms[i] = new AlphaTransform(br); colorTransforms = new ColorTransform[header.colorTransform.length]; for (int i = 0; i < colorTransforms.Length; ++i) colorTransforms[i] = new ColorTransform(br); objects = new Format.Object[header.objectData.length]; for (int i = 0; i < objects.Length; ++i) objects[i] = new Format.Object(br); textures = new Format.Texture[header.texture.length]; for (int i = 0; i < textures.Length; ++i) textures[i] = new Format.Texture(br); textureFragments = new Format.TextureFragment[header.textureFragment.length]; for (int i = 0; i < textureFragments.Length; ++i) textureFragments[i] = new Format.TextureFragment(br); bitmaps = new Format.Bitmap[header.bitmap.length]; for (int i = 0; i < bitmaps.Length; ++i) bitmaps[i] = new Format.Bitmap(br); bitmapExs = new Format.BitmapEx[header.bitmapEx.length]; for (int i = 0; i < bitmapExs.Length; ++i) bitmapExs[i] = new Format.BitmapEx(br); fonts = new Format.Font[header.font.length]; for (int i = 0; i < fonts.Length; ++i) fonts[i] = new Format.Font(br); textProperties = new Format.TextProperty[header.textProperty.length]; for (int i = 0; i < textProperties.Length; ++i) textProperties[i] = new Format.TextProperty(br); texts = new Format.Text[header.text.length]; for (int i = 0; i < texts.Length; ++i) texts[i] = new Format.Text(br); particleDatas = new Format.ParticleData[header.particleData.length]; for (int i = 0; i < particleDatas.Length; ++i) particleDatas[i] = new Format.ParticleData(br); particles = new Format.Particle[header.particle.length]; for (int i = 0; i < particles.Length; ++i) particles[i] = new Format.Particle(br); programObjects = new Format.ProgramObject[header.programObject.length]; for (int i = 0; i < programObjects.Length; ++i) programObjects[i] = new Format.ProgramObject(br); graphicObjects = new Format.GraphicObject[header.graphicObject.length]; for (int i = 0; i < graphicObjects.Length; ++i) graphicObjects[i] = new Format.GraphicObject(br); graphics = new Format.Graphic[header.graphic.length]; for (int i = 0; i < graphics.Length; ++i) graphics[i] = new Format.Graphic(br); Format.Animation[] animationData = new Format.Animation[header.animation.length]; for (int i = 0; i < animationData.Length; ++i) animationData[i] = new Format.Animation(br); buttonConditions = new Format.ButtonCondition[header.buttonCondition.length]; for (int i = 0; i < buttonConditions.Length; ++i) buttonConditions[i] = new Format.ButtonCondition(br); buttons = new Format.Button[header.button.length]; for (int i = 0; i < buttons.Length; ++i) buttons[i] = new Format.Button(br); labels = new Format.Label[header.label.length]; for (int i = 0; i < labels.Length; ++i) labels[i] = new Format.Label(br); instanceNames = new Format.InstanceName[header.instanceName.length]; for (int i = 0; i < instanceNames.Length; ++i) instanceNames[i] = new Format.InstanceName(br); events = new Format.Event[header.eventData.length]; for (int i = 0; i < events.Length; ++i) events[i] = new Format.Event(br); places = new Format.Place[header.place.length]; for (int i = 0; i < places.Length; ++i) places[i] = new Format.Place(br); controlMoveMs = new Format.ControlMoveM[header.controlMoveM.length]; for (int i = 0; i < controlMoveMs.Length; ++i) controlMoveMs[i] = new Format.ControlMoveM(br); controlMoveCs = new Format.ControlMoveC[header.controlMoveC.length]; for (int i = 0; i < controlMoveCs.Length; ++i) controlMoveCs[i] = new Format.ControlMoveC(br); controlMoveMCs = new Format.ControlMoveMC[header.controlMoveMC.length]; for (int i = 0; i < controlMoveMCs.Length; ++i) controlMoveMCs[i] = new Format.ControlMoveMC(br); controls = new Format.Control[header.control.length]; for (int i = 0; i < controls.Length; ++i) controls[i] = new Format.Control(br); frames = new Format.Frame[header.frame.length]; for (int i = 0; i < frames.Length; ++i) frames[i] = new Format.Frame(br); movieClipEvents = new Format.MovieClipEvent[header.movieClipEvent.length]; for (int i = 0; i < movieClipEvents.Length; ++i) movieClipEvents[i] = new Format.MovieClipEvent(br); movies = new Format.Movie[header.movie.length]; for (int i = 0; i < movies.Length; ++i) movies[i] = new Format.Movie(br); movieLinkages = new Format.MovieLinkage[header.movieLinkage.length]; for (int i = 0; i < movieLinkages.Length; ++i) movieLinkages[i] = new Format.MovieLinkage(br); Format.String[] stringData = new Format.String[header.stringData.length]; for (int i = 0; i < stringData.Length; ++i) stringData[i] = new Format.String(br); animations = new int[animationData.Length][]; for (int i = 0; i < animationData.Length; ++i) { animations[i] = ReadAnimation(animationByteData, (int)animationData[i].animationOffset, (int)animationData[i].animationLength); } strings = new string[stringData.Length]; for (int i = 0; i < stringData.Length; ++i) { strings[i] = System.Text.Encoding.UTF8.GetString(stringByteData, (int)stringData[i].stringOffset, (int)stringData[i].stringLength); } stringMap = new Dictionary<string, int>(); for (int i = 0; i < strings.Length; ++i) stringMap[strings[i]] = i; instanceNameMap = new Dictionary<int, int>(); for (int i = 0; i < instanceNames.Length; ++i) instanceNameMap[instanceNames[i].stringId] = i; eventMap = new Dictionary<int, int>(); for (int i = 0; i < events.Length; ++i) eventMap[events[i].stringId] = i; movieLinkageMap = new Dictionary<int, int>(); movieLinkageNameMap = new Dictionary<int, int>(); for (int i = 0; i < movieLinkages.Length; ++i) { movieLinkageMap[movieLinkages[i].stringId] = i; movieLinkageNameMap[movieLinkages[i].movieId] = movieLinkages[i].stringId; } programObjectMap = new Dictionary<int, int>(); for (int i = 0; i < programObjects.Length; ++i) programObjectMap[programObjects[i].stringId] = i; labelMap = new Dictionary<int, int>[movies.Length]; for (int i = 0; i < movies.Length; ++i) { Format.Movie m = movies[i]; int o = m.labelOffset; Dictionary<int, int> map = new Dictionary<int, int>(); for (int j = 0; j < m.labels; ++j) { Format.Label l = labels[o + j]; map[l.stringId] = l.frameNo; } labelMap[i] = map; } for (int i = 0; i < textures.Length; ++i) textures[i].SetFilename(this); bitmapMap = new Dictionary<string, int>(); var bitmapList = new List<Format.Bitmap>(bitmaps); for (int i = 0; i < textureFragments.Length; ++i) { textureFragments[i].SetFilename(this); bitmapMap[textureFragments[i].filename] = bitmapList.Count; bitmapList.Add( new Format.Bitmap{matrixId = 0, textureFragmentId = i}); } bitmaps = bitmapList.ToArray(); }