public void AddType(ObjectFollowData aFollowType, bool aSetOnAddition = false)
        {
            types.Add(aFollowType);

            if (aSetOnAddition)
            {
                currentType = aFollowType;
            }
        }
        public void Initialize()
        {
            typesMap = new Dictionary <string, ObjectFollowData>(types.Count);
            for (int i = 0; i < types.Count; i++)
            {
                typesMap[types[i].ID] = types[i];
            }

            currentType = typesMap["Default"];
        }
        public void SetFollowType(string aID, bool aInstantChange = false)
        {
            ObjectFollowData type = null;

            if (typesMap.TryGetValue(aID, out type))
            {
                currentType = type;

                if (aInstantChange)
                {
                    ResetPosition();
                }
            }
            else
            {
                Debug.LogWarning("[CameraFollow] No type of ID: " + aID + " found");
            }
        }