::i dont want to jinx it but it seems to be fixed….. im not experiencing the issue anymore…
heres the jump script anyway
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WoodenBotJump : StateMachineBehaviour
{
Rigidbody2D rb;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
rb = animator.GetComponentInParent<Rigidbody2D>();
}
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
DiveAttack();
}
void DiveAttack()
{
WoodenBot.Instance.Flip();
Vector2 _newPos = Vector2.MoveTowards(rb.position, WoodenBot.Instance.moveToPosition, WoodenBot.Instance.speed * 3 * Time.fixedDeltaTime);
rb.MovePosition(_newPos);
float _distance = Vector2.Distance(rb.position, _newPos);
if (_distance < 0.1f)
{
WoodenBot.Instance.Dive();
}
if (WoodenBot.Instance.TouchedWall())
{
WoodenBot.Instance.moveToPosition.x = rb.velocity.x;
_newPos = Vector2.MoveTowards(rb.position, WoodenBot.Instance.moveToPosition, WoodenBot.Instance.speed * Random.Range(2, 4) * Time.fixedDeltaTime);
}
}
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
}
}`
heres the new dive script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WoodenBotDive : StateMachineBehaviour
{
Rigidbody2D rb;
bool callOnce;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
rb = animator.GetComponentInParent<Rigidbody2D>();
}
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
WoodenBot.Instance.divingCollider.SetActive(true);
if (WoodenBot.Instance.Grounded())
{
WoodenBot.Instance.divingCollider.SetActive(false);
if (!callOnce && DivingPillar.count < 10)
{
Debug.Log("callOnce is true");
WoodenBot.Instance.DivingPillars();
animator.SetBool("Dive", false);
WoodenBot.Instance.ResetAllAttacks();
callOnce = true;
}
}
}
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
callOnce = false;
Debug.Log("CallOnce is false");
}
}
thanks so much for your help
lets hope i dont get any errors with part 10.5………