//0 - Hide both hands, 1 - hide left hand, 2 - hide right hand, something else - hide none public void HideHands(HiddenHandValue Selection) { foreach (var doubleHand in DoubleHandControllers) { doubleHand.HideHands(Selection); } }
//0 - Hide both hands, 1 - hide left hand, 2 - hide right hand, something else - hide none public void HideHands(HiddenHandValue Selection) { switch (Selection) { case HiddenHandValue.bothHands: LeftHand.SetActive(false); RightHand.SetActive(false); break; case HiddenHandValue.leftHand: LeftHand.SetActive(false); break; case HiddenHandValue.rightHand: RightHand.SetActive(false); break; default: if (RightHandActive) { RightHand.SetActive(true); } if (LeftHandActive) { LeftHand.SetActive(true); } break; } }
public void ServerPerformInteraction(HandActivate interaction) { ItemSlot hiddenHand = DetermineHiddenHand(interaction); if (hiddenHand != null) { HiddenHandValue hiddenHandSelection = HiddenHandValue.bothHands; if (hiddenHand.NamedSlot.GetValueOrDefault(NamedSlot.none) == NamedSlot.leftHand) { hiddenHandSelection = HiddenHandValue.leftHand; } else if (hiddenHand.NamedSlot.GetValueOrDefault(NamedSlot.none) == NamedSlot.rightHand) { hiddenHandSelection = HiddenHandValue.rightHand; } Inventory.ServerDrop(hiddenHand); SyncState(isWielded, !isWielded); if (isWielded) { itemAttributes.ServerHitDamage = damageWielded; itemAttributes.SetSprites(Wielded); Chat.AddExamineMsgFromServer(interaction.Performer, $"You wield {gameObject.ExpensiveName()} grabbing it with both of your hands."); HideHand(hiddenHandSelection, interaction.PerformerPlayerScript); } else { itemAttributes.ServerHitDamage = damageUnwielded; itemAttributes.SetSprites(Unwielded); Chat.AddExamineMsgFromServer(interaction.Performer, $"You unwield {gameObject.ExpensiveName()}."); HideHand(HiddenHandValue.none, interaction.PerformerPlayerScript); } PlayerAppearanceMessage.SendToAll(interaction.Performer, (int)interaction.HandSlot.NamedSlot.GetValueOrDefault(NamedSlot.none), gameObject); } }
private void SyncHiddenHands(HiddenHandValue oldState, HiddenHandValue newState) { hiddenHandSelection = newState; HandsController.Instance.HideHands(hiddenHandSelection); }
public void ServerSetHiddenHands(HiddenHandValue newState) { hiddenHandSelection = newState; }
private void HideHand(HiddenHandValue hiddenHandSelection, PlayerScript playerScript) { playerScript.PlayerOnlySyncValues.ServerSetHiddenHands(hiddenHandSelection); }