void OnTrapActivated(TrapActivateEvent @event) { float planerImpulse = impulse; var position = @event.trap.transform.position; var distance = Vector3.SqrMagnitude(transform.position - position); float spacialImpulse = impulse / distance; amplitude += Mathf.Lerp(planerImpulse, spacialImpulse, spacial); }
void OnTrapActivated(TrapActivateEvent @event) { /* * if (@event.trap is FrozenTrap) * { * FrozenTrap frozen = (FrozenTrap)@event.trap; * var distance = Vector3.Distance(frozen.transform.position, transform.position); * if (distance < frozen.range) Break(); * } */ }
void OnTrapActivated(TrapActivateEvent @event) { if (@event.trap is DistractionTrap) { var distraction = @event.trap as DistractionTrap; var distance = Vector3.Distance(transform.position, distraction.transform.position); if (distance < 2) { Break(); } } }
void OnTrapActivated(TrapActivateEvent @event) { var position = @event.trap.transform.position; if (@event.trap is DistractionTrap) { var distraction = @event.trap as DistractionTrap; var distance = Vector3.Distance(transform.position, distraction.transform.position); if (distance < distraction.range && !alerted) { distraction.RegisterSensor(this); } } }
void OnTrapActivated(TrapActivateEvent @event) { var position = @event.trap.transform.position; // var distance = Vector3.Distance(position, transform.position); NavMeshPath path = new NavMeshPath(); var hasPath = NavMesh.CalculatePath(transform.position, position, NavMesh.AllAreas, path); if (!hasPath) { return; } float distance = 0; for (int i = 0; i < path.corners.Length - 1; ++i) { distance += Vector3.Distance(path.corners[i], path.corners[i + 1]); } if (@event.trap is FrozenTrap) { FrozenTrap frozen = (FrozenTrap)@event.trap; if (distance < frozen.range) { if (frozenCoroutine != null) { StopCoroutine(frozenCoroutine); } frozenCoroutine = StartCoroutine(FrozenCoroutine(frozen.duration)); } } else if (@event.trap is DistractionTrap) { DistractionTrap distraction = (DistractionTrap)@event.trap; distance = Vector3.Distance(transform.position, distraction.transform.position); /* * if (distance < distraction.range && !distraction.ReachedMaxCount() && !frozen && !searching) * // if (!distraction.ReachedMaxCount() && !frozen && !searching) * { * behavior.SetVariableValue("Alerted", true); * behavior.SetVariableValue("Spot Point", position); * searching = true; * distraction.IncreaseCount(); * } */ } }
void OnTrapActivated(TrapActivateEvent @event) { var position = @event.trap.transform.position; if (@event.trap is FrozenTrap) { var frozen = @event.trap as FrozenTrap; var distance = Vector3.Distance(transform.position, frozen.transform.position); if (distance < frozen.range) { Freeze(frozen.duration); } } }