// This is used by other parts of code public static void RestoreBatchedSprite(GameObject go, tk2dBatchedSprite bs) { tk2dBaseSprite baseSprite = null; switch (bs.type) { case tk2dBatchedSprite.Type.EmptyGameObject: { break; } case tk2dBatchedSprite.Type.Sprite: { tk2dSprite s = tk2dBaseSprite.AddComponent <tk2dSprite>(go, bs.spriteCollection, bs.spriteId); baseSprite = s; break; } case tk2dBatchedSprite.Type.TiledSprite: { tk2dTiledSprite s = tk2dBaseSprite.AddComponent <tk2dTiledSprite>(go, bs.spriteCollection, bs.spriteId); baseSprite = s; s.dimensions = bs.Dimensions; s.anchor = bs.anchor; s.CreateBoxCollider = bs.CheckFlag(tk2dBatchedSprite.Flags.Sprite_CreateBoxCollider); RestoreBoxColliderSettings(s.gameObject, bs.BoxColliderOffsetZ, bs.BoxColliderExtentZ); break; } case tk2dBatchedSprite.Type.SlicedSprite: { tk2dSlicedSprite s = tk2dBaseSprite.AddComponent <tk2dSlicedSprite>(go, bs.spriteCollection, bs.spriteId); baseSprite = s; s.dimensions = bs.Dimensions; s.anchor = bs.anchor; s.BorderOnly = bs.CheckFlag(tk2dBatchedSprite.Flags.SlicedSprite_BorderOnly); s.SetBorder(bs.SlicedSpriteBorderBottomLeft.x, bs.SlicedSpriteBorderBottomLeft.y, bs.SlicedSpriteBorderTopRight.x, bs.SlicedSpriteBorderTopRight.y); s.CreateBoxCollider = bs.CheckFlag(tk2dBatchedSprite.Flags.Sprite_CreateBoxCollider); RestoreBoxColliderSettings(s.gameObject, bs.BoxColliderOffsetZ, bs.BoxColliderExtentZ); break; } case tk2dBatchedSprite.Type.ClippedSprite: { tk2dClippedSprite s = tk2dBaseSprite.AddComponent <tk2dClippedSprite>(go, bs.spriteCollection, bs.spriteId); baseSprite = s; s.clipBottomLeft = bs.ClippedSpriteRegionBottomLeft; s.clipTopRight = bs.ClippedSpriteRegionTopRight; s.CreateBoxCollider = bs.CheckFlag(tk2dBatchedSprite.Flags.Sprite_CreateBoxCollider); RestoreBoxColliderSettings(s.gameObject, bs.BoxColliderOffsetZ, bs.BoxColliderExtentZ); break; } } baseSprite.scale = bs.baseScale; baseSprite.color = bs.color; }
/// <summary> /// Data로 최초 초기화 (CustomTextMesh에서 [n] [/n] 태그로 버튼을 만들어 커스텀 텍스트 메쉬 하위에 붙일경우에 사용합니다.) /// </summary> /// <param name="Data"></param> public void InitByData(CommonButtonCreateData Data) { m_eInitType = Data.m_eType; m_CreateData = Data; switch (Data.m_eType) { case E_COMMON_BUTTON_DATA_TYPE.COLLIDER: { this.transform.SetLocalPosition(0, 0, 0); BoxCollider BoxCollider = m_collBox; BoxCollider.size = new Vector3(Data.m_fWidth, Data.m_fHeight, 0); BoxCollider.center = new Vector3(Data.m_fOffsetX, Data.m_fOffsetY, 0); } break; case E_COMMON_BUTTON_DATA_TYPE.SPRITE: { this.transform.SetLocalPosition(0, 0, 0.1f); BoxCollider BoxCollider = m_collBox; BoxCollider.size = new Vector3(Data.m_fWidth * 0.95f, Data.m_fHeight * 1.5f, 0); this.transform.SetLocalPositionXY(Data.m_fOffsetX, Data.m_fOffsetY); tk2dSlicedSprite spriteBackGround = (tk2dSlicedSprite)m_spriteButtonUp; float fWidth = Data.m_fWidth * Constants.UnityMeterInPixels_UI * 0.95f; spriteBackGround.dimensions = new Vector2(fWidth, Data.m_fHeight * Constants.UnityMeterInPixels_UI * 1.5f); if (fWidth < 20.0f) { spriteBackGround.SetBorder(0, 0, 0, 0); } else { float fBorder = 0.4f; spriteBackGround.SetBorder(fBorder, fBorder, fBorder, fBorder); } } break; case E_COMMON_BUTTON_DATA_TYPE.HITBOX: { this.transform.SetLocalPosition(0, 0, 0.1f); BoxCollider BoxCollider = m_collBox; BoxCollider.size = new Vector3(Data.m_fWidth * 0.95f, Data.m_fHeight * 1.5f, 0); this.transform.SetLocalPositionXY(Data.m_fOffsetX, Data.m_fOffsetY); tk2dSlicedSprite spriteBackGround = (tk2dSlicedSprite)m_spriteButtonUp; float fWidth = Data.m_fWidth * Constants.UnityMeterInPixels_UI * 0.95f; spriteBackGround.dimensions = new Vector2(fWidth, Data.m_fHeight * Constants.UnityMeterInPixels_UI * 1.5f); if (fWidth < 20.0f) { spriteBackGround.SetBorder(0, 0, 0, 0); } else { float fBorder = 0.4f; spriteBackGround.SetBorder(fBorder, fBorder, fBorder, fBorder); } spriteBackGround.color = new Color(1, 1, 1, 0.5f); spriteBackGround.anchor = tk2dBaseSprite.Anchor.LowerCenter; this.transform.localScale = new Vector3(0.01f, 0.01f, 1); } break; } /* * tk2dUITweenItem tween = GetComponent<tk2dUITweenItem>(); * if (tween != null) * { * tween.SetupStartingSize(); * } */ }