Example #1
0
    /// <summary>
    /// Constructor.
    /// </summary>
    /// <param name="id">character identifier</param>
    /// <param name="name">character name</param>
    /// <param name="commandHint">command hint for interaction with character</param>
    /// <param name="kind">character kind</param>
    /// <param name="sceneId">reference to scene by its identifier</param>
    /// <param name="age">character age</param>
    /// <param name="gender">character gender</param>
    /// <param name="statistics">character statistics</param>
    /// <param name="inventory">character inventory</param>
    public CharacterModel(string id, string name, string commandHint, CharacterKind kind, string sceneId, int age, CharacterGender gender,
                          CharacterStatisticsModel statistics, InventoryModel inventory) :
        base(id, name, commandHint)
    {
        SceneId       = sceneId;
        Age           = age;
        Gender        = gender;
        CharacterType = kind;

        Statistics = statistics;
        statistics.SetCharacterModel(this);

        Inventory = inventory;

        TimeStamp = DateTime.UtcNow;
    }
Example #2
0
    public override void OnCharacterStatisticChanged(CharacterStatisticsModel statistics)
    {
        if (IsMultiplayer)
        {
            return;
        }

        var healthObject  = GameObject.FindGameObjectWithTag(UnityObjectTagName.HealthBar);
        var staminaObject = GameObject.FindGameObjectWithTag(UnityObjectTagName.StaminaBar);

        if (healthObject != null)
        {
            SetSliderValue(healthObject, statistics.CurrentHealth);
        }

        if (staminaObject)
        {
            SetSliderValue(staminaObject, statistics.CurrentStamina);
        }
    }
Example #3
0
    public override CharacterModel CreatCharacter(string name, string commandHint, string sceneId, int age, CharacterGender gender)
    {
        var statistics = new CharacterStatisticsModel(
            0,
            CalculateDamageLevel(age, gender),
            CalculateHealthLevel(age, gender),
            CalculateStaminahLevel(age, gender),
            CalculateCarriedWeigthLevel(age, gender),
            1,
            0);

        var inventory = new InventoryModel(Guid.NewGuid().ToString(), "PlayerInventory", "inventory (i)", InventoryKind.Character);

        return(new CharacterModel(
                   Guid.NewGuid().ToString(),
                   name,
                   commandHint,
                   CharacterKind.Player,
                   sceneId,
                   age,
                   gender,
                   statistics,
                   inventory));
    }
Example #4
0
 public virtual void OnCharacterStatisticChanged(CharacterStatisticsModel statistics)
 {
 }