protected void Show_Internal(string message) { SetTransparency(0); textMesh.text = message; Timer = FadeTimer; state = WindowState.FadeIn; textMesh.GetComponent <Renderer>().enabled = true; window.GetComponent <Renderer>().enabled = true; }
IEnumerator _Coro_Pileup() { IsRoleToHead = false; //Ani_PileTopCoin.Play(Ani_PileTopCoin.clipId); Ani_PileTopCoin.Play(); Ani_PileTopCoin.GetComponent <Renderer>().enabled = true; Text_CoinNum.GetComponent <Renderer>().enabled = false; SliSpr_CoinNumBG.GetComponent <Renderer>().enabled = false; int currentNum = 0; while (true) { //上升 TsPileCoin.localScale = new Vector3(1F, 0.0333333333333333F * currentNum, 1F);//贴图有30个币. 所以单币缩放高度是: 1/30 = 0.03333 Ani_PileTopCoin.transform.localPosition = new Vector3(0F, OneCoinHeight * currentNum + OneCoinHeight * 0.02F, 0F); //Ani_PileTopCoin.Play(Ani_PileTopCoin.clipId); if (currentNum >= mNumToTop) { Ani_PileTopCoin.GetComponent <Renderer>().enabled = false; Text_CoinNum.transform.localPosition = new Vector3(0F, OneCoinHeight * currentNum + OneCoinHeight * 0.25F, -0.05F); Text_CoinNum.GetComponent <Renderer>().enabled = true; Text_CoinNum.text = mCoinNum.ToString(); Text_CoinNum.Commit(); SliSpr_CoinNumBG.GetComponent <Renderer>().enabled = true; yield return(new WaitForSeconds(PileUpViewTime)); IsRoleToHead = true; if (EvtRoleToHead != null) { EvtRoleToHead(this); } //Destroy(gameObject); yield break; } ++currentNum; yield return(new WaitForSeconds(PileUpOneCoinElapse)); } }
static void DoCreateSlicedSpriteObject() { tk2dSpriteCollectionData sprColl = null; if (sprColl == null) { // try to inherit from other Sprites in scene tk2dSprite spr = GameObject.FindObjectOfType(typeof(tk2dSprite)) as tk2dSprite; if (spr) { sprColl = spr.Collection; } } if (sprColl == null) { tk2dSpriteCollectionIndex[] spriteCollections = tk2dEditorUtility.GetOrCreateIndex().GetSpriteCollectionIndex(); foreach (var v in spriteCollections) { GameObject scgo = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(v.spriteCollectionDataGUID), typeof(GameObject)) as GameObject; var sc = scgo.GetComponent <tk2dSpriteCollectionData>(); if (sc != null && sc.spriteDefinitions != null && sc.spriteDefinitions.Length > 0) { sprColl = sc; break; } } if (sprColl == null) { EditorUtility.DisplayDialog("Create Sliced Sprite", "Unable to create sliced sprite as no SpriteCollections have been found.", "Ok"); return; } } GameObject go = tk2dEditorUtility.CreateGameObjectInScene("Sliced Sprite"); tk2dSlicedSprite sprite = go.AddComponent <tk2dSlicedSprite>(); sprite.legacyMode = false; sprite.Collection = sprColl; sprite.GetComponent <Renderer>().material = sprColl.FirstValidDefinition.material; sprite.Build(); Selection.activeGameObject = go; Undo.RegisterCreatedObjectUndo(go, "Create Sliced Sprite"); }
public override void OnInspectorGUI() { tk2dSlicedSprite sprite = (tk2dSlicedSprite)target; base.OnInspectorGUI(); if (sprite.Collection == null) { return; } var spriteData = sprite.GetCurrentSpriteDef(); if (spriteData == null) { return; } EditorGUILayout.BeginVertical(); WarnSpriteRenderType(spriteData); // need raw extents (excluding scale) Vector3 extents = spriteData.boundsData[1]; // this is the size of one texel Vector3 spritePixelMultiplier = new Vector3(0, 0); bool newCreateBoxCollider = EditorGUILayout.Toggle("Create Box Collider", sprite.CreateBoxCollider); if (newCreateBoxCollider != sprite.CreateBoxCollider) { Undo.RegisterUndo(targetSlicedSprites, "Create Box Collider"); if (newCreateBoxCollider) { sprite.boxCollider = sprite.GetComponent <BoxCollider>(); if (sprite.boxCollider == null) { sprite.boxCollider = sprite.gameObject.AddComponent <BoxCollider>(); } } else { var boxCollider = sprite.GetComponent <BoxCollider>(); if (boxCollider != null) { DestroyImmediate(boxCollider); } sprite.boxCollider = null; } sprite.CreateBoxCollider = newCreateBoxCollider; } // if either of these are zero, the division to rescale to pixels will result in a // div0, so display the data in fractions to avoid this situation bool editBorderInFractions = true; if (spriteData.texelSize.x != 0.0f && spriteData.texelSize.y != 0.0f && extents.x != 0.0f && extents.y != 0.0f) { spritePixelMultiplier = new Vector3(extents.x / spriteData.texelSize.x, extents.y / spriteData.texelSize.y, 1); editBorderInFractions = false; } if (!editBorderInFractions) { Vector2 newDimensions = EditorGUILayout.Vector2Field("Dimensions (Pixel Units)", sprite.dimensions); if (newDimensions != sprite.dimensions) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite Dimensions"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.dimensions = newDimensions; } } tk2dSlicedSprite.Anchor newAnchor = (tk2dSlicedSprite.Anchor)EditorGUILayout.EnumPopup("Anchor", sprite.anchor); if (newAnchor != sprite.anchor) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite Anchor"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.anchor = newAnchor; } } EditorGUILayout.PrefixLabel("Border"); EditorGUI.indentLevel++; float newBorderLeft = EditorGUILayout.FloatField("Left", sprite.borderLeft * spritePixelMultiplier.x) / spritePixelMultiplier.x; if (newBorderLeft != sprite.borderLeft) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderLeft"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderLeft = newBorderLeft; } } float newBorderRight = EditorGUILayout.FloatField("Right", sprite.borderRight * spritePixelMultiplier.x) / spritePixelMultiplier.x; if (newBorderRight != sprite.borderRight) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderRight"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderRight = newBorderRight; } } float newBorderTop = EditorGUILayout.FloatField("Top", sprite.borderTop * spritePixelMultiplier.y) / spritePixelMultiplier.y; if (newBorderTop != sprite.borderTop) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderTop"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderTop = newBorderTop; } } float newBorderBottom = EditorGUILayout.FloatField("Bottom", sprite.borderBottom * spritePixelMultiplier.y) / spritePixelMultiplier.y; if (newBorderBottom != sprite.borderBottom) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderBottom"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderBottom = newBorderBottom; } } bool newBorderOnly = EditorGUILayout.Toggle("Draw Border Only", sprite.BorderOnly); if (newBorderOnly != sprite.BorderOnly) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite Border Only"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.BorderOnly = newBorderOnly; } } EditorGUI.indentLevel--; } else { GUILayout.Label("Border (Displayed as Fraction).\nSprite Collection needs to be rebuilt.", "textarea"); EditorGUI.indentLevel++; float newBorderLeft = EditorGUILayout.FloatField("Left", sprite.borderLeft); if (newBorderLeft != sprite.borderLeft) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderLeft"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderLeft = newBorderLeft; } } float newBorderRight = EditorGUILayout.FloatField("Right", sprite.borderRight); if (newBorderRight != sprite.borderRight) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderRight"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderRight = newBorderRight; } } float newBorderTop = EditorGUILayout.FloatField("Top", sprite.borderTop); if (newBorderTop != sprite.borderTop) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderTop"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderTop = newBorderTop; } } float newBorderBottom = EditorGUILayout.FloatField("Bottom", sprite.borderBottom); if (newBorderBottom != sprite.borderBottom) { Undo.RegisterUndo(targetSlicedSprites, "Sliced Sprite BorderBottom"); foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.borderBottom = newBorderBottom; } } EditorGUI.indentLevel--; } // One of the border valus has changed, so simply rebuild mesh data here if (GUI.changed) { foreach (tk2dSlicedSprite spr in targetSlicedSprites) { spr.Build(); EditorUtility.SetDirty(spr); } } EditorGUILayout.EndVertical(); }