private void ChangeMeshColor(MeshFilter mFilter, Color tarColor) { if (mFilter == null || mFilter.mesh == null) { Debug.LogWarning("ChangeMeshColor mFilter : " + mFilter); Debug.LogWarning("ChangeMeshColor mFilter.mesh : " + mFilter.mesh); return; } Color[] array = mFilter.mesh.colors; if (array.Length == 0) { if (mFilter.mesh.vertices.Length == 0) { NcSpriteFactory.CreateEmptyMesh(mFilter); } array = new Color[mFilter.mesh.vertices.Length]; for (int i = 0; i < array.Length; i++) { array[i] = Color.white; } } for (int j = 0; j < array.Length; j++) { array[j] = tarColor; } mFilter.mesh.colors = array; }
public void SetSpriteFactoryIndex(int nSpriteFactoryIndex, bool bRunImmediate) { if (this.m_NcSpriteFactoryCom == null) { if (!this.m_NcSpriteFactoryPrefab || !(this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null)) { return; } this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } NcSpriteFactory.NcSpriteNode spriteNode = this.m_NcSpriteFactoryCom.GetSpriteNode(nSpriteFactoryIndex); this.m_bBuildSpriteObj = false; this.m_bAutoDestruct = false; this.m_fUvScale = this.m_NcSpriteFactoryCom.m_fUvScale; this.m_nSpriteFactoryIndex = nSpriteFactoryIndex; this.m_nStartFrame = 0; DebugHelper.Assert(spriteNode != null); if (spriteNode != null) { this.m_nFrameCount = spriteNode.m_nFrameCount; this.m_fFps = spriteNode.m_fFps; this.m_bLoop = spriteNode.m_bLoop; this.m_nLoopStartFrame = spriteNode.m_nLoopStartFrame; this.m_nLoopFrameCount = spriteNode.m_nLoopFrameCount; this.m_nLoopingCount = spriteNode.m_nLoopingCount; this.m_NcSpriteFrameInfos = spriteNode.m_FrameInfos; } this.ResetLocalValue(); }
private bool UpdateFactoryInfo(int nSpriteFactoryIndex) { this.m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (this.m_NcSpriteFactoryCom == null) { if (!this.m_NcSpriteFactoryPrefab || !(this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null)) { return(false); } this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } NcSpriteFactory.NcSpriteNode spriteNode = this.m_NcSpriteFactoryCom.GetSpriteNode(this.m_nSpriteFactoryIndex); this.m_bBuildSpriteObj = false; this.m_bAutoDestruct = false; this.m_fUvScale = this.m_NcSpriteFactoryCom.m_fUvScale; this.m_nStartFrame = 0; if (spriteNode != null) { this.m_nFrameCount = spriteNode.m_nFrameCount; this.m_fFps = spriteNode.m_fFps; this.m_bLoop = spriteNode.m_bLoop; this.m_nLoopStartFrame = spriteNode.m_nLoopStartFrame; this.m_nLoopFrameCount = spriteNode.m_nLoopFrameCount; this.m_nLoopingCount = spriteNode.m_nLoopingCount; this.m_NcSpriteFrameInfos = spriteNode.m_FrameInfos; } this.ResetLocalValue(); return(true); }
bool UpdateFactoryInfo(int nSpriteFactoryIndex) { m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } else { return(false); } } NcSpriteFactory.NcSpriteNode spriteNode = m_NcSpriteFactoryCom.GetSpriteNode(m_nSpriteFactoryIndex); m_bBuildSpriteObj = false; m_bAutoDestruct = false; m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; m_nStartFrame = 0; if (spriteNode != null) { m_nFrameCount = spriteNode.m_nFrameCount; m_fFps = spriteNode.m_fFps; m_bLoop = spriteNode.m_bLoop; m_nLoopStartFrame = spriteNode.m_nLoopStartFrame; m_nLoopFrameCount = spriteNode.m_nLoopFrameCount; m_nLoopingCount = spriteNode.m_nLoopingCount; m_NcSpriteFrameInfos = spriteNode.m_FrameInfos; } ResetLocalValue(); return(true); }
public bool UpdateSpriteMaterial() { if (m_NcSpriteFactoryPrefab == null) { return(false); } if (m_NcSpriteFactoryPrefab.renderer == null || m_NcSpriteFactoryPrefab.renderer.sharedMaterial == null || m_NcSpriteFactoryPrefab.renderer.sharedMaterial.mainTexture == null) { return(false); } if (renderer == null) { return(false); } NcSpriteFactory ncSpriteFactory = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); if (ncSpriteFactory == null) { return(false); } if (m_nSpriteFactoryIndex < 0 || ncSpriteFactory.GetSpriteNodeCount() <= m_nSpriteFactoryIndex) { return(false); } if (ncSpriteFactory.m_SpriteType != NcSpriteFactory.SPRITE_TYPE.NcSpriteTexture) { return(false); } renderer.sharedMaterial = m_NcSpriteFactoryPrefab.renderer.sharedMaterial; return(true); }
// void Update() // { // } // Control Function ----------------------------------------------------------------- public void SetSpriteFactoryIndex(int nSpriteFactoryIndex, int nFrameIndex, bool bRunImmediate) { if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } else { return; } } m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (m_NcSpriteFactoryCom.IsValidFactory() == false) { return; } m_NcSpriteFrameInfos = m_NcSpriteFactoryCom.GetSpriteNode(nSpriteFactoryIndex).m_FrameInfos; m_nFrameIndex = (0 <= nFrameIndex ? nFrameIndex : m_nFrameIndex); m_nFrameIndex = (m_NcSpriteFrameInfos.Length == 0 || m_NcSpriteFrameInfos.Length <= m_nFrameIndex ? 0 : m_nFrameIndex); m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; if (bRunImmediate) { UpdateSpriteTexture(bRunImmediate); } }
// Loop Function -------------------------------------------------------------------- void Awake() { // #if UNITY_EDITOR // if (IsCreatingEditObject() == false) // #endif { if (m_NcSpriteFactoryPrefab == null && gameObject.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryPrefab = gameObject; } if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } } if (m_MeshFilter == null) { if (gameObject.GetComponent <MeshFilter>() != null) { m_MeshFilter = gameObject.GetComponent <MeshFilter>(); } } if (m_nLoopFrameCount == 0) { m_nLoopFrameCount = m_nFrameCount - m_nLoopStartFrame; } }
// Control Function ----------------------------------------------------------------- public void SetSpriteFactoryIndex(int nSpriteFactoryIndex, bool bRunImmediate) { if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } else { return; } } NcSpriteFactory.NcSpriteNode spriteNode = m_NcSpriteFactoryCom.GetSpriteNode(nSpriteFactoryIndex); m_bBuildSpriteObj = false; m_bAutoDestruct = false; m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; m_nSpriteFactoryIndex = nSpriteFactoryIndex; m_nStartFrame = 0; m_nFrameCount = spriteNode.m_nFrameCount; m_fFps = spriteNode.m_fFps; m_bLoop = spriteNode.m_bLoop; m_nLoopStartFrame = spriteNode.m_nLoopStartFrame; m_nLoopFrameCount = spriteNode.m_nLoopFrameCount; m_nLoopingCount = spriteNode.m_nLoopingCount; m_NcSpriteFrameInfos = spriteNode.m_FrameInfos; ResetLocalValue(); }
void UpdateBuiltInPlane(int nSelIndex) { NcSpriteFactory.UpdatePlane(m_MeshFilter, m_fUvScale, m_NcSpriteFrameInfos[nSelIndex], (m_TextureType == TEXTURE_TYPE.TileTexture ? false : m_bTrimCenterAlign), m_AlignType, m_fShowRate); NcSpriteFactory.UpdateMeshUVs(m_MeshFilter, m_NcSpriteFrameInfos[nSelIndex].m_TextureUvOffset, m_AlignType, m_fShowRate); }
void ChangeMeshColor(MeshFilter mFilter, Color tarColor) { if (mFilter == null || mFilter.mesh == null) { Debug.LogWarning("ChangeMeshColor mFilter : " + mFilter); Debug.LogWarning("ChangeMeshColor mFilter.mesh : " + mFilter.mesh); return; } Color[] colors = mFilter.mesh.colors; if (colors.Length == 0) { if (mFilter.mesh.vertices.Length == 0) { NcSpriteFactory.CreateEmptyMesh(mFilter); } colors = new Color[mFilter.mesh.vertices.Length]; for (int c = 0; c < colors.Length; c++) { colors[c] = Color.white; } } for (int c = 0; c < colors.Length; c++) { colors[c] = tarColor; } mFilter.mesh.colors = colors; }
private void UpdateSpriteTexture(bool bShowEffect) { if (this.UpdateSpriteMaterial() && this.m_NcSpriteFactoryCom.IsValidFactory()) { if (this.m_NcSpriteFrameInfos.Length == 0) { this.SetSpriteFactoryIndex(this.m_nSpriteFactoryIndex, this.m_nFrameIndex, false); } if (base.m_MeshFilter == null) { if (base.gameObject.GetComponent <MeshFilter>() != null) { base.m_MeshFilter = base.gameObject.GetComponent <MeshFilter>(); } else { base.m_MeshFilter = base.gameObject.AddComponent <MeshFilter>(); } } NcSpriteFactory.CreatePlane(base.m_MeshFilter, this.m_fUvScale, this.m_NcSpriteFrameInfos[this.m_nFrameIndex], false, this.m_AlignType, this.m_MeshType); NcSpriteFactory.UpdateMeshUVs(base.m_MeshFilter, this.m_NcSpriteFrameInfos[this.m_nFrameIndex].m_TextureUvOffset); if (bShowEffect) { this.m_EffectObject = this.m_NcSpriteFactoryCom.CreateSpriteEffect(this.m_nSpriteFactoryIndex, base.transform); } } }
void CreateAttachGameObject() { m_CreateGameObject = (GameObject)CreateGameObject(GetTargetGameObject(), (GetTargetGameObject() == gameObject ? null : transform), m_AttachPrefab); if (m_CreateGameObject == null) { return; } // sync Layer // Ng_ChangeLayerWithChild(m_CreateGameObject, gameObject.layer); // Random pos, AddStartPos Vector3 newPos = m_CreateGameObject.transform.position; m_CreateGameObject.transform.position = m_AddStartPos + new Vector3(Random.Range(-m_RandomRange.x, m_RandomRange.x) + newPos.x, Random.Range(-m_RandomRange.y, m_RandomRange.y) + newPos.y, Random.Range(-m_RandomRange.z, m_RandomRange.z) + newPos.z); // m_AccumStartRot m_CreateGameObject.transform.localRotation *= Quaternion.Euler(m_AccumStartRot.x * m_nCreateCount, m_AccumStartRot.y * m_nCreateCount, m_AccumStartRot.z * m_nCreateCount); m_CreateGameObject.name += " " + m_nCreateCount; SetActiveRecursively(m_CreateGameObject, true); // PrefabAdjustSpeed AdjustSpeedRuntime(m_CreateGameObject, m_fPrefabSpeed); // m_fPrefabLifeTime if (0 < m_fPrefabLifeTime) { NcAutoDestruct ncAd = m_CreateGameObject.GetComponent <NcAutoDestruct>(); if (ncAd == null) { ncAd = m_CreateGameObject.AddComponent <NcAutoDestruct>(); } ncAd.m_fLifeTime = m_fPrefabLifeTime; } // m_bDetachParent if (m_bDetachParent) { NcDetachParent detachCom = m_CreateGameObject.GetComponent <NcDetachParent>(); if (detachCom == null) { detachCom = m_CreateGameObject.AddComponent <NcDetachParent>(); } } // m_nSpriteFactoryIndex if (0 <= m_nSpriteFactoryIndex) { NcSpriteFactory ncFactory = m_CreateGameObject.GetComponent <NcSpriteFactory>(); if (ncFactory) { ncFactory.SetSprite(m_nSpriteFactoryIndex, false); } } }
private void Awake() { if (this.m_NcSpriteFactoryPrefab == null && base.get_gameObject().GetComponent <NcSpriteFactory>() != null) { this.m_NcSpriteFactoryPrefab = base.get_gameObject(); } if (this.m_NcSpriteFactoryPrefab && this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } }
private void Awake() { if ((this.m_NcSpriteFactoryPrefab == null) && (base.gameObject.GetComponent <NcSpriteFactory>() != null)) { this.m_NcSpriteFactoryPrefab = base.gameObject; } if ((this.m_NcSpriteFactoryPrefab != null) && (this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null)) { this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } }
// void Update() // { // } // Control Function ----------------------------------------------------------------- public void SetSpriteFactoryIndex(string spriteName, int nFrameIndex, bool bRunImmediate) { if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); else return; } m_nSpriteFactoryIndex = m_NcSpriteFactoryCom.GetSpriteNodeIndex(spriteName); SetSpriteFactoryIndex(m_nSpriteFactoryIndex, nFrameIndex, bRunImmediate); }
protected bool DrawTrimTexture(Rect drawRect, bool bSelEnable, Material srcMat, NcSpriteFactory ncSpriteFactory, int nSelFactoryIndex, int nSelFrameIndex, bool bRotateRight, out int nClickFactoryIndex, out int nClickFrameIndex) { // FXMakerLayout.GetOffsetRect(rect, 0, 5, 0, -5); Texture srcTex = srcMat.mainTexture; GUI.DrawTexture(drawRect, srcTex, ScaleMode.StretchToFill, true); Event ev = Event.current; for (int n = 0; n < ncSpriteFactory.GetSpriteNodeCount(); n++) { NcSpriteFactory.NcSpriteNode ncSpriteNode = ncSpriteFactory.GetSpriteNode(n); if (ncSpriteNode.IsEmptyTexture()) { continue; } for (int fc = 0; fc < ncSpriteNode.m_nFrameCount; fc++) { Color color; Rect uvRect = ncSpriteFactory.GetSpriteUvRect(n, fc); // draw indexRect Rect currRect = new Rect(drawRect.x + uvRect.xMin * drawRect.width, drawRect.y + (1 - uvRect.yMin - uvRect.height) * drawRect.height, uvRect.width * drawRect.width, uvRect.height * drawRect.height); if (nSelFactoryIndex == n) { color = (nSelFrameIndex == fc ? Color.green : Color.red); } else { color = Color.yellow; } NgGUIDraw.DrawBox(FXMakerLayout.GetOffsetRect(currRect, 0), color, 1, false); // Change selIndex if (bSelEnable && (ev.type == EventType.MouseDown) && currRect.Contains(ev.mousePosition)) { // m_Sel.SetSpriteFactoryIndex(n, fc, false); nClickFactoryIndex = n; nClickFrameIndex = fc; // Rotate if (bRotateRight && ev.button == 1) { (target as NcEffectBehaviour).transform.Rotate(0, 180, 0); } Repaint(); return(true); } } } nClickFactoryIndex = 0; nClickFrameIndex = 0; return(false); }
// Loop Function -------------------------------------------------------------------- void Awake() { // #if UNITY_EDITOR // if (IsCreatingEditObject() == false) // #endif { if (m_NcSpriteFactoryPrefab == null && gameObject.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryPrefab = gameObject; if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); } }
public void SetSpriteFactoryIndex(string spriteName, int nFrameIndex, bool bRunImmediate) { if (this.m_NcSpriteFactoryCom == null) { if (!this.m_NcSpriteFactoryPrefab || !(this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null)) { return; } this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } this.m_nSpriteFactoryIndex = this.m_NcSpriteFactoryCom.GetSpriteNodeIndex(spriteName); this.SetSpriteFactoryIndex(this.m_nSpriteFactoryIndex, nFrameIndex, bRunImmediate); }
private void Awake() { if (this.m_NcSpriteFactoryPrefab == null && base.gameObject.GetComponent <NcSpriteFactory>() != null) { this.m_NcSpriteFactoryPrefab = base.gameObject; } if (this.m_NcSpriteFactoryPrefab && this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } if (this.m_MeshFilter == null && base.gameObject.GetComponent <MeshFilter>() != null) { this.m_MeshFilter = base.gameObject.GetComponent <MeshFilter>(); } }
// void Update() // { // } // Control Function ----------------------------------------------------------------- public void SetSpriteFactoryIndex(string spriteName, int nFrameIndex, bool bRunImmediate) { if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } else { return; } } m_nSpriteFactoryIndex = m_NcSpriteFactoryCom.GetSpriteNodeIndex(spriteName); SetSpriteFactoryIndex(m_nSpriteFactoryIndex, nFrameIndex, bRunImmediate); }
// Loop Function -------------------------------------------------------------------- void Awake() { // #if UNITY_EDITOR // if (IsCreatingEditObject() == false) // #endif { if (m_NcSpriteFactoryPrefab == null && gameObject.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryPrefab = gameObject; } if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } } }
// void Update() // { // } // Control Function ----------------------------------------------------------------- public void SetSpriteFactoryIndex(int nSpriteFactoryIndex, int nFrameIndex, bool bRunImmediate) { if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); else return; } m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (m_NcSpriteFactoryCom.IsValidFactory() == false) return; m_NcSpriteFrameInfos = m_NcSpriteFactoryCom.GetSpriteNode(nSpriteFactoryIndex).m_FrameInfos; m_nFrameIndex = (0 <= nFrameIndex ? nFrameIndex : m_nFrameIndex); m_nFrameIndex = (m_NcSpriteFrameInfos.Length == 0 || m_NcSpriteFrameInfos.Length <= m_nFrameIndex ? 0 : m_nFrameIndex); m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; if (bRunImmediate) UpdateSpriteTexture(bRunImmediate); }
void CreateBuiltInPlane(int nSelIndex) { if (m_bCreateBuiltInPlane) { return; } m_bCreateBuiltInPlane = true; if (m_MeshFilter == null) { m_MeshFilter = gameObject.GetComponent <MeshFilter>() != null ? gameObject.GetComponent <MeshFilter>() : gameObject.AddComponent <MeshFilter>(); } NcSpriteFactory.CreatePlane(m_MeshFilter, m_fUvScale, m_NcSpriteFrameInfos[nSelIndex], (m_TextureType == TEXTURE_TYPE.TileTexture ? false : m_bTrimCenterAlign), m_AlignType, m_MeshType, m_fShowRate); }
public static string ExportSplitTexture(string tarBasePath, Texture srcTex, NcSpriteFactory.NcFrameInfo[] ncSpriteFrameInfos) { #if UNITY_WEBPLAYER Debug.LogError("In WEB_PLAYER mode, you cannot run the FXMaker."); Debug.Break(); return ""; #else if (srcTex == null) return ""; if (ncSpriteFrameInfos == null || ncSpriteFrameInfos.Length <= 0) return ""; // split texture Texture2D atlasTexture = CloneAtlasTexture(srcTex); bool bHadAlpha = IsFindAlphaPixel(atlasTexture); // create subFolder string filename = srcTex.name; string tarPath = NgFile.CombinePath(tarBasePath, filename); if (Directory.Exists(tarPath) == false) Directory.CreateDirectory(tarPath); // export for (int n = 0; n < ncSpriteFrameInfos.Length; n++) { // packTextures Color clearColor = new Color(0, 0, 0, (bHadAlpha ? 0 : 1)); Texture2D splitTexture = new Texture2D(ncSpriteFrameInfos[n].m_nTexWidth, ncSpriteFrameInfos[n].m_nTexHeight, TextureFormat.ARGB32, false); // clear for (int x = 0; x < splitTexture.width; x++) for (int y = 0; y < splitTexture.height; y++) splitTexture.SetPixel(x, y, clearColor); Color[] colors = atlasTexture.GetPixels((int)(ncSpriteFrameInfos[n].m_TextureUvOffset.x*atlasTexture.width), (int)(ncSpriteFrameInfos[n].m_TextureUvOffset.y*atlasTexture.height), (int)(ncSpriteFrameInfos[n].m_TextureUvOffset.width*atlasTexture.width), (int)(ncSpriteFrameInfos[n].m_TextureUvOffset.height*atlasTexture.height), 0); splitTexture.SetPixels((int)((ncSpriteFrameInfos[n].m_FrameUvOffset.x+1)*splitTexture.width/2), (int)((ncSpriteFrameInfos[n].m_FrameUvOffset.y+1)*splitTexture.height/2), (int)(ncSpriteFrameInfos[n].m_FrameUvOffset.width*splitTexture.width/2), (int)(ncSpriteFrameInfos[n].m_FrameUvOffset.height*splitTexture.height/2), colors, 0); SaveTexture(splitTexture, tarPath, string.Format("{0}_{1:00}", filename, n)); // free tempTexture Object.DestroyImmediate(splitTexture); } Object.DestroyImmediate(atlasTexture); return tarPath; #endif }
private void CreateBuiltInPlane(int nSelIndex) { if (!this.m_bCreateBuiltInPlane) { this.m_bCreateBuiltInPlane = true; if (base.m_MeshFilter == null) { if (base.gameObject.GetComponent <MeshFilter>() != null) { base.m_MeshFilter = base.gameObject.GetComponent <MeshFilter>(); } else { base.m_MeshFilter = base.gameObject.AddComponent <MeshFilter>(); } } NcSpriteFactory.CreatePlane(base.m_MeshFilter, this.m_fUvScale, this.m_NcSpriteFrameInfos[nSelIndex], (this.m_TextureType != TEXTURE_TYPE.TileTexture) ? this.m_bTrimCenterAlign : false, this.m_AlignType, this.m_MeshType); } }
private bool UpdateFactoryInfo(int nSpriteFactoryIndex) { this.m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (this.m_NcSpriteFactoryCom == null) { if (!this.m_NcSpriteFactoryPrefab || !(this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null)) { return(false); } this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } if (!this.m_NcSpriteFactoryCom.IsValidFactory()) { return(false); } this.m_NcSpriteFrameInfos = this.m_NcSpriteFactoryCom.GetSpriteNode(this.m_nSpriteFactoryIndex).m_FrameInfos; this.m_fUvScale = this.m_NcSpriteFactoryCom.m_fUvScale; return(true); }
private void Awake() { if (this.m_NcSpriteFactoryPrefab == null && base.get_gameObject().GetComponent <NcSpriteFactory>() != null) { this.m_NcSpriteFactoryPrefab = base.get_gameObject(); } if (this.m_NcSpriteFactoryPrefab && this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { this.m_NcSpriteFactoryCom = this.m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } if (this.m_MeshFilter == null && base.get_gameObject().GetComponent <MeshFilter>() != null) { this.m_MeshFilter = base.get_gameObject().GetComponent <MeshFilter>(); } if (this.m_nLoopFrameCount == 0) { this.m_nLoopFrameCount = this.m_nFrameCount - this.m_nLoopStartFrame; } }
public void UpdateSpriteTexture() { if (UpdateSpriteMaterial() == false) { return; } NcSpriteFactory ncSpriteFactory = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); ncSpriteFactory.UpdateNcSpriteTexture(m_nSpriteFactoryIndex, this); ncSpriteFactory.UpdateUvScale(m_nSpriteFactoryIndex, transform); m_EffectObject = ncSpriteFactory.CreateSpriteEffect(m_nSpriteFactoryIndex, transform); if (UpdateMeshUVs(new Rect(m_fOffsetX, m_fOffsetY, m_fTilingX, m_fTilingY)) == false) { // Debug.Log("m_Renderer.material"); renderer.material.mainTextureScale = new Vector2(m_fTilingX, m_fTilingY); renderer.material.mainTextureOffset = new Vector2(m_fOffsetX, m_fOffsetY); } }
private void ChangeAlpha(float alpha) { if (this.Type == ChangeAlphaType.Material) { for (int i = 0; i < this.rens.Length; i++) { Renderer renderer = this.rens[i]; string materialColorName = AutoAlpha.GetMaterialColorName(renderer.sharedMaterial); if (materialColorName != null) { Color color = renderer.material.GetColor(materialColorName); color.a = alpha; renderer.material.SetColor(materialColorName, color); } } } else { for (int j = 0; j < this.meshFilters.Length; j++) { Color[] array = this.meshFilters[j].mesh.colors; if (array.Length == 0) { if (this.meshFilters[j].mesh.vertices.Length == 0) { NcSpriteFactory.CreateEmptyMesh(this.meshFilters[j]); } array = new Color[this.meshFilters[j].mesh.vertices.Length]; for (int k = 0; k < array.Length; k++) { array[k] = Color.white; } } for (int l = 0; l < array.Length; l++) { Color color2 = array[l]; color2.a = alpha; array[l] = color2; } this.meshFilters[j].mesh.colors = array; } } }
void UpdateSpriteTexture(bool bShowEffect) { if (!UpdateSpriteMaterial()) { return; } if (!m_NcSpriteFactoryCom.IsValidFactory()) { return; } if (m_NcSpriteFrameInfos.Length == 0) { SetSpriteFactoryIndex(m_nSpriteFactoryIndex, m_nFrameIndex, false); } if (m_MeshFilter == null) { if (gameObject.GetComponent <MeshFilter>() != null) { m_MeshFilter = gameObject.GetComponent <MeshFilter>(); } else { m_MeshFilter = gameObject.AddComponent <MeshFilter>(); } } NcSpriteFactory.CreatePlane(m_MeshFilter, m_fUvScale, m_NcSpriteFrameInfos[m_nFrameIndex], false, m_AlignType, m_MeshType, m_fShowRate); NcSpriteFactory.UpdateMeshUVs(m_MeshFilter, m_NcSpriteFrameInfos[m_nFrameIndex].m_TextureUvOffset, m_AlignType, m_fShowRate); // { // // Debug.Log("m_Renderer.material"); // renderer.material.mainTextureScale = new Vector2(m_fTilingX, m_fTilingY); // renderer.material.mainTextureOffset = new Vector2(m_fOffsetX, m_fOffsetY); // } if (bShowEffect) { m_EffectObject = m_NcSpriteFactoryCom.CreateSpriteEffect(m_nSpriteFactoryIndex, transform); } }
void CreateBuiltInPlane(int nSelIndex) { if (m_bCreateBuiltInPlane) { return; } m_bCreateBuiltInPlane = true; if (m_MeshFilter == null) { if (gameObject.GetComponent <MeshFilter>() != null) { m_MeshFilter = gameObject.GetComponent <MeshFilter>(); } else { m_MeshFilter = gameObject.AddComponent <MeshFilter>(); } } NcSpriteFactory.CreatePlane(m_MeshFilter, m_fUvScale, m_NcSpriteFrameInfos[nSelIndex], m_AlignType, m_MeshType); }
private void CreateBuiltInPlane(int nSelIndex) { if (this.m_bCreateBuiltInPlane) { return; } this.m_bCreateBuiltInPlane = true; if (this.m_MeshFilter == null) { if (base.gameObject.GetComponent <MeshFilter>() != null) { this.m_MeshFilter = base.gameObject.GetComponent <MeshFilter>(); } else { this.m_MeshFilter = base.gameObject.AddComponent <MeshFilter>(); } } NcSpriteFactory.CreatePlane(this.m_MeshFilter, this.m_fUvScale, this.m_NcSpriteFrameInfos[nSelIndex], this.m_AlignType, this.m_MeshType); }
private void CreateBuiltInPlane(int nSelIndex) { if (this.m_bCreateBuiltInPlane) { return; } this.m_bCreateBuiltInPlane = true; if (this.m_MeshFilter == null) { if (base.gameObject.GetComponent <MeshFilter>() != null) { this.m_MeshFilter = base.gameObject.GetComponent <MeshFilter>(); } else { this.m_MeshFilter = base.gameObject.AddComponent <MeshFilter>(); } } NcSpriteFactory.CreatePlane(this.m_MeshFilter, this.m_fUvScale, this.m_NcSpriteFrameInfos[nSelIndex], this.m_TextureType != NcSpriteAnimation.TEXTURE_TYPE.TileTexture && this.m_bTrimCenterAlign, this.m_AlignType, this.m_MeshType, this.m_fShowRate); }
bool UpdateFactoryInfo(int nSpriteFactoryIndex) { m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>() != null) { m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent <NcSpriteFactory>(); } else { return(false); } } if (m_NcSpriteFactoryCom.IsValidFactory() == false) { return(false); } m_NcSpriteFrameInfos = m_NcSpriteFactoryCom.GetSpriteNode(m_nSpriteFactoryIndex).m_FrameInfos; m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; return(true); }
// Control Function ----------------------------------------------------------------- public void SetSpriteFactoryIndex(int nSpriteFactoryIndex, bool bRunImmediate) { if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); else return; } NcSpriteFactory.NcSpriteNode spriteNode = m_NcSpriteFactoryCom.GetSpriteNode(nSpriteFactoryIndex); m_bBuildSpriteObj = false; m_bAutoDestruct = false; m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; m_nSpriteFactoryIndex = nSpriteFactoryIndex; m_nStartFrame = 0; m_nFrameCount = spriteNode.m_nFrameCount; m_fFps = spriteNode.m_fFps; m_bLoop = spriteNode.m_bLoop; m_nLoopStartFrame = spriteNode.m_nLoopStartFrame; m_nLoopFrameCount = spriteNode.m_nLoopFrameCount; m_nLoopingCount = spriteNode.m_nLoopingCount; m_NcSpriteFrameInfos = spriteNode.m_FrameInfos; ResetLocalValue(); }
protected bool DrawTrimTexture(Rect drawRect, bool bSelEnable, Material srcMat, NcSpriteFactory ncSpriteFactory, int nSelFactoryIndex, int nSelFrameIndex, bool bRotateRight, out int nClickFactoryIndex, out int nClickFrameIndex) { // FXMakerLayout.GetOffsetRect(rect, 0, 5, 0, -5); Texture srcTex = srcMat.mainTexture; GUI.DrawTexture(drawRect, srcTex, ScaleMode.StretchToFill, true); Event ev = Event.current; for (int n = 0; n < ncSpriteFactory.GetSpriteNodeCount(); n++) { NcSpriteFactory.NcSpriteNode ncSpriteNode = ncSpriteFactory.GetSpriteNode(n); for (int fc = 0; fc < ncSpriteNode.m_nFrameCount; fc++) { Color color; Rect uvRect = ncSpriteFactory.GetSpriteUvRect(n, fc); // draw indexRect Rect currRect = new Rect(drawRect.x+uvRect.xMin*drawRect.width, drawRect.y+(1-uvRect.yMin-uvRect.height)*drawRect.height, uvRect.width*drawRect.width, uvRect.height*drawRect.height); if (nSelFactoryIndex == n) { color = (nSelFrameIndex == fc ? Color.green : Color.red); } else { color = Color.yellow; } NgGUIDraw.DrawBox(FXMakerLayout.GetOffsetRect(currRect, 0), color, 1, false); // Change selIndex if (bSelEnable && (ev.type == EventType.MouseDown) && currRect.Contains(ev.mousePosition)) { // m_Sel.SetSpriteFactoryIndex(n, fc, false); nClickFactoryIndex = n; nClickFrameIndex = fc; // Rotate if (bRotateRight && ev.button == 1) (target as NcEffectBehaviour).transform.Rotate(0, 180, 0); Repaint(); return true; } } } nClickFactoryIndex = 0; nClickFrameIndex = 0; return false; }
protected bool DrawTrimTexture(Rect drawRect, bool bSelEnable, Material srcMat, NcSpriteFactory.NcFrameInfo[] ncSpriteFrameInfos, int nStartFrame, int nFrameCount, int nSelFrameIndex, out int nClickFrameIndex) { nClickFrameIndex = 0; GUI.DrawTexture(drawRect, srcMat.mainTexture, ScaleMode.StretchToFill, true); if (ncSpriteFrameInfos == null) return false; Event ev = Event.current; if (ncSpriteFrameInfos != null) { for (int n = nStartFrame; n < Mathf.Min(nStartFrame + nFrameCount, ncSpriteFrameInfos.Length); n++) { Rect uvRect = ncSpriteFrameInfos[n].m_TextureUvOffset; // draw indexRect Rect currRect = new Rect(drawRect.x+uvRect.xMin*drawRect.width, drawRect.y+(1-uvRect.yMin-uvRect.height)*drawRect.height, uvRect.width*drawRect.width, uvRect.height*drawRect.height); NgGUIDraw.DrawBox(FXMakerLayout.GetOffsetRect(currRect, 0), ((nStartFrame+nSelFrameIndex == n && bSelEnable) ? Color.green : Color.red), 1, false); // Change selIndex if (bSelEnable && (ev.type == EventType.MouseDown && ev.button == 0) && currRect.Contains(ev.mousePosition)) { nClickFrameIndex = n - nStartFrame; Repaint(); return true; } } } return false; }
// Property ------------------------------------------------------------------------- // Event Function ------------------------------------------------------------------- void OnEnable() { m_Sel = target as NcSpriteFactory; m_UndoManager = new FXMakerUndoManager(m_Sel, "NcSpriteFactory"); }
bool UpdateFactoryInfo(int nSpriteFactoryIndex) { m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); else return false; } if (m_NcSpriteFactoryCom.IsValidFactory() == false) return false; m_NcSpriteFrameInfos = m_NcSpriteFactoryCom.GetSpriteNode(m_nSpriteFactoryIndex).m_FrameInfos; m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; return true; }
// Loop Function -------------------------------------------------------------------- void Awake() { // #if UNITY_EDITOR // if (IsCreatingEditObject() == false) // #endif { if (m_NcSpriteFactoryPrefab == null && gameObject.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryPrefab = gameObject; if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); } if (m_MeshFilter == null) { if (gameObject.GetComponent<MeshFilter>() != null) m_MeshFilter = gameObject.GetComponent<MeshFilter>(); } if (m_nLoopFrameCount == 0) m_nLoopFrameCount = m_nFrameCount - m_nLoopStartFrame; m_Renderer = renderer; }
bool UpdateFactoryInfo(int nSpriteFactoryIndex) { m_nSpriteFactoryIndex = nSpriteFactoryIndex; if (m_NcSpriteFactoryCom == null) { if (m_NcSpriteFactoryPrefab && m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>() != null) m_NcSpriteFactoryCom = m_NcSpriteFactoryPrefab.GetComponent<NcSpriteFactory>(); else return false; } NcSpriteFactory.NcSpriteNode spriteNode = m_NcSpriteFactoryCom.GetSpriteNode(m_nSpriteFactoryIndex); m_bBuildSpriteObj = false; m_bAutoDestruct = false; m_fUvScale = m_NcSpriteFactoryCom.m_fUvScale; m_nStartFrame = 0; if (spriteNode != null) { m_nFrameCount = spriteNode.m_nFrameCount; m_fFps = spriteNode.m_fFps; m_bLoop = spriteNode.m_bLoop; m_nLoopStartFrame = spriteNode.m_nLoopStartFrame; m_nLoopFrameCount = spriteNode.m_nLoopFrameCount; m_nLoopingCount = spriteNode.m_nLoopingCount; m_NcSpriteFrameInfos= spriteNode.m_FrameInfos; } ResetLocalValue(); return true; }