IActionAble FindAAObject(string gmoName) { IActionAble obj = null; if (!InteractedObjects.ContainsKey(gmoName)) { obj = GameObject.Find(gmoName).GetComponent <ActionRefferer>().ParentActionComponent; InteractedObjects.Add(gmoName, obj); } else { obj = InteractedObjects[gmoName]; } return(obj); }
private void Interact(string gmoName) { IActionAble obj = FindAAObject(gmoName); if (!obj.CanExecuteAction()) { return; } if (obj.IsDefaultState()) { obj.DoAction(); } else { obj.UnDoAction(); } }