Esempio n. 1
0
    void CheckWaypointBehaviour(Waypoint waypoint)
    {
        Waypoint.EnemyWaypointBehaviour behaviour = waypoint.wayPointBehaviour;
        if (waypoint.destroyAfterUse)
        {
            waypointHandler.DestroyWaypoint(waypointHandler.curWaypointTargetIndex);
        }
        else
        {
            waypointHandler.UpdateNextWaypointTargetIndex();
        }
        switch (behaviour)
        {
        case Waypoint.EnemyWaypointBehaviour.Continue:
            movement.MoveToNextWaypoint();
            break;

        case Waypoint.EnemyWaypointBehaviour.LookAround:
            stateHandler.SwitchToLookAroundState();
            break;

        default:
            break;
        }
    }
    //Helper function to SwitchToChasingState()
    Waypoint CreateWaypoint(Waypoint.EnemyWaypointBehaviour behaviour, Vector3 pos)
    {
        GameObject instantiatedGO = Instantiate(new GameObject());

        instantiatedGO.AddComponent <Waypoint>();
        instantiatedGO.GetComponent <Waypoint>().Initialize(behaviour, pos, true);
        waypointHandler.waypoints.Insert(waypointHandler.curWaypointTargetIndex, instantiatedGO.GetComponent <Waypoint>());
        return(instantiatedGO.GetComponent <Waypoint>());
    }