﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public abstract class BaseCharacter : MonoBehaviour
{
    // speed at which character should move
    [SerializeField]
    protected float speed = 1.0f;

    // used to make character move at faster speed when running
    [SerializeField]
    protected float runSpeedMultiplier = 2.0f;

    [SerializeField]
    protected DeathTypes deathType;

    [SerializeField]
    /// <summary>
    /// Indicates if character is non-combat (not fighting)
    /// </summary>
    protected bool nonCombatMode;

    // Indicates the attack range of the current weapon selected
    protected float attackRange;


    // used to cache the animator component attached to this character
    protected Animator animator;

    // Start is called before the first frame update
    // TODO: Make Start protected and virtual, so that inherited classes can override and add to/replace Start logic
    void Start()
    {
        // Get and cache the character controller component attached to the game object this script is attached to


        // Get and cache the animator component of the game object this script is attached to

    }

    // Update is called once per frame
    void Update()
    {

    }

    // TODO: Create abstract IsAttacking method for inherited classes to override

    
    // Attack method


    // Move method



    // Set NonCombat method

}
