示例#1
0
    public override void UpdateAccrodingTo(CharacterDrawer.BodyState bodyState)
    {
        // will not be drawn whtn full body on
        var needDrawHand = !bodyState.isFullBodyOn && bodyState.hasHands;

        if (needDrawHand)
        {
            if (bodyState.hasHead)
            {
                // hands up
                handsupRenderer.enabled = true;
                bodyRenderer.enabled    = false;
            }
            else
            {
                // normal hand
                handsupRenderer.enabled = false;
                bodyRenderer.enabled    = true;
            }
        }
        else
        {
            // no hands
            var hasHandsPrevious = handsupRenderer.enabled || bodyRenderer.enabled;
            if (hasHandsPrevious)
            {
                OnPaintCanceled();
            }
            handsupRenderer.enabled = false;
            bodyRenderer.enabled    = false;
        }

        if (spwanTag)
        {
            spwanTag.enabled = needDrawHand;
        }
        else
        {
            Debug.LogError("component missing");
        }
    }
示例#2
0
    public virtual void UpdateAccrodingTo(CharacterDrawer.BodyState bodyState)
    {
        bool isActivated = false;

        // compenent will not draw when full body is on
        if (!bodyState.isFullBodyOn)
        {
            switch (type)
            {
            case BodyType.hand:
                isActivated = bodyState.hasHands;
                break;

            case BodyType.chest:
                isActivated = bodyState.hasChest;
                break;

            case BodyType.leg:
                isActivated = bodyState.hasLegs;
                break;

            case BodyType.heart:
                isActivated = bodyState.hasHeart;
                break;

            case BodyType.head:
                isActivated = bodyState.hasHead;
                break;

            case BodyType.gun:
                isActivated = bodyState.hasGun;
                break;

            case BodyType.sword:
                isActivated = bodyState.hasSword;
                break;
            }
        }

        if (bodyRenderer)
        {
            // paint cancel check
            if (bodyRenderer.enabled == true && isActivated == false)
            {
                OnPaintCanceled();
            }

            bodyRenderer.enabled = isActivated;
        }
        else
        {
            Debug.LogError("prefab missing");
        }

        if (spwanTag)
        {
            spwanTag.enabled = isActivated;
        }
        else
        {
            Debug.LogError("component missing");
        }
    }