Example #1
0
    public void TryMoveAwayFromPlayer(CharacterComponentBase ccb)
    {
        Vector3 awayFromPlayer = transform.position - Game.instance.avatar.transform.position;

        awayFromPlayer.y = 0f;

        // Try one axis, than the other
        Vector3 firstDir, secondDir;

        if (Mathf.Abs(awayFromPlayer.x) > Mathf.Abs(awayFromPlayer.z))
        {
            firstDir   = awayFromPlayer;
            firstDir.z = 0f;

            secondDir   = awayFromPlayer;
            secondDir.x = 0f;
        }
        else
        {
            firstDir   = awayFromPlayer;
            firstDir.x = 0f;

            secondDir   = awayFromPlayer;
            secondDir.z = 0f;
        }

        firstDir.Normalize();
        secondDir.Normalize();

        if (firstDir.magnitude > 0.1f && ccb.commonComponents.simpleMovement.CanMove(firstDir))
        {
            ccb.commonComponents.simpleMovement.Move(firstDir);
        }
        else if (secondDir.magnitude > 0.1f && ccb.commonComponents.simpleMovement.CanMove(secondDir))
        {
            ccb.commonComponents.simpleMovement.Move(secondDir);
        }
    }
Example #2
0
 public void UpdateAI(CharacterComponentBase ccb)
 {
     SimpleMovement.OrientToDirection(ccb.commonComponents.simpleMovement.subMesh, new Vector3(0, 0, -1));
     ccb.commonComponents.animator.Play("Dizzy");
 }