void Start() { window = GetComponent <tk2dSlicedSprite>(); Current = this; state = WindowState.Hidden; Hide_Internal(); }
// Use this for initialization void OnEnable() { manager = FindObjectOfType(typeof(GameManager)) as GameManager; life = maxLife; player = GetComponent <tk2dAnimatedSprite>(); player.animationEventDelegate = PlayerAnim; if (isPlayer) { lifeBar = GameObject.Find("PlayerLifeFill").GetComponent <tk2dSlicedSprite>(); actorName = GameObject.Find("PlayerName").GetComponent <tk2dTextMesh>(); actorName.text = characterName; actorName.Commit(); } else if (isBoss) { playerPos = GameObject.FindWithTag("Player").transform; carefulVelocity = velocity * 0.3f; GameObject.Find("BossLifeBar").renderer.enabled = true; GameObject.Find("BossLifeFill").renderer.enabled = true; GameObject.Find("BossPortrait").renderer.enabled = true; GameObject.Find("BossName").renderer.enabled = true; } else { playerPos = GameObject.FindWithTag("Player").transform; carefulVelocity = velocity * 0.3f; } player.color = new Color(player.color.r, player.color.g, player.color.b, 1f); states = PlayerStates.idle; player.Play("Idle"); StartCoroutine("CharacterBehaviour"); }
// Use this for initialization void Start() { player = GameObject.FindGameObjectWithTag("Player").GetComponent<Player>(); jumpButtonSprite = this.transform.FindChild("Jump Button").GetComponent<tk2dSlicedSprite>(); jumpText = this.transform.FindChild("Jump Text").GetComponent<tk2dTextMesh>(); }
// 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; }
private void Awake() { _portraitView = transform.Find("Portrait View").GetComponent <DialoguePortraitView>(); _panelSprite = transform.Find("Text Panel").GetComponent <tk2dSlicedSprite>(); _bodyText = transform.Find("Text Panel/Text").GetComponent <tk2dTextMesh>(); _speakerText = transform.Find("Text Panel/Speaker").GetComponent <tk2dTextMesh>(); _sideMask = transform.Find("Side Mask").gameObject; _bottomMask = transform.Find("Bottom Mask").gameObject; }
public static void FillBatchedSprite(tk2dBatchedSprite bs, GameObject go) { tk2dSprite srcSprite = go.transform.GetComponent <tk2dSprite>(); tk2dTiledSprite srcTiledSprite = go.transform.GetComponent <tk2dTiledSprite>(); tk2dSlicedSprite srcSlicedSprite = go.transform.GetComponent <tk2dSlicedSprite>(); tk2dClippedSprite srcClippedSprite = go.transform.GetComponent <tk2dClippedSprite>(); tk2dBaseSprite baseSprite = go.GetComponent <tk2dBaseSprite>(); bs.spriteId = baseSprite.spriteId; bs.spriteCollection = baseSprite.Collection; bs.baseScale = baseSprite.scale; bs.color = baseSprite.color; bs.renderLayer = baseSprite.SortingOrder; #if !STRIP_PHYSICS_3D if (baseSprite.boxCollider != null) { bs.BoxColliderOffsetZ = baseSprite.boxCollider.center.z; bs.BoxColliderExtentZ = baseSprite.boxCollider.size.z * 0.5f; } else #endif { bs.BoxColliderOffsetZ = 0.0f; bs.BoxColliderExtentZ = 1.0f; } if (srcSprite) { bs.type = tk2dBatchedSprite.Type.Sprite; } else if (srcTiledSprite) { bs.type = tk2dBatchedSprite.Type.TiledSprite; bs.Dimensions = srcTiledSprite.dimensions; bs.anchor = srcTiledSprite.anchor; bs.SetFlag(tk2dBatchedSprite.Flags.Sprite_CreateBoxCollider, srcTiledSprite.CreateBoxCollider); } else if (srcSlicedSprite) { bs.type = tk2dBatchedSprite.Type.SlicedSprite; bs.Dimensions = srcSlicedSprite.dimensions; bs.anchor = srcSlicedSprite.anchor; bs.SetFlag(tk2dBatchedSprite.Flags.Sprite_CreateBoxCollider, srcSlicedSprite.CreateBoxCollider); bs.SetFlag(tk2dBatchedSprite.Flags.SlicedSprite_BorderOnly, srcSlicedSprite.BorderOnly); bs.SlicedSpriteBorderBottomLeft = new Vector2(srcSlicedSprite.borderLeft, srcSlicedSprite.borderBottom); bs.SlicedSpriteBorderTopRight = new Vector2(srcSlicedSprite.borderRight, srcSlicedSprite.borderTop); } else if (srcClippedSprite) { bs.type = tk2dBatchedSprite.Type.ClippedSprite; bs.ClippedSpriteRegionBottomLeft = srcClippedSprite.clipBottomLeft; bs.ClippedSpriteRegionTopRight = srcClippedSprite.clipTopRight; bs.SetFlag(tk2dBatchedSprite.Flags.Sprite_CreateBoxCollider, srcClippedSprite.CreateBoxCollider); } }
static public void RecalculateSizeSlicedSprite(tk2dSlicedSprite sprite, SizeFactor factorType, RoundFloatEnum roundPreference) { if (sprite == null) { return; } sprite.dimensions = RecalculateByFactor(sprite.dimensions, factorType); sprite.dimensions = RoundVector2(sprite.dimensions, roundPreference); }
void Awake() { speech = transform.FindChild("SpeechBubble").gameObject; speechBubble = speech.GetComponentInChildren <tk2dSlicedSprite>(); textMesh = speech.GetComponentInChildren <tk2dTextMesh>(); speech.SetActive(false); UpdateTexts(text); }
void Awake() { speech = transform.FindChild("SpeechBubble").gameObject; speechBubble = speech.GetComponentInChildren<tk2dSlicedSprite>(); textMesh = speech.GetComponentInChildren<tk2dTextMesh>(); speech.SetActive(false); UpdateTexts(text); }
IEnumerator CharacterBehaviour() { while (states != PlayerStates.dead) { dpad = VCDPadBase.GetInstance("dpad"); if (isBoss && !lifeBar) { lifeBar = GameObject.Find("BossLifeFill").GetComponent <tk2dSlicedSprite>(); actorName = GameObject.Find("BossName").GetComponent <tk2dTextMesh>(); actorName.text = characterName; actorName.Commit(); } LifeBarStatus(); if (isPlayer) { switch (states) { case PlayerStates.idle: Idle(dpad); break; case PlayerStates.walk: Walk(dpad); break; case PlayerStates.jump: Jumping(false); break; case PlayerStates.grab: if (grabbedZone.childCount == 0) { player.Play("Idle"); states = PlayerStates.idle; } break; case PlayerStates.jumpattack: Jumping(true); break; case PlayerStates.ko: KO(koOthers); break; } } else { switch (states) { case PlayerStates.idle: Idle(playerPos); break; case PlayerStates.walk: Walk(playerPos); break; case PlayerStates.jump: Jumping(false); break; case PlayerStates.jumpattack: Jumping(true); break; case PlayerStates.ko: KO(koOthers); break; } } yield return(null); } StartCoroutine("Dead"); }
static void DoCreateSlicedSpriteObject() { tk2dSpriteGuiUtility.GetSpriteCollectionAndCreate((sprColl) => { GameObject go = tk2dEditorUtility.CreateGameObjectInScene("Sliced Sprite"); tk2dSlicedSprite sprite = go.AddComponent <tk2dSlicedSprite>(); sprite.SetSprite(sprColl, sprColl.FirstValidDefinitionIndex); sprite.Build(); Selection.activeGameObject = go; Undo.RegisterCreatedObjectUndo(go, "Create Sliced Sprite"); }); }
//Called when we're changed. private void AdaptSize() { //Snap us to the pixel grid transform.SnapToPixelGrid(); tk2dSlicedSprite sprite = GetComponent <tk2dSlicedSprite>(); // In case we're resized, this makes sure that our edges lie on pixel bounds. // (This is a 2DToolkit sliced sprite, so it's measured in pixel units) sprite.dimensions = new Vector2(Mathf.Round(sprite.dimensions.x), Mathf.Round(sprite.dimensions.y)); // Make sure that all of our ports remain on the edges of the 'canvas' }
private void RefreshHpBar() { if (this.hpBarSprite == null) { Transform hpBarTran = this.transform.FindChild("HpBar"); this.hpBarSprite = hpBarTran.gameObject.GetComponent <tk2dSlicedSprite>(); } else { this.hpBarSprite.dimensions = new Vector2(this.Building.CurrentHp / this.Building.TotalHp * this.hpbarLength, this.hpBarSprite.dimensions.y); } }
static void Menu_SlicedSprite_ScaleTo384() { foreach (GameObject go in Selection.gameObjects) { tk2dSlicedSprite ps = go.GetComponent <tk2dSlicedSprite>(); if (ps != null) { Vector2 dims = ps.dimensions; dims *= 0.85735F; ps.dimensions = dims; } EditorUtility.SetDirty(go); } }
void Handle_LanguageChanged(Language l) { if ((int)l < 0 || (int)l >= Dims.Length) { return; } tk2dSlicedSprite ss = GetComponent <tk2dSlicedSprite>(); if (ss != null) { ss.dimensions = Dims[(int)l]; } }
void Handle_LanguageChanged(global::Assets.Scripts.Game.FishGame.Common.core.Language l) { if ((int)l < 0 || (int)l >= Dims.Length) { return; } tk2dSlicedSprite ss = GetComponent <tk2dSlicedSprite>(); if (ss != null) { ss.dimensions = Dims[(int)l]; } }
private void Start() { this.ts = base.GetComponent<tk2dSlicedSprite>(); if (this.ts != null) { this.ts.dimensions = new Vector2(this.ts.dimensions.x, 322f); } this.gp = base.GetComponent<GridPlaceItems>(); List<GameObject> items = new List<GameObject>(); for (int i = 0; i <= 0x11; i++) { GameObject item = GameObjectUtil.InstantiateItemAsChildOf(this.shipFilterBtnPrefab, base.gameObject); item.GetComponent<ShipFilterBtn>().SetFilterType((ShipType) i); items.Add(item); } this.gp.SetItemsPosition(items); }
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.renderer.material = sprColl.FirstValidDefinition.material; sprite.Build(); Selection.activeGameObject = go; Undo.RegisterCreatedObjectUndo(go, "Create Sliced Sprite"); }
// Use this for initialization void OnEnable() { if (Dims == null || Dims.Length == 0) { YxDebug.LogError("DimsÓïÑÔ×é¼þ³ÉԱδ¸³Öµ´íÎó."); Destroy(this); return; } //GameMain.EvtLanguageChange += Handle_LanguageChanged; //transform.localScale = Dims[(int)GameMain.Singleton.BSSetting.LaguageUsing.Val]; int lIdx = (int)GameMain.Singleton.BSSetting.LaguageUsing.Val; if (lIdx >= 0 && lIdx < Dims.Length) { tk2dSlicedSprite ss = GetComponent <tk2dSlicedSprite>(); if (ss != null) { ss.dimensions = Dims[lIdx]; } } }
IEnumerator EnemyLife() { GameObject[] e = GameObject.FindGameObjectsWithTag("Enemy"); for (int i = 0; i < e.Length; i++) { if (e[i].GetComponent <Character>().lifeBar) { e[i].GetComponent <Character>().lifeBar = null; e[i].GetComponent <Character>().actorName = null; break; } } GameObject.Find("EnemyLifeBar").renderer.enabled = true; GameObject.Find("EnemyLifeFill").renderer.enabled = true; GameObject.Find("EnemyPortrait").renderer.enabled = true; GameObject.Find("EnemyName").renderer.enabled = true; lifeBar = GameObject.Find("EnemyLifeFill").GetComponent <tk2dSlicedSprite>(); actorName = GameObject.Find("EnemyName").GetComponent <tk2dTextMesh>(); actorName.text = characterName; actorName.Commit(); float t = 0f; while (t < 3f && lifeBar) { t += Time.deltaTime; yield return(null); } if (lifeBar) { GameObject.Find("EnemyLifeBar").renderer.enabled = false; GameObject.Find("EnemyLifeFill").renderer.enabled = false; GameObject.Find("EnemyPortrait").renderer.enabled = false; GameObject.Find("EnemyName").renderer.enabled = false; actorName.text = ""; actorName.Commit(); } yield return(null); }
public override void OnInspectorGUI() { tk2dSlicedSprite sprite = (tk2dSlicedSprite)target; base.OnInspectorGUI(); EditorGUILayout.BeginVertical(); var spriteData = sprite.GetCurrentSpriteDef(); // need raw extents (excluding scale) Vector3 extents = spriteData.boundsData[1]; // this is the size of one texel Vector3 spritePixelMultiplier = new Vector3(0, 0); // 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) { if (sprite.transform.localScale == Vector3.one) { Vector2 scalePixelUnits = new Vector2(spritePixelMultiplier.x * sprite.scale.x, spritePixelMultiplier.y * sprite.scale.y); Vector2 scalePixelUnitsChanged = EditorGUILayout.Vector2Field("Scale (Pixel Units)", scalePixelUnits); if (scalePixelUnits != scalePixelUnitsChanged) { sprite.scale = new Vector3(scalePixelUnitsChanged.x / spritePixelMultiplier.x, scalePixelUnitsChanged.y / spritePixelMultiplier.y, sprite.scale.z); } } EditorGUILayout.PrefixLabel("Border"); sprite.borderLeft = EditorGUILayout.FloatField("Left", sprite.borderLeft * spritePixelMultiplier.x) / spritePixelMultiplier.x; sprite.borderRight = EditorGUILayout.FloatField("Right", sprite.borderRight * spritePixelMultiplier.x) / spritePixelMultiplier.x; sprite.borderTop = EditorGUILayout.FloatField("Top", sprite.borderTop * spritePixelMultiplier.y) / spritePixelMultiplier.y; sprite.borderBottom = EditorGUILayout.FloatField("Bottom", sprite.borderBottom * spritePixelMultiplier.y) / spritePixelMultiplier.y; } else { GUILayout.Label("Border (Displayed as Fraction).\nSprite Collection needs to be rebuilt.", "textarea"); sprite.borderLeft = EditorGUILayout.FloatField("Left", sprite.borderLeft); sprite.borderRight = EditorGUILayout.FloatField("Right", sprite.borderRight); sprite.borderTop = EditorGUILayout.FloatField("Top", sprite.borderTop); sprite.borderBottom = EditorGUILayout.FloatField("Bottom", sprite.borderBottom); } // One of the border valus has changed, so simply rebuild mesh data here if (GUI.changed) { sprite.Build(); } if (GUI.changed || GUILayout.Button("Commit")) { Vector3 scl = sprite.transform.localScale; Vector3 newScale = new Vector3(sprite.scale.x * scl.x, sprite.scale.y * scl.y, sprite.scale.z); sprite.scale = newScale; sprite.transform.localScale = Vector3.one; } EditorGUILayout.EndVertical(); }
/// <summary>Tweens a SlicedSprite's dimensions to the given value. /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations</summary> /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param> public static TweenerCore <Vector2, Vector2, VectorOptions> DOScaleDimensionsY(this tk2dSlicedSprite target, float endValue, float duration) { TweenerCore <Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.dimensions, x => target.dimensions = x, new Vector2(0, endValue), duration); t.SetOptions(AxisConstraint.Y) .SetTarget(target); return(t); }
void Awake() { sprite = GetComponent <tk2dSlicedSprite>(); }
// Unity functions void Start() { transform.localPosition = new Vector3(transform.localPosition.x, transform.localPosition.y, 3f); sliceSprite = GetComponent <tk2dSlicedSprite>(); GenerateGUI(); }
/// <summary>Tweens a 2D Toolkit SlicedSprite's dimensions to the given value. /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations</summary> /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param> public static TweenerCore <Vector2, Vector2, VectorOptions> DOScaleDimensions(this tk2dSlicedSprite target, Vector2 endValue, float duration) { TweenerCore <Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.dimensions, x => target.dimensions = x, endValue, duration); t.SetTarget(target); return(t); }
IEnumerator EnemyLife() { GameObject[] e = GameObject.FindGameObjectsWithTag("Enemy"); for(int i=0;i<e.Length;i++){ if(e[i].GetComponent<Character>().lifeBar){ e[i].GetComponent<Character>().lifeBar=null; e[i].GetComponent<Character>().actorName = null; break; } } GameObject.Find("EnemyLifeBar").renderer.enabled = true; GameObject.Find("EnemyLifeFill").renderer.enabled = true; GameObject.Find("EnemyPortrait").renderer.enabled = true; GameObject.Find("EnemyName").renderer.enabled = true; lifeBar = GameObject.Find("EnemyLifeFill").GetComponent<tk2dSlicedSprite>(); actorName = GameObject.Find("EnemyName").GetComponent<tk2dTextMesh>(); actorName.text = characterName; actorName.Commit(); float t=0f; while(t< 3f && lifeBar){ t+=Time.deltaTime; yield return null; } if(lifeBar){ GameObject.Find("EnemyLifeBar").renderer.enabled = false; GameObject.Find("EnemyLifeFill").renderer.enabled = false; GameObject.Find("EnemyPortrait").renderer.enabled = false; GameObject.Find("EnemyName").renderer.enabled = false; actorName.text = ""; actorName.Commit(); } yield return null; }
// Use this for initialization void OnEnable() { manager=FindObjectOfType(typeof(GameManager)) as GameManager; life = maxLife; player = GetComponent<tk2dAnimatedSprite>(); player.animationEventDelegate = PlayerAnim; if(isPlayer){ lifeBar = GameObject.Find("PlayerLifeFill").GetComponent<tk2dSlicedSprite>(); actorName = GameObject.Find("PlayerName").GetComponent<tk2dTextMesh>(); actorName.text = characterName; actorName.Commit(); } else if(isBoss){ playerPos = GameObject.FindWithTag("Player").transform; carefulVelocity = velocity*0.3f; GameObject.Find("BossLifeBar").renderer.enabled = true; GameObject.Find("BossLifeFill").renderer.enabled = true; GameObject.Find("BossPortrait").renderer.enabled = true; GameObject.Find("BossName").renderer.enabled=true; } else{ playerPos = GameObject.FindWithTag("Player").transform; carefulVelocity = velocity*0.3f; } player.color = new Color(player.color.r,player.color.g,player.color.b,1f); states = PlayerStates.idle; player.Play("Idle"); StartCoroutine("CharacterBehaviour"); }
public new void OnSceneGUI() { if (tk2dPreferences.inst.enableSpriteHandles == false) { return; } tk2dSlicedSprite spr = (tk2dSlicedSprite)target; var sprite = spr.CurrentSprite; if (sprite == null) { return; } Transform t = spr.transform; Vector2 meshSize = new Vector2(spr.dimensions.x * sprite.texelSize.x * spr.scale.x, spr.dimensions.y * sprite.texelSize.y * spr.scale.y); Vector2 localRectOrig = tk2dSceneHelper.GetAnchorOffset(meshSize, spr.anchor); Rect localRect = new Rect(localRectOrig.x, localRectOrig.y, meshSize.x, meshSize.y); // Draw rect outline Handles.color = new Color(1, 1, 1, 0.5f); tk2dSceneHelper.DrawRect(localRect, t); Handles.BeginGUI(); // Resize handles if (tk2dSceneHelper.RectControlsToggle()) { EditorGUI.BeginChangeCheck(); Rect resizeRect = tk2dSceneHelper.RectControl(123192, localRect, t); if (EditorGUI.EndChangeCheck()) { Vector2 newDim = new Vector2(resizeRect.width / (sprite.texelSize.x * spr.scale.x), resizeRect.height / (sprite.texelSize.y * spr.scale.y)); newDim.x = Mathf.Abs(newDim.x); newDim.y = Mathf.Abs(newDim.y); Undo.RegisterUndo(new Object[] { t, spr }, "Resize"); if (newDim != spr.dimensions) { spr.dimensions = newDim; Vector2 newAnchorOffset = tk2dSceneHelper.GetAnchorOffset(new Vector2(resizeRect.width, resizeRect.height), spr.anchor); Vector3 toNewAnchorPos = new Vector3(resizeRect.xMin - newAnchorOffset.x, resizeRect.yMin - newAnchorOffset.y, 0); Vector3 newPosition = t.TransformPoint(toNewAnchorPos); if (newPosition != t.position) { t.position = newPosition; } EditorUtility.SetDirty(spr); } } } // Rotate handles if (!tk2dSceneHelper.RectControlsToggle()) { EditorGUI.BeginChangeCheck(); List <int> hidePts = tk2dSceneHelper.getAnchorHidePtList(spr.anchor, localRect, t); float theta = tk2dSceneHelper.RectRotateControl(456384, localRect, t, hidePts); if (EditorGUI.EndChangeCheck()) { Undo.RegisterUndo(t, "Rotate"); if (Mathf.Abs(theta) > Mathf.Epsilon) { t.Rotate(t.forward, theta); } } } Handles.EndGUI(); // Sprite selecting tk2dSceneHelper.HandleSelectSprites(); // Move targeted sprites tk2dSceneHelper.HandleMoveSprites(t, localRect); }
IEnumerator Dead() { if(lifeBar){ GameObject.Find("EnemyLifeBar").renderer.enabled = false; GameObject.Find("EnemyLifeFill").renderer.enabled = false; GameObject.Find("EnemyPortrait").renderer.enabled = false; GameObject.Find("EnemyName").renderer.enabled = false; if(!isPlayer && !isBoss){ actorName.text = ""; actorName.Commit(); } } if(isBoss) Time.timeScale=1f; lifeBar=null; while(player.color.a > 0f){ player.color = new Color(player.color.r,player.color.g,player.color.b,player.color.a-Time.deltaTime); yield return null; } transform.position = new Vector3(-1000,-1000,-1000); if(isPlayer) PoolManager.Pools["Players"].Despawn(this.transform); else{ manager.AddScore(deadScore); if(isBoss) manager.StageCleared(); PoolManager.Pools["Enemies"].Despawn(this.transform); } yield return null; }
public new void OnSceneGUI() { if (tk2dPreferences.inst.enableSpriteHandles == false || !tk2dEditorUtility.IsEditable(target)) { return; } tk2dSlicedSprite spr = (tk2dSlicedSprite)target; var sprite = spr.CurrentSprite; if (sprite == null) { return; } Transform t = spr.transform; Vector2 meshSize = new Vector2(spr.dimensions.x * sprite.texelSize.x * spr.scale.x, spr.dimensions.y * sprite.texelSize.y * spr.scale.y); Vector2 localRectOrig = tk2dSceneHelper.GetAnchorOffset(meshSize, spr.anchor); Rect localRect = new Rect(localRectOrig.x, localRectOrig.y, meshSize.x, meshSize.y); // Draw rect outline Handles.color = new Color(1, 1, 1, 0.5f); tk2dSceneHelper.DrawRect(localRect, t); Handles.BeginGUI(); // Resize handles if (tk2dSceneHelper.RectControlsToggle()) { EditorGUI.BeginChangeCheck(); Rect resizeRect = tk2dSceneHelper.RectControl(123192, localRect, t); if (EditorGUI.EndChangeCheck()) { tk2dUndo.RecordObjects(new Object[] { t, spr }, "Resize"); spr.ReshapeBounds(new Vector3(resizeRect.xMin, resizeRect.yMin) - new Vector3(localRect.xMin, localRect.yMin), new Vector3(resizeRect.xMax, resizeRect.yMax) - new Vector3(localRect.xMax, localRect.yMax)); tk2dUtil.SetDirty(spr); } } // Rotate handles if (!tk2dSceneHelper.RectControlsToggle()) { EditorGUI.BeginChangeCheck(); List <int> hidePts = tk2dSceneHelper.getAnchorHidePtList(spr.anchor, localRect, t); float theta = tk2dSceneHelper.RectRotateControl(456384, localRect, t, hidePts); if (EditorGUI.EndChangeCheck()) { if (Mathf.Abs(theta) > Mathf.Epsilon) { tk2dUndo.RecordObject(t, "Rotate"); t.Rotate(t.forward, theta, Space.World); } } } Handles.EndGUI(); // Sprite selecting tk2dSceneHelper.HandleSelectSprites(); // Move targeted sprites tk2dSceneHelper.HandleMoveSprites(t, localRect); if (GUI.changed) { tk2dUtil.SetDirty(target); } }
/// <summary>Tweens a SlicedSprite's dimensions to the given value. /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations</summary> /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param> public static Tweener DOScaleDimensionsX(this tk2dSlicedSprite target, float endValue, float duration) { return(DOTween.To(() => target.dimensions, x => target.dimensions = x, new Vector2(endValue, 0), duration) .SetOptions(AxisConstraint.X) .SetTarget(target)); }
IEnumerator CharacterBehaviour() { while(states != PlayerStates.dead){ dpad = VCDPadBase.GetInstance("dpad"); if(isBoss && !lifeBar){ lifeBar = GameObject.Find("BossLifeFill").GetComponent<tk2dSlicedSprite>(); actorName = GameObject.Find("BossName").GetComponent<tk2dTextMesh>(); actorName.text = characterName; actorName.Commit(); } LifeBarStatus(); if(isPlayer){ switch(states){ case PlayerStates.idle:Idle(dpad);break; case PlayerStates.walk: Walk(dpad);break; case PlayerStates.jump:Jumping(false);break; case PlayerStates.grab: if(grabbedZone.childCount == 0) { player.Play("Idle"); states = PlayerStates.idle; } break; case PlayerStates.jumpattack:Jumping(true);break; case PlayerStates.ko: KO(koOthers); break; } } else{ switch(states){ case PlayerStates.idle:Idle(playerPos);break; case PlayerStates.walk: Walk(playerPos);break; case PlayerStates.jump:Jumping(false);break; case PlayerStates.jumpattack:Jumping(true);break; case PlayerStates.ko:KO(koOthers);break; } } yield return null; } StartCoroutine("Dead"); }
public override void OnInspectorGUI() { tk2dGuiUtility.LookLikeInspector(); bool markAsDirty = false; tk2dUIProgressBar progressBar = (tk2dUIProgressBar)target; if (progressBar.clippedSpriteBar != null) //can only be one { progressBar.scalableBar = null; progressBar.slicedSpriteBar = null; } if (progressBar.slicedSpriteBar != null) { progressBar.clippedSpriteBar = null; progressBar.scalableBar = null; } tk2dClippedSprite tempClippedSpriteBar = tk2dUICustomEditorGUILayout.SceneObjectField("Clipped Sprite Bar", progressBar.clippedSpriteBar, target); if (tempClippedSpriteBar != progressBar.clippedSpriteBar) { markAsDirty = true; progressBar.clippedSpriteBar = tempClippedSpriteBar; progressBar.scalableBar = null; //can only be one progressBar.slicedSpriteBar = null; } tk2dSlicedSprite tempSlicedSpriteBar = tk2dUICustomEditorGUILayout.SceneObjectField("Sliced Sprite Bar", progressBar.slicedSpriteBar, target); if (tempSlicedSpriteBar != progressBar.slicedSpriteBar) { markAsDirty = true; progressBar.slicedSpriteBar = tempSlicedSpriteBar; progressBar.scalableBar = null; //can only be one progressBar.clippedSpriteBar = null; } Transform tempScalableBar = tk2dUICustomEditorGUILayout.SceneObjectField("Scalable Bar", progressBar.scalableBar, target); if (tempScalableBar != progressBar.scalableBar) { markAsDirty = true; progressBar.scalableBar = tempScalableBar; progressBar.clippedSpriteBar = null; //can only be one progressBar.slicedSpriteBar = null; } float tempPercent = EditorGUILayout.FloatField("Value", progressBar.Value); if (tempPercent != progressBar.Value) { markAsDirty = true; progressBar.Value = tempPercent; } tk2dUIMethodBindingHelper methodBindingUtil = new tk2dUIMethodBindingHelper(); progressBar.sendMessageTarget = methodBindingUtil.BeginMessageGUI(progressBar.sendMessageTarget); methodBindingUtil.MethodBinding("On Progress Complete", typeof(tk2dUIProgressBar), progressBar.sendMessageTarget, ref progressBar.SendMessageOnProgressCompleteMethodName); methodBindingUtil.EndMessageGUI(); if (markAsDirty || GUI.changed) { tk2dUtil.SetDirty(progressBar); } }
// Use this for initialization void Start() { s = GetComponent <tk2dSlicedSprite>(); }
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(); // 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"); 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(); }
/// <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(); * } */ }
/// <summary>Tweens a 2D Toolkit SlicedSprite's dimensions to the given value. /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations</summary> /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param> public static Tweener DOScaleDimensions(this tk2dSlicedSprite target, Vector2 endValue, float duration) { return(DOTween.To(() => target.dimensions, x => target.dimensions = x, endValue, duration) .SetTarget(target)); }
public void RecieveDamage(int damage) { if(!isPlayer && !isBoss){ lifeBar=null; StartCoroutine("EnemyLife"); } life-=damage; if(life <= 0){ life = 0; if(koOthers == false) PrepareJump(); if(isBoss){ Time.timeScale=0.33f; GameObject[] children = GameObject.FindGameObjectsWithTag("Enemy"); for(int i = 0;i<children.Length;i++){ if(!children[i].GetComponent<Character>().isBoss){ children[i].GetComponent<Character>().life=0; children[i].GetComponent<Character>().RecieveDamage(1); } } } states = PlayerStates.ko; } }