Inheritance: MonoBehaviour
Example #1
0
    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;
            }
        }
    }
Example #2
0
 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;
 }
Example #3
0
            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();
            }
Example #4
0
 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;
     }
 }
Example #5
0
    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;
            });
        });
    }
Example #6
0
            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);
                }
            }
Example #7
0
    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;
        }
    }
Example #8
0
    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);
 }
Example #10
0
		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>();
		}
Example #11
0
 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>();
 }
Example #12
0
 void DestroyLWF()
 {
     if (mLWFObject != null)
     {
         if (Application.isPlaying)
         {
             Destroy(mLWFObject.gameObject);
         }
         else
         {
             DestroyImmediate(mLWFObject.gameObject);
         }
         mLWFObject = null;
     }
 }
Example #13
0
 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;
 }
Example #14
0
	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;
			}
		}
	}
Example #15
0
    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);
    }
Example #16
0
 public void DetachLWF(string instanceName, LWFObject lwfObject)
 {
     AddMovieLoadHandler(instanceName, (m) => {
         m.DetachLWF(lwfObject.lwf);
     });
 }
Example #17
0
 public void DetachLWF(string instanceName, LWFObject lwfObject)
 {
     AddMovieLoadHandler(instanceName, (m) => {
         m.DetachLWF(lwfObject.lwf);
     });
 }
Example #18
0
 void DestroyLWF()
 {
     if (mLWFObject != null) {
         if (Application.isPlaying)
             Destroy(mLWFObject.gameObject);
         else
             DestroyImmediate(mLWFObject.gameObject);
         mLWFObject = null;
     }
 }
Example #19
0
    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;
        }
    }
Example #20
0
    public void DetachLWF(LWF.Movie movie, LWFObject lwfObject)
    {
        if (movie == null)
            return;

        movie.DetachLWF(lwfObject.lwf);
    }
Example #21
0
	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;
			});
		});
	}
Example #22
0
 void load_callback(LWFObject lwfobject)
 {
     // Add callback for fscommand("event", "end_of_frame")
     lwfobject.AddEventHandler("end_of_frame", end_of_frame_callback );
 }
Example #23
0
 void load_callback(LWFObject lwfobject)
 {
     // Add callback for fscommand("event", "end_of_frame")
     lwfobject.AddEventHandler("end_of_frame", end_of_frame_callback);
 }