public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { started = true; } timer -= Time.deltaTime; bot.Dash(); bot.Move(bot.attackTarget.transform.position); if (timer <= 0) { timer = timerMax; started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { target = bot.attackTarget.transform; recenterTarget = (Vector2)target.position + (Random.insideUnitCircle * recenterDist); started = true; } timer -= Time.deltaTime; bot.Dash(); bot.Move(recenterTarget); if (timer <= 0) { timer = timerMax + Random.Range(-1f, 1f); started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { if (!bot.attackTarget) { return(NodeState.Failure); } if (!started) { target = bot.attackTarget.transform; Vector2 worldTarget = (target.position - bot.transform.position).normalized * 50; chargeTarget = bot.transform.TransformPoint(worldTarget); started = true; } timer -= Time.deltaTime; bot.Dash(); bot.Move(chargeTarget); if (timer <= 0) { timer = timerMax + Random.Range(-1f, 1f); started = false; return(NodeState.Success); } return(NodeState.Running); }
public override NodeState GetState() { bot.Move(new Vector2(bot.transform.position.x, bot.squad.direction * -10000)); bot.Dash(); return(NodeState.Running); }