// Update is called once per frame void Update() { if (SRUtil.Detect(manager.sight, 1, manager.playerCC)) { manager.SetState(SlimeState.CHASE); } }
// Update is called once per frame void Update() { if (SRUtil.Detect(manager.sight, 1, manager.playerCC)) { manager.SetState(SlimeState.CHASE); } SRUtil.SRMove(manager.cc, manager.transform, goal, manager.stat.moveSpeed, manager.stat.rotateSpeed, manager.stat.fallSpeed); Vector3 diff = goal - transform.position; diff.y = 0; if (diff.sqrMagnitude < 0.1f * 0.1f) { manager.SetState(SlimeState.IDLE); return; } }
// Update is called once per frame void Update() { if (manager.playerCC != null) { if (!SRUtil.Detect(manager.sight, 1, manager.playerCC)) { manager.SetState(SlimeState.IDLE); } SRUtil.SRMove(manager.cc, manager.transform, manager.playerCC.transform.position, manager.stat.moveSpeed, manager.stat.rotateSpeed, manager.stat.fallSpeed); Vector3 diff = manager.playerCC.transform.position - transform.position; diff.y = 0; if (diff.sqrMagnitude < manager.stat.attackRange * manager.stat.attackRange) { manager.SetState(SlimeState.ATTACK); return; } } }