Inheritance: tk2dBaseSprite
コード例 #1
0
 void Start()
 {
     window  = GetComponent <tk2dSlicedSprite>();
     Current = this;
     state   = WindowState.Hidden;
     Hide_Internal();
 }
コード例 #2
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
    // 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");
    }
コード例 #3
0
ファイル: JumpGUI.cs プロジェクト: rllamas/Quantum
    // 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>();
    }
コード例 #4
0
    // 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;
    }
コード例 #5
0
 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;
 }
コード例 #6
0
    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);
        }
    }
コード例 #7
0
    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);
    }
コード例 #8
0
ファイル: SpeechController.cs プロジェクト: hamaluik/LD29
    void Awake()
    {
        speech = transform.FindChild("SpeechBubble").gameObject;

        speechBubble = speech.GetComponentInChildren <tk2dSlicedSprite>();
        textMesh     = speech.GetComponentInChildren <tk2dTextMesh>();

        speech.SetActive(false);
        UpdateTexts(text);
    }
コード例 #9
0
    void Awake()
    {
        speech = transform.FindChild("SpeechBubble").gameObject;

        speechBubble = speech.GetComponentInChildren<tk2dSlicedSprite>();
        textMesh = speech.GetComponentInChildren<tk2dTextMesh>();

        speech.SetActive(false);
        UpdateTexts(text);
    }
コード例 #10
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
    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");
    }
コード例 #11
0
 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");
     });
 }
コード例 #12
0
    //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'
    }
コード例 #13
0
 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);
     }
 }
コード例 #14
0
 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);
     }
 }
コード例 #15
0
    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];
        }
    }
コード例 #16
0
        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];
            }
        }
コード例 #17
0
 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);
 }
コード例 #18
0
    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");
    }
コード例 #19
0
        // 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];
                }
            }
        }
コード例 #20
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
    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);
    }
コード例 #21
0
    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();
    }
コード例 #22
0
        /// <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);
        }
コード例 #23
0
ファイル: Node.cs プロジェクト: hmorgancode/Hacking-Prototype
 void Awake()
 {
     sprite = GetComponent <tk2dSlicedSprite>();
 }
コード例 #24
0
ファイル: GadgetGUI.cs プロジェクト: bigstupidx/Wobbles
 // Unity functions
 void Start()
 {
     transform.localPosition = new Vector3(transform.localPosition.x, transform.localPosition.y, 3f);
     sliceSprite             = GetComponent <tk2dSlicedSprite>();
     GenerateGUI();
 }
コード例 #25
0
        /// <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);
        }
コード例 #26
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
 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;
 }
コード例 #27
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
 // 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");
 }
コード例 #28
0
    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);
    }
コード例 #29
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
 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;
 }
コード例 #30
0
    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);
        }
    }
コード例 #31
0
ファイル: DOTweenTk2d.cs プロジェクト: Gr1nS1de/hg-01
 /// <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));
 }
コード例 #32
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
 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);
        }
    }
コード例 #34
0
 // Use this for initialization
 void Start()
 {
     s = GetComponent <tk2dSlicedSprite>();
 }
コード例 #35
0
    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();
    }
コード例 #36
0
ファイル: CommonButton.cs プロジェクト: justkoi/CrossPuzzle
    /// <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();
         * }
         */
    }
コード例 #37
0
ファイル: DOTweenTk2d.cs プロジェクト: Gr1nS1de/hg-01
 /// <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));
 }
コード例 #38
0
ファイル: Character.cs プロジェクト: trolldinger/Fruticide
 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;
     }
 }