public override AINodeResult Execute(ref AINode lastRunningNode, AIMember aiMember) { GGAIMember member = aiMember as GGAIMember; if (CharManager.Instance == null) { return(AINodeResult.Failure); } if (CharManager.Instance.MainChar == null) { return(AINodeResult.Failure); } Vector3 playerPos = CharManager.Instance.MainChar.transform.position; Vector3 myPos = member.Self.transform.position; Vector3 dir = playerPos - member.Self.transform.position; Bullet b = Object.Instantiate(_b); b.transform.position = myPos; Vector3 target = playerPos + dir.normalized; b.transform.DOMove(target, _range / _speed); return(AINodeResult.Success); }
public override AINodeResult Execute(ref AINode lastRunningNode, AIMember aiMember) { GGAIMember member = aiMember as GGAIMember; member.Self.ChangeNav(_nav); return(AINodeResult.Success); }
public override AINodeResult Execute(ref AINode lastRunningNode, AIMember aiMember) { GGAIMember member = aiMember as GGAIMember; CharInterface player = CharManager.Instance.MainChar; member.Self.transform.DOMove(player.transform.position, 0.3f).OnComplete(() => { player.TakeDamage(_damage); }); return(AINodeResult.Success); }