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"); } }
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"); } }