private static List <Line> ProcessInteractableObject(ref Map map, IEnumerable <Object> interactableObj)
        {
            List <Line> intLink = new List <Line>();

            foreach (var obj in interactableObj)
            {
                if (!string.IsNullOrEmpty(obj.OnActivate))
                {
                    map.Objects[obj.Name].Activate = BehaviourParser(map, obj.Name, obj.OnActivate);
                    foreach (var target in BehaviourHelper.GetAllTarget(map, obj.OnActivate.Split(';')))
                    {
                        if (target is null)
                        {
                            continue;
                        }
                        var ps = HelperMethod.CutIntoAxisAlignVector2(obj.WorldPos.ToVector2(), target.WorldPos.ToVector2()).ToArray();
                        intLink.Add(new Line(Color.Cyan, ps));
                    }
                }

                if (!string.IsNullOrEmpty(obj.OnDeactivate))
                {
                    map.Objects[obj.Name].Deactivate = BehaviourParser(map, obj.Name, obj.OnDeactivate);
                    foreach (var target in BehaviourHelper.GetAllTarget(map, obj.OnDeactivate.Split(';')))
                    {
                        if (target is null)
                        {
                            continue;
                        }
                        var ps = HelperMethod.CutIntoAxisAlignVector2(obj.WorldPos.ToVector2(), target.WorldPos.ToVector2()).ToArray();
                        intLink.Add(new Line(Color.OrangeRed, ps));
                    }
                }
            }

            return(intLink);
        }