//////////////// public void DrainStaminaAmount(Player player, float amount, StaminaDrainTypes type) { this.CurrentDrainCount++; foreach (var hook in this.StaminaChangeHooks) { amount = hook(player, type, amount); } if (amount > this.CurrentDrainMost) { this.CurrentDrain += this.CurrentDrainMost; this.CurrentDrainMost = amount; } else { this.CurrentDrain += amount; } string baseType = type.ToString(); if (this.CurrentDrainTypes.ContainsKey(baseType)) { this.CurrentDrainTypes[baseType] += amount; } else { this.CurrentDrainTypes[baseType] = amount; } }
public void DrainStamina(Player player, StaminaDrainTypes type) { var mymod = StaminaMod.Instance; switch (type) { case StaminaDrainTypes.ItemUse: this.DrainStaminaViaItemUse(player); break; case StaminaDrainTypes.MagicItemUse: this.DrainStaminaViaMagicItemUse(player); break; //case StaminaDrainTypes.CustomItemUse: // this.DrainStaminaViaCustomItemUse( player ); // break; case StaminaDrainTypes.GrappleBegin: this.DrainStaminaViaGrappleBegin(player); break; case StaminaDrainTypes.GrappleHold: this.DrainStaminaViaGrappleHold(player); break; case StaminaDrainTypes.Sprint: this.DrainStaminaViaSprint(player); break; case StaminaDrainTypes.Dash: this.DrainStaminaViaDash(player); break; case StaminaDrainTypes.SwimBegin: this.DrainStaminaViaSwimBegin(player); break; case StaminaDrainTypes.SwimHold: this.DrainStaminaViaSwimHold(player); break; case StaminaDrainTypes.JumpBegin: this.DrainStaminaViaJumpBegin(player); break; case StaminaDrainTypes.JumpHold: this.DrainStaminaViaJumpHold(player); break; case StaminaDrainTypes.GravitationPotion: this.DrainStaminaViaGravitationPotion(player); break; default: throw new ModHelpersException("No such drain type."); } }
//// public static void DrainStamina(Player player, StaminaDrainTypes type) { var myplayer = player.GetModPlayer <StaminaPlayer>(); myplayer.Logic.DrainStamina(player, type); }