void OnEnable() { mLWFObject = target as LWFObject; if (mLWFObject == null) { return; } var sortingLayerName = mLWFObject.sortingLayerName; if (string.IsNullOrEmpty(sortingLayerName)) { sortingLayerName = "Default"; } mSortingOrder = mLWFObject.sortingOrder; mSortingLayerNames = GetSortingLayerNames(); for (int i = 0; i < mSortingLayerNames.Length; ++i) { if (string.Compare(mSortingLayerNames[i], sortingLayerName) == 0) { mPopupMenuIndex = i; break; } } }
protected Factory(Data d, GameObject gObj, float zOff, float zR, int rQOff, string sLayerName, int sOrder, bool uAC, Camera renderCam, Camera inputCam, string texturePrfx = "", string fontPrfx = "", TextureLoader textureLdr = null, TextureUnloader textureUnldr = null, string shrName = "LWF") { data = d; gameObject = gObj; lwfObject = gObj.GetComponent <LWFObject>(); zOffset = zOff; zRate = zR; renderQueueOffset = rQOff; sortingLayerName = sLayerName; sortingOrder = sOrder; useAdditionalColor = uAC; renderCamera = renderCam; inputCamera = inputCam; texturePrefix = texturePrfx; fontPrefix = fontPrfx; textureLoader = textureLdr; textureUnloader = textureUnldr; shaderName = shrName; matrix = Matrix4x4.identity; blendMode = (int)Format.Constant.BLEND_MODE_NORMAL; maskMode = (int)Format.Constant.BLEND_MODE_NORMAL; }
public void Init(Factory factory) { renderers = new List <IMeshRenderer>(); mesh = new Mesh(); mesh.name = "LWF/" + factory.data.name; mesh.MarkDynamic(); meshFilter = gameObject.AddComponent <MeshFilter>(); meshFilter.sharedMesh = mesh; meshRenderer = gameObject.AddComponent <UnityEngine.MeshRenderer>(); #if UNITY_4_6 meshRenderer.castShadows = false; #else meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; #endif meshRenderer.receiveShadows = false; UpdateSortingLayerAndOrder(factory); UpdateLayer(factory); lwfObject = factory.lwfObject; if (!getAdditionalColorId) { additionalColorId = Shader.PropertyToID("_AdditionalColor"); getAdditionalColorId = true; } buffer = new CombinedMeshBuffer(); }
private static void global_init() { if (!_globalInitialized) { LWFObject.SetLoader( lwfDataLoader: (name) => { TextAsset asset = Resources.Load(name) as TextAsset; if (asset == null) { return(null); } return(asset.bytes); }, textureLoader: (name) => { Texture2D texture = Resources.Load(name) as Texture2D; if (texture == null) { return(null); } return(texture); } ); _multColorId = Shader.PropertyToID("_MultColor"); _addColorId = Shader.PropertyToID("_AddColor"); _lerpColorId = Shader.PropertyToID("_LerpColor"); _globalInitialized = true; } }
public void AttachLWF(LWF.Movie movie, LWFObject lwfObject, string attachName, int attachDepth = -1, bool reorder = false, LWFObjectDetachHandler detachHandler = null) { AddLoadCallback((o) => { lwfObject.AddLoadCallback((lo) => { movie.AttachLWF(lwfObject.lwf, attachName, attachDepth, reorder, (attachedLWF) => { if (detachHandler == null) { if (lwfObject.isAlive) { Destroy(lwfObject.gameObject); } } else { if (detachHandler(lwfObject) && lwfObject.isAlive) { Destroy(lwfObject.gameObject); } } }); lwfObject.callUpdate = false; Transform transform = lwfObject.gameObject.transform; transform.parent = lwfObject.transform; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; }); }); }
public void UpdateMesh(LWFObject lwfObject) { gameObject.SetActive(true); if (buffer.vertices == null || buffer.vertices.Length / 4 != rectangleCount) { buffer.Alloc(rectangleCount); } else { buffer.index = 0; } for (int i = 0; i < rendererCount; ++i) { renderers[i].UpdateMesh(buffer); } buffer.initialized = false; if (buffer.modified) { buffer.modified = false; canvasRenderer.SetVertices(buffer.vertices, rectangleCount * 4); } if (property != null) { property.AddColor(additionalColorId, additionalColor); //meshRenderer.SetPropertyBlock(property); } }
void InitLWF() { DestroyLWF(); if (string.IsNullOrEmpty(mPath)) { Debug.LogWarning( "UILWFObject: path should be a correct lwf bytes path"); return; } string texturePrefix = System.IO.Path.GetDirectoryName(mPath); if (texturePrefix.Length > 0) { texturePrefix += "/"; } GameObject o = new GameObject(mPath); o.layer = gameObject.layer; o.hideFlags = HideFlags.HideAndDontSave; Transform transform = o.transform; transform.parent = gameObject.transform; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; Camera camera = NGUITools.FindCameraForLayer(o.layer); mLWFObject = o.AddComponent <LWFObject>(); mLWFObject.Load(mPath, texturePrefix, "", mZOffset, mZRate, mRenderQueueOffset, camera, true); int height = (int)camera.orthographicSize * 2; int width = (int)(camera.aspect * (float)height); switch (mScaleType) { case ScaleType.FIT_FOR_HEIGHT: mLWFObject.FitForHeight(height); break; case ScaleType.FIT_FOR_WIDTH: mLWFObject.FitForWidth(width); break; case ScaleType.SCALE_FOR_HEIGHT: mLWFObject.ScaleForHeight(height); break; case ScaleType.SCALE_FOR_WIDTH: mLWFObject.ScaleForWidth(width); break; } }
public void DetachLWF(LWF.Movie movie, LWFObject lwfObject) { if (movie == null) { return; } movie.DetachLWF(lwfObject.lwf); }
public CharacterProgramObject( LWFObject parent, LWF.LWF lwf, int width, int height) : base(lwf) { m_parent = parent; m_cube = GameObject.CreatePrimitive(PrimitiveType.Cube); m_cube.transform.parent = m_parent.gameObject.transform; m_cube.transform.localScale = new Vector3(width / 100.0f, height / 100.0f, 1); }
public ObjectContainer( LWFObject lo, LWF.Object o, int h, int d, int ri, int rc, int ro) { lwfObject = lo; obj = o; hierarchy = h; depth = d; renderingIndex = ri; renderingCount = rc; renderingOffset = ro; objects = new Dictionary<int, ObjectContainer>(); }
public ObjectContainer( LWFObject lo, LWF.Object o, int h, int d, int ri, int rc, int ro) { lwfObject = lo; obj = o; hierarchy = h; depth = d; renderingIndex = ri; renderingCount = rc; renderingOffset = ro; objects = new Dictionary <int, ObjectContainer>(); }
void DestroyLWF() { if (mLWFObject != null) { if (Application.isPlaying) { Destroy(mLWFObject.gameObject); } else { DestroyImmediate(mLWFObject.gameObject); } mLWFObject = null; } }
public BitmapRenderer(LWF lwf, BitmapContext context, LWFObject lwfObj) : base(lwf) { m_context = context; m_matrix = new Matrix4x4(); m_renderMatrix = new Matrix4x4(); m_colorMult = new UnityEngine.Color(); m_colorAdd = new UnityEngine.Color(); m_blendMode = (int)Format.Constant.BLEND_MODE_NORMAL; if (!m_getId) { m_colorId = Shader.PropertyToID("_Color"); m_additionalColorId = Shader.PropertyToID("_AdditionalColor"); m_getId = true; } m_lwfObject = lwfObj; }
void OnEnable() { mLWFObject = target as LWFObject; if (mLWFObject == null) return; var sortingLayerName = mLWFObject.sortingLayerName; if (string.IsNullOrEmpty(sortingLayerName)) sortingLayerName = "Default"; mSortingOrder = mLWFObject.sortingOrder; mSortingLayerNames = GetSortingLayerNames(); for (int i = 0; i < mSortingLayerNames.Length; ++i) { if (string.Compare(mSortingLayerNames[i], sortingLayerName) == 0) { mPopupMenuIndex = i; break; } } }
public ColliderHelper(LWFObject parent, LWF.LWF lwf, float radius, CollisionCallback onCollisionEnter2D = null, CollisionCallback onCollisionExit2D = null, CollisionCallback onCollisionStay2D = null, TriggerCallback onTriggerEnter2D = null, TriggerCallback onTriggerExit2D = null, TriggerCallback onTriggerStay2D = null) : base(lwf) { m_parent = parent; m_gameObject = new GameObject("ColliderHelper"); m_gameObject.transform.parent = m_parent.gameObject.transform; m_gameObject.transform.localPosition = Vector3.zero; m_gameObject.transform.localScale = Vector3.one; m_gameObject.transform.localRotation = Quaternion.identity; var collider = m_gameObject.AddComponent <ColliderWrapper>(); collider.Set(radius, onCollisionEnter2D, onCollisionExit2D, onCollisionStay2D, onTriggerEnter2D, onTriggerExit2D, onTriggerStay2D); }
public void DetachLWF(string instanceName, LWFObject lwfObject) { AddMovieLoadHandler(instanceName, (m) => { m.DetachLWF(lwfObject.lwf); }); }
void DestroyLWF() { if (mLWFObject != null) { if (Application.isPlaying) Destroy(mLWFObject.gameObject); else DestroyImmediate(mLWFObject.gameObject); mLWFObject = null; } }
void InitLWF() { DestroyLWF(); if (string.IsNullOrEmpty(mPath)) { Debug.LogWarning( "UILWFObject: path should be a correct lwf bytes path"); return; } string texturePrefix = System.IO.Path.GetDirectoryName(mPath); if (texturePrefix.Length > 0) texturePrefix += "/"; GameObject o = new GameObject(mPath); o.layer = gameObject.layer; o.hideFlags = HideFlags.HideAndDontSave; Transform transform = o.transform; transform.parent = gameObject.transform; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; Camera camera = NGUITools.FindCameraForLayer(o.layer); mLWFObject = o.AddComponent<LWFObject>(); mLWFObject.Load(mPath, texturePrefix, "", mZOffset, mZRate, mRenderQueueOffset, camera, true); int height = (int)camera.orthographicSize * 2; int width = (int)(camera.aspect * (float)height); switch (mScaleType) { case ScaleType.FIT_FOR_HEIGHT: mLWFObject.FitForHeight(height); break; case ScaleType.FIT_FOR_WIDTH: mLWFObject.FitForWidth(width); break; case ScaleType.SCALE_FOR_HEIGHT: mLWFObject.ScaleForHeight(height); break; case ScaleType.SCALE_FOR_WIDTH: mLWFObject.ScaleForWidth(width); break; } }
public void DetachLWF(LWF.Movie movie, LWFObject lwfObject) { if (movie == null) return; movie.DetachLWF(lwfObject.lwf); }
public void AttachLWF(string instanceName, LWFObject lwfObject, string attachName, int attachDepth = -1, bool reorder = false, LWFObjectAttachHandler attachHandler = null, LWFObjectDetachHandler detachHandler = null) { AddLoadCallback((o) => { lwfObject.AddLoadCallback((lo) => { AddMovieLoadHandler(instanceName, (m) => { m.AttachLWF(lwfObject.lwf, attachName, attachDepth, reorder, (attachedLWF) => { if (detachHandler == null) { if (lwfObject.isAlive) Destroy(lwfObject.gameObject); } else { if (detachHandler(lwfObject) && lwfObject.isAlive) Destroy(lwfObject.gameObject); } }); if (attachHandler != null) attachHandler(lwfObject); }); lwfObject.callUpdate = false; Transform transform = lwfObject.gameObject.transform; transform.parent = gameObject.transform; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; }); }); }
void load_callback(LWFObject lwfobject) { // Add callback for fscommand("event", "end_of_frame") lwfobject.AddEventHandler("end_of_frame", end_of_frame_callback ); }
void load_callback(LWFObject lwfobject) { // Add callback for fscommand("event", "end_of_frame") lwfobject.AddEventHandler("end_of_frame", end_of_frame_callback); }