Well - I think it is not good idea to make two duplicate itself scripts and also I think - the best way for script is root object which is Canvas of cause!. So Fighter return target.GetPersentage() or -1 if target is null currently. All other is here: