using Sandbox.Citizen;
using System;
namespace SWB.Shared;
public interface IPlayerBase : IValid
{
// public CameraComponent ViewModelCamera { get; set; }
public CameraComponent Camera { get; set; }
public GameObject Body { get; set; }
public SkinnedModelRenderer BodyRenderer { get; set; }
public ShrimpleCharacterController.ShrimpleCharacterController CharacterController { get; set; }
public AnimationHelper AnimationHelper { get; set; }
public GameObject GameObject { get; }
public IInventory Inventory { get; set; }
public bool IsAlive { get; }
public int MaxHealth { get; set; }
public int Health { get; set; }
public int Kills { get; set; }
public int Deaths { get; set; }
public Guid Id { get; }
// /// Input sensitivity modifier
// public float InputSensitivity { get; set; }
///
/// Called when the weapon wants to know how much ammo is available
///
/// The type of ammo
/// How much ammo is available
public int AmmoCount( string type );
///
/// Called when the weapon is trying to take ammo.
///
/// The type of ammo
/// The amount of ammo requested
/// How much ammo was actually taken
public int TakeAmmo( string type, int amount );
///
/// Called when the player takes damage
///
/// Information about the damage
public void TakeDamage( DamageInfo info );
///
/// Shakes the camera
///
/// Information about the shake
public void ShakeScreen( ScreenShake screenShake );
}